@loaders.gl/scene 5.0.0-alpha.9 → 5.0.0-beta.10

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 (1416) hide show
  1. package/DRACO-README.md +15 -0
  2. package/GLTF-README.md +46 -0
  3. package/LICENSE +2 -30
  4. package/OBJ-README.md +28 -0
  5. package/README.md +17 -1
  6. package/THIRD-PARTY-NOTICES.md +32 -0
  7. package/bin/gltf/glbdump.js +8 -0
  8. package/dist/dist.dev.js +40859 -59
  9. package/dist/dist.min.js +46 -3
  10. package/dist/draco/bundled.cjs +34 -0
  11. package/dist/draco/bundled.cjs.map +7 -0
  12. package/dist/draco/bundled.d.ts +5 -0
  13. package/dist/draco/bundled.d.ts.map +1 -0
  14. package/dist/draco/bundled.js +6 -0
  15. package/dist/draco/bundled.js.map +1 -0
  16. package/dist/draco/draco-format.cjs +41 -0
  17. package/dist/draco/draco-format.cjs.map +7 -0
  18. package/dist/draco/draco-format.d.ts +15 -0
  19. package/dist/draco/draco-format.d.ts.map +1 -0
  20. package/dist/draco/draco-format.js +18 -0
  21. package/dist/draco/draco-format.js.map +1 -0
  22. package/dist/draco/draco-javascript-loader-with-parser.cjs +47 -0
  23. package/dist/draco/draco-javascript-loader-with-parser.cjs.map +7 -0
  24. package/dist/draco/draco-javascript-loader-with-parser.d.ts +36 -0
  25. package/dist/draco/draco-javascript-loader-with-parser.d.ts.map +1 -0
  26. package/dist/draco/draco-javascript-loader-with-parser.js +14 -0
  27. package/dist/draco/draco-javascript-loader-with-parser.js.map +1 -0
  28. package/dist/draco/draco-libraries.cjs +61 -0
  29. package/dist/draco/draco-libraries.cjs.map +7 -0
  30. package/dist/draco/draco-libraries.d.ts +28 -0
  31. package/dist/draco/draco-libraries.d.ts.map +1 -0
  32. package/dist/draco/draco-libraries.js +33 -0
  33. package/dist/draco/draco-libraries.js.map +1 -0
  34. package/dist/draco/draco-library-options.cjs +80 -0
  35. package/dist/draco/draco-library-options.cjs.map +7 -0
  36. package/dist/draco/draco-library-options.d.ts +16 -0
  37. package/dist/draco/draco-library-options.d.ts.map +1 -0
  38. package/dist/draco/draco-library-options.js +52 -0
  39. package/dist/draco/draco-library-options.js.map +1 -0
  40. package/dist/draco/draco-loader-options.cjs +37 -0
  41. package/dist/draco/draco-loader-options.cjs.map +7 -0
  42. package/dist/draco/draco-loader-options.d.ts +27 -0
  43. package/dist/draco/draco-loader-options.d.ts.map +1 -0
  44. package/dist/draco/draco-loader-options.js +12 -0
  45. package/dist/draco/draco-loader-options.js.map +1 -0
  46. package/dist/draco/draco-loader-types.cjs +87 -0
  47. package/dist/draco/draco-loader-types.cjs.map +7 -0
  48. package/dist/draco/draco-loader-types.d.ts +41 -0
  49. package/dist/draco/draco-loader-types.d.ts.map +1 -0
  50. package/dist/draco/draco-loader-types.js +54 -0
  51. package/dist/draco/draco-loader-types.js.map +1 -0
  52. package/dist/draco/draco-loader.cjs +51 -0
  53. package/dist/draco/draco-loader.cjs.map +7 -0
  54. package/dist/draco/draco-loader.d.ts +41 -0
  55. package/dist/draco/draco-loader.d.ts.map +1 -0
  56. package/dist/draco/draco-loader.js +22 -0
  57. package/dist/draco/draco-loader.js.map +1 -0
  58. package/dist/draco/draco-wasm-loader-with-parser.cjs +48 -0
  59. package/dist/draco/draco-wasm-loader-with-parser.cjs.map +7 -0
  60. package/dist/draco/draco-wasm-loader-with-parser.d.ts +36 -0
  61. package/dist/draco/draco-wasm-loader-with-parser.d.ts.map +1 -0
  62. package/dist/draco/draco-wasm-loader-with-parser.js +14 -0
  63. package/dist/draco/draco-wasm-loader-with-parser.js.map +1 -0
  64. package/dist/draco/draco-writer.cjs +183 -0
  65. package/dist/draco/draco-writer.cjs.map +7 -0
  66. package/dist/draco/draco-writer.d.ts +98 -0
  67. package/dist/draco/draco-writer.d.ts.map +1 -0
  68. package/dist/draco/draco-writer.js +166 -0
  69. package/dist/draco/draco-writer.js.map +1 -0
  70. package/dist/draco/draco3d/draco3d-types.cjs +76 -0
  71. package/dist/draco/draco3d/draco3d-types.cjs.map +7 -0
  72. package/dist/draco/draco3d/draco3d-types.d.ts +303 -0
  73. package/dist/draco/draco3d/draco3d-types.d.ts.map +1 -0
  74. package/dist/draco/draco3d/draco3d-types.js +47 -0
  75. package/dist/draco/draco3d/draco3d-types.js.map +1 -0
  76. package/dist/draco/draco3d-loader-with-parser.cjs +50 -0
  77. package/dist/draco/draco3d-loader-with-parser.cjs.map +7 -0
  78. package/dist/draco/draco3d-loader-with-parser.d.ts +36 -0
  79. package/dist/draco/draco3d-loader-with-parser.d.ts.map +1 -0
  80. package/dist/draco/draco3d-loader-with-parser.js +21 -0
  81. package/dist/draco/draco3d-loader-with-parser.js.map +1 -0
  82. package/dist/draco/index.cjs +51 -0
  83. package/dist/draco/index.cjs.map +7 -0
  84. package/dist/draco/index.d.ts +11 -0
  85. package/dist/draco/index.d.ts.map +1 -0
  86. package/dist/draco/index.js +10 -0
  87. package/dist/draco/index.js.map +1 -0
  88. package/dist/draco/lib/draco-builder.cjs +660 -0
  89. package/dist/draco/lib/draco-builder.cjs.map +7 -0
  90. package/dist/draco/lib/draco-builder.d.ts +175 -0
  91. package/dist/draco/lib/draco-builder.d.ts.map +1 -0
  92. package/dist/draco/lib/draco-builder.js +612 -0
  93. package/dist/draco/lib/draco-builder.js.map +1 -0
  94. package/dist/draco/lib/draco-library-loader.cjs +47 -0
  95. package/dist/draco/lib/draco-library-loader.cjs.map +7 -0
  96. package/dist/draco/lib/draco-library-loader.d.ts +5 -0
  97. package/dist/draco/lib/draco-library-loader.d.ts.map +1 -0
  98. package/dist/draco/lib/draco-library-loader.js +23 -0
  99. package/dist/draco/lib/draco-library-loader.js.map +1 -0
  100. package/dist/draco/lib/draco-module-loader.cjs +281 -0
  101. package/dist/draco/lib/draco-module-loader.cjs.map +7 -0
  102. package/dist/draco/lib/draco-module-loader.d.ts +25 -0
  103. package/dist/draco/lib/draco-module-loader.d.ts.map +1 -0
  104. package/dist/draco/lib/draco-module-loader.js +220 -0
  105. package/dist/draco/lib/draco-module-loader.js.map +1 -0
  106. package/dist/draco/lib/draco-parser.cjs +601 -0
  107. package/dist/draco/lib/draco-parser.cjs.map +7 -0
  108. package/dist/draco/lib/draco-parser.d.ts +143 -0
  109. package/dist/draco/lib/draco-parser.d.ts.map +1 -0
  110. package/dist/draco/lib/draco-parser.js +598 -0
  111. package/dist/draco/lib/draco-parser.js.map +1 -0
  112. package/dist/draco/lib/draco-types.cjs +19 -0
  113. package/dist/draco/lib/draco-types.cjs.map +7 -0
  114. package/dist/draco/lib/draco-types.d.ts +59 -0
  115. package/dist/draco/lib/draco-types.d.ts.map +1 -0
  116. package/dist/draco/lib/draco-types.js +5 -0
  117. package/dist/draco/lib/draco-types.js.map +1 -0
  118. package/dist/draco/lib/parse-draco.cjs +60 -0
  119. package/dist/draco/lib/parse-draco.cjs.map +7 -0
  120. package/dist/draco/lib/parse-draco.d.ts +22 -0
  121. package/dist/draco/lib/parse-draco.d.ts.map +1 -0
  122. package/dist/draco/lib/parse-draco.js +33 -0
  123. package/dist/draco/lib/parse-draco.js.map +1 -0
  124. package/dist/draco/lib/utils/get-draco-schema.cjs +74 -0
  125. package/dist/draco/lib/utils/get-draco-schema.cjs.map +7 -0
  126. package/dist/draco/lib/utils/get-draco-schema.d.ts +7 -0
  127. package/dist/draco/lib/utils/get-draco-schema.d.ts.map +1 -0
  128. package/dist/draco/lib/utils/get-draco-schema.js +45 -0
  129. package/dist/draco/lib/utils/get-draco-schema.js.map +1 -0
  130. package/dist/draco/lib/utils/version.cjs +31 -0
  131. package/dist/draco/lib/utils/version.cjs.map +7 -0
  132. package/dist/draco/lib/utils/version.d.ts +2 -0
  133. package/dist/draco/lib/utils/version.d.ts.map +1 -0
  134. package/dist/draco/lib/utils/version.js +8 -0
  135. package/dist/draco/lib/utils/version.js.map +1 -0
  136. package/dist/draco/unbundled.cjs +31 -0
  137. package/dist/draco/unbundled.cjs.map +7 -0
  138. package/dist/draco/unbundled.d.ts +3 -0
  139. package/dist/draco/unbundled.d.ts.map +1 -0
  140. package/dist/draco/unbundled.js +5 -0
  141. package/dist/draco/unbundled.js.map +1 -0
  142. package/dist/draco/workers/draco-worker-node.cjs +8 -0
  143. package/dist/draco/workers/draco-worker-node.cjs.map +7 -0
  144. package/dist/draco/workers/draco-worker-node.d.ts +2 -0
  145. package/dist/draco/workers/draco-worker-node.d.ts.map +1 -0
  146. package/dist/draco/workers/draco-worker-node.js +9 -0
  147. package/dist/draco/workers/draco-worker-node.js.map +1 -0
  148. package/dist/draco/workers/draco-worker.cjs +7 -0
  149. package/dist/draco/workers/draco-worker.cjs.map +7 -0
  150. package/dist/draco/workers/draco-worker.d.ts +2 -0
  151. package/dist/draco/workers/draco-worker.d.ts.map +1 -0
  152. package/dist/draco/workers/draco-worker.js +7 -0
  153. package/dist/draco/workers/draco-worker.js.map +1 -0
  154. package/dist/draco/workers/draco-writer-worker-node.cjs +11 -0
  155. package/dist/draco/workers/draco-writer-worker-node.cjs.map +7 -0
  156. package/dist/draco/workers/draco-writer-worker-node.d.cts +2 -0
  157. package/dist/draco/workers/draco-writer-worker-node.d.cts.map +1 -0
  158. package/dist/draco/workers/draco-writer-worker-node.d.ts +2 -0
  159. package/dist/draco/workers/draco-writer-worker-node.d.ts.map +1 -0
  160. package/dist/draco/workers/draco-writer-worker-node.js +9 -0
  161. package/dist/draco/workers/draco-writer-worker-node.js.map +1 -0
  162. package/dist/draco/workers/draco-writer-worker.cjs +10 -0
  163. package/dist/draco/workers/draco-writer-worker.cjs.map +7 -0
  164. package/dist/draco/workers/draco-writer-worker.d.ts +2 -0
  165. package/dist/draco/workers/draco-writer-worker.d.ts.map +1 -0
  166. package/dist/draco/workers/draco-writer-worker.js +7 -0
  167. package/dist/draco/workers/draco-writer-worker.js.map +1 -0
  168. package/dist/draco-javascript-loader.cjs +25 -0
  169. package/dist/draco-javascript-loader.cjs.map +7 -0
  170. package/dist/draco-javascript-loader.d.ts +2 -0
  171. package/dist/draco-javascript-loader.d.ts.map +1 -0
  172. package/dist/draco-javascript-loader.js +3 -0
  173. package/dist/draco-javascript-loader.js.map +1 -0
  174. package/dist/draco-library-options.cjs +36 -0
  175. package/dist/draco-library-options.cjs.map +7 -0
  176. package/dist/draco-library-options.d.ts +3 -0
  177. package/dist/draco-library-options.d.ts.map +1 -0
  178. package/dist/draco-library-options.js +4 -0
  179. package/dist/draco-library-options.js.map +1 -0
  180. package/dist/draco-loader-types.cjs +25 -0
  181. package/dist/draco-loader-types.cjs.map +7 -0
  182. package/dist/draco-loader-types.d.ts +2 -0
  183. package/dist/draco-loader-types.d.ts.map +1 -0
  184. package/dist/draco-loader-types.js +3 -0
  185. package/dist/draco-loader-types.js.map +1 -0
  186. package/dist/draco-loader.cjs +25 -0
  187. package/dist/draco-loader.cjs.map +7 -0
  188. package/dist/draco-loader.d.ts +2 -0
  189. package/dist/draco-loader.d.ts.map +1 -0
  190. package/dist/draco-loader.js +3 -0
  191. package/dist/draco-loader.js.map +1 -0
  192. package/dist/draco-wasm-loader.cjs +25 -0
  193. package/dist/draco-wasm-loader.cjs.map +7 -0
  194. package/dist/draco-wasm-loader.d.ts +2 -0
  195. package/dist/draco-wasm-loader.d.ts.map +1 -0
  196. package/dist/draco-wasm-loader.js +3 -0
  197. package/dist/draco-wasm-loader.js.map +1 -0
  198. package/dist/draco-worker-node.js +29842 -0
  199. package/dist/draco-worker-node.js.map +7 -0
  200. package/dist/draco-worker.js +19668 -0
  201. package/dist/draco-worker.js.map +7 -0
  202. package/dist/draco-writer-worker-node.cjs +30022 -0
  203. package/dist/draco-writer-worker-node.cjs.map +7 -0
  204. package/dist/draco-writer-worker.js +19767 -0
  205. package/dist/draco-writer-worker.js.map +7 -0
  206. package/dist/draco-writer.cjs +25 -0
  207. package/dist/draco-writer.cjs.map +7 -0
  208. package/dist/draco-writer.d.ts +2 -0
  209. package/dist/draco-writer.d.ts.map +1 -0
  210. package/dist/draco-writer.js +3 -0
  211. package/dist/draco-writer.js.map +1 -0
  212. package/dist/draco3d-loader.cjs +25 -0
  213. package/dist/draco3d-loader.cjs.map +7 -0
  214. package/dist/draco3d-loader.d.ts +2 -0
  215. package/dist/draco3d-loader.d.ts.map +1 -0
  216. package/dist/draco3d-loader.js +3 -0
  217. package/dist/draco3d-loader.js.map +1 -0
  218. package/dist/glb-loader-types.cjs +61 -0
  219. package/dist/glb-loader-types.cjs.map +7 -0
  220. package/dist/glb-loader-types.d.ts +2 -0
  221. package/dist/glb-loader-types.d.ts.map +1 -0
  222. package/dist/glb-loader-types.js +2 -0
  223. package/dist/glb-loader-types.js.map +1 -0
  224. package/dist/glb-loader.cjs +48 -0
  225. package/dist/glb-loader.cjs.map +7 -0
  226. package/dist/glb-loader.d.ts +2 -0
  227. package/dist/glb-loader.d.ts.map +1 -0
  228. package/dist/glb-loader.js +2 -0
  229. package/dist/glb-loader.js.map +1 -0
  230. package/dist/glb-writer.cjs +53 -0
  231. package/dist/glb-writer.cjs.map +7 -0
  232. package/dist/glb-writer.d.ts +2 -0
  233. package/dist/glb-writer.d.ts.map +1 -0
  234. package/dist/glb-writer.js +2 -0
  235. package/dist/glb-writer.js.map +1 -0
  236. package/dist/gltf/bundled.cjs +34 -0
  237. package/dist/gltf/bundled.cjs.map +7 -0
  238. package/dist/gltf/bundled.d.ts +5 -0
  239. package/dist/gltf/bundled.d.ts.map +1 -0
  240. package/dist/gltf/bundled.js +6 -0
  241. package/dist/gltf/bundled.js.map +1 -0
  242. package/dist/gltf/glb-loader-types.cjs +59 -0
  243. package/dist/gltf/glb-loader-types.cjs.map +7 -0
  244. package/dist/gltf/glb-loader-types.d.ts +58 -0
  245. package/dist/gltf/glb-loader-types.d.ts.map +1 -0
  246. package/dist/gltf/glb-loader-types.js +24 -0
  247. package/dist/gltf/glb-loader-types.js.map +1 -0
  248. package/dist/gltf/glb-loader.cjs +46 -0
  249. package/dist/gltf/glb-loader.cjs.map +7 -0
  250. package/dist/gltf/glb-loader.d.ts +42 -0
  251. package/dist/gltf/glb-loader.d.ts.map +1 -0
  252. package/dist/gltf/glb-loader.js +24 -0
  253. package/dist/gltf/glb-loader.js.map +1 -0
  254. package/dist/gltf/glb-writer.cjs +51 -0
  255. package/dist/gltf/glb-writer.cjs.map +7 -0
  256. package/dist/gltf/glb-writer.d.ts +30 -0
  257. package/dist/gltf/glb-writer.d.ts.map +1 -0
  258. package/dist/gltf/glb-writer.js +31 -0
  259. package/dist/gltf/glb-writer.js.map +1 -0
  260. package/dist/gltf/gltf-1.schema.json +2075 -0
  261. package/dist/gltf/gltf-2.1.schema.json +1786 -0
  262. package/dist/gltf/gltf-2.schema.json +1786 -0
  263. package/dist/gltf/gltf-all.schema.json +5654 -0
  264. package/dist/gltf/gltf-format.cjs +55 -0
  265. package/dist/gltf/gltf-format.cjs.map +7 -0
  266. package/dist/gltf/gltf-format.d.ts +26 -0
  267. package/dist/gltf/gltf-format.d.ts.map +1 -0
  268. package/dist/gltf/gltf-format.js +29 -0
  269. package/dist/gltf/gltf-format.js.map +1 -0
  270. package/dist/gltf/gltf-loader-types.cjs +71 -0
  271. package/dist/gltf/gltf-loader-types.cjs.map +7 -0
  272. package/dist/gltf/gltf-loader-types.d.ts +77 -0
  273. package/dist/gltf/gltf-loader-types.d.ts.map +1 -0
  274. package/dist/gltf/gltf-loader-types.js +30 -0
  275. package/dist/gltf/gltf-loader-types.js.map +1 -0
  276. package/dist/gltf/gltf-loader.cjs +46 -0
  277. package/dist/gltf/gltf-loader.cjs.map +7 -0
  278. package/dist/gltf/gltf-loader.d.ts +45 -0
  279. package/dist/gltf/gltf-loader.d.ts.map +1 -0
  280. package/dist/gltf/gltf-loader.js +22 -0
  281. package/dist/gltf/gltf-loader.js.map +1 -0
  282. package/dist/gltf/gltf-source.cjs +236 -0
  283. package/dist/gltf/gltf-source.cjs.map +7 -0
  284. package/dist/gltf/gltf-source.d.ts +59 -0
  285. package/dist/gltf/gltf-source.d.ts.map +1 -0
  286. package/dist/gltf/gltf-source.js +230 -0
  287. package/dist/gltf/gltf-source.js.map +1 -0
  288. package/dist/gltf/gltf-writer.cjs +67 -0
  289. package/dist/gltf/gltf-writer.cjs.map +7 -0
  290. package/dist/gltf/gltf-writer.d.ts +14 -0
  291. package/dist/gltf/gltf-writer.d.ts.map +1 -0
  292. package/dist/gltf/gltf-writer.js +44 -0
  293. package/dist/gltf/gltf-writer.js.map +1 -0
  294. package/dist/gltf/gltf.schema.json +5654 -0
  295. package/dist/gltf/index.cjs +227 -0
  296. package/dist/gltf/index.cjs.map +7 -0
  297. package/dist/gltf/index.d.ts +46 -0
  298. package/dist/gltf/index.d.ts.map +1 -0
  299. package/dist/gltf/index.js +39 -0
  300. package/dist/gltf/index.js.map +1 -0
  301. package/dist/gltf/lib/api/append-gltf-v1-buffer-data.cjs +68 -0
  302. package/dist/gltf/lib/api/append-gltf-v1-buffer-data.cjs.map +7 -0
  303. package/dist/gltf/lib/api/append-gltf-v1-buffer-data.d.ts +17 -0
  304. package/dist/gltf/lib/api/append-gltf-v1-buffer-data.d.ts.map +1 -0
  305. package/dist/gltf/lib/api/append-gltf-v1-buffer-data.js +45 -0
  306. package/dist/gltf/lib/api/append-gltf-v1-buffer-data.js.map +1 -0
  307. package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.cjs +133 -0
  308. package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.cjs.map +7 -0
  309. package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.d.ts +8 -0
  310. package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.d.ts.map +1 -0
  311. package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.js +138 -0
  312. package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.js.map +1 -0
  313. package/dist/gltf/lib/api/clean-gltf-v1-fields.cjs +93 -0
  314. package/dist/gltf/lib/api/clean-gltf-v1-fields.cjs.map +7 -0
  315. package/dist/gltf/lib/api/clean-gltf-v1-fields.d.ts +6 -0
  316. package/dist/gltf/lib/api/clean-gltf-v1-fields.d.ts.map +1 -0
  317. package/dist/gltf/lib/api/clean-gltf-v1-fields.js +87 -0
  318. package/dist/gltf/lib/api/clean-gltf-v1-fields.js.map +1 -0
  319. package/dist/gltf/lib/api/convert-gltf-v1-accessors.cjs +128 -0
  320. package/dist/gltf/lib/api/convert-gltf-v1-accessors.cjs.map +7 -0
  321. package/dist/gltf/lib/api/convert-gltf-v1-accessors.d.ts +8 -0
  322. package/dist/gltf/lib/api/convert-gltf-v1-accessors.d.ts.map +1 -0
  323. package/dist/gltf/lib/api/convert-gltf-v1-accessors.js +147 -0
  324. package/dist/gltf/lib/api/convert-gltf-v1-accessors.js.map +1 -0
  325. package/dist/gltf/lib/api/convert-gltf-v1-animations.cjs +81 -0
  326. package/dist/gltf/lib/api/convert-gltf-v1-animations.cjs.map +7 -0
  327. package/dist/gltf/lib/api/convert-gltf-v1-animations.d.ts +4 -0
  328. package/dist/gltf/lib/api/convert-gltf-v1-animations.d.ts.map +1 -0
  329. package/dist/gltf/lib/api/convert-gltf-v1-animations.js +61 -0
  330. package/dist/gltf/lib/api/convert-gltf-v1-animations.js.map +1 -0
  331. package/dist/gltf/lib/api/convert-gltf-v1-materials.cjs +265 -0
  332. package/dist/gltf/lib/api/convert-gltf-v1-materials.cjs.map +7 -0
  333. package/dist/gltf/lib/api/convert-gltf-v1-materials.d.ts +6 -0
  334. package/dist/gltf/lib/api/convert-gltf-v1-materials.d.ts.map +1 -0
  335. package/dist/gltf/lib/api/convert-gltf-v1-materials.js +266 -0
  336. package/dist/gltf/lib/api/convert-gltf-v1-materials.js.map +1 -0
  337. package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.cjs +98 -0
  338. package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.cjs.map +7 -0
  339. package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.d.ts +4 -0
  340. package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.d.ts.map +1 -0
  341. package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.js +86 -0
  342. package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.js.map +1 -0
  343. package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.cjs +87 -0
  344. package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.cjs.map +7 -0
  345. package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.d.ts +4 -0
  346. package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.d.ts.map +1 -0
  347. package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.js +72 -0
  348. package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.js.map +1 -0
  349. package/dist/gltf/lib/api/convert-gltf-v1-skins.cjs +173 -0
  350. package/dist/gltf/lib/api/convert-gltf-v1-skins.cjs.map +7 -0
  351. package/dist/gltf/lib/api/convert-gltf-v1-skins.d.ts +9 -0
  352. package/dist/gltf/lib/api/convert-gltf-v1-skins.d.ts.map +1 -0
  353. package/dist/gltf/lib/api/convert-gltf-v1-skins.js +161 -0
  354. package/dist/gltf/lib/api/convert-gltf-v1-skins.js.map +1 -0
  355. package/dist/gltf/lib/api/gltf-accessors.cjs +83 -0
  356. package/dist/gltf/lib/api/gltf-accessors.cjs.map +7 -0
  357. package/dist/gltf/lib/api/gltf-accessors.d.ts +22 -0
  358. package/dist/gltf/lib/api/gltf-accessors.d.ts.map +1 -0
  359. package/dist/gltf/lib/api/gltf-accessors.js +66 -0
  360. package/dist/gltf/lib/api/gltf-accessors.js.map +1 -0
  361. package/dist/gltf/lib/api/gltf-culling.cjs +73 -0
  362. package/dist/gltf/lib/api/gltf-culling.cjs.map +7 -0
  363. package/dist/gltf/lib/api/gltf-culling.d.ts +12 -0
  364. package/dist/gltf/lib/api/gltf-culling.d.ts.map +1 -0
  365. package/dist/gltf/lib/api/gltf-culling.js +55 -0
  366. package/dist/gltf/lib/api/gltf-culling.js.map +1 -0
  367. package/dist/gltf/lib/api/gltf-extension-data.cjs +102 -0
  368. package/dist/gltf/lib/api/gltf-extension-data.cjs.map +7 -0
  369. package/dist/gltf/lib/api/gltf-extension-data.d.ts +38 -0
  370. package/dist/gltf/lib/api/gltf-extension-data.d.ts.map +1 -0
  371. package/dist/gltf/lib/api/gltf-extension-data.js +75 -0
  372. package/dist/gltf/lib/api/gltf-extension-data.js.map +1 -0
  373. package/dist/gltf/lib/api/gltf-extensions.cjs +128 -0
  374. package/dist/gltf/lib/api/gltf-extensions.cjs.map +7 -0
  375. package/dist/gltf/lib/api/gltf-extensions.d.ts +33 -0
  376. package/dist/gltf/lib/api/gltf-extensions.d.ts.map +1 -0
  377. package/dist/gltf/lib/api/gltf-extensions.js +102 -0
  378. package/dist/gltf/lib/api/gltf-extensions.js.map +1 -0
  379. package/dist/gltf/lib/api/gltf-iterator.cjs +1001 -0
  380. package/dist/gltf/lib/api/gltf-iterator.cjs.map +7 -0
  381. package/dist/gltf/lib/api/gltf-iterator.d.ts +407 -0
  382. package/dist/gltf/lib/api/gltf-iterator.d.ts.map +1 -0
  383. package/dist/gltf/lib/api/gltf-iterator.js +940 -0
  384. package/dist/gltf/lib/api/gltf-iterator.js.map +1 -0
  385. package/dist/gltf/lib/api/gltf-mesh-arrow.cjs +269 -0
  386. package/dist/gltf/lib/api/gltf-mesh-arrow.cjs.map +7 -0
  387. package/dist/gltf/lib/api/gltf-mesh-arrow.d.ts +53 -0
  388. package/dist/gltf/lib/api/gltf-mesh-arrow.d.ts.map +1 -0
  389. package/dist/gltf/lib/api/gltf-mesh-arrow.js +247 -0
  390. package/dist/gltf/lib/api/gltf-mesh-arrow.js.map +1 -0
  391. package/dist/gltf/lib/api/gltf-scenegraph.cjs +615 -0
  392. package/dist/gltf/lib/api/gltf-scenegraph.cjs.map +7 -0
  393. package/dist/gltf/lib/api/gltf-scenegraph.d.ts +183 -0
  394. package/dist/gltf/lib/api/gltf-scenegraph.d.ts.map +1 -0
  395. package/dist/gltf/lib/api/gltf-scenegraph.js +624 -0
  396. package/dist/gltf/lib/api/gltf-scenegraph.js.map +1 -0
  397. package/dist/gltf/lib/api/normalize-gltf-v1.cjs +479 -0
  398. package/dist/gltf/lib/api/normalize-gltf-v1.cjs.map +7 -0
  399. package/dist/gltf/lib/api/normalize-gltf-v1.d.ts +37 -0
  400. package/dist/gltf/lib/api/normalize-gltf-v1.d.ts.map +1 -0
  401. package/dist/gltf/lib/api/normalize-gltf-v1.js +461 -0
  402. package/dist/gltf/lib/api/normalize-gltf-v1.js.map +1 -0
  403. package/dist/gltf/lib/api/repack-gltf-v1-accessors.cjs +405 -0
  404. package/dist/gltf/lib/api/repack-gltf-v1-accessors.cjs.map +7 -0
  405. package/dist/gltf/lib/api/repack-gltf-v1-accessors.d.ts +50 -0
  406. package/dist/gltf/lib/api/repack-gltf-v1-accessors.d.ts.map +1 -0
  407. package/dist/gltf/lib/api/repack-gltf-v1-accessors.js +448 -0
  408. package/dist/gltf/lib/api/repack-gltf-v1-accessors.js.map +1 -0
  409. package/dist/gltf/lib/api/validate-gltf-v1-buffers.cjs +110 -0
  410. package/dist/gltf/lib/api/validate-gltf-v1-buffers.cjs.map +7 -0
  411. package/dist/gltf/lib/api/validate-gltf-v1-buffers.d.ts +4 -0
  412. package/dist/gltf/lib/api/validate-gltf-v1-buffers.d.ts.map +1 -0
  413. package/dist/gltf/lib/api/validate-gltf-v1-buffers.js +111 -0
  414. package/dist/gltf/lib/api/validate-gltf-v1-buffers.js.map +1 -0
  415. package/dist/gltf/lib/api/validate-gltf-v1-cameras.cjs +41 -0
  416. package/dist/gltf/lib/api/validate-gltf-v1-cameras.cjs.map +7 -0
  417. package/dist/gltf/lib/api/validate-gltf-v1-cameras.d.ts +4 -0
  418. package/dist/gltf/lib/api/validate-gltf-v1-cameras.d.ts.map +1 -0
  419. package/dist/gltf/lib/api/validate-gltf-v1-cameras.js +34 -0
  420. package/dist/gltf/lib/api/validate-gltf-v1-cameras.js.map +1 -0
  421. package/dist/gltf/lib/api/validate-gltf-v1-geometry.cjs +121 -0
  422. package/dist/gltf/lib/api/validate-gltf-v1-geometry.cjs.map +7 -0
  423. package/dist/gltf/lib/api/validate-gltf-v1-geometry.d.ts +5 -0
  424. package/dist/gltf/lib/api/validate-gltf-v1-geometry.d.ts.map +1 -0
  425. package/dist/gltf/lib/api/validate-gltf-v1-geometry.js +118 -0
  426. package/dist/gltf/lib/api/validate-gltf-v1-geometry.js.map +1 -0
  427. package/dist/gltf/lib/api/validate-gltf-v1-payloads.cjs +265 -0
  428. package/dist/gltf/lib/api/validate-gltf-v1-payloads.cjs.map +7 -0
  429. package/dist/gltf/lib/api/validate-gltf-v1-payloads.d.ts +4 -0
  430. package/dist/gltf/lib/api/validate-gltf-v1-payloads.d.ts.map +1 -0
  431. package/dist/gltf/lib/api/validate-gltf-v1-payloads.js +268 -0
  432. package/dist/gltf/lib/api/validate-gltf-v1-payloads.js.map +1 -0
  433. package/dist/gltf/lib/encoders/encode-glb.cjs +147 -0
  434. package/dist/gltf/lib/encoders/encode-glb.cjs.map +7 -0
  435. package/dist/gltf/lib/encoders/encode-glb.d.ts +21 -0
  436. package/dist/gltf/lib/encoders/encode-glb.d.ts.map +1 -0
  437. package/dist/gltf/lib/encoders/encode-glb.js +142 -0
  438. package/dist/gltf/lib/encoders/encode-glb.js.map +1 -0
  439. package/dist/gltf/lib/encoders/encode-gltf-draco.cjs +212 -0
  440. package/dist/gltf/lib/encoders/encode-gltf-draco.cjs.map +7 -0
  441. package/dist/gltf/lib/encoders/encode-gltf-draco.d.ts +20 -0
  442. package/dist/gltf/lib/encoders/encode-gltf-draco.d.ts.map +1 -0
  443. package/dist/gltf/lib/encoders/encode-gltf-draco.js +187 -0
  444. package/dist/gltf/lib/encoders/encode-gltf-draco.js.map +1 -0
  445. package/dist/gltf/lib/encoders/encode-gltf.cjs +40 -0
  446. package/dist/gltf/lib/encoders/encode-gltf.cjs.map +7 -0
  447. package/dist/gltf/lib/encoders/encode-gltf.d.ts +22 -0
  448. package/dist/gltf/lib/encoders/encode-gltf.d.ts.map +1 -0
  449. package/dist/gltf/lib/encoders/encode-gltf.js +32 -0
  450. package/dist/gltf/lib/encoders/encode-gltf.js.map +1 -0
  451. package/dist/gltf/lib/extensions/EXT_mesh_features.cjs +175 -0
  452. package/dist/gltf/lib/extensions/EXT_mesh_features.cjs.map +7 -0
  453. package/dist/gltf/lib/extensions/EXT_mesh_features.d.ts +22 -0
  454. package/dist/gltf/lib/extensions/EXT_mesh_features.d.ts.map +1 -0
  455. package/dist/gltf/lib/extensions/EXT_mesh_features.js +189 -0
  456. package/dist/gltf/lib/extensions/EXT_mesh_features.js.map +1 -0
  457. package/dist/gltf/lib/extensions/EXT_mesh_polygon.cjs +149 -0
  458. package/dist/gltf/lib/extensions/EXT_mesh_polygon.cjs.map +7 -0
  459. package/dist/gltf/lib/extensions/EXT_mesh_polygon.d.ts +7 -0
  460. package/dist/gltf/lib/extensions/EXT_mesh_polygon.d.ts.map +1 -0
  461. package/dist/gltf/lib/extensions/EXT_mesh_polygon.js +125 -0
  462. package/dist/gltf/lib/extensions/EXT_mesh_polygon.js.map +1 -0
  463. package/dist/gltf/lib/extensions/EXT_meshopt_compression.cjs +37 -0
  464. package/dist/gltf/lib/extensions/EXT_meshopt_compression.cjs.map +7 -0
  465. package/dist/gltf/lib/extensions/EXT_meshopt_compression.d.ts +25 -0
  466. package/dist/gltf/lib/extensions/EXT_meshopt_compression.d.ts.map +1 -0
  467. package/dist/gltf/lib/extensions/EXT_meshopt_compression.js +29 -0
  468. package/dist/gltf/lib/extensions/EXT_meshopt_compression.js.map +1 -0
  469. package/dist/gltf/lib/extensions/EXT_primitive_voxels.cjs +87 -0
  470. package/dist/gltf/lib/extensions/EXT_primitive_voxels.cjs.map +7 -0
  471. package/dist/gltf/lib/extensions/EXT_primitive_voxels.d.ts +10 -0
  472. package/dist/gltf/lib/extensions/EXT_primitive_voxels.d.ts.map +1 -0
  473. package/dist/gltf/lib/extensions/EXT_primitive_voxels.js +57 -0
  474. package/dist/gltf/lib/extensions/EXT_primitive_voxels.js.map +1 -0
  475. package/dist/gltf/lib/extensions/EXT_structural_metadata.cjs +684 -0
  476. package/dist/gltf/lib/extensions/EXT_structural_metadata.cjs.map +7 -0
  477. package/dist/gltf/lib/extensions/EXT_structural_metadata.d.ts +26 -0
  478. package/dist/gltf/lib/extensions/EXT_structural_metadata.d.ts.map +1 -0
  479. package/dist/gltf/lib/extensions/EXT_structural_metadata.js +786 -0
  480. package/dist/gltf/lib/extensions/EXT_structural_metadata.js.map +1 -0
  481. package/dist/gltf/lib/extensions/EXT_texture_avif.cjs +56 -0
  482. package/dist/gltf/lib/extensions/EXT_texture_avif.cjs.map +7 -0
  483. package/dist/gltf/lib/extensions/EXT_texture_avif.d.ts +15 -0
  484. package/dist/gltf/lib/extensions/EXT_texture_avif.d.ts.map +1 -0
  485. package/dist/gltf/lib/extensions/EXT_texture_avif.js +40 -0
  486. package/dist/gltf/lib/extensions/EXT_texture_avif.js.map +1 -0
  487. package/dist/gltf/lib/extensions/EXT_texture_webp.cjs +54 -0
  488. package/dist/gltf/lib/extensions/EXT_texture_webp.cjs.map +7 -0
  489. package/dist/gltf/lib/extensions/EXT_texture_webp.d.ts +10 -0
  490. package/dist/gltf/lib/extensions/EXT_texture_webp.d.ts.map +1 -0
  491. package/dist/gltf/lib/extensions/EXT_texture_webp.js +35 -0
  492. package/dist/gltf/lib/extensions/EXT_texture_webp.js.map +1 -0
  493. package/dist/gltf/lib/extensions/KHR_accessor_float64.cjs +45 -0
  494. package/dist/gltf/lib/extensions/KHR_accessor_float64.cjs.map +7 -0
  495. package/dist/gltf/lib/extensions/KHR_accessor_float64.d.ts +6 -0
  496. package/dist/gltf/lib/extensions/KHR_accessor_float64.d.ts.map +1 -0
  497. package/dist/gltf/lib/extensions/KHR_accessor_float64.js +20 -0
  498. package/dist/gltf/lib/extensions/KHR_accessor_float64.js.map +1 -0
  499. package/dist/gltf/lib/extensions/KHR_audio_emitter.cjs +128 -0
  500. package/dist/gltf/lib/extensions/KHR_audio_emitter.cjs.map +7 -0
  501. package/dist/gltf/lib/extensions/KHR_audio_emitter.d.ts +8 -0
  502. package/dist/gltf/lib/extensions/KHR_audio_emitter.d.ts.map +1 -0
  503. package/dist/gltf/lib/extensions/KHR_audio_emitter.js +121 -0
  504. package/dist/gltf/lib/extensions/KHR_audio_emitter.js.map +1 -0
  505. package/dist/gltf/lib/extensions/KHR_binary_gltf.cjs +53 -0
  506. package/dist/gltf/lib/extensions/KHR_binary_gltf.cjs.map +7 -0
  507. package/dist/gltf/lib/extensions/KHR_binary_gltf.d.ts +6 -0
  508. package/dist/gltf/lib/extensions/KHR_binary_gltf.d.ts.map +1 -0
  509. package/dist/gltf/lib/extensions/KHR_binary_gltf.js +40 -0
  510. package/dist/gltf/lib/extensions/KHR_binary_gltf.js.map +1 -0
  511. package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.cjs +131 -0
  512. package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.cjs.map +7 -0
  513. package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.d.ts +8 -0
  514. package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.d.ts.map +1 -0
  515. package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.js +107 -0
  516. package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.js.map +1 -0
  517. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.cjs +225 -0
  518. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.cjs.map +7 -0
  519. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.d.ts +14 -0
  520. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.d.ts.map +1 -0
  521. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.js +176 -0
  522. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.js.map +1 -0
  523. package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.cjs +110 -0
  524. package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.cjs.map +7 -0
  525. package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.d.ts +10 -0
  526. package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.d.ts.map +1 -0
  527. package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.js +87 -0
  528. package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.js.map +1 -0
  529. package/dist/gltf/lib/extensions/KHR_meshopt_compression.cjs +37 -0
  530. package/dist/gltf/lib/extensions/KHR_meshopt_compression.cjs.map +7 -0
  531. package/dist/gltf/lib/extensions/KHR_meshopt_compression.d.ts +24 -0
  532. package/dist/gltf/lib/extensions/KHR_meshopt_compression.d.ts.map +1 -0
  533. package/dist/gltf/lib/extensions/KHR_meshopt_compression.js +28 -0
  534. package/dist/gltf/lib/extensions/KHR_meshopt_compression.js.map +1 -0
  535. package/dist/gltf/lib/extensions/KHR_texture_basisu.cjs +47 -0
  536. package/dist/gltf/lib/extensions/KHR_texture_basisu.cjs.map +7 -0
  537. package/dist/gltf/lib/extensions/KHR_texture_basisu.d.ts +10 -0
  538. package/dist/gltf/lib/extensions/KHR_texture_basisu.d.ts.map +1 -0
  539. package/dist/gltf/lib/extensions/KHR_texture_basisu.js +26 -0
  540. package/dist/gltf/lib/extensions/KHR_texture_basisu.js.map +1 -0
  541. package/dist/gltf/lib/extensions/KHR_texture_transform.cjs +258 -0
  542. package/dist/gltf/lib/extensions/KHR_texture_transform.cjs.map +7 -0
  543. package/dist/gltf/lib/extensions/KHR_texture_transform.d.ts +10 -0
  544. package/dist/gltf/lib/extensions/KHR_texture_transform.d.ts.map +1 -0
  545. package/dist/gltf/lib/extensions/KHR_texture_transform.js +271 -0
  546. package/dist/gltf/lib/extensions/KHR_texture_transform.js.map +1 -0
  547. package/dist/gltf/lib/extensions/MPEG_audio_spatial.cjs +70 -0
  548. package/dist/gltf/lib/extensions/MPEG_audio_spatial.cjs.map +7 -0
  549. package/dist/gltf/lib/extensions/MPEG_audio_spatial.d.ts +10 -0
  550. package/dist/gltf/lib/extensions/MPEG_audio_spatial.d.ts.map +1 -0
  551. package/dist/gltf/lib/extensions/MPEG_audio_spatial.js +45 -0
  552. package/dist/gltf/lib/extensions/MPEG_audio_spatial.js.map +1 -0
  553. package/dist/gltf/lib/extensions/MSFT_texture_dds.cjs +64 -0
  554. package/dist/gltf/lib/extensions/MSFT_texture_dds.cjs.map +7 -0
  555. package/dist/gltf/lib/extensions/MSFT_texture_dds.d.ts +12 -0
  556. package/dist/gltf/lib/extensions/MSFT_texture_dds.d.ts.map +1 -0
  557. package/dist/gltf/lib/extensions/MSFT_texture_dds.js +39 -0
  558. package/dist/gltf/lib/extensions/MSFT_texture_dds.js.map +1 -0
  559. package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.cjs +276 -0
  560. package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.cjs.map +7 -0
  561. package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.d.ts +5 -0
  562. package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.d.ts.map +1 -0
  563. package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.js +306 -0
  564. package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.js.map +1 -0
  565. package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.cjs +71 -0
  566. package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.cjs.map +7 -0
  567. package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.d.ts +5 -0
  568. package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.d.ts.map +1 -0
  569. package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.js +54 -0
  570. package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -0
  571. package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.cjs +62 -0
  572. package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.cjs.map +7 -0
  573. package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.d.ts +9 -0
  574. package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.d.ts.map +1 -0
  575. package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.js +38 -0
  576. package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -0
  577. package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.cjs +99 -0
  578. package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.cjs.map +7 -0
  579. package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.d.ts +5 -0
  580. package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.d.ts.map +1 -0
  581. package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.js +76 -0
  582. package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -0
  583. package/dist/gltf/lib/extensions/meshopt-compression.cjs +114 -0
  584. package/dist/gltf/lib/extensions/meshopt-compression.cjs.map +7 -0
  585. package/dist/gltf/lib/extensions/meshopt-compression.d.ts +48 -0
  586. package/dist/gltf/lib/extensions/meshopt-compression.d.ts.map +1 -0
  587. package/dist/gltf/lib/extensions/meshopt-compression.js +123 -0
  588. package/dist/gltf/lib/extensions/meshopt-compression.js.map +1 -0
  589. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.cjs +280 -0
  590. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.cjs.map +7 -0
  591. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.d.ts +84 -0
  592. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.d.ts.map +1 -0
  593. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.js +360 -0
  594. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.js.map +1 -0
  595. package/dist/gltf/lib/gltf-utils/get-typed-array.cjs +189 -0
  596. package/dist/gltf/lib/gltf-utils/get-typed-array.cjs.map +7 -0
  597. package/dist/gltf/lib/gltf-utils/get-typed-array.d.ts +13 -0
  598. package/dist/gltf/lib/gltf-utils/get-typed-array.d.ts.map +1 -0
  599. package/dist/gltf/lib/gltf-utils/get-typed-array.js +175 -0
  600. package/dist/gltf/lib/gltf-utils/get-typed-array.js.map +1 -0
  601. package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.cjs +90 -0
  602. package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.cjs.map +7 -0
  603. package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.d.ts +6 -0
  604. package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.d.ts.map +1 -0
  605. package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.js +72 -0
  606. package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.js.map +1 -0
  607. package/dist/gltf/lib/gltf-utils/gltf-constants.cjs +90 -0
  608. package/dist/gltf/lib/gltf-utils/gltf-constants.cjs.map +7 -0
  609. package/dist/gltf/lib/gltf-utils/gltf-constants.d.ts +26 -0
  610. package/dist/gltf/lib/gltf-utils/gltf-constants.d.ts.map +1 -0
  611. package/dist/gltf/lib/gltf-utils/gltf-constants.js +46 -0
  612. package/dist/gltf/lib/gltf-utils/gltf-constants.js.map +1 -0
  613. package/dist/gltf/lib/gltf-utils/gltf-utils.cjs +157 -0
  614. package/dist/gltf/lib/gltf-utils/gltf-utils.cjs.map +7 -0
  615. package/dist/gltf/lib/gltf-utils/gltf-utils.d.ts +17 -0
  616. package/dist/gltf/lib/gltf-utils/gltf-utils.d.ts.map +1 -0
  617. package/dist/gltf/lib/gltf-utils/gltf-utils.js +135 -0
  618. package/dist/gltf/lib/gltf-utils/gltf-utils.js.map +1 -0
  619. package/dist/gltf/lib/gltf-utils/resolve-gltf-file.cjs +91 -0
  620. package/dist/gltf/lib/gltf-utils/resolve-gltf-file.cjs.map +7 -0
  621. package/dist/gltf/lib/gltf-utils/resolve-gltf-file.d.ts +21 -0
  622. package/dist/gltf/lib/gltf-utils/resolve-gltf-file.d.ts.map +1 -0
  623. package/dist/gltf/lib/gltf-utils/resolve-gltf-file.js +77 -0
  624. package/dist/gltf/lib/gltf-utils/resolve-gltf-file.js.map +1 -0
  625. package/dist/gltf/lib/gltf-utils/resolve-url.cjs +61 -0
  626. package/dist/gltf/lib/gltf-utils/resolve-url.cjs.map +7 -0
  627. package/dist/gltf/lib/gltf-utils/resolve-url.d.ts +10 -0
  628. package/dist/gltf/lib/gltf-utils/resolve-url.d.ts.map +1 -0
  629. package/dist/gltf/lib/gltf-utils/resolve-url.js +43 -0
  630. package/dist/gltf/lib/gltf-utils/resolve-url.js.map +1 -0
  631. package/dist/gltf/lib/parsers/parse-glb.cjs +185 -0
  632. package/dist/gltf/lib/parsers/parse-glb.cjs.map +7 -0
  633. package/dist/gltf/lib/parsers/parse-glb.d.ts +20 -0
  634. package/dist/gltf/lib/parsers/parse-glb.d.ts.map +1 -0
  635. package/dist/gltf/lib/parsers/parse-glb.js +216 -0
  636. package/dist/gltf/lib/parsers/parse-glb.js.map +1 -0
  637. package/dist/gltf/lib/parsers/parse-gltf.cjs +391 -0
  638. package/dist/gltf/lib/parsers/parse-gltf.cjs.map +7 -0
  639. package/dist/gltf/lib/parsers/parse-gltf.d.ts +45 -0
  640. package/dist/gltf/lib/parsers/parse-gltf.d.ts.map +1 -0
  641. package/dist/gltf/lib/parsers/parse-gltf.js +392 -0
  642. package/dist/gltf/lib/parsers/parse-gltf.js.map +1 -0
  643. package/dist/gltf/lib/types/glb-types.cjs +19 -0
  644. package/dist/gltf/lib/types/glb-types.cjs.map +7 -0
  645. package/dist/gltf/lib/types/glb-types.d.ts +35 -0
  646. package/dist/gltf/lib/types/glb-types.d.ts.map +1 -0
  647. package/dist/gltf/lib/types/glb-types.js +5 -0
  648. package/dist/gltf/lib/types/glb-types.js.map +1 -0
  649. package/dist/gltf/lib/types/gltf-additional-extension-schemas.cjs +145 -0
  650. package/dist/gltf/lib/types/gltf-additional-extension-schemas.cjs.map +7 -0
  651. package/dist/gltf/lib/types/gltf-additional-extension-schemas.d.ts +133 -0
  652. package/dist/gltf/lib/types/gltf-additional-extension-schemas.d.ts.map +1 -0
  653. package/dist/gltf/lib/types/gltf-additional-extension-schemas.js +109 -0
  654. package/dist/gltf/lib/types/gltf-additional-extension-schemas.js.map +1 -0
  655. package/dist/gltf/lib/types/gltf-audio-extension-schemas.cjs +189 -0
  656. package/dist/gltf/lib/types/gltf-audio-extension-schemas.cjs.map +7 -0
  657. package/dist/gltf/lib/types/gltf-audio-extension-schemas.d.ts +192 -0
  658. package/dist/gltf/lib/types/gltf-audio-extension-schemas.d.ts.map +1 -0
  659. package/dist/gltf/lib/types/gltf-audio-extension-schemas.js +154 -0
  660. package/dist/gltf/lib/types/gltf-audio-extension-schemas.js.map +1 -0
  661. package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.cjs +19 -0
  662. package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.cjs.map +7 -0
  663. package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.d.ts +421 -0
  664. package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.d.ts.map +1 -0
  665. package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.js +5 -0
  666. package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.js.map +1 -0
  667. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.cjs +19 -0
  668. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.cjs.map +7 -0
  669. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.d.ts +39 -0
  670. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.d.ts.map +1 -0
  671. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.js +5 -0
  672. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.js.map +1 -0
  673. package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.cjs +19 -0
  674. package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.cjs.map +7 -0
  675. package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.d.ts +49 -0
  676. package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.d.ts.map +1 -0
  677. package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.js +5 -0
  678. package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.js.map +1 -0
  679. package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.cjs +19 -0
  680. package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.cjs.map +7 -0
  681. package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.d.ts +334 -0
  682. package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.d.ts.map +1 -0
  683. package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.js +5 -0
  684. package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.js.map +1 -0
  685. package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.cjs +19 -0
  686. package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.cjs.map +7 -0
  687. package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.d.ts +42 -0
  688. package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.d.ts.map +1 -0
  689. package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.js +5 -0
  690. package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.js.map +1 -0
  691. package/dist/gltf/lib/types/gltf-extension-schemas.cjs +91 -0
  692. package/dist/gltf/lib/types/gltf-extension-schemas.cjs.map +7 -0
  693. package/dist/gltf/lib/types/gltf-extension-schemas.d.ts +256 -0
  694. package/dist/gltf/lib/types/gltf-extension-schemas.d.ts.map +1 -0
  695. package/dist/gltf/lib/types/gltf-extension-schemas.js +60 -0
  696. package/dist/gltf/lib/types/gltf-extension-schemas.js.map +1 -0
  697. package/dist/gltf/lib/types/gltf-interactivity.cjs +34 -0
  698. package/dist/gltf/lib/types/gltf-interactivity.cjs.map +7 -0
  699. package/dist/gltf/lib/types/gltf-interactivity.d.ts +131 -0
  700. package/dist/gltf/lib/types/gltf-interactivity.d.ts.map +1 -0
  701. package/dist/gltf/lib/types/gltf-interactivity.js +13 -0
  702. package/dist/gltf/lib/types/gltf-interactivity.js.map +1 -0
  703. package/dist/gltf/lib/types/gltf-json-schema.cjs +19 -0
  704. package/dist/gltf/lib/types/gltf-json-schema.cjs.map +7 -0
  705. package/dist/gltf/lib/types/gltf-json-schema.d.ts +841 -0
  706. package/dist/gltf/lib/types/gltf-json-schema.d.ts.map +1 -0
  707. package/dist/gltf/lib/types/gltf-json-schema.js +3 -0
  708. package/dist/gltf/lib/types/gltf-json-schema.js.map +1 -0
  709. package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.cjs +19 -0
  710. package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.cjs.map +7 -0
  711. package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.d.ts +46 -0
  712. package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.d.ts.map +1 -0
  713. package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.js +5 -0
  714. package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.js.map +1 -0
  715. package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.cjs +19 -0
  716. package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.cjs.map +7 -0
  717. package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.d.ts +20 -0
  718. package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.d.ts.map +1 -0
  719. package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.js +5 -0
  720. package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.js.map +1 -0
  721. package/dist/gltf/lib/types/gltf-official-json-schemas.cjs +17840 -0
  722. package/dist/gltf/lib/types/gltf-official-json-schemas.cjs.map +7 -0
  723. package/dist/gltf/lib/types/gltf-official-json-schemas.d.ts +14 -0
  724. package/dist/gltf/lib/types/gltf-official-json-schemas.d.ts.map +1 -0
  725. package/dist/gltf/lib/types/gltf-official-json-schemas.js +17751 -0
  726. package/dist/gltf/lib/types/gltf-official-json-schemas.js.map +1 -0
  727. package/dist/gltf/lib/types/gltf-shape-schema.cjs +19 -0
  728. package/dist/gltf/lib/types/gltf-shape-schema.cjs.map +7 -0
  729. package/dist/gltf/lib/types/gltf-shape-schema.d.ts +49 -0
  730. package/dist/gltf/lib/types/gltf-shape-schema.d.ts.map +1 -0
  731. package/dist/gltf/lib/types/gltf-shape-schema.js +5 -0
  732. package/dist/gltf/lib/types/gltf-shape-schema.js.map +1 -0
  733. package/dist/gltf/lib/types/gltf-texture-procedurals.cjs +19 -0
  734. package/dist/gltf/lib/types/gltf-texture-procedurals.cjs.map +7 -0
  735. package/dist/gltf/lib/types/gltf-texture-procedurals.d.ts +45 -0
  736. package/dist/gltf/lib/types/gltf-texture-procedurals.d.ts.map +1 -0
  737. package/dist/gltf/lib/types/gltf-texture-procedurals.js +5 -0
  738. package/dist/gltf/lib/types/gltf-texture-procedurals.js.map +1 -0
  739. package/dist/gltf/lib/types/gltf-types.cjs +19 -0
  740. package/dist/gltf/lib/types/gltf-types.cjs.map +7 -0
  741. package/dist/gltf/lib/types/gltf-types.d.ts +60 -0
  742. package/dist/gltf/lib/types/gltf-types.d.ts.map +1 -0
  743. package/dist/gltf/lib/types/gltf-types.js +5 -0
  744. package/dist/gltf/lib/types/gltf-types.js.map +1 -0
  745. package/dist/gltf/lib/types/gltf-vector-topology.cjs +19 -0
  746. package/dist/gltf/lib/types/gltf-vector-topology.cjs.map +7 -0
  747. package/dist/gltf/lib/types/gltf-vector-topology.d.ts +56 -0
  748. package/dist/gltf/lib/types/gltf-vector-topology.d.ts.map +1 -0
  749. package/dist/gltf/lib/types/gltf-vector-topology.js +5 -0
  750. package/dist/gltf/lib/types/gltf-vector-topology.js.map +1 -0
  751. package/dist/gltf/lib/types/gltf-version-zod-schemas.cjs +423 -0
  752. package/dist/gltf/lib/types/gltf-version-zod-schemas.cjs.map +7 -0
  753. package/dist/gltf/lib/types/gltf-version-zod-schemas.d.ts +1163 -0
  754. package/dist/gltf/lib/types/gltf-version-zod-schemas.d.ts.map +1 -0
  755. package/dist/gltf/lib/types/gltf-version-zod-schemas.js +333 -0
  756. package/dist/gltf/lib/types/gltf-version-zod-schemas.js.map +1 -0
  757. package/dist/gltf/lib/types/gltf-zod-schema.cjs +465 -0
  758. package/dist/gltf/lib/types/gltf-zod-schema.cjs.map +7 -0
  759. package/dist/gltf/lib/types/gltf-zod-schema.d.ts +1651 -0
  760. package/dist/gltf/lib/types/gltf-zod-schema.d.ts.map +1 -0
  761. package/dist/gltf/lib/types/gltf-zod-schema.js +501 -0
  762. package/dist/gltf/lib/types/gltf-zod-schema.js.map +1 -0
  763. package/dist/gltf/lib/utils/assert.cjs +35 -0
  764. package/dist/gltf/lib/utils/assert.cjs.map +7 -0
  765. package/dist/gltf/lib/utils/assert.d.ts +2 -0
  766. package/dist/gltf/lib/utils/assert.d.ts.map +1 -0
  767. package/dist/gltf/lib/utils/assert.js +12 -0
  768. package/dist/gltf/lib/utils/assert.js.map +1 -0
  769. package/dist/gltf/lib/utils/version.cjs +31 -0
  770. package/dist/gltf/lib/utils/version.cjs.map +7 -0
  771. package/dist/gltf/lib/utils/version.d.ts +2 -0
  772. package/dist/gltf/lib/utils/version.d.ts.map +1 -0
  773. package/dist/gltf/lib/utils/version.js +8 -0
  774. package/dist/gltf/lib/utils/version.js.map +1 -0
  775. package/dist/gltf/libs/README.md +12 -0
  776. package/dist/gltf/libs/meshopt-decoder.d.mts +15 -0
  777. package/dist/gltf/libs/meshopt-decoder.mjs +196 -0
  778. package/dist/gltf/libs/meshoptimizer-LICENSE.md +21 -0
  779. package/dist/gltf/mesh-arrow.cjs +31 -0
  780. package/dist/gltf/mesh-arrow.cjs.map +7 -0
  781. package/dist/gltf/mesh-arrow.d.ts +2 -0
  782. package/dist/gltf/mesh-arrow.d.ts.map +1 -0
  783. package/dist/gltf/mesh-arrow.js +5 -0
  784. package/dist/gltf/mesh-arrow.js.map +1 -0
  785. package/dist/gltf/meshopt/meshopt-decoder.cjs +93 -0
  786. package/dist/gltf/meshopt/meshopt-decoder.cjs.map +7 -0
  787. package/dist/gltf/meshopt/meshopt-decoder.d.ts +78 -0
  788. package/dist/gltf/meshopt/meshopt-decoder.d.ts.map +1 -0
  789. package/dist/gltf/meshopt/meshopt-decoder.js +111 -0
  790. package/dist/gltf/meshopt/meshopt-decoder.js.map +1 -0
  791. package/dist/gltf/meshopt/meshopt-module-loader.cjs +43 -0
  792. package/dist/gltf/meshopt/meshopt-module-loader.cjs.map +7 -0
  793. package/dist/gltf/meshopt/meshopt-module-loader.d.ts +3 -0
  794. package/dist/gltf/meshopt/meshopt-module-loader.d.ts.map +1 -0
  795. package/dist/gltf/meshopt/meshopt-module-loader.js +8 -0
  796. package/dist/gltf/meshopt/meshopt-module-loader.js.map +1 -0
  797. package/dist/gltf/schema.cjs +63 -0
  798. package/dist/gltf/schema.cjs.map +7 -0
  799. package/dist/gltf/schema.d.ts +7 -0
  800. package/dist/gltf/schema.d.ts.map +1 -0
  801. package/dist/gltf/schema.js +11 -0
  802. package/dist/gltf/schema.js.map +1 -0
  803. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_binary_glTF/image.KHR_binary_glTF.schema.json +34 -0
  804. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_binary_glTF/shader.KHR_binary_glTF.schema.json +16 -0
  805. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/glTF.KHR_materials_common.schema.json +272 -0
  806. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.ambient.schema.json +57 -0
  807. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.directional.schema.json +57 -0
  808. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.point.schema.json +72 -0
  809. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.schema.json +258 -0
  810. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.spot.schema.json +82 -0
  811. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/node.KHR_materials_common.schema.json +23 -0
  812. package/dist/gltf/schemas/extensions/1.0/Vendor/CESIUM_RTC/CESIUM_RTC.schema.json +21 -0
  813. package/dist/gltf/schemas/extensions/1.0/Vendor/WEB3D_quantized_attributes/WEB3D_quantized_attributes.accessor.schema.json +40 -0
  814. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_materials_pbrSpecularGlossiness/glTF.KHR_materials_pbrSpecularGlossiness.schema.json +141 -0
  815. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/glTF.KHR_techniques_webgl.schema.json +417 -0
  816. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/material.KHR_techniques_webgl.schema.json +133 -0
  817. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/program.schema.json +97 -0
  818. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/shader.schema.json +109 -0
  819. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/technique.attribute.schema.json +51 -0
  820. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/technique.schema.json +267 -0
  821. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/technique.uniform.schema.json +185 -0
  822. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/uniform.value.schema.json +98 -0
  823. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_xmp/glTF.KHR_xmp.schema.json +61 -0
  824. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_xmp/node.KHR_xmp.schema.json +59 -0
  825. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_animation_pointer/animation.channel.target.KHR_animation_pointer.schema.json +51 -0
  826. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_draco_mesh_compression/mesh.primitive.KHR_draco_mesh_compression.schema.json +67 -0
  827. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_gaussian_splatting/mesh.primitive.KHR_gaussian_splatting.schema.json +100 -0
  828. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/declaration.KHR_interactivity.schema.json +106 -0
  829. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/event.KHR_interactivity.schema.json +90 -0
  830. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/glTF.KHR_interactivity.schema.json +546 -0
  831. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/graph.KHR_interactivity.schema.json +512 -0
  832. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/node.KHR_interactivity.schema.json +183 -0
  833. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/type.KHR_interactivity.schema.json +96 -0
  834. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/variable.KHR_interactivity.schema.json +64 -0
  835. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_lights_punctual/glTF.KHR_lights_punctual.schema.json +175 -0
  836. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_lights_punctual/light.schema.json +151 -0
  837. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_lights_punctual/light.spot.schema.json +58 -0
  838. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_lights_punctual/node.KHR_lights_punctual.schema.json +58 -0
  839. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_anisotropy/material.KHR_materials_anisotropy.schema.json +103 -0
  840. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_clearcoat/material.KHR_materials_clearcoat.schema.json +144 -0
  841. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_diffuse_transmission/material.KHR_materials_diffuse_transmission.schema.json +123 -0
  842. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_dispersion/material.KHR_materials_dispersion.schema.json +50 -0
  843. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_emissive_strength/material.KHR_materials_emissive_strength.schema.json +49 -0
  844. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_ior/material.KHR_materials_ior.schema.json +58 -0
  845. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_iridescence/material.KHR_materials_iridescence.schema.json +125 -0
  846. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_sheen/material.KHR_materials_sheen.schema.json +122 -0
  847. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_specular/material.KHR_materials_specular.schema.json +122 -0
  848. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_transmission/material.KHR_materials_transmission.schema.json +97 -0
  849. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_unlit/material.KHR_materials_unlit.schema.json +43 -0
  850. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_variants/glTF.KHR_materials_variants.schema.json +88 -0
  851. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_variants/mesh.primitive.KHR_materials_variants.schema.json +100 -0
  852. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_volume/material.KHR_materials_volume.schema.json +119 -0
  853. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_meshopt_compression/buffer.KHR_meshopt_compression.schema.json +48 -0
  854. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_meshopt_compression/bufferView.KHR_meshopt_compression.schema.json +106 -0
  855. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_node_hoverability/node.KHR_node_hoverability.schema.json +49 -0
  856. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_node_selectability/node.KHR_node_selectability.schema.json +49 -0
  857. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_node_visibility/node.KHR_node_visibility.schema.json +49 -0
  858. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_texture_basisu/texture.KHR_texture_basisu.schema.json +56 -0
  859. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_texture_transform/textureInfo.KHR_texture_transform.schema.json +79 -0
  860. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_xmp_json_ld/KHR_xmp_json_ld.schema.json +59 -0
  861. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_xmp_json_ld/glTF.KHR_xmp_json_ld.schema.json +70 -0
  862. package/dist/gltf/schemas/extensions/2.0/Vendor/ADOBE_materials_clearcoat_specular/glTF.ADOBE_materials_clearcoat_specular.schema.json +105 -0
  863. package/dist/gltf/schemas/extensions/2.0/Vendor/ADOBE_materials_clearcoat_tint/material.ADOBE_materials_clearcoat_tint.schema.json +106 -0
  864. package/dist/gltf/schemas/extensions/2.0/Vendor/ADOBE_materials_thin_transparency/glTF.ADOBE_materials_thin_transparency.schema.json +105 -0
  865. package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_articulations/articulation.schema.json +177 -0
  866. package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_articulations/articulation.stage.schema.json +136 -0
  867. package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_articulations/gltf.AGI_articulations.schema.json +200 -0
  868. package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_articulations/node.AGI_articulations.schema.json +53 -0
  869. package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_stk_metadata/gltf.AGI_stk_metadata.schema.json +81 -0
  870. package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_stk_metadata/node.AGI_stk_metadata.schema.json +53 -0
  871. package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_stk_metadata/solarPanelGroup.schema.json +59 -0
  872. package/dist/gltf/schemas/extensions/2.0/Vendor/CESIUM_primitive_outline/primitive.CESIUM_primitive_outline.schema.json +56 -0
  873. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_ies/glTF.EXT_lights_ies.schema.json +132 -0
  874. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_ies/lightProfile.schema.json +107 -0
  875. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_ies/node.EXT_lights_ies.schema.json +80 -0
  876. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_image_based/glTF.EXT_lights_image_based.schema.json +145 -0
  877. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_image_based/light.schema.json +121 -0
  878. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_image_based/scene.EXT_lights_image_based.schema.json +58 -0
  879. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_gpu_instancing/glTF.EXT_mesh_gpu_instancing.schema.json +56 -0
  880. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_manifold/mesh.EXT_mesh_manifold.schema.json +175 -0
  881. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_primitive_edge_visibility/lineString.schema.json +70 -0
  882. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_primitive_edge_visibility/primitive.EXT_mesh_primitive_edge_visibility.schema.json +119 -0
  883. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_primitive_restart/EXT_mesh_primitive_restart.schema.json +97 -0
  884. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_primitive_restart/primitiveGroup.schema.json +72 -0
  885. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_meshopt_compression/buffer.EXT_meshopt_compression.schema.json +48 -0
  886. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_meshopt_compression/bufferView.EXT_meshopt_compression.schema.json +105 -0
  887. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_texture_astc/texture.EXT_texture_astc.schema.json +56 -0
  888. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_texture_webp/glTF.EXT_texture_webp.schema.json +56 -0
  889. package/dist/gltf/schemas/extensions/2.0/Vendor/FB_geometry_metadata/scene.FB_geometry_metadata.schema.json +97 -0
  890. package/dist/gltf/schemas/extensions/2.0/Vendor/FB_geometry_metadata/sceneBounds.schema.json +64 -0
  891. package/dist/gltf/schemas/extensions/2.0/Vendor/GRIFFEL_bim_data/GRIFFEL_bim_data.schema.json +164 -0
  892. package/dist/gltf/schemas/extensions/2.0/Vendor/GRIFFEL_bim_data/glTF.GRIFFEL_bim_data.schema.json +107 -0
  893. package/dist/gltf/schemas/extensions/2.0/Vendor/GRIFFEL_bim_data/node.GRIFFEL_bim_data.schema.json +95 -0
  894. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_accessor_timed/MPEG_accessor_timed.schema.json +85 -0
  895. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_animation_timing/MPEG_animation_timing.schema.json +60 -0
  896. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.listener.schema.json +51 -0
  897. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.reverb.property.schema.json +63 -0
  898. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.reverb.schema.json +107 -0
  899. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.schema.json +276 -0
  900. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.source.schema.json +139 -0
  901. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_buffer_circular/MPEG_buffer_circular.schema.json +80 -0
  902. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_media/MPEG_media.media.alternative.schema.json +110 -0
  903. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_media/MPEG_media.media.alternative.track.schema.json +56 -0
  904. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_media/MPEG_media.media.schema.json +195 -0
  905. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_media/MPEG_media.schema.json +237 -0
  906. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_mesh_linking/MPEG_mesh_linking.schema.json +89 -0
  907. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_scene_dynamic/MPEG_scene_dynamic.schema.json +69 -0
  908. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_texture_video/MPEG_texture_video.schema.json +109 -0
  909. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_viewport_recommended/MPEG_viewport_recommended.schema.json +119 -0
  910. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_viewport_recommended/MPEG_viewport_recommended.viewport.schema.json +96 -0
  911. package/dist/gltf/schemas/extensions/2.0/Vendor/MSFT_lod/glTF.MSFT_lod.schema.json +51 -0
  912. package/dist/gltf/schemas/extensions/2.0/Vendor/MSFT_packing_normalRoughnessMetallic/glTF.MSFT_packing_normalRoughnessMetallic.schema.json +62 -0
  913. package/dist/gltf/schemas/extensions/2.0/Vendor/MSFT_packing_occlusionRoughnessMetallic/glTF.MSFT_packing_occlusionRoughnessMetallic.schema.json +90 -0
  914. package/dist/gltf/schemas/extensions/2.0/Vendor/MSFT_texture_dds/glTF.MSFT_texture_dds.schema.json +56 -0
  915. package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/bsdfMeasurement.schema.json +109 -0
  916. package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/functionCall.argument.schema.json +228 -0
  917. package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/functionCall.schema.json +292 -0
  918. package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/functionCall.type.schema.json +86 -0
  919. package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/glTF.NV_materials_mdl.schema.json +451 -0
  920. package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/material.NV_materials_mdl.schema.json +60 -0
  921. package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/module.schema.json +114 -0
  922. package/dist/gltf/unbundled.cjs +34 -0
  923. package/dist/gltf/unbundled.cjs.map +7 -0
  924. package/dist/gltf/unbundled.d.ts +5 -0
  925. package/dist/gltf/unbundled.d.ts.map +1 -0
  926. package/dist/gltf/unbundled.js +6 -0
  927. package/dist/gltf/unbundled.js.map +1 -0
  928. package/dist/gltf/webp/webp.cjs +53 -0
  929. package/dist/gltf/webp/webp.cjs.map +7 -0
  930. package/dist/gltf/webp/webp.d.ts +7 -0
  931. package/dist/gltf/webp/webp.d.ts.map +1 -0
  932. package/dist/gltf/webp/webp.js +38 -0
  933. package/dist/gltf/webp/webp.js.map +1 -0
  934. package/dist/gltf-loader-types.cjs +73 -0
  935. package/dist/gltf-loader-types.cjs.map +7 -0
  936. package/dist/gltf-loader-types.d.ts +2 -0
  937. package/dist/gltf-loader-types.d.ts.map +1 -0
  938. package/dist/gltf-loader-types.js +2 -0
  939. package/dist/gltf-loader-types.js.map +1 -0
  940. package/dist/gltf-loader.cjs +48 -0
  941. package/dist/gltf-loader.cjs.map +7 -0
  942. package/dist/gltf-loader.d.ts +2 -0
  943. package/dist/gltf-loader.d.ts.map +1 -0
  944. package/dist/gltf-loader.js +2 -0
  945. package/dist/gltf-loader.js.map +1 -0
  946. package/dist/gltf-source.cjs +238 -0
  947. package/dist/gltf-source.cjs.map +7 -0
  948. package/dist/gltf-source.d.ts +2 -0
  949. package/dist/gltf-source.d.ts.map +1 -0
  950. package/dist/gltf-source.js +2 -0
  951. package/dist/gltf-source.js.map +1 -0
  952. package/dist/gltf-writer.cjs +69 -0
  953. package/dist/gltf-writer.cjs.map +7 -0
  954. package/dist/gltf-writer.d.ts +2 -0
  955. package/dist/gltf-writer.d.ts.map +1 -0
  956. package/dist/gltf-writer.js +2 -0
  957. package/dist/gltf-writer.js.map +1 -0
  958. package/dist/index.cjs +56 -809
  959. package/dist/index.cjs.map +4 -3
  960. package/dist/index.d.ts +20 -2
  961. package/dist/index.d.ts.map +1 -1
  962. package/dist/index.js +17 -2
  963. package/dist/index.js.map +1 -1
  964. package/dist/libs/DRACO-LICENSE +252 -0
  965. package/dist/libs/README.md +20 -0
  966. package/dist/libs/draco_decoder.js +34 -0
  967. package/dist/libs/draco_decoder.mjs +37 -0
  968. package/dist/libs/draco_decoder.wasm +0 -0
  969. package/dist/libs/draco_decoder_gltf.wasm +0 -0
  970. package/dist/libs/draco_encoder.js +98 -0
  971. package/dist/libs/draco_encoder.mjs +101 -0
  972. package/dist/libs/draco_encoder.wasm +0 -0
  973. package/dist/libs/draco_wasm_wrapper.js +117 -0
  974. package/dist/libs/draco_wasm_wrapper.mjs +120 -0
  975. package/dist/libs/draco_wasm_wrapper_gltf.js +116 -0
  976. package/dist/libs/draco_wasm_wrapper_gltf.mjs +119 -0
  977. package/dist/materialx/parse-materialx.cjs +61 -0
  978. package/dist/materialx/parse-materialx.cjs.map +7 -0
  979. package/dist/materialx/parse-materialx.d.ts +23 -0
  980. package/dist/materialx/parse-materialx.d.ts.map +1 -0
  981. package/dist/materialx/parse-materialx.js +39 -0
  982. package/dist/materialx/parse-materialx.js.map +1 -0
  983. package/dist/materialx/procedural-graph.cjs +77 -0
  984. package/dist/materialx/procedural-graph.cjs.map +7 -0
  985. package/dist/materialx/procedural-graph.d.ts +40 -0
  986. package/dist/materialx/procedural-graph.d.ts.map +1 -0
  987. package/dist/materialx/procedural-graph.js +59 -0
  988. package/dist/materialx/procedural-graph.js.map +1 -0
  989. package/dist/materialx-loader-types.cjs +57 -0
  990. package/dist/materialx-loader-types.cjs.map +7 -0
  991. package/dist/materialx-loader-types.d.ts +34 -0
  992. package/dist/materialx-loader-types.d.ts.map +1 -0
  993. package/dist/materialx-loader-types.js +20 -0
  994. package/dist/materialx-loader-types.js.map +1 -0
  995. package/dist/materialx-loader.cjs +40 -0
  996. package/dist/materialx-loader.cjs.map +7 -0
  997. package/dist/materialx-loader.d.ts +19 -0
  998. package/dist/materialx-loader.d.ts.map +1 -0
  999. package/dist/materialx-loader.js +14 -0
  1000. package/dist/materialx-loader.js.map +1 -0
  1001. package/dist/mtl-loader-types.cjs +61 -0
  1002. package/dist/mtl-loader-types.cjs.map +7 -0
  1003. package/dist/mtl-loader-types.d.ts +2 -0
  1004. package/dist/mtl-loader-types.d.ts.map +1 -0
  1005. package/dist/mtl-loader-types.js +2 -0
  1006. package/dist/mtl-loader-types.js.map +1 -0
  1007. package/dist/mtl-loader.cjs +47 -0
  1008. package/dist/mtl-loader.cjs.map +7 -0
  1009. package/dist/mtl-loader.d.ts +2 -0
  1010. package/dist/mtl-loader.d.ts.map +1 -0
  1011. package/dist/mtl-loader.js +2 -0
  1012. package/dist/mtl-loader.js.map +1 -0
  1013. package/dist/obj/bundled.cjs +42 -0
  1014. package/dist/obj/bundled.cjs.map +7 -0
  1015. package/dist/obj/bundled.d.ts +7 -0
  1016. package/dist/obj/bundled.d.ts.map +1 -0
  1017. package/dist/obj/bundled.js +8 -0
  1018. package/dist/obj/bundled.js.map +1 -0
  1019. package/dist/obj/index.cjs +43 -0
  1020. package/dist/obj/index.cjs.map +7 -0
  1021. package/dist/obj/index.d.ts +9 -0
  1022. package/dist/obj/index.d.ts.map +1 -0
  1023. package/dist/obj/index.js +11 -0
  1024. package/dist/obj/index.js.map +1 -0
  1025. package/dist/obj/lib/get-obj-schema.cjs +60 -0
  1026. package/dist/obj/lib/get-obj-schema.cjs.map +7 -0
  1027. package/dist/obj/lib/get-obj-schema.d.ts +4 -0
  1028. package/dist/obj/lib/get-obj-schema.d.ts.map +1 -0
  1029. package/dist/obj/lib/get-obj-schema.js +36 -0
  1030. package/dist/obj/lib/get-obj-schema.js.map +1 -0
  1031. package/dist/obj/lib/obj-types.cjs +2 -0
  1032. package/dist/obj/lib/obj-types.cjs.map +7 -0
  1033. package/dist/obj/lib/obj-types.d.ts +1 -0
  1034. package/dist/obj/lib/obj-types.d.ts.map +1 -0
  1035. package/dist/obj/lib/obj-types.js +5 -0
  1036. package/dist/obj/lib/obj-types.js.map +1 -0
  1037. package/dist/obj/lib/parse-mtl.cjs +97 -0
  1038. package/dist/obj/lib/parse-mtl.cjs.map +7 -0
  1039. package/dist/obj/lib/parse-mtl.d.ts +34 -0
  1040. package/dist/obj/lib/parse-mtl.d.ts.map +1 -0
  1041. package/dist/obj/lib/parse-mtl.js +200 -0
  1042. package/dist/obj/lib/parse-mtl.js.map +1 -0
  1043. package/dist/obj/lib/parse-obj-meshes.cjs +389 -0
  1044. package/dist/obj/lib/parse-obj-meshes.cjs.map +7 -0
  1045. package/dist/obj/lib/parse-obj-meshes.d.ts +5 -0
  1046. package/dist/obj/lib/parse-obj-meshes.d.ts.map +1 -0
  1047. package/dist/obj/lib/parse-obj-meshes.js +441 -0
  1048. package/dist/obj/lib/parse-obj-meshes.js.map +1 -0
  1049. package/dist/obj/lib/parse-obj.cjs +96 -0
  1050. package/dist/obj/lib/parse-obj.cjs.map +7 -0
  1051. package/dist/obj/lib/parse-obj.d.ts +3 -0
  1052. package/dist/obj/lib/parse-obj.d.ts.map +1 -0
  1053. package/dist/obj/lib/parse-obj.js +72 -0
  1054. package/dist/obj/lib/parse-obj.js.map +1 -0
  1055. package/dist/obj/mtl-format.cjs +39 -0
  1056. package/dist/obj/mtl-format.cjs.map +7 -0
  1057. package/dist/obj/mtl-format.d.ts +14 -0
  1058. package/dist/obj/mtl-format.d.ts.map +1 -0
  1059. package/dist/obj/mtl-format.js +17 -0
  1060. package/dist/obj/mtl-format.js.map +1 -0
  1061. package/dist/obj/mtl-loader-types.cjs +59 -0
  1062. package/dist/obj/mtl-loader-types.cjs.map +7 -0
  1063. package/dist/obj/mtl-loader-types.d.ts +53 -0
  1064. package/dist/obj/mtl-loader-types.d.ts.map +1 -0
  1065. package/dist/obj/mtl-loader-types.js +32 -0
  1066. package/dist/obj/mtl-loader-types.js.map +1 -0
  1067. package/dist/obj/mtl-loader.cjs +45 -0
  1068. package/dist/obj/mtl-loader.cjs.map +7 -0
  1069. package/dist/obj/mtl-loader.d.ts +51 -0
  1070. package/dist/obj/mtl-loader.d.ts.map +1 -0
  1071. package/dist/obj/mtl-loader.js +25 -0
  1072. package/dist/obj/mtl-loader.js.map +1 -0
  1073. package/dist/obj/obj-format.cjs +39 -0
  1074. package/dist/obj/obj-format.cjs.map +7 -0
  1075. package/dist/obj/obj-format.d.ts +13 -0
  1076. package/dist/obj/obj-format.d.ts.map +1 -0
  1077. package/dist/obj/obj-format.js +16 -0
  1078. package/dist/obj/obj-format.js.map +1 -0
  1079. package/dist/obj/obj-loader-types.cjs +68 -0
  1080. package/dist/obj/obj-loader-types.cjs.map +7 -0
  1081. package/dist/obj/obj-loader-types.d.ts +92 -0
  1082. package/dist/obj/obj-loader-types.d.ts.map +1 -0
  1083. package/dist/obj/obj-loader-types.js +41 -0
  1084. package/dist/obj/obj-loader-types.js.map +1 -0
  1085. package/dist/obj/obj-loader.cjs +193 -0
  1086. package/dist/obj/obj-loader.cjs.map +7 -0
  1087. package/dist/obj/obj-loader.d.ts +74 -0
  1088. package/dist/obj/obj-loader.d.ts.map +1 -0
  1089. package/dist/obj/obj-loader.js +181 -0
  1090. package/dist/obj/obj-loader.js.map +1 -0
  1091. package/dist/obj/obj-writer.cjs +165 -0
  1092. package/dist/obj/obj-writer.cjs.map +7 -0
  1093. package/dist/obj/obj-writer.d.ts +36 -0
  1094. package/dist/obj/obj-writer.d.ts.map +1 -0
  1095. package/dist/obj/obj-writer.js +123 -0
  1096. package/dist/obj/obj-writer.js.map +1 -0
  1097. package/dist/obj/unbundled.cjs +40 -0
  1098. package/dist/obj/unbundled.cjs.map +7 -0
  1099. package/dist/obj/unbundled.d.ts +7 -0
  1100. package/dist/obj/unbundled.d.ts.map +1 -0
  1101. package/dist/obj/unbundled.js +8 -0
  1102. package/dist/obj/unbundled.js.map +1 -0
  1103. package/dist/obj/workers/obj-worker.cjs +23 -0
  1104. package/dist/obj/workers/obj-worker.cjs.map +7 -0
  1105. package/dist/obj/workers/obj-worker.d.ts +2 -0
  1106. package/dist/obj/workers/obj-worker.d.ts.map +1 -0
  1107. package/dist/obj/workers/obj-worker.js +23 -0
  1108. package/dist/obj/workers/obj-worker.js.map +1 -0
  1109. package/dist/obj-loader-types.cjs +70 -0
  1110. package/dist/obj-loader-types.cjs.map +7 -0
  1111. package/dist/obj-loader-types.d.ts +2 -0
  1112. package/dist/obj-loader-types.d.ts.map +1 -0
  1113. package/dist/obj-loader-types.js +2 -0
  1114. package/dist/obj-loader-types.js.map +1 -0
  1115. package/dist/obj-loader.cjs +195 -0
  1116. package/dist/obj-loader.cjs.map +7 -0
  1117. package/dist/obj-loader.d.ts +2 -0
  1118. package/dist/obj-loader.d.ts.map +1 -0
  1119. package/dist/obj-loader.js +2 -0
  1120. package/dist/obj-loader.js.map +1 -0
  1121. package/dist/obj-worker.js +18623 -0
  1122. package/dist/obj-writer.cjs +167 -0
  1123. package/dist/obj-writer.cjs.map +7 -0
  1124. package/dist/obj-writer.d.ts +2 -0
  1125. package/dist/obj-writer.d.ts.map +1 -0
  1126. package/dist/obj-writer.js +2 -0
  1127. package/dist/obj-writer.js.map +1 -0
  1128. package/dist/stl/parse-stl.cjs +100 -0
  1129. package/dist/stl/parse-stl.cjs.map +7 -0
  1130. package/dist/stl/parse-stl.d.ts +4 -0
  1131. package/dist/stl/parse-stl.d.ts.map +1 -0
  1132. package/dist/stl/parse-stl.js +84 -0
  1133. package/dist/stl/parse-stl.js.map +1 -0
  1134. package/dist/stl-loader-types.cjs +58 -0
  1135. package/dist/stl-loader-types.cjs.map +7 -0
  1136. package/dist/stl-loader-types.d.ts +32 -0
  1137. package/dist/stl-loader-types.d.ts.map +1 -0
  1138. package/dist/stl-loader-types.js +25 -0
  1139. package/dist/stl-loader-types.js.map +1 -0
  1140. package/dist/stl-loader.cjs +38 -0
  1141. package/dist/stl-loader.cjs.map +7 -0
  1142. package/dist/stl-loader.d.ts +17 -0
  1143. package/dist/stl-loader.d.ts.map +1 -0
  1144. package/dist/stl-loader.js +13 -0
  1145. package/dist/stl-loader.js.map +1 -0
  1146. package/dist/usd/index.cjs +31 -0
  1147. package/dist/usd/index.cjs.map +7 -0
  1148. package/dist/usd/index.d.ts +3 -0
  1149. package/dist/usd/index.d.ts.map +1 -0
  1150. package/dist/usd/index.js +5 -0
  1151. package/dist/usd/index.js.map +1 -0
  1152. package/dist/usd/lib/parse-usd.cjs +331 -0
  1153. package/dist/usd/lib/parse-usd.cjs.map +7 -0
  1154. package/dist/{lib → usd/lib}/parse-usd.d.ts +1 -1
  1155. package/dist/usd/lib/parse-usd.d.ts.map +1 -0
  1156. package/dist/{lib → usd/lib}/parse-usd.js +53 -6
  1157. package/dist/usd/lib/parse-usd.js.map +1 -0
  1158. package/dist/usd/lib/parse-usda.cjs +406 -0
  1159. package/dist/usd/lib/parse-usda.cjs.map +7 -0
  1160. package/dist/usd/lib/parse-usda.d.ts.map +1 -0
  1161. package/dist/usd/lib/parse-usda.js.map +1 -0
  1162. package/dist/usd/lib/parse-usdc.cjs +187 -0
  1163. package/dist/usd/lib/parse-usdc.cjs.map +7 -0
  1164. package/dist/usd/lib/parse-usdc.d.ts +4 -0
  1165. package/dist/usd/lib/parse-usdc.d.ts.map +1 -0
  1166. package/dist/usd/lib/parse-usdc.js +176 -0
  1167. package/dist/usd/lib/parse-usdc.js.map +1 -0
  1168. package/dist/usd/lib/parse-usdz.cjs +98 -0
  1169. package/dist/usd/lib/parse-usdz.cjs.map +7 -0
  1170. package/dist/usd/lib/parse-usdz.d.ts.map +1 -0
  1171. package/dist/{lib → usd/lib}/parse-usdz.js +26 -0
  1172. package/dist/usd/lib/parse-usdz.js.map +1 -0
  1173. package/dist/usd/lib/usd-types.cjs +19 -0
  1174. package/dist/usd/lib/usd-types.cjs.map +7 -0
  1175. package/dist/{lib → usd/lib}/usd-types.d.ts +15 -2
  1176. package/dist/usd/lib/usd-types.d.ts.map +1 -0
  1177. package/dist/{lib → usd/lib}/usd-types.js +1 -1
  1178. package/dist/usd/lib/usd-types.js.map +1 -0
  1179. package/dist/usd/libs/README.md +27 -0
  1180. package/dist/usd/libs/THREE-LICENSE +21 -0
  1181. package/dist/usd/libs/usdc-parser.d.ts +78 -0
  1182. package/dist/usd/libs/usdc-parser.d.ts.map +1 -0
  1183. package/dist/usd/libs/usdc-parser.js +1669 -0
  1184. package/dist/usd/libs/usdc-parser.js.map +1 -0
  1185. package/dist/usd/usd-loader-types.cjs +67 -0
  1186. package/dist/usd/usd-loader-types.cjs.map +7 -0
  1187. package/dist/usd/usd-loader-types.d.ts +50 -0
  1188. package/dist/usd/usd-loader-types.d.ts.map +1 -0
  1189. package/dist/usd/usd-loader-types.js +35 -0
  1190. package/dist/usd/usd-loader-types.js.map +1 -0
  1191. package/dist/usd/usd-loader.cjs +41 -0
  1192. package/dist/usd/usd-loader.cjs.map +7 -0
  1193. package/dist/usd/usd-loader.d.ts +30 -0
  1194. package/dist/usd/usd-loader.d.ts.map +1 -0
  1195. package/dist/usd/usd-loader.js +17 -0
  1196. package/dist/usd/usd-loader.js.map +1 -0
  1197. package/dist/usd-loader-types.cjs +69 -0
  1198. package/dist/usd-loader-types.cjs.map +7 -0
  1199. package/dist/usd-loader-types.d.ts +1 -49
  1200. package/dist/usd-loader-types.d.ts.map +1 -1
  1201. package/dist/usd-loader-types.js +1 -34
  1202. package/dist/usd-loader-types.js.map +1 -1
  1203. package/dist/usd-loader.cjs +43 -0
  1204. package/dist/usd-loader.cjs.map +7 -0
  1205. package/dist/usd-loader.d.ts +1 -29
  1206. package/dist/usd-loader.d.ts.map +1 -1
  1207. package/dist/usd-loader.js +1 -16
  1208. package/dist/usd-loader.js.map +1 -1
  1209. package/package.json +254 -11
  1210. package/src/draco/bundled.ts +9 -0
  1211. package/src/draco/draco-format.ts +20 -0
  1212. package/src/draco/draco-javascript-loader-with-parser.ts +30 -0
  1213. package/src/draco/draco-libraries.ts +35 -0
  1214. package/src/draco/draco-library-options.ts +76 -0
  1215. package/src/draco/draco-loader-options.ts +33 -0
  1216. package/src/draco/draco-loader-types.ts +77 -0
  1217. package/src/draco/draco-loader.ts +45 -0
  1218. package/src/draco/draco-wasm-loader-with-parser.ts +31 -0
  1219. package/src/draco/draco-writer.ts +254 -0
  1220. package/src/draco/draco3d/draco3d-types.ts +498 -0
  1221. package/src/draco/draco3d-loader-with-parser.ts +34 -0
  1222. package/src/draco/index.ts +42 -0
  1223. package/src/draco/lib/draco-builder.ts +935 -0
  1224. package/src/draco/lib/draco-library-loader.ts +38 -0
  1225. package/src/draco/lib/draco-module-loader.ts +370 -0
  1226. package/src/draco/lib/draco-parser.ts +779 -0
  1227. package/src/draco/lib/draco-types.ts +72 -0
  1228. package/src/draco/lib/parse-draco.ts +52 -0
  1229. package/src/draco/lib/utils/get-draco-schema.ts +65 -0
  1230. package/src/draco/lib/utils/version.ts +8 -0
  1231. package/src/draco/libs/DRACO-LICENSE +252 -0
  1232. package/src/draco/libs/README.md +20 -0
  1233. package/src/draco/libs/draco_decoder.js +34 -0
  1234. package/src/draco/libs/draco_decoder.wasm +0 -0
  1235. package/src/draco/libs/draco_decoder_gltf.wasm +0 -0
  1236. package/src/draco/libs/draco_encoder.js +98 -0
  1237. package/src/draco/libs/draco_encoder.wasm +0 -0
  1238. package/src/draco/libs/draco_wasm_wrapper.js +117 -0
  1239. package/src/draco/libs/draco_wasm_wrapper_gltf.js +116 -0
  1240. package/src/draco/unbundled.ts +6 -0
  1241. package/src/draco/workers/draco-worker-node.ts +10 -0
  1242. package/src/draco/workers/draco-worker.ts +8 -0
  1243. package/src/draco/workers/draco-writer-worker-node.cjs +21 -0
  1244. package/src/draco/workers/draco-writer-worker-node.ts +13 -0
  1245. package/src/draco/workers/draco-writer-worker.ts +11 -0
  1246. package/src/draco-javascript-loader.ts +2 -0
  1247. package/src/draco-library-options.ts +6 -0
  1248. package/src/draco-loader-types.ts +2 -0
  1249. package/src/draco-loader.ts +2 -0
  1250. package/src/draco-wasm-loader.ts +2 -0
  1251. package/src/draco-writer.ts +2 -0
  1252. package/src/draco3d-loader.ts +2 -0
  1253. package/src/glb-loader-types.ts +1 -0
  1254. package/src/glb-loader.ts +1 -0
  1255. package/src/glb-writer.ts +1 -0
  1256. package/src/gltf/bundled.ts +8 -0
  1257. package/src/gltf/glb-loader-types.ts +40 -0
  1258. package/src/gltf/glb-loader.ts +42 -0
  1259. package/src/gltf/glb-writer.ts +46 -0
  1260. package/src/gltf/gltf-format.ts +32 -0
  1261. package/src/gltf/gltf-loader-types.ts +58 -0
  1262. package/src/gltf/gltf-loader.ts +49 -0
  1263. package/src/gltf/gltf-source.ts +244 -0
  1264. package/src/gltf/gltf-writer.ts +62 -0
  1265. package/src/gltf/index.ts +273 -0
  1266. package/src/gltf/lib/api/append-gltf-v1-buffer-data.ts +61 -0
  1267. package/src/gltf/lib/api/bake-gltf-v1-bind-shapes.ts +178 -0
  1268. package/src/gltf/lib/api/clean-gltf-v1-fields.ts +94 -0
  1269. package/src/gltf/lib/api/convert-gltf-v1-accessors.ts +170 -0
  1270. package/src/gltf/lib/api/convert-gltf-v1-animations.ts +79 -0
  1271. package/src/gltf/lib/api/convert-gltf-v1-materials.ts +351 -0
  1272. package/src/gltf/lib/api/convert-gltf-v1-matrix-nodes.ts +116 -0
  1273. package/src/gltf/lib/api/convert-gltf-v1-skin-scenes.ts +88 -0
  1274. package/src/gltf/lib/api/convert-gltf-v1-skins.ts +217 -0
  1275. package/src/gltf/lib/api/gltf-accessors.ts +87 -0
  1276. package/src/gltf/lib/api/gltf-culling.ts +80 -0
  1277. package/src/gltf/lib/api/gltf-extension-data.ts +125 -0
  1278. package/src/gltf/lib/api/gltf-extensions.ts +138 -0
  1279. package/src/gltf/lib/api/gltf-iterator.ts +1469 -0
  1280. package/src/gltf/lib/api/gltf-mesh-arrow.ts +410 -0
  1281. package/src/gltf/lib/api/gltf-scenegraph.ts +741 -0
  1282. package/src/gltf/lib/api/normalize-gltf-v1.ts +603 -0
  1283. package/src/gltf/lib/api/repack-gltf-v1-accessors.ts +566 -0
  1284. package/src/gltf/lib/api/validate-gltf-v1-buffers.ts +139 -0
  1285. package/src/gltf/lib/api/validate-gltf-v1-cameras.ts +40 -0
  1286. package/src/gltf/lib/api/validate-gltf-v1-geometry.ts +156 -0
  1287. package/src/gltf/lib/api/validate-gltf-v1-payloads.ts +315 -0
  1288. package/src/gltf/lib/encoders/encode-glb.ts +198 -0
  1289. package/src/gltf/lib/encoders/encode-gltf-draco.ts +239 -0
  1290. package/src/gltf/lib/encoders/encode-gltf.ts +45 -0
  1291. package/src/gltf/lib/extensions/EXT_mesh_features.ts +240 -0
  1292. package/src/gltf/lib/extensions/EXT_mesh_polygon.ts +172 -0
  1293. package/src/gltf/lib/extensions/EXT_meshopt_compression.ts +33 -0
  1294. package/src/gltf/lib/extensions/EXT_primitive_voxels.ts +85 -0
  1295. package/src/gltf/lib/extensions/EXT_structural_metadata.ts +1130 -0
  1296. package/src/gltf/lib/extensions/EXT_texture_avif.ts +56 -0
  1297. package/src/gltf/lib/extensions/EXT_texture_webp.ts +49 -0
  1298. package/src/gltf/lib/extensions/KHR_accessor_float64.ts +22 -0
  1299. package/src/gltf/lib/extensions/KHR_audio_emitter.ts +136 -0
  1300. package/src/gltf/lib/extensions/KHR_binary_gltf.ts +56 -0
  1301. package/src/gltf/lib/extensions/KHR_draco_mesh_compression.ts +170 -0
  1302. package/src/gltf/lib/extensions/KHR_gaussian_splatting.ts +263 -0
  1303. package/src/gltf/lib/extensions/KHR_mesh_primitive_restart.ts +108 -0
  1304. package/src/gltf/lib/extensions/KHR_meshopt_compression.ts +32 -0
  1305. package/src/gltf/lib/extensions/KHR_texture_basisu.ts +39 -0
  1306. package/src/gltf/lib/extensions/KHR_texture_transform.ts +385 -0
  1307. package/src/gltf/lib/extensions/MPEG_audio_spatial.ts +59 -0
  1308. package/src/gltf/lib/extensions/MSFT_texture_dds.ts +52 -0
  1309. package/src/gltf/lib/extensions/deprecated/EXT_feature_metadata.ts +479 -0
  1310. package/src/gltf/lib/extensions/deprecated/KHR_lights_punctual.ts +67 -0
  1311. package/src/gltf/lib/extensions/deprecated/KHR_materials_unlit.ts +52 -0
  1312. package/src/gltf/lib/extensions/deprecated/KHR_techniques_webgl.ts +105 -0
  1313. package/src/gltf/lib/extensions/meshopt-compression.ts +189 -0
  1314. package/src/gltf/lib/extensions/utils/3d-tiles-utils.ts +477 -0
  1315. package/src/gltf/lib/gltf-utils/get-typed-array.ts +215 -0
  1316. package/src/gltf/lib/gltf-utils/gltf-attribute-utils.ts +85 -0
  1317. package/src/gltf/lib/gltf-utils/gltf-constants.ts +53 -0
  1318. package/src/gltf/lib/gltf-utils/gltf-utils.ts +162 -0
  1319. package/src/gltf/lib/gltf-utils/resolve-gltf-file.ts +95 -0
  1320. package/src/gltf/lib/gltf-utils/resolve-url.ts +48 -0
  1321. package/src/gltf/lib/parsers/parse-glb.ts +299 -0
  1322. package/src/gltf/lib/parsers/parse-gltf.ts +602 -0
  1323. package/src/gltf/lib/types/glb-types.ts +44 -0
  1324. package/src/gltf/lib/types/gltf-additional-extension-schemas.ts +159 -0
  1325. package/src/gltf/lib/types/gltf-audio-extension-schemas.ts +167 -0
  1326. package/src/gltf/lib/types/gltf-ext-feature-metadata-schema.ts +474 -0
  1327. package/src/gltf/lib/types/gltf-ext-gaussian-splatting-schema.ts +46 -0
  1328. package/src/gltf/lib/types/gltf-ext-mesh-features-schema.ts +56 -0
  1329. package/src/gltf/lib/types/gltf-ext-structural-metadata-schema.ts +387 -0
  1330. package/src/gltf/lib/types/gltf-ext-vector-voxel-schema.ts +49 -0
  1331. package/src/gltf/lib/types/gltf-extension-schemas.ts +99 -0
  1332. package/src/gltf/lib/types/gltf-interactivity.ts +168 -0
  1333. package/src/gltf/lib/types/gltf-json-schema.ts +948 -0
  1334. package/src/gltf/lib/types/gltf-khr-audio-emitter-schema.ts +60 -0
  1335. package/src/gltf/lib/types/gltf-mpeg-audio-spatial-schema.ts +31 -0
  1336. package/src/gltf/lib/types/gltf-official-json-schemas.ts +18619 -0
  1337. package/src/gltf/lib/types/gltf-shape-schema.ts +47 -0
  1338. package/src/gltf/lib/types/gltf-texture-procedurals.ts +67 -0
  1339. package/src/gltf/lib/types/gltf-types.ts +98 -0
  1340. package/src/gltf/lib/types/gltf-vector-topology.ts +65 -0
  1341. package/src/gltf/lib/types/gltf-version-zod-schemas.ts +511 -0
  1342. package/src/gltf/lib/types/gltf-zod-schema.ts +551 -0
  1343. package/src/gltf/lib/utils/assert.ts +12 -0
  1344. package/src/gltf/lib/utils/version.ts +8 -0
  1345. package/src/gltf/libs/README.md +12 -0
  1346. package/src/gltf/libs/meshopt-decoder.d.mts +15 -0
  1347. package/src/gltf/libs/meshopt-decoder.mjs +196 -0
  1348. package/src/gltf/libs/meshoptimizer-LICENSE.md +21 -0
  1349. package/src/gltf/mesh-arrow.ts +11 -0
  1350. package/src/gltf/meshopt/meshopt-decoder.ts +185 -0
  1351. package/src/gltf/meshopt/meshopt-encoder.ts.disabled +409 -0
  1352. package/src/gltf/meshopt/meshopt-module-loader.ts +8 -0
  1353. package/src/gltf/schema.ts +25 -0
  1354. package/src/gltf/unbundled.ts +8 -0
  1355. package/src/gltf/webp/webp.ts +45 -0
  1356. package/src/gltf-loader-types.ts +1 -0
  1357. package/src/gltf-loader.ts +1 -0
  1358. package/src/gltf-source.ts +1 -0
  1359. package/src/gltf-writer.ts +1 -0
  1360. package/src/index.ts +24 -12
  1361. package/src/materialx/README.md +5 -0
  1362. package/src/materialx/parse-materialx.ts +70 -0
  1363. package/src/materialx/procedural-graph.ts +94 -0
  1364. package/src/materialx-loader-types.ts +24 -0
  1365. package/src/materialx-loader.ts +15 -0
  1366. package/src/mtl-loader-types.ts +1 -0
  1367. package/src/mtl-loader.ts +1 -0
  1368. package/src/obj/bundled.ts +13 -0
  1369. package/src/obj/index.ts +17 -0
  1370. package/src/obj/lib/get-obj-schema.ts +45 -0
  1371. package/src/obj/lib/obj-types.ts +3 -0
  1372. package/src/obj/lib/parse-mtl.ts +248 -0
  1373. package/src/obj/lib/parse-obj-meshes.ts +530 -0
  1374. package/src/obj/lib/parse-obj.ts +88 -0
  1375. package/src/obj/mtl-format.ts +19 -0
  1376. package/src/obj/mtl-loader-types.ts +43 -0
  1377. package/src/obj/mtl-loader.ts +37 -0
  1378. package/src/obj/obj-format.ts +18 -0
  1379. package/src/obj/obj-loader-types.ts +75 -0
  1380. package/src/obj/obj-loader.ts +253 -0
  1381. package/src/obj/obj-writer.ts +194 -0
  1382. package/src/obj/unbundled.ts +10 -0
  1383. package/src/obj/workers/obj-worker.ts +24 -0
  1384. package/src/obj-loader-types.ts +1 -0
  1385. package/src/obj-loader.ts +1 -0
  1386. package/src/obj-writer.ts +1 -0
  1387. package/src/stl/parse-stl.ts +90 -0
  1388. package/src/stl-loader-types.ts +28 -0
  1389. package/src/stl-loader.ts +12 -0
  1390. package/src/usd/index.ts +16 -0
  1391. package/src/{lib → usd/lib}/parse-usd.ts +69 -8
  1392. package/src/usd/lib/parse-usdc.ts +188 -0
  1393. package/src/{lib → usd/lib}/parse-usdz.ts +28 -0
  1394. package/src/{lib → usd/lib}/usd-types.ts +17 -3
  1395. package/src/usd/libs/README.md +27 -0
  1396. package/src/usd/libs/THREE-LICENSE +21 -0
  1397. package/src/usd/libs/usdc-parser.d.ts +18 -0
  1398. package/src/usd/libs/usdc-parser.js +1669 -0
  1399. package/src/usd/usd-loader-types.ts +40 -0
  1400. package/src/usd/usd-loader.ts +26 -0
  1401. package/src/usd-loader-types.ts +1 -40
  1402. package/src/usd-loader.ts +1 -26
  1403. package/third-party-licenses/gltf-loader-ts-LICENSE +21 -0
  1404. package/third-party-licenses/three-LICENSE +21 -0
  1405. package/dist/lib/parse-usd.d.ts.map +0 -1
  1406. package/dist/lib/parse-usd.js.map +0 -1
  1407. package/dist/lib/parse-usda.d.ts.map +0 -1
  1408. package/dist/lib/parse-usda.js.map +0 -1
  1409. package/dist/lib/parse-usdz.d.ts.map +0 -1
  1410. package/dist/lib/parse-usdz.js.map +0 -1
  1411. package/dist/lib/usd-types.d.ts.map +0 -1
  1412. package/dist/lib/usd-types.js.map +0 -1
  1413. /package/dist/{lib → usd/lib}/parse-usda.d.ts +0 -0
  1414. /package/dist/{lib → usd/lib}/parse-usda.js +0 -0
  1415. /package/dist/{lib → usd/lib}/parse-usdz.d.ts +0 -0
  1416. /package/src/{lib → usd/lib}/parse-usda.ts +0 -0
package/dist/dist.min.js CHANGED
@@ -4,11 +4,54 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['loaders'] = factory();
6
6
  else root['loaders'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var q=Object.create;var y=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var X=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty;var k=(s,e,t)=>()=>{if(t)throw t[0];try{return s&&(e=s(s=0)),e}catch(n){throw t=[n],n}};var J=(s,e)=>()=>{try{return e||s((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},O=(s,e)=>{for(var t in e)y(s,t,{get:e[t],enumerable:!0})},w=(s,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of G(e))!K.call(s,r)&&r!==t&&y(s,r,{get:()=>e[r],enumerable:!(n=B(e,r))||n.enumerable});return s},S=(s,e,t)=>(w(s,e,"default"),t&&w(t,e,"default")),ee=(s,e,t)=>(t=s!=null?q(X(s)):{},w(e||!s||!s.__esModule?y(t,"default",{value:s,enumerable:!0}):t,s)),te=s=>w(y({},"__esModule",{value:!0}),s);var C=J((we,I)=>{I.exports=globalThis.loaders});function _(s,e){if(!s.trimStart().startsWith("#usda"))throw new Error("OpenUSD ASCII layers must begin with the #usda header.");return new E(s,e).parse()}var se,re,E,b,N=k(()=>{"use strict";se=/^[+-]?(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?/,re=new Set(["uniform","varying","custom","prepend","append","add","delete","reorder"]);E=class{tokenizer;url;constructor(e,t){this.tokenizer=new b(e),this.url=t}parse(){let e=this.tokenizer.match("(")?this.parseMetadata(")"):{},t=[];for(;!this.tokenizer.isAtEnd();)this.isPrimDeclaration()?t.push(this.parsePrim("")):this.tokenizer.read();return{format:"usda",url:this.url,metadata:e,rootPrims:t,layers:this.url?[this.url]:[]}}parsePrim(e){let n=this.tokenizer.read().value,r=this.tokenizer.read(),i=this.tokenizer.peek().kind==="string",a=i?r.value:"",c=i?this.tokenizer.read().value:r.value,f=`${e}/${c}`,h=this.tokenizer.match("(")?this.parseMetadata(")"):{};this.tokenizer.expect("{");let o=this.parsePrimContents(f);return{name:c,path:f,sourceUrl:this.url,type:a,specifier:n,attributes:o.attributes,metadata:{...h,...o.metadata},variants:o.variants,children:o.children}}parsePrimContents(e){let t={},n={},r=[],i={};for(;!this.tokenizer.isAtEnd()&&!this.tokenizer.match("}");)if(this.isPrimDeclaration())r.push(this.parsePrim(e));else if(this.tokenizer.peek().value==="variantSet")this.parseVariantSet(e,i);else{let a=this.parseAttribute();a&&(t[a.name]=a)}return{attributes:t,metadata:n,children:r,variants:i}}parseVariantSet(e,t){this.tokenizer.expect("variantSet");let n=this.tokenizer.read().value;this.tokenizer.expect("="),this.tokenizer.expect("{");let r={};for(;!this.tokenizer.isAtEnd()&&!this.tokenizer.match("}");){let i=this.tokenizer.read().value;this.tokenizer.expect("{");let a=this.parsePrimContents(e);r[i]={attributes:a.attributes,metadata:a.metadata,children:a.children}}t[n]=r}parseAttribute(){let e=this.tokenizer.read();if(e.kind==="end")return null;let t=[e];for(;!this.tokenizer.isAtEnd()&&this.tokenizer.peek().line===e.line;){let h=this.tokenizer.peek();if(h.value==="="){this.tokenizer.read();break}if(h.value==="{"||h.value==="}")return null;t.push(this.tokenizer.read())}if(!(this.tokenizer.previousValue==="="))return null;let r=t.filter(h=>!re.has(h.value));if(r.length===0)return null;let i=r[r.length-1].value,a=r.slice(0,-1).map(h=>h.value).join(""),c=this.parseValue(),f=this.tokenizer.match("(")?this.parseMetadata(")"):{};return{name:i,type:a,value:c,metadata:f}}parseMetadata(e){let t={};for(;!this.tokenizer.isAtEnd()&&!this.tokenizer.match(e);){if(this.tokenizer.match(","),this.tokenizer.peek().value===e){this.tokenizer.read();break}let n=this.tokenizer.read(),r=[n];for(;!this.tokenizer.isAtEnd()&&this.tokenizer.peek().line===n.line;){if(this.tokenizer.peek().value==="="||this.tokenizer.peek().value===":"){this.tokenizer.read();break}if(this.tokenizer.peek().value===e)break;r.push(this.tokenizer.read())}if(this.tokenizer.previousValue!=="="&&this.tokenizer.previousValue!==":")continue;let i=r[r.length-1].value;t[i]=this.parseValue(),this.tokenizer.match(",")}return t}parseValue(){let e=this.tokenizer.read();if(e.value==="[")return this.parseList("]");if(e.value==="(")return this.parseList(")");if(e.value==="{")return this.parseMetadata("}");if(e.kind==="asset"){let t={assetPath:e.value};return this.tokenizer.peek().kind==="path"&&this.tokenizer.peek().line===e.line&&(t.primPath=this.tokenizer.read().value),t}return e.kind==="path"?{path:e.value}:e.kind==="number"?Number(e.value):e.value==="true"?!0:e.value==="false"?!1:e.value==="None"||e.value==="null"?null:e.value}parseList(e){let t=[];for(;!this.tokenizer.isAtEnd()&&!this.tokenizer.match(e);)this.tokenizer.match(",")||(t.push(this.parseValue()),this.tokenizer.match(","));return t}isPrimDeclaration(){let e=this.tokenizer.peek().value;return e==="def"||e==="over"||e==="class"}},b=class{source;offset=0;line=1;bufferedToken=null;previousValue="";constructor(e){this.source=e}peek(){return this.bufferedToken||=this.readToken(),this.bufferedToken}read(){let e=this.peek();return this.bufferedToken=null,this.previousValue=e.value,e}match(e){return this.peek().value!==e?!1:(this.read(),!0)}expect(e){let t=this.read();if(t.value!==e)throw new Error(`Expected "${e}" at USDA line ${t.line}, received "${t.value}".`)}isAtEnd(){return this.peek().kind==="end"}readToken(){this.skipIgnoredText();let e=this.line,t=this.source[this.offset];if(t===void 0)return{value:"",line:e,kind:"end"};if("{}[](),=".includes(t))return this.offset++,{value:t,line:e,kind:"punctuation"};if(t==='"'||t==="'")return{value:this.readQuotedString(t),line:e,kind:"string"};if(t==="@")return{value:this.readDelimitedValue("@"),line:e,kind:"asset"};if(t==="<")return{value:this.readDelimitedValue(">"),line:e,kind:"path"};let n=this.source.slice(this.offset).match(se);if(n)return this.offset+=n[0].length,{value:n[0],line:e,kind:"number"};let r=this.offset;for(;this.offset<this.source.length;){let i=this.source[this.offset];if(/\s/.test(i)||"{}[](),=@<>".includes(i))break;this.offset++}return this.offset===r&&this.offset++,{value:this.source.slice(r,this.offset),line:e,kind:"word"}}skipIgnoredText(){for(;this.offset<this.source.length;){let e=this.source[this.offset];if(e===`
7
+ "use strict";var __exports__=(()=>{var UF=Object.create;var Ku=Object.defineProperty;var PF=Object.getOwnPropertyDescriptor;var VF=Object.getOwnPropertyNames;var jF=Object.getPrototypeOf,GF=Object.prototype.hasOwnProperty;var p=(r,e,t)=>()=>{if(t)throw t[0];try{return r&&(e=r(r=0)),e}catch(n){throw t=[n],n}};var zF=(r,e)=>()=>{try{return e||r((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},Y=(r,e)=>{for(var t in e)Ku(r,t,{get:e[t],enumerable:!0})},$x=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of VF(e))!GF.call(r,s)&&s!==t&&Ku(r,s,{get:()=>e[s],enumerable:!(n=PF(e,s))||n.enumerable});return r};var WF=(r,e,t)=>(t=r!=null?UF(jF(r)):{},$x(e||!r||!r.__esModule?Ku(t,"default",{value:r,enumerable:!0}):t,r)),$F=r=>$x(Ku({},"__esModule",{value:!0}),r);var Kx=zF((oV,qx)=>{qx.exports=globalThis.loaders});function Ie(r,e=8){let t=r*e;if(!Number.isSafeInteger(r)||r<0||!Number.isSafeInteger(t)||t>256*1024*1024-Ah)throw new Error("USDC: decoded allocation limit exceeded");return Ah+=t,r}function Tt(r){if(!Number.isSafeInteger(r)||r<0||r>4e6)throw new Error("USDC: decoded allocation limit exceeded");return Ie(r)}function Hx(r,e,t,n,s,i){for(;e<t;){let o=r[e++];if(e>t)throw new Error("USDC: truncated LZ4 token");let a=o>>4;if(a===15){let f;do{if(e>=t)throw new Error("USDC: truncated LZ4 length");f=r[e++],a+=f}while(f===255)}if(a>0){if(e+a>t)throw new Error("USDC: truncated LZ4 literal");for(let f=0;f<a;f++){if(s>=i)throw new Error("USDC: LZ4 output overflow");n[s++]=r[e++]}}if(e>=t)break;if(e+2>t)throw new Error("USDC: truncated LZ4 offset");let c=r[e++]|r[e++]<<8;if(c===0)throw new Error("USDC: invalid LZ4 match offset");let u=(o&15)+4;if(u===19){let f;do{if(e>=t)throw new Error("USDC: truncated LZ4 length");f=r[e++],u+=f}while(f===255)}let l=s-c;if(l<0)throw new Error("USDC: invalid LZ4 match position");for(let f=0;f<u;f++){if(s>=i)throw new Error("USDC: LZ4 output overflow");n[s++]=n[l+f]}}return s}function Ih(r,e,t=!1){let n=new Uint8Array(Ie(e,1));if(!r.length)throw new Error("USDC: missing LZ4 chunk header");let s=r[0];if(s===0){let i=Hx(r,1,r.length,n,0,e);if(!t&&i!==e)throw new Error("USDC: incomplete LZ4 output");return n.subarray(0,i)}else{if(1+s*4>r.length)throw new Error("USDC: truncated LZ4 chunk sizes");let o=1,a=[];for(let l=0;l<s;l++){let f=(r[o]|r[o+1]<<8|r[o+2]<<16|r[o+3]<<24)>>>0;a.push(f),o+=4}let c=o,u=0;for(let l=0;l<s;l++){let f=a[l],d=Math.min(65536,e-u);if(f>r.length-c)throw new Error("USDC: truncated LZ4 chunk");let h=Hx(r,c,c+f,n,u,u+d);if(c+=f,l<s-1&&h!==u+d)throw new Error("USDC: incomplete LZ4 chunk");u=h}if(c!==r.length||!t&&u!==e)throw new Error("USDC: incomplete LZ4 output");return n.subarray(0,u)}}function Or(r,e){let t=e*4+(e*2+7>>3)+4,n=Ih(new Uint8Array(r),t,!0);return YF(n,e)}function YF(r,e){let t=new DataView(r.buffer,r.byteOffset,r.byteLength),n=0,s=t.getInt32(n,!0);n+=4;let i=e*2+7>>3;if(r.length<n+i)throw new Error("USDC: truncated integer codes");let o=n,a=n+i,c=new Int32Array(Ie(e)),u=0,l=o,f=a;for(let d=0;d<e;){let h=r[l++];for(let m=0;m<4&&d<e;m++,d++){let b=h>>m*2&3,g=0;switch(b){case 0:g=s;break;case 1:g=t.getInt8(f),f+=1;break;case 2:g=t.getInt16(f,!0),f+=2;break;case 3:g=t.getInt32(f,!0),f+=4;break}u+=g,c[d]=u}}return c}var Ah,vh,Xx,qF,S,KF,HF,XF,JF,Sh,mi,Hu,Jx=p(()=>{"use strict";Ah=0;vh=new TextDecoder,Xx=new Float32Array(32);for(let r=0;r<32;r++)Xx[r]=Math.pow(2,r-15);qF=Math.pow(2,-14),S={Invalid:0,Bool:1,UChar:2,Int:3,UInt:4,Int64:5,UInt64:6,Half:7,Float:8,Double:9,String:10,Token:11,AssetPath:12,Matrix2d:13,Matrix3d:14,Matrix4d:15,Quatd:16,Quatf:17,Quath:18,Vec2d:19,Vec2f:20,Vec2h:21,Vec2i:22,Vec3d:23,Vec3f:24,Vec3h:25,Vec3i:26,Vec4d:27,Vec4f:28,Vec4h:29,Vec4i:30,Dictionary:31,TokenListOp:32,StringListOp:33,PathListOp:34,ReferenceListOp:35,IntListOp:36,Int64ListOp:37,UIntListOp:38,UInt64ListOp:39,PathVector:40,TokenVector:41,Specifier:42,Permission:43,Variability:44,VariantSelectionMap:45,TimeSamples:46,Payload:47,DoubleVector:48,LayerOffsetVector:49,StringVector:50,ValueBlock:51,Value:52,UnregisteredValue:53,UnregisteredValueListOp:54,PayloadListOp:55,TimeCode:56,PathExpression:57,Relocates:58,Spline:59,AnimationBlock:60},KF=new Set([S.Int,S.UInt,S.Float,S.Double,S.Half,S.String,S.Token]),HF=4294967295,XF=105,JF=116;Sh=class{constructor(e){this.buffer=e,this.view=new DataView(e),this.offset=0}seek(e){if(!Number.isSafeInteger(e)||e<0||e>this.buffer.byteLength)throw new Error("USDC: invalid seek");this.offset=e}tell(){return this.offset}readUint8(){let e=this.view.getUint8(this.offset);return this.offset+=1,e}readInt8(){let e=this.view.getInt8(this.offset);return this.offset+=1,e}readUint16(){let e=this.view.getUint16(this.offset,!0);return this.offset+=2,e}readInt16(){let e=this.view.getInt16(this.offset,!0);return this.offset+=2,e}readUint32(){let e=this.view.getUint32(this.offset,!0);return this.offset+=4,e}readInt32(){let e=this.view.getInt32(this.offset,!0);return this.offset+=4,e}readUint64(){let e=this.view.getUint32(this.offset,!0),t=this.view.getUint32(this.offset+4,!0);this.offset+=8;let n=t*4294967296+e;if(!Number.isSafeInteger(n))throw new Error("USDC: integer exceeds safe precision");return n}readInt64(){let e=this.view.getUint32(this.offset,!0),t=this.view.getInt32(this.offset+4,!0);this.offset+=8;let n=t*4294967296+e;if(!Number.isSafeInteger(n))throw new Error("USDC: integer exceeds safe precision");return n}readFloat32(){let e=this.view.getFloat32(this.offset,!0);return this.offset+=4,e}readFloat64(){let e=this.view.getFloat64(this.offset,!0);return this.offset+=8,e}readBytes(e){let t=new Uint8Array(this.buffer,this.offset,e);return this.offset+=e,t}readString(e){let t=this.readBytes(e),n=0;for(;n<e&&t[n]!==0;)n++;return vh.decode(t.subarray(0,n))}},mi=class{constructor(e,t){this.lo=e,this.hi=t}get isArray(){return(this.hi&2147483648)!==0}get isInlined(){return(this.hi&1073741824)!==0}get isCompressed(){return(this.hi&536870912)!==0}get typeEnum(){return this.hi>>16&255}get payload(){return this.lo+(this.hi&65535)*4294967296}getInlinedValue(){return this.lo}},Hu=class{parseData(e){Ah=0,this._valueReadCount=0,this._activeDictionaries=new Set,this.buffer=e instanceof ArrayBuffer?e:e.buffer,this.reader=new Sh(this.buffer),this.version={major:0,minor:0,patch:0},this._conversionBuffer=new ArrayBuffer(4),this._conversionView=new DataView(this._conversionBuffer),this._readBootstrap(),this._readTOC(),this._readTokens(),this._readStrings(),this._readFields(),this._readFieldSets(),this._readPaths(),this._readSpecs(),this.specsByPath=Object.create(null);for(let t of this.specs){let n=this.paths[t.pathIndex];if(!n)continue;let s=this._getFieldsForSpec(t);this.specsByPath[n]={specType:t.specType,fields:s}}return{specsByPath:this.specsByPath}}_readBootstrap(){let e=this.reader;if(e.seek(0),e.readString(8)!=="PXR-USDC")throw new Error("THREE.USDCParser: Not a valid USDC file.");this.version.major=e.readUint8(),this.version.minor=e.readUint8(),this.version.patch=e.readUint8(),e.readBytes(5),this.tocOffset=e.readUint64()}_readTOC(){let e=this.reader;e.seek(this.tocOffset);let t=e.readUint64();if(t>16)throw new Error("USDC: invalid section count");this.sections=Object.create(null);for(let n=0;n<t;n++){let s=e.readString(16),i=e.readUint64(),o=e.readUint64();this.sections[s]={start:i,size:o}}}_readTokens(){let e=this.sections.TOKENS;if(!e)return;let t=this.reader;t.seek(e.start);let n=Tt(t.readUint64());if(this.tokens=[],this.version.major===0&&this.version.minor<4){let s=t.readUint64(),i=t.readBytes(s),o=0;for(let a=0;a<n;a++){let c=o;for(;c<i.length&&i[c]!==0;)c++;if(c>=i.length)throw new Error("USDC: unterminated token data");this.tokens.push(vh.decode(i.subarray(o,c))),o=c+1}}else{let s=t.readUint64(),i=t.readUint64(),o=t.readBytes(i),a=Ih(o,s);Ie(a.length,2);let c=0;for(let u=0;u<n;u++){let l=c;for(;l<a.length&&a[l]!==0;)l++;if(l>=a.length)throw new Error("USDC: unterminated token data");this.tokens.push(vh.decode(a.subarray(c,l))),c=l+1}}}_readStrings(){let e=this.sections.STRINGS;if(!e){this.strings=[];return}let t=this.reader;t.seek(e.start);let n=Tt(t.readUint64());this.strings=[];for(let s=0;s<n;s++)this.strings.push(t.readUint32())}_readFields(){let e=this.sections.FIELDS;if(!e)return;let t=this.reader;if(t.seek(e.start),this.fields=[],this.version.major===0&&this.version.minor<4){let n=Math.floor(e.size/12);for(let s=0;s<n;s++){let i=t.readUint32(),o=t.readUint32(),a=t.readUint32();this.fields.push({tokenIndex:i,valueRep:new mi(o,a)})}}else{let n=Tt(t.readUint64()),s=t.readUint64(),i=t.readBytes(s),o=Or(i.buffer.slice(i.byteOffset,i.byteOffset+s),n),a=t.readUint64(),c=t.readBytes(a),u=Ih(c,n*8),l=new DataView(u.buffer,u.byteOffset,u.byteLength);for(let f=0;f<n;f++){let d=l.getUint32(f*8,!0),h=l.getUint32(f*8+4,!0);this.fields.push({tokenIndex:o[f],valueRep:new mi(d,h)})}}}_readFieldSets(){let e=this.sections.FIELDSETS;if(!e)return;let t=this.reader;if(t.seek(e.start),this.fieldSets=[],this.version.major===0&&this.version.minor<4){let n=Math.floor(e.size/4);for(let s=0;s<n;s++)this.fieldSets.push(t.readUint32())}else{let n=Tt(t.readUint64()),s=t.readUint64(),i=t.readBytes(s),o=Or(i.buffer.slice(i.byteOffset,i.byteOffset+s),n);for(let a=0;a<n;a++)this.fieldSets.push(o[a])}}_readPaths(){let e=this.sections.PATHS;if(!e)return;let t=this.reader;t.seek(e.start);let n=Tt(t.readUint64());if(this.paths=new Array(Ie(n)).fill(""),this.version.major===0&&this.version.minor<4)this._readPathsRecursive("");else{t.readUint64();let s=t.readUint64(),i=t.readBytes(s),o=Or(i.buffer.slice(i.byteOffset,i.byteOffset+s),n),a=t.readUint64(),c=t.readBytes(a),u=Or(c.buffer.slice(c.byteOffset,c.byteOffset+a),n),l=t.readUint64(),f=t.readBytes(l),d=Or(f.buffer.slice(f.byteOffset,f.byteOffset+l),n);this._buildPathsFromCompressed(o,u,d)}}_readPathsRecursive(e,t=0){let n=this.reader;if(t>1e3)return;let s=n.readUint32(),i=n.readUint32(),o=n.readUint8(),a=(o&1)!==0,c=(o&2)!==0,u=(o&4)!==0,l;if(e==="")l="/";else{let f=this.tokens[i]||"";u?l=e+"."+f:l=e==="/"?"/"+f:e+"/"+f}if(Ie(l.length,2),this.paths[s]=l,a&&c){let f=n.readUint64();this._readPathsRecursive(l,t+1),n.seek(f),this._readPathsRecursive(e,t+1)}else a?this._readPathsRecursive(l,t+1):c&&this._readPathsRecursive(e,t+1)}_buildPathsFromCompressed(e,t,n){let s=0,i=[{startIndex:0,parentPath:""}];for(;i.length;){let o=i.pop(),a=o.startIndex,c=o.parentPath;for(;a<e.length;){if(++s>e.length*2)throw new Error("USDC: path traversal limit exceeded");let u=a++,l=e[u],f=t[u],d=n[u];if(l<0||l>=this.paths.length||Math.abs(f)>=this.tokens.length||d<-2)throw new Error("USDC: invalid compressed path index");let h;if(c==="")h="/",c=h;else{let g=this.tokens[Math.abs(f)];h=f<0?c+"."+g:c==="/"?"/"+g:c+"/"+g}Ie(h.length,2),this.paths[l]=h;let m=d>0||d===-1,b=d>=0;if((m||b)&&a>=e.length)throw new Error("USDC: missing compressed path entry");if(m&&b){let g=u+d;if(g<=a||g>=e.length)throw new Error("USDC: invalid compressed path jump");i.push({startIndex:g,parentPath:c})}if(m)c=h;else if(!b)break}}}_readSpecs(){let e=this.sections.SPECS;if(!e)return;let t=this.reader;if(t.seek(e.start),this.specs=[],this.version.major===0&&this.version.minor<4){let n=this.version.minor===0&&this.version.patch===1?16:12,s=Math.floor(e.size/n);for(let i=0;i<s;i++){let o=t.readUint32(),a=t.readUint32(),c=t.readUint32();n===16&&t.readUint32(),this.specs.push({pathIndex:o,fieldSetIndex:a,specType:c})}}else{let n=Tt(t.readUint64()),s=t.readUint64(),i=t.readBytes(s),o=Or(i.buffer.slice(i.byteOffset,i.byteOffset+s),n),a=t.readUint64(),c=t.readBytes(a),u=Or(c.buffer.slice(c.byteOffset,c.byteOffset+a),n),l=t.readUint64(),f=t.readBytes(l),d=Or(f.buffer.slice(f.byteOffset,f.byteOffset+l),n);for(let h=0;h<n;h++)this.specs.push({pathIndex:o[h],fieldSetIndex:u[h],specType:d[h]})}}_readValue(e){if(this._valueReadCount=(this._valueReadCount||0)+1,this._valueReadCount>1e6)throw new Error("USDC: value traversal limit exceeded");let t=e.typeEnum,n=e.isArray,s=e.isInlined;if(t===S.TimeSamples)return this._readTimeSamples(e);if(s)return this._readInlinedValue(e);let i=e.payload;if(i===0&&n)return[];if(i<0||i>=this.buffer.byteLength)throw new RangeError("USDCParser: Invalid payload offset "+i+" for type "+t+".");let o=this.reader.tell();this.reader.seek(i);let a;return n?a=this._readArrayValue(e):a=this._readScalarValue(t),this.reader.seek(o),a}_readInlinedValue(e){let t=e.typeEnum,n=e.getInlinedValue(),s=this._conversionView;switch(t){case S.Dictionary:if(n!==0)throw new Error("USDC: invalid inline dictionary");return Object.create(null);case S.Bool:return n!==0;case S.UChar:return n&255;case S.Int:case S.Int64:return n|0;case S.UInt:case S.UInt64:return n>>>0;case S.Half:return this._halfToFloat(n&65535);case S.Float:return s.setUint32(0,n,!0),s.getFloat32(0,!0);case S.Double:return s.setUint32(0,n,!0),s.getFloat32(0,!0);case S.Token:return this.tokens[n]||"";case S.String:return this.tokens[this.strings[n]]||"";case S.AssetPath:return this.tokens[n]||"";case S.Specifier:return n;case S.Permission:case S.Variability:return n;case S.Vec2h:return s.setUint32(0,n,!0),[this._halfToFloat(s.getUint16(0,!0)),this._halfToFloat(s.getUint16(2,!0))];case S.Vec2f:case S.Vec2i:return s.setUint32(0,n,!0),[s.getInt8(0),s.getInt8(1)];case S.Vec3f:case S.Vec3i:return s.setUint32(0,n,!0),[s.getInt8(0),s.getInt8(1),s.getInt8(2)];case S.Vec4f:case S.Vec4i:return s.setUint32(0,n,!0),[s.getInt8(0),s.getInt8(1),s.getInt8(2),s.getInt8(3)];case S.Matrix2d:{s.setUint32(0,n,!0);let i=s.getInt8(0),o=s.getInt8(1);return[i,0,0,o]}case S.Matrix3d:{s.setUint32(0,n,!0);let i=s.getInt8(0),o=s.getInt8(1),a=s.getInt8(2);return[i,0,0,0,o,0,0,0,a]}case S.Matrix4d:{s.setUint32(0,n,!0);let i=s.getInt8(0),o=s.getInt8(1),a=s.getInt8(2),c=s.getInt8(3);return[i,0,0,0,0,o,0,0,0,0,a,0,0,0,0,c]}default:throw new Error("USDC: unsupported inline value type "+t)}}_readTimeSamples(e){let t=this.reader,n=e.payload,s=t.tell();t.seek(n);let i=t.tell(),o=t.readInt64();t.seek(i+o);let a=t.readUint32(),c=t.readUint32(),u=new mi(a,c),l=this._readValue(u),f=i+o+8;t.seek(f);let d=t.tell(),h=t.readInt64();t.seek(d+h);let m=Tt(t.readUint64()),b=[];for(let x=0;x<m;x++){let T=t.readUint32(),_=t.readUint32();b.push(new mi(T,_))}let g=[];for(let x=0;x<m;x++)g.push(this._readValue(b[x]));return t.seek(s),{times:l instanceof Float64Array?Array.from(l):Array.isArray(l)?l:[l],values:g}}_readScalarValue(e){let t=this.reader;switch(e){case S.Invalid:return null;case S.Bool:return t.readUint8()!==0;case S.UChar:return t.readUint8();case S.Int:return t.readInt32();case S.UInt:return t.readUint32();case S.Int64:return t.readInt64();case S.UInt64:return t.readUint64();case S.Half:return this._readHalf();case S.Float:return t.readFloat32();case S.Double:return t.readFloat64();case S.String:case S.Token:{let n=t.readUint32();return this.tokens[n]||""}case S.AssetPath:{let n=t.readUint32();return this.tokens[n]||""}case S.Vec2f:return[t.readFloat32(),t.readFloat32()];case S.Vec2d:return[t.readFloat64(),t.readFloat64()];case S.Vec2i:return[t.readInt32(),t.readInt32()];case S.Vec3f:return[t.readFloat32(),t.readFloat32(),t.readFloat32()];case S.Vec3d:return[t.readFloat64(),t.readFloat64(),t.readFloat64()];case S.Vec3i:return[t.readInt32(),t.readInt32(),t.readInt32()];case S.Vec4f:return[t.readFloat32(),t.readFloat32(),t.readFloat32(),t.readFloat32()];case S.Vec4d:return[t.readFloat64(),t.readFloat64(),t.readFloat64(),t.readFloat64()];case S.Quatf:return[t.readFloat32(),t.readFloat32(),t.readFloat32(),t.readFloat32()];case S.Quatd:return[t.readFloat64(),t.readFloat64(),t.readFloat64(),t.readFloat64()];case S.Matrix4d:{let n=[];for(let s=0;s<16;s++)n.push(t.readFloat64());return n}case S.TokenVector:{let n=Tt(t.readUint64()),s=[];for(let i=0;i<n;i++){let o=t.readUint32();s.push(this.tokens[o]||"")}return s}case S.PathVector:{let n=Tt(t.readUint64()),s=[];for(let i=0;i<n;i++){let o=t.readUint32();s.push(this.paths[o]||"")}return s}case S.DoubleVector:{let n=Tt(t.readUint64()),s=new Float64Array(Ie(n));for(let i=0;i<n;i++)s[i]=t.readFloat64();return s}case S.Dictionary:return this._readDictionary();case S.TokenListOp:case S.StringListOp:case S.IntListOp:case S.Int64ListOp:case S.UIntListOp:case S.UInt64ListOp:throw new Error("USDC: value list operations are unsupported");case S.PathListOp:{let n=t.readUint8();if(n&24||(n&102).toString(2).replaceAll("0","").length>1)throw new Error("USDC: compound path list operations are unsupported");let s=(n&2)!==0,i=(n&4)!==0,o=(n&8)!==0,a=(n&16)!==0,c=(n&32)!==0,u=(n&64)!==0,l=()=>{let b=Tt(t.readUint64()),g=[];for(let y=0;y<b;y++){let x=t.readUint32();g.push(this.paths[x])}return g},f=null,d=null,h=null,m=null;return s&&(f=l()),i&&(d=l()),c&&(h=l()),u&&(m=l()),o&&l(),a&&l(),h&&h.length>0?h:f&&f.length>0?f:m&&m.length>0?m:d&&d.length>0?d:null}case S.VariantSelectionMap:{let n=Tt(t.readUint64()),s=Object.create(null);for(let i=0;i<n;i++){let o=t.readUint32(),a=t.readUint32(),c=this.tokens[this.strings[o]],u=this.tokens[this.strings[a]];c&&u&&(s[c]=u)}return s}default:throw new Error("USDC: unsupported encoding: "+["USDCParser: Unsupported scalar type",e].join(" "))}}_readDictionary(){let e=this.reader,t=e.tell();if(this._activeDictionaries||=new Set,this._activeDictionaries.has(t))throw new Error("USDC: cyclic dictionary value");if(this._activeDictionaries.size>=64)throw new Error("USDC: dictionary depth limit exceeded");this._activeDictionaries.add(t);try{let n=Tt(e.readUint64());if(n>Math.floor((this.buffer.byteLength-e.tell())/20))throw new Error("USDC: truncated dictionary entries");let s=Object.create(null);for(let i=0;i<n;i++){let o=e.readUint32(),a=this.tokens[this.strings[o]];if(typeof a!="string"||Object.hasOwn(s,a))throw new Error("USDC: invalid dictionary key");let c=e.tell(),u=e.readInt64();if(u<8)throw new Error("USDC: invalid dictionary value offset");e.seek(c+u);let l=new mi(e.readUint32(),e.readUint32());if(l.typeEnum<S.Bool||l.typeEnum>S.AssetPath&&l.typeEnum!==S.Dictionary||l.isArray&&!KF.has(l.typeEnum))throw new Error("USDC: unsupported dictionary value type");let f=e.tell(),d=this._readValue(l);s[a]=l.typeEnum===S.AssetPath?{assetPath:d}:d,e.seek(f)}return s}finally{this._activeDictionaries.delete(t)}}_readArrayValue(e){let t=this.reader,n=e.typeEnum,s=e.isCompressed,i;if(this.version.major===0&&this.version.minor<7?i=t.readUint32():i=t.readUint64(),!Number.isSafeInteger(i)||i<0)throw new RangeError("USDCParser: Invalid array size "+i+" for type "+n+".");if(i>2147483647)throw new RangeError("USDCParser: Array size "+i+" exceeds implementation limits.");if(i=Tt(i),i===0)return[];if(s)return this._readCompressedArray(n,i);switch(n){case S.Int:{let o=new Int32Array(Ie(i));for(let a=0;a<i;a++)o[a]=t.readInt32();return o}case S.UInt:{let o=new Uint32Array(Ie(i));for(let a=0;a<i;a++)o[a]=t.readUint32();return o}case S.Float:{let o=new Float32Array(Ie(i));for(let a=0;a<i;a++)o[a]=t.readFloat32();return o}case S.Double:{let o=new Float64Array(Ie(i));for(let a=0;a<i;a++)o[a]=t.readFloat64();return o}case S.Vec2f:{let o=new Float32Array(Ie(i*2));for(let a=0;a<i*2;a++)o[a]=t.readFloat32();return o}case S.Vec3f:{let o=new Float32Array(Ie(i*3));for(let a=0;a<i*3;a++)o[a]=t.readFloat32();return o}case S.Vec4f:{let o=new Float32Array(Ie(i*4));for(let a=0;a<i*4;a++)o[a]=t.readFloat32();return o}case S.Vec3h:{let o=new Float32Array(Ie(i*3));for(let a=0;a<i*3;a++)o[a]=this._readHalf();return o}case S.Quatf:{let o=new Float32Array(Ie(i*4));for(let a=0;a<i*4;a++)o[a]=t.readFloat32();return o}case S.Quath:{let o=new Float32Array(Ie(i*4));for(let a=0;a<i*4;a++)o[a]=this._readHalf();return o}case S.Matrix4d:{let o=new Float64Array(Ie(i*16));for(let a=0;a<i*16;a++)o[a]=t.readFloat64();return o}case S.String:case S.Token:{let o=[];for(let a=0;a<i;a++){let c=t.readUint32(),u=n===S.String?this.strings[c]:c,l=this.tokens[u];if(typeof l!="string")throw new Error("USDC: invalid string array index");o.push(l)}return o}case S.Half:{let o=new Float32Array(Ie(i));for(let a=0;a<i;a++)o[a]=this._readHalf();return o}default:throw new Error("USDC: unsupported encoding: "+["USDCParser: Unsupported array type",n].join(" "))}}_readCompressedArray(e,t){let n=this.reader;switch(e){case S.Int:case S.UInt:{let s=n.readUint64(),i=n.readBytes(s),o=Or(i.buffer.slice(i.byteOffset,i.byteOffset+s),t);return e===S.UInt?new Uint32Array(o.buffer,o.byteOffset,o.length):o}case S.Half:case S.Double:case S.Float:{let s=n.readInt8();if(s===XF){let i=n.readUint64(),o=n.readBytes(i),a=Or(o.buffer.slice(o.byteOffset,o.byteOffset+i),t),c=e===S.Double?new Float64Array(Ie(t)):new Float32Array(Ie(t));for(let u=0;u<t;u++)c[u]=e===S.Half?this._convertHalfInteger(a[u]):a[u];return c}else if(s===JF){let i=Tt(n.readUint32());if(i===0)throw new Error("USDC: invalid float lookup table");let o=e===S.Double?new Float64Array(Ie(i)):new Float32Array(Ie(i));for(let f=0;f<i;f++)o[f]=e===S.Half?this._readHalf():e===S.Double?n.readFloat64():n.readFloat32();let a=n.readUint64(),c=n.readBytes(a),u=Or(c.buffer.slice(c.byteOffset,c.byteOffset+a),t),l=e===S.Double?new Float64Array(Ie(t)):new Float32Array(Ie(t));for(let f=0;f<t;f++){if(u[f]<0||u[f]>=i)throw new Error("USDC: invalid float lookup index");l[f]=o[u[f]]}return l}throw new Error("USDC: unsupported encoding: "+["USDCParser: Unknown float compression code",s].join(" "))}default:throw new Error("USDC: unsupported encoding: "+["USDCParser: Unsupported compressed array type",e].join(" "))}}_convertHalfInteger(e){let t=Math.abs(e);if(t<=2048)return e;if(t>=65520)return Math.sign(e)*(1/0);let n=2**(Math.floor(Math.log2(t))-10),s=t/n,i=Math.floor(s),o=s-i,a=o>.5||o===.5&&i%2!==0?i+1:i;return Math.sign(e)*a*n}_readHalf(){return this._halfToFloat(this.reader.readUint16())}_halfToFloat(e){let t=(e&32768)>>15,n=(e&31744)>>10,s=e&1023;return n===0?s===0?t?-0:0:(t?-1:1)*qF*(s/1024):n===31?s?NaN:t?-1/0:1/0:(t?-1:1)*Xx[n]*(1+s/1024)}_getFieldsForSpec(e){let t=Object.create(null),n=e.fieldSetIndex,s=1e4,i=0;for(;n<this.fieldSets.length&&i<s;){let o=this.fieldSets[n];if(o===HF||o===-1)break;let a=this.fields[o];if(!a)throw new Error("USDC: invalid field index");if(a){let c=this.tokens[a.tokenIndex],u=this._readValue(a.valueRep);t[c]=u}n++,i++}if(i>=s)throw new Error("USDC: field traversal limit exceeded");return t}}});function Qx(r,e){if(r.byteLength<88||r.byteLength>64*1024*1024)throw new Error("USDC: invalid input size");let t=new Uint8Array(r);if(t[8]!==0||t[9]!==8||t[10]!==0)throw new Error("USDC: initial decoder requires crate version 0.8.0");let n=new DataView(r),s=n.getBigUint64(16,!0);if(s>BigInt(r.byteLength-8))throw new Error("USDC: invalid section table");let i=Number(s),o=n.getBigUint64(i,!0);if(o>16n||i+8+Number(o)*32>r.byteLength)throw new Error("USDC: invalid section table length");let a=new Set;for(let f=0;f<Number(o);f++){let d=i+8+f*32,h=t.subarray(d,d+16),m=h.indexOf(0),b=new TextDecoder().decode(h.subarray(0,m<0?h.length:m));if(a.has(b))throw new Error("USDC: duplicate section");a.add(b);let g=n.getBigUint64(d+16,!0),y=n.getBigUint64(d+24,!0);if(g<88n||g+y>BigInt(r.byteLength))throw new Error("USDC: section out of bounds")}for(let f of["TOKENS","STRINGS","FIELDS","FIELDSETS","PATHS","SPECS"])if(!a.has(f))throw new Error("USDC: missing required section");let{specsByPath:c}=new Hu().parseData(r),u=new Map;for(let[f,d]of Object.entries(c)){if(d.specType===7&&f==="/"||d.specType===1||d.specType===8)continue;if(d.specType!==6||!/^\/(?:[A-Za-z_][\w:]*\/)*[A-Za-z_][\w:]*$/.test(f))throw new Error("USDC: unsupported prim specification");let h=d.fields,m=h.specifier??0;if(m!==0&&m!==1&&m!==2)throw new Error("USDC: invalid prim specifier");let b=Xu(h,new Set(["specifier","typeName","primChildren","properties"]));u.set(f,{name:f.slice(f.lastIndexOf("/")+1),path:f,sourceUrl:e,type:String(h.typeName||""),specifier:["def","over","class"][m],attributes:Object.create(null),metadata:b,variants:Object.create(null),children:[]})}let l=[];for(let f of u.values()){let d=f.path.slice(0,f.path.lastIndexOf("/"));if(!d)l.push(f);else{let h=u.get(d);if(!h)throw new Error("USDC: missing parent prim");h.children.push(f)}}Yx(l,c["/"]?.fields.primChildren);for(let f of u.values())Yx(f.children,c[f.path]?.fields.primChildren);for(let[f,d]of Object.entries(c)){if(d.specType!==1&&d.specType!==8)continue;let h=f.indexOf("."),m=u.get(f.slice(0,h));if(h<0||!m)throw new Error("USDC: property has no owning prim");let b=f.slice(h+1),g=d.fields,y=d.specType===8?"rel":String(g.typeName||""),x=Zx(d.specType===8?g.targetPaths:g.default,y),T=Xu(g,new Set(["typeName","default","targetPaths","timeSamples"]));g.timeSamples!==void 0&&(T.timeSamples=QF(g.timeSamples,y)),m.attributes[b]={name:b,type:y,value:x,metadata:T}}return{format:"usdc",url:e,metadata:Xu(c["/"]?.fields||{},new Set(["primChildren"])),rootPrims:l,layers:[]}}function Xu(r,e){let t=Object.create(null);for(let[n,s]of Object.entries(r))e.has(n)||(t[n]=Ju(s));return t}function Ju(r){if(r==null)return null;if(typeof r=="number"||typeof r=="string"||typeof r=="boolean")return r;if(Array.isArray(r))return r.map(Ju);if(ArrayBuffer.isView(r)&&!(r instanceof DataView))return Array.from(r);if(typeof r=="object")return Xu(r,new Set);throw new Error("USDC: unsupported decoded value")}function Zx(r,e){let t=Ju(r);if(e==="asset"&&typeof t=="string")return{assetPath:t};if(e==="rel"&&Array.isArray(t))return t.map(s=>typeof s=="string"?{path:s}:s);let n=/^(?:(?:point|normal|vector|color|texCoord)([234])[fdh]|(?:float|double|half|int)([234]))\[\]$/.exec(e);if(n&&Array.isArray(t)){let s=Number(n[1]||n[2]);if(t.length%s)throw new Error("USDC: incomplete vector tuple");let i=[];for(let o=0;o<t.length;o+=s)i.push(t.slice(o,o+s));return i}return t}function Yx(r,e){if(e===void 0)return;if(!Array.isArray(e))throw new Error("USDC: invalid primChildren order");let t=new Map(r.map(s=>[s.name,s])),n=[];for(let s of e){let i=typeof s=="string"?t.get(s):void 0;if(!i)throw new Error("USDC: invalid primChildren reference");n.push(i),t.delete(s)}for(let s of t.values())n.push(s);for(let s=0;s<n.length;s++)r[s]=n[s]}function QF(r,e){if(!r||typeof r!="object")throw new Error("USDC: invalid time samples");let t=r,n=Ju(t.times);if(!Array.isArray(n)||!Array.isArray(t.values)||n.length!==t.values.length)throw new Error("USDC: invalid time samples");return{times:n,values:t.values.map(s=>Zx(s,e))}}var eT=p(()=>{"use strict";Jx()});function tT(r,e){if(!r.trimStart().startsWith("#usda"))throw new Error("OpenUSD ASCII layers must begin with the #usda header.");return new Eh(r,e).parse()}var ZF,eO,Eh,Lh,rT=p(()=>{"use strict";ZF=/^[+-]?(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?/,eO=new Set(["uniform","varying","custom","prepend","append","add","delete","reorder"]);Eh=class{tokenizer;url;constructor(e,t){this.tokenizer=new Lh(e),this.url=t}parse(){let e=this.tokenizer.match("(")?this.parseMetadata(")"):{},t=[];for(;!this.tokenizer.isAtEnd();)this.isPrimDeclaration()?t.push(this.parsePrim("")):this.tokenizer.read();return{format:"usda",url:this.url,metadata:e,rootPrims:t,layers:this.url?[this.url]:[]}}parsePrim(e){let n=this.tokenizer.read().value,s=this.tokenizer.read(),i=this.tokenizer.peek().kind==="string",o=i?s.value:"",a=i?this.tokenizer.read().value:s.value,c=`${e}/${a}`,u=this.tokenizer.match("(")?this.parseMetadata(")"):{};this.tokenizer.expect("{");let l=this.parsePrimContents(c);return{name:a,path:c,sourceUrl:this.url,type:o,specifier:n,attributes:l.attributes,metadata:{...u,...l.metadata},variants:l.variants,children:l.children}}parsePrimContents(e){let t={},n={},s=[],i={};for(;!this.tokenizer.isAtEnd()&&!this.tokenizer.match("}");)if(this.isPrimDeclaration())s.push(this.parsePrim(e));else if(this.tokenizer.peek().value==="variantSet")this.parseVariantSet(e,i);else{let o=this.parseAttribute();o&&(t[o.name]=o)}return{attributes:t,metadata:n,children:s,variants:i}}parseVariantSet(e,t){this.tokenizer.expect("variantSet");let n=this.tokenizer.read().value;this.tokenizer.expect("="),this.tokenizer.expect("{");let s={};for(;!this.tokenizer.isAtEnd()&&!this.tokenizer.match("}");){let i=this.tokenizer.read().value;this.tokenizer.expect("{");let o=this.parsePrimContents(e);s[i]={attributes:o.attributes,metadata:o.metadata,children:o.children}}t[n]=s}parseAttribute(){let e=this.tokenizer.read();if(e.kind==="end")return null;let t=[e];for(;!this.tokenizer.isAtEnd()&&this.tokenizer.peek().line===e.line;){let u=this.tokenizer.peek();if(u.value==="="){this.tokenizer.read();break}if(u.value==="{"||u.value==="}")return null;t.push(this.tokenizer.read())}if(!(this.tokenizer.previousValue==="="))return null;let s=t.filter(u=>!eO.has(u.value));if(s.length===0)return null;let i=s[s.length-1].value,o=s.slice(0,-1).map(u=>u.value).join(""),a=this.parseValue(),c=this.tokenizer.match("(")?this.parseMetadata(")"):{};return{name:i,type:o,value:a,metadata:c}}parseMetadata(e){let t={};for(;!this.tokenizer.isAtEnd()&&!this.tokenizer.match(e);){if(this.tokenizer.match(","),this.tokenizer.peek().value===e){this.tokenizer.read();break}let n=this.tokenizer.read(),s=[n];for(;!this.tokenizer.isAtEnd()&&this.tokenizer.peek().line===n.line;){if(this.tokenizer.peek().value==="="||this.tokenizer.peek().value===":"){this.tokenizer.read();break}if(this.tokenizer.peek().value===e)break;s.push(this.tokenizer.read())}if(this.tokenizer.previousValue!=="="&&this.tokenizer.previousValue!==":")continue;let i=s[s.length-1].value;t[i]=this.parseValue(),this.tokenizer.match(",")}return t}parseValue(){let e=this.tokenizer.read();if(e.value==="[")return this.parseList("]");if(e.value==="(")return this.parseList(")");if(e.value==="{")return this.parseMetadata("}");if(e.kind==="asset"){let t={assetPath:e.value};return this.tokenizer.peek().kind==="path"&&this.tokenizer.peek().line===e.line&&(t.primPath=this.tokenizer.read().value),t}return e.kind==="path"?{path:e.value}:e.kind==="number"?Number(e.value):e.value==="true"?!0:e.value==="false"?!1:e.value==="None"||e.value==="null"?null:e.value}parseList(e){let t=[];for(;!this.tokenizer.isAtEnd()&&!this.tokenizer.match(e);)this.tokenizer.match(",")||(t.push(this.parseValue()),this.tokenizer.match(","));return t}isPrimDeclaration(){let e=this.tokenizer.peek().value;return e==="def"||e==="over"||e==="class"}},Lh=class{source;offset=0;line=1;bufferedToken=null;previousValue="";constructor(e){this.source=e}peek(){return this.bufferedToken||=this.readToken(),this.bufferedToken}read(){let e=this.peek();return this.bufferedToken=null,this.previousValue=e.value,e}match(e){return this.peek().value!==e?!1:(this.read(),!0)}expect(e){let t=this.read();if(t.value!==e)throw new Error(`Expected "${e}" at USDA line ${t.line}, received "${t.value}".`)}isAtEnd(){return this.peek().kind==="end"}readToken(){this.skipIgnoredText();let e=this.line,t=this.source[this.offset];if(t===void 0)return{value:"",line:e,kind:"end"};if("{}[](),=".includes(t))return this.offset++,{value:t,line:e,kind:"punctuation"};if(t==='"'||t==="'")return{value:this.readQuotedString(t),line:e,kind:"string"};if(t==="@")return{value:this.readDelimitedValue("@"),line:e,kind:"asset"};if(t==="<")return{value:this.readDelimitedValue(">"),line:e,kind:"path"};let n=this.source.slice(this.offset).match(ZF);if(n)return this.offset+=n[0].length,{value:n[0],line:e,kind:"number"};let s=this.offset;for(;this.offset<this.source.length;){let i=this.source[this.offset];if(/\s/.test(i)||"{}[](),=@<>".includes(i))break;this.offset++}return this.offset===s&&this.offset++,{value:this.source.slice(s,this.offset),line:e,kind:"word"}}skipIgnoredText(){for(;this.offset<this.source.length;){let e=this.source[this.offset];if(e===`
8
8
  `)this.line++,this.offset++;else if(/\s/.test(e))this.offset++;else if(e==="#")for(;this.offset<this.source.length&&this.source[this.offset]!==`
9
9
  `;)this.offset++;else if(e==="/"&&this.source[this.offset+1]==="*"){for(this.offset+=2;this.offset<this.source.length&&!this.source.startsWith("*/",this.offset);)this.source[this.offset]===`
10
10
  `&&this.line++,this.offset++;this.offset+=2}else if(this.source.startsWith('"""',this.offset)){for(this.offset+=3;this.offset<this.source.length&&!this.source.startsWith('"""',this.offset);)this.source[this.offset]===`
11
- `&&this.line++,this.offset++;this.offset+=3}else break}}readQuotedString(e){this.offset++;let t="";for(;this.offset<this.source.length;){let n=this.source[this.offset++];if(n===e)break;if(n==="\\"&&this.offset<this.source.length){let r=this.source[this.offset++];t+=r==="n"?`
12
- `:r}else t+=n}return t}readDelimitedValue(e){this.offset++;let t=this.offset;for(;this.offset<this.source.length&&this.source[this.offset]!==e;)this.offset++;let n=this.source.slice(t,this.offset);return this.offset++,n}}});function V(s){let e=new DataView(s),t=ne(e),n=e.getUint16(t+10,!0),r=e.getUint32(t+16,!0),i=new Map,a=new TextDecoder;for(let c=0;c<n;c++){if(e.getUint32(r,!0)!==33639248)throw new Error("USDZ archive contains an invalid ZIP central-directory entry.");let f=e.getUint16(r+10,!0),h=e.getUint32(r+20,!0),o=e.getUint16(r+28,!0),p=e.getUint16(r+30,!0),m=e.getUint16(r+32,!0),u=e.getUint32(r+42,!0),d=a.decode(new Uint8Array(s,r+46,o));if(f!==0)throw new Error(`USDZ entry "${d}" is compressed; USDZ requires stored ZIP entries.`);if(e.getUint32(u,!0)!==67324752)throw new Error(`USDZ entry "${d}" has an invalid local ZIP header.`);let l=e.getUint16(u+26,!0),D=e.getUint16(u+28,!0),g=u+30+l+D;i.set(d,s.slice(g,g+h)),r+=46+o+p+m}return i}function ne(s){let e=Math.max(0,s.byteLength-65557);for(let t=s.byteLength-22;t>=e;t--)if(s.getUint32(t,!0)===101010256)return t;throw new Error("USDZ archive does not contain a ZIP end-of-central-directory record.")}var $=k(()=>{"use strict"});async function R(s,e={},t){let n=oe(e.core?.baseUrl,t?.url),r={fetch:async a=>{let c=await(t?.fetch||fetch)(a);if(!(c instanceof Response))throw new Error(`OpenUSD reference "${a}" did not return an HTTP response.`);if(!c.ok)throw new Error(`Unable to load OpenUSD reference "${a}": ${c.status}.`);return c},cache:new Map,archiveFiles:new Map,layers:new Set,options:{...e,usd:{...he,...e.usd}}},i;if(de(s)){let a=V(s),c=Array.from(a.keys()).find(o=>/\.usda?$/i.test(o));if(!c)throw new Error("USDZ archives with binary USDC root layers are not implemented yet.");let f="https://usd.archive/";for(let[o,p]of a)r.archiveFiles.set(new URL(o,f).href,p);let h=new URL(c,f).href;i=P(a.get(c),h),i.format="usdz"}else i=P(s,n);return i.url&&r.layers.add(i.url),r.options.usd?.compose!==!1&&(i.rootPrims=await A(i.rootPrims,i.url,{},r,0)),i.layers=Array.from(r.layers),n&&(i.url=n),i}function oe(s,e){let t=Z(s);return t||Z(e)||s||e}function Z(s){try{return s?new URL(s).href:void 0}catch{return}}function ce(s,e){try{return new URL(s,e).href}catch{let t=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return t>=0?`${e.slice(0,t+1)}${s}`:s}}function P(s,e){if(M.decode(s.slice(0,8))===ie)throw new Error("Binary USDC crate layers are not implemented yet; use ASCII USDA layers.");return _(M.decode(s),e)}async function A(s,e,t,n,r){if(r>(n.options.usd?.maxReferenceDepth??12))throw new Error("OpenUSD reference composition exceeded the configured depth limit.");let i=[];for(let a of s){if(a.specifier==="class")continue;let f={...le(a.metadata.variants),...t,...n.options.usd?.variantSelections},h=a.sourceUrl||e,o=v(a);for(let[m,u]of Object.entries(o.variants)){let d=f[m]||Object.keys(u)[0],l=u[d];l&&(o=T(o,{...o,attributes:l.attributes,metadata:l.metadata,children:l.children,variants:{}}))}let p=W(o);if(n.options.usd?.loadReferences!==!1&&p.length>0)for(let m of p){if(!h)throw new Error("OpenUSD references require a source URL or options.core.baseUrl.");let u=ce(m.assetPath,h),d=await fe(u,n),l=ue(d,m.primPath),D=await A(l,u,f,n,r+1);for(let g of D)o=T(j(g,o.path),o)}o.children=await A(o.children,h,f,n,r),i.push(o)}return i}async function fe(s,e){let t=e.cache.get(s);return t||(t=(async()=>{let r=e.archiveFiles.get(s);if(!r){let a;try{a=await e.fetch(s)}catch(c){throw new Error(`Unable to fetch USD layer "${s}": ${String(c)}`)}r=a.arrayBuffer()}let i=P(await r,s);return e.layers.add(s),i})(),e.cache.set(s,t)),t}function ue(s,e){let t=e||s.metadata.defaultPrim;if(typeof t!="string")return s.rootPrims;let n=t.startsWith("/")?t:`/${t}`,r=F(s.rootPrims,n);return r?[r]:[]}function F(s,e){for(let t of s){if(t.path===e)return t;let n=F(t.children,e);if(n)return n}}function W(s){let e=[];for(let t of[s.metadata.references,s.metadata.payload,s.metadata.payloads])Array.isArray(t)?e.push(...t.filter(x)):x(t)&&e.push(t);return e}function le(s){return!s||typeof s!="object"||Array.isArray(s)||x(s)?{}:Object.fromEntries(Object.entries(s).filter(e=>typeof e[1]=="string"))}function x(s){return!!(s&&typeof s=="object"&&!Array.isArray(s)&&"assetPath"in s)}function v(s){return{...s,attributes:{...s.attributes},metadata:{...s.metadata},variants:{...s.variants},children:s.children.map(v)}}function j(s,e){let t=v(s);return t.path=e,t.children=t.children.map(n=>j(n,`${e}/${n.name}`)),t}function T(s,e){let t=s.children.map(v);for(let n of e.children){let r=t.findIndex(i=>i.name===n.name);r>=0?t[r]=T(t[r],n):t.push(v(n))}return{...s,...e,sourceUrl:W(e).length>0?e.sourceUrl:s.sourceUrl||e.sourceUrl,type:e.type||s.type,attributes:{...s.attributes,...e.attributes},metadata:{...s.metadata,...e.metadata},variants:{...s.variants,...e.variants},children:t}}function de(s){return s.byteLength>=4&&new DataView(s).getUint32(0,!0)===ae}var M,ie,ae,he,Y=k(()=>{"use strict";N();$();M=new TextDecoder,ie="PXR-USDC",ae=67324752;he={compose:!0,loadReferences:!0,maxReferenceDepth:12,variantSelections:{}}});var H={};O(H,{USDLoaderWithParser:()=>me});async function ke(s,e,t){return R(new TextEncoder().encode(s).buffer,e,t)}var Ae,pe,me,Q=k(()=>{"use strict";Y();L();({preload:Ae,...pe}=z),me={...pe,parse:R,parseText:ke}});async function Ue(){let{USDLoaderWithParser:s}=await Promise.resolve().then(()=>(Q(),H));return s}var ve,z,L=k(()=>{"use strict";ve="5.0.0-alpha.9";z={dataType:null,batchType:null,name:"Universal Scene Description",id:"usd",module:"scene",version:ve,extensions:["usd","usda","usdz"],mimeTypes:["model/vnd.usd","model/vnd.usda","model/vnd.usdz+zip"],text:!0,binary:!0,tests:["#usda","PK"],options:{usd:{compose:!0,loadReferences:!0,maxReferenceDepth:12,variantSelections:{}}},preload:Ue}});var U={};O(U,{USDLoader:()=>z});S(U,ee(C(),1));L();return te(U);})();
11
+ `&&this.line++,this.offset++;this.offset+=3}else break}}readQuotedString(e){this.offset++;let t="";for(;this.offset<this.source.length;){let n=this.source[this.offset++];if(n===e)break;if(n==="\\"&&this.offset<this.source.length){let s=this.source[this.offset++];t+=s==="n"?`
12
+ `:s}else t+=n}return t}readDelimitedValue(e){this.offset++;let t=this.offset;for(;this.offset<this.source.length&&this.source[this.offset]!==e;)this.offset++;let n=this.source.slice(t,this.offset);return this.offset++,n}}});function nT(r){let e=new DataView(r),t=tO(e),n=e.getUint16(t+10,!0),s=e.getUint32(t+16,!0),i=s,o=new Map,a=new TextDecoder,c=0;for(let u=0;u<n;u++){if(s+46>t)throw new Error("USDZ archive contains a truncated ZIP central-directory entry.");if(e.getUint32(s,!0)!==33639248)throw new Error("USDZ archive contains an invalid ZIP central-directory entry.");let l=e.getUint16(s+10,!0),f=e.getUint32(s+20,!0),d=e.getUint32(s+24,!0),h=e.getUint16(s+28,!0),m=e.getUint16(s+30,!0),b=e.getUint16(s+32,!0),g=e.getUint32(s+42,!0);if(s+46+h+m+b>t)throw new Error("USDZ archive contains a truncated ZIP filename or extra field.");let y=a.decode(new Uint8Array(r,s+46,h));if(l!==0)throw new Error(`USDZ entry "${y}" is compressed; USDZ requires stored ZIP entries.`);if(g+30>i||f!==d)throw new Error(`USDZ entry "${y}" has invalid stored ZIP bounds.`);if(e.getUint32(g,!0)!==67324752)throw new Error(`USDZ entry "${y}" has an invalid local ZIP header.`);let x=e.getUint16(g+26,!0),T=e.getUint16(g+28,!0),_=g+30+x+T;if((e.getUint16(s+8,!0)|e.getUint16(g+6,!0))&1)throw new Error(`USDZ entry "${y}" is encrypted.`);if(_+f>i||e.getUint16(g+8,!0)!==0||a.decode(new Uint8Array(r,g+30,x))!==y||o.has(y))throw new Error(`USDZ entry "${y}" has invalid or duplicate stored ZIP data.`);if(c+=f,c>r.byteLength)throw new Error("USDZ archive exceeds its stored data budget.");o.set(y,r.slice(_,_+f)),s+=46+h+m+b}return o}function tO(r){let e=Math.max(0,r.byteLength-65557);for(let t=r.byteLength-22;t>=e;t--)if(r.getUint32(t,!0)===101010256)return t;throw new Error("USDZ archive does not contain a ZIP end-of-central-directory record.")}var sT=p(()=>{"use strict"});async function Rh(r,e={},t){let n=iO(e.core?.baseUrl,t?.url),s={fetch:async o=>{let a=await(t?.fetch||fetch)(o);if(!(a instanceof Response))throw new Error(`OpenUSD reference "${o}" did not return an HTTP response.`);if(!a.ok)throw new Error(`Unable to load OpenUSD reference "${o}": ${a.status}.`);return a},cache:new Map,archiveFiles:new Map,layers:new Set,options:{...e,usd:{...aO,...e.usd}}},i;if(fO(r)){let o=nT(r),a=o.keys().next().value;if(!a||!/\.(?:usd[ac]?)$/i.test(a))throw new Error("USDZ archive has no supported USD root layer.");let c="https://usd.archive/",u=Object.create(null);for(let[f,d]of o){let h=new URL(f,c);if(f.startsWith("/")||/^[a-z][a-z\d+.-]*:/i.test(f)||f.includes("\\")||/[\u0000-\u001f\u007f]/.test(f)||f.trim()!==f||f.split("/").some(m=>{let b=m.replace(/%2e/gi,".");return b==="."||b===".."})||h.origin!==new URL(c).origin||h.search||h.hash||u[h.href])throw new Error(`USDZ entry "${f}" has an ambiguous package URL.`);s.archiveFiles.set(h.href,d),u[h.href]=sO(f,d)}let l=new URL(a,c).href;i=Bh(o.get(a),l),i.format="usdz",i.assets=u}else i=Bh(r,n);return i.url&&(aT(i,i.url),s.layers.add(i.url)),s.options.usd?.compose!==!1&&(i.rootPrims=await Fh(i.rootPrims,i.url,{},s,0)),i.layers=Array.from(s.layers),n&&(i.url=n),i}function sO(r,e){let t=r.slice(r.lastIndexOf(".")+1).toLowerCase(),n=t==="png"?"image/png":/^(?:jpe?g)$/.test(t)?"image/jpeg":void 0;return n?{path:r,data:e,mimeType:n}:{path:r,data:e}}function iO(r,e){let t=oT(r);return t||oT(e)||r||e}function oT(r){try{return r?new URL(r).href:void 0}catch{return}}function oO(r,e){try{return new URL(r,e).href}catch{let t=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return t>=0?`${e.slice(0,t+1)}${r}`:r}}function Bh(r,e){return iT.decode(r.slice(0,8))===rO?Qx(r,e):tT(iT.decode(r),e)}function aT(r,e){let t=[...r.rootPrims];for(;t.length;){let n=t.pop();for(let s of Object.values(n.attributes))s.sourceUrl=e;for(let s of n.children)t.push(s);if("variants"in n)for(let s of Object.values(n.variants))for(let i of Object.values(s))t.push(i)}}async function Fh(r,e,t,n,s){if(s>(n.options.usd?.maxReferenceDepth??12))throw new Error("OpenUSD reference composition exceeded the configured depth limit.");let i=[];for(let o of r){if(o.specifier==="class")continue;let c={...lO(o.metadata.variants),...t,...n.options.usd?.variantSelections},u=o.sourceUrl||e,l=Ja(o);for(let[d,h]of Object.entries(l.variants)){let m=c[d]||Object.keys(h)[0],b=h[m];b&&(l=Mh(l,{...l,attributes:b.attributes,metadata:b.metadata,children:b.children,variants:{}}))}let f=uT(l);if(n.options.usd?.loadReferences!==!1&&f.length>0)for(let d of f){if(!u)throw new Error("OpenUSD references require a source URL or options.core.baseUrl.");let h=oO(d.assetPath,u),m=await cO(h,n),b=uO(m,d.primPath),g=await Fh(b,h,c,n,s+1);for(let y of g)l=Mh(lT(y,l.path),l)}l.children=await Fh(l.children,u,c,n,s),i.push(l)}return i}async function cO(r,e){let t=e.cache.get(r);return t||(t=(async()=>{let s=e.archiveFiles.get(r);if(!s){let o;try{o=await e.fetch(r)}catch(a){throw new Error(`Unable to fetch USD layer "${r}": ${String(a)}`)}s=o.arrayBuffer()}let i=Bh(await s,r);return aT(i,r),e.layers.add(r),i})(),e.cache.set(r,t)),t}function uO(r,e){let t=e||r.metadata.defaultPrim;if(typeof t!="string")return r.rootPrims;let n=t.startsWith("/")?t:`/${t}`,s=cT(r.rootPrims,n);return s?[s]:[]}function cT(r,e){for(let t of r){if(t.path===e)return t;let n=cT(t.children,e);if(n)return n}}function uT(r){let e=[];for(let t of[r.metadata.references,r.metadata.payload,r.metadata.payloads])Array.isArray(t)?e.push(...t.filter(Oh)):Oh(t)&&e.push(t);return e}function lO(r){return!r||typeof r!="object"||Array.isArray(r)||Oh(r)?{}:Object.fromEntries(Object.entries(r).filter(e=>typeof e[1]=="string"))}function Oh(r){return!!(r&&typeof r=="object"&&!Array.isArray(r)&&"assetPath"in r)}function Ja(r){return{...r,attributes:{...r.attributes},metadata:{...r.metadata},variants:{...r.variants},children:r.children.map(Ja)}}function lT(r,e){let t=Ja(r);return t.path=e,t.children=t.children.map(n=>lT(n,`${e}/${n.name}`)),t}function Mh(r,e){let t=r.children.map(Ja);for(let n of e.children){let s=t.findIndex(i=>i.name===n.name);s>=0?t[s]=Mh(t[s],n):t.push(Ja(n))}return{...r,...e,sourceUrl:uT(e).length>0?e.sourceUrl:r.sourceUrl||e.sourceUrl,type:e.type||r.type,attributes:{...r.attributes,...e.attributes},metadata:{...r.metadata,...e.metadata},variants:{...r.variants,...e.variants},children:t}}function fO(r){return r.byteLength>=4&&new DataView(r).getUint32(0,!0)===nO}var iT,rO,nO,aO,fT=p(()=>{"use strict";eT();rT();sT();iT=new TextDecoder,rO="PXR-USDC",nO=67324752;aO={compose:!0,loadReferences:!0,maxReferenceDepth:12,variantSelections:{}}});async function pO(r,e,t){return Rh(new TextEncoder().encode(r).buffer,e,t)}var yV,dO,hO,dT=p(()=>{"use strict";fT();Dh();({preload:yV,...dO}=Ya),hO={...dO,parse:Rh,parseText:pO}});var hT={};Y(hT,{USDLoaderWithParser:()=>hO});var pT=p(()=>{"use strict";dT()});async function bO(){let{USDLoaderWithParser:r}=await Promise.resolve().then(()=>(pT(),hT));return r}var mO,Ya,Dh=p(()=>{"use strict";mO="5.0.0-beta.10";Ya={dataType:null,batchType:null,name:"Universal Scene Description",id:"usd",module:"scene",version:mO,extensions:["usd","usda","usdc","usdz"],mimeTypes:["model/vnd.usd","model/vnd.usda","model/vnd.usdc","model/vnd.usdz+zip"],text:!0,binary:!0,tests:["#usda","PXR-USDC","PK"],options:{usd:{compose:!0,loadReferences:!0,maxReferenceDepth:12,variantSelections:{}}},preload:bO}});var mT,bT=p(()=>{"use strict";mT={name:"OBJ",id:"obj",module:"scene",encoding:"text",format:"obj",extensions:["obj"],mimeTypes:["text/plain"]}});function yT(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(r);s<n.length;s++)e.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(r,n[s])&&(t[n[s]]=r[n[s]]);return t}function F(r,e,t,n){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(n.next(l))}catch(f){o(f)}}function c(l){try{u(n.throw(l))}catch(f){o(f)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((n=n.apply(r,e||[])).next())})}function gT(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Q(r){return this instanceof Q?(this.v=r,this):new Q(r)}function _t(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t.apply(r,e||[]),s,i=[];return s=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),s[Symbol.asyncIterator]=function(){return this},s;function o(h){return function(m){return Promise.resolve(m).then(h,f)}}function a(h,m){n[h]&&(s[h]=function(b){return new Promise(function(g,y){i.push([h,b,g,y])>1||c(h,b)})},m&&(s[h]=m(s[h])))}function c(h,m){try{u(n[h](m))}catch(b){d(i[0][3],b)}}function u(h){h.value instanceof Q?Promise.resolve(h.value.v).then(l,f):d(i[0][2],h)}function l(h){c("next",h)}function f(h){c("throw",h)}function d(h,m){h(m),i.shift(),i.length&&c(i[0][0],i[0][1])}}function Do(r){var e,t;return e={},n("next"),n("throw",function(s){throw s}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(s,i){e[s]=r[s]?function(o){return(t=!t)?{value:Q(r[s](o)),done:!1}:i?i(o):o}:i}}function Xt(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof gT=="function"?gT(r):r[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=r[i]&&function(o){return new Promise(function(a,c){o=r[i](o),s(a,c,o.done,o.value)})}}function s(i,o,a,c){Promise.resolve(c).then(function(u){i({value:u,done:a})},o)}}var Nt=p(()=>{});var wT,No,gO,Jt,Tn=p(()=>{wT=new TextDecoder("utf-8"),No=wT.decode.bind(wT),gO=new TextEncoder,Jt=r=>gO.encode(r)});var yO,xT,qe,At,Yt,Mr,gr,Yu,Qu,Zu,el,tl,TT,Qa,_T,rl,AT,ts=p(()=>{yO=r=>typeof r=="number",xT=r=>typeof r=="boolean",qe=r=>typeof r=="function",At=r=>r!=null&&Object(r)===r,Yt=r=>At(r)&&qe(r.then),Mr=r=>At(r)&&qe(r[Symbol.iterator]),gr=r=>At(r)&&qe(r[Symbol.asyncIterator]),Yu=r=>At(r)&&At(r.schema),Qu=r=>At(r)&&"done"in r&&"value"in r,Zu=r=>At(r)&&qe(r.stat)&&yO(r.fd),el=r=>At(r)&&Qa(r.body),tl=r=>"_getDOMStream"in r&&"_getNodeStream"in r,TT=r=>At(r)&&qe(r.abort)&&qe(r.getWriter)&&!tl(r),Qa=r=>At(r)&&qe(r.cancel)&&qe(r.getReader)&&!tl(r),_T=r=>At(r)&&qe(r.end)&&qe(r.write)&&xT(r.writable)&&!tl(r),rl=r=>At(r)&&qe(r.read)&&qe(r.pipe)&&xT(r.readable)&&!tl(r),AT=r=>At(r)&&qe(r.clear)&&qe(r.bytes)&&qe(r.position)&&qe(r.setPosition)&&qe(r.capacity)&&qe(r.getBufferIdentifier)&&qe(r.createLong)});var Vh={};Y(Vh,{compareArrayLike:()=>Ph,joinUint8Arrays:()=>Qt,memcpy:()=>Za,rebaseValueOffsets:()=>nl,toArrayBufferView:()=>te,toArrayBufferViewAsyncIterator:()=>Rr,toArrayBufferViewIterator:()=>Zr,toBigInt64Array:()=>ec,toBigUint64Array:()=>vO,toFloat32Array:()=>IO,toFloat32ArrayAsyncIterator:()=>jO,toFloat32ArrayIterator:()=>RO,toFloat64Array:()=>SO,toFloat64ArrayAsyncIterator:()=>GO,toFloat64ArrayIterator:()=>DO,toInt16Array:()=>TO,toInt16ArrayAsyncIterator:()=>CO,toInt16ArrayIterator:()=>BO,toInt32Array:()=>bi,toInt32ArrayAsyncIterator:()=>UO,toInt32ArrayIterator:()=>FO,toInt8Array:()=>xO,toInt8ArrayAsyncIterator:()=>kO,toInt8ArrayIterator:()=>LO,toUint16Array:()=>_O,toUint16ArrayAsyncIterator:()=>PO,toUint16ArrayIterator:()=>OO,toUint32Array:()=>AO,toUint32ArrayAsyncIterator:()=>VO,toUint32ArrayIterator:()=>MO,toUint8Array:()=>N,toUint8ArrayAsyncIterator:()=>Uh,toUint8ArrayIterator:()=>Ch,toUint8ClampedArray:()=>EO,toUint8ClampedArrayAsyncIterator:()=>zO,toUint8ClampedArrayIterator:()=>NO});function wO(r){let e=r[0]?[r[0]]:[],t,n,s,i;for(let o,a,c=0,u=0,l=r.length;++c<l;){if(o=e[u],a=r[c],!o||!a||o.buffer!==a.buffer||a.byteOffset<o.byteOffset){a&&(e[++u]=a);continue}if({byteOffset:t,byteLength:s}=o,{byteOffset:n,byteLength:i}=a,t+s<n||n+i<t){a&&(e[++u]=a);continue}e[u]=new Uint8Array(o.buffer,t,n-t+i)}return e}function Za(r,e,t=0,n=e.byteLength){let s=r.byteLength,i=new Uint8Array(r.buffer,r.byteOffset,s),o=new Uint8Array(e.buffer,e.byteOffset,Math.min(n,s));return i.set(o,t),r}function Qt(r,e){let t=wO(r),n=t.reduce((l,f)=>l+f.byteLength,0),s,i,o,a=0,c=-1,u=Math.min(e||Number.POSITIVE_INFINITY,n);for(let l=t.length;++c<l;){if(s=t[c],i=s.subarray(0,Math.min(s.length,u-a)),u<=a+i.length){i.length<s.length?t[c]=s.subarray(i.length):i.length===s.length&&c++,o?Za(o,i,a):o=i;break}Za(o||(o=new Uint8Array(u)),i,a),a+=i.length}return[o||new Uint8Array(0),t.slice(c),n-(o?o.byteLength:0)]}function te(r,e){let t=Qu(e)?e.value:e;return t instanceof r?r===Uint8Array?new r(t.buffer,t.byteOffset,t.byteLength):t:t?(typeof t=="string"&&(t=Jt(t)),t instanceof ArrayBuffer?new r(t):t instanceof kh?new r(t):AT(t)?te(r,t.bytes()):ArrayBuffer.isView(t)?t.byteLength<=0?new r(0):new r(t.buffer,t.byteOffset,t.byteLength/r.BYTES_PER_ELEMENT):r.from(t)):new r(0)}function*Zr(r,e){let t=function*(s){yield s},n=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof kh?t(e):Mr(e)?e:t(e);return yield*Nh((function*(s){let i=null;do i=s.next(yield te(r,i));while(!i.done)})(n[Symbol.iterator]())),new r}function Rr(r,e){return _t(this,arguments,function*(){if(Yt(e))return yield Q(yield Q(yield*Do(Xt(Rr(r,yield Q(e))))));let n=function(o){return _t(this,arguments,function*(){yield yield Q(yield Q(o))})},s=function(o){return _t(this,arguments,function*(){yield Q(yield*Do(Xt(Nh((function*(a){let c=null;do c=a.next(yield c?.value);while(!c.done)})(o[Symbol.iterator]())))))})},i=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof kh?n(e):Mr(e)?s(e):gr(e)?e:n(e);return yield Q(yield*Do(Xt(Nh((function(o){return _t(this,arguments,function*(){let a=null;do a=yield Q(o.next(yield yield Q(te(r,a))));while(!a.done)})})(i[Symbol.asyncIterator]()))))),yield Q(new r)})}function nl(r,e,t){if(r!==0){t=t.slice(0,e);let n=typeof t[0]=="bigint"?BigInt(r):r;for(let s=-1,i=t.length;++s<i;)t[s]+=n}return t.subarray(0,e)}function Ph(r,e){let t=0,n=r.length;if(n!==e.length)return!1;if(n>0)do if(r[t]!==e[t])return!1;while(++t<n);return!0}var kh,xO,TO,bi,ec,N,_O,AO,vO,IO,SO,EO,Nh,LO,BO,FO,Ch,OO,MO,RO,DO,NO,kO,CO,UO,Uh,PO,VO,jO,GO,zO,Ke=p(()=>{Nt();Tn();ts();kh=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;xO=r=>te(Int8Array,r),TO=r=>te(Int16Array,r),bi=r=>te(Int32Array,r),ec=r=>te(BigInt64Array,r),N=r=>te(Uint8Array,r),_O=r=>te(Uint16Array,r),AO=r=>te(Uint32Array,r),vO=r=>te(BigUint64Array,r),IO=r=>te(Float32Array,r),SO=r=>te(Float64Array,r),EO=r=>te(Uint8ClampedArray,r),Nh=r=>(r.next(),r);LO=r=>Zr(Int8Array,r),BO=r=>Zr(Int16Array,r),FO=r=>Zr(Int32Array,r),Ch=r=>Zr(Uint8Array,r),OO=r=>Zr(Uint16Array,r),MO=r=>Zr(Uint32Array,r),RO=r=>Zr(Float32Array,r),DO=r=>Zr(Float64Array,r),NO=r=>Zr(Uint8ClampedArray,r);kO=r=>Rr(Int8Array,r),CO=r=>Rr(Int16Array,r),UO=r=>Rr(Int32Array,r),Uh=r=>Rr(Uint8Array,r),PO=r=>Rr(Uint16Array,r),VO=r=>Rr(Uint32Array,r),jO=r=>Rr(Float32Array,r),GO=r=>Rr(Float64Array,r),zO=r=>Rr(Uint8ClampedArray,r)});function*WO(r){let e,t=!1,n=[],s,i,o,a=0;function c(){return i==="peek"?Qt(n,o)[0]:([s,n,a]=Qt(n,o),s)}({cmd:i,size:o}=(yield null)||{cmd:"read",size:0});let u=Ch(r)[Symbol.iterator]();try{do if({done:e,value:s}=Number.isNaN(o-a)?u.next():u.next(o-a),!e&&s.byteLength>0&&(n.push(s),a+=s.byteLength),e||o<=a)do({cmd:i,size:o}=yield c());while(o<a);while(!e)}catch(l){t=!0,typeof u.throw=="function"&&u.throw(l)}finally{t===!1&&typeof u.return=="function"&&u.return(null)}return null}function $O(r){return _t(this,arguments,function*(){let t,n=!1,s=[],i,o,a,c=0;function u(){return o==="peek"?Qt(s,a)[0]:([i,s,c]=Qt(s,a),i)}({cmd:o,size:a}=(yield yield Q(null))||{cmd:"read",size:0});let l=Uh(r)[Symbol.asyncIterator]();try{do if({done:t,value:i}=Number.isNaN(a-c)?yield Q(l.next()):yield Q(l.next(a-c)),!t&&i.byteLength>0&&(s.push(i),c+=i.byteLength),t||a<=c)do({cmd:o,size:a}=yield yield Q(u()));while(a<c);while(!t)}catch(f){n=!0,typeof l.throw=="function"&&(yield Q(l.throw(f)))}finally{n===!1&&typeof l.return=="function"&&(yield Q(l.return(new Uint8Array(0))))}return yield Q(null)})}function qO(r){return _t(this,arguments,function*(){let t=!1,n=!1,s=[],i,o,a,c=0;function u(){return o==="peek"?Qt(s,a)[0]:([i,s,c]=Qt(s,a),i)}({cmd:o,size:a}=(yield yield Q(null))||{cmd:"read",size:0});let l=new Gh(r);try{do if({done:t,value:i}=Number.isNaN(a-c)?yield Q(l.read()):yield Q(l.read(a-c)),!t&&i.byteLength>0&&(s.push(N(i)),c+=i.byteLength),t||a<=c)do({cmd:o,size:a}=yield yield Q(u()));while(a<c);while(!t)}catch(f){n=!0,yield Q(l.cancel(f))}finally{n===!1?yield Q(l.cancel()):r.locked&&l.releaseLock()}return yield Q(null)})}function KO(r){return _t(this,arguments,function*(){let t=[],n="error",s=!1,i=null,o,a,c=0,u=[],l;function f(){return o==="peek"?Qt(u,a)[0]:([l,u,c]=Qt(u,a),l)}if({cmd:o,size:a}=(yield yield Q(null))||{cmd:"read",size:0},r.isTTY)return yield yield Q(new Uint8Array(0)),yield Q(null);try{t[0]=jh(r,"end"),t[1]=jh(r,"error");do{if(t[2]=jh(r,"readable"),[n,i]=yield Q(Promise.race(t.map(h=>h[2]))),n==="error")break;if((s=n==="end")||(Number.isFinite(a-c)?(l=N(r.read(a-c)),l.byteLength<a-c&&(l=N(r.read()))):l=N(r.read()),l.byteLength>0&&(u.push(l),c+=l.byteLength)),s||a<=c)do({cmd:o,size:a}=yield yield Q(f()));while(a<c)}while(!s)}finally{yield Q(d(t,n==="error"?i:null))}return yield Q(null);function d(h,m){return l=u=null,new Promise((b,g)=>{for(let[y,x]of h)r.off(y,x);try{let y=r.destroy;y&&y.call(r,m),m=void 0}catch(y){m=y||m}finally{m!=null?g(m):b()}})}})}var Qe,sl,Gh,jh,tc=p(()=>{Nt();Ke();Qe={fromIterable(r){return sl(WO(r))},fromAsyncIterable(r){return sl($O(r))},fromDOMStream(r){return sl(qO(r))},fromNodeStream(r){return sl(KO(r))},toDOMStream(r,e){throw new Error('"toDOMStream" not available in this environment')},toNodeStream(r,e){throw new Error('"toNodeStream" not available in this environment')}},sl=r=>(r.next(),r);Gh=class{constructor(e){this.source=e,this.reader=null,this.reader=this.source.getReader(),this.reader.closed.catch(()=>{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return F(this,void 0,void 0,function*(){let{reader:t,source:n}=this;t&&(yield t.cancel(e).catch(()=>{})),n&&n.locked&&this.releaseLock()})}read(e){return F(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};let t=yield this.reader.read();return!t.done&&(t.value=N(t)),t})}},jh=(r,e)=>{let t=s=>n([e,s]),n;return[e,t,new Promise(s=>(n=s)&&r.once(e,t))]}});var ge,il=p(()=>{(function(r){r[r.V1=0]="V1",r[r.V2=1]="V2",r[r.V3=2]="V3",r[r.V4=3]="V4",r[r.V5=4]="V5"})(ge||(ge={}))});var me,zh=p(()=>{(function(r){r[r.Sparse=0]="Sparse",r[r.Dense=1]="Dense"})(me||(me={}))});var he,Wh=p(()=>{(function(r){r[r.HALF=0]="HALF",r[r.SINGLE=1]="SINGLE",r[r.DOUBLE=2]="DOUBLE"})(he||(he={}))});var ye,$h=p(()=>{(function(r){r[r.DAY=0]="DAY",r[r.MILLISECOND=1]="MILLISECOND"})(ye||(ye={}))});var L,rc=p(()=>{(function(r){r[r.SECOND=0]="SECOND",r[r.MILLISECOND=1]="MILLISECOND",r[r.MICROSECOND=2]="MICROSECOND",r[r.NANOSECOND=3]="NANOSECOND"})(L||(L={}))});var ue,qh=p(()=>{(function(r){r[r.YEAR_MONTH=0]="YEAR_MONTH",r[r.DAY_TIME=1]="DAY_TIME",r[r.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(ue||(ue={}))});var ol=p(()=>{});var en,al,cl,ko,Kh=p(()=>{en=new Int32Array(2),al=new Float32Array(en.buffer),cl=new Float64Array(en.buffer),ko=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1});var nc,Hh=p(()=>{(function(r){r[r.UTF8_BYTES=1]="UTF8_BYTES",r[r.UTF16_STRING=2]="UTF16_STRING"})(nc||(nc={}))});var Ze,Xh=p(()=>{ol();Hh();Kh();Ze=class r{constructor(e){this.bytes_=e,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(e){return new r(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return BigInt.asIntN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<<BigInt(32)))}readUint64(e){return BigInt.asUintN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<<BigInt(32)))}readFloat32(e){return en[0]=this.readInt32(e),al[0]}readFloat64(e){return en[ko?0:1]=this.readInt32(e),en[ko?1:0]=this.readInt32(e+4),cl[0]}writeInt8(e,t){this.bytes_[e]=t}writeUint8(e,t){this.bytes_[e]=t}writeInt16(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8}writeUint16(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8}writeInt32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeUint32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeInt64(e,t){this.writeInt32(e,Number(BigInt.asIntN(32,t))),this.writeInt32(e+4,Number(BigInt.asIntN(32,t>>BigInt(32))))}writeUint64(e,t){this.writeUint32(e,Number(BigInt.asUintN(32,t))),this.writeUint32(e+4,Number(BigInt.asUintN(32,t>>BigInt(32))))}writeFloat32(e,t){al[0]=t,this.writeInt32(e,en[0])}writeFloat64(e,t){cl[0]=t,this.writeInt32(e,en[ko?0:1]),this.writeInt32(e+4,en[ko?1:0])}getBufferIdentifier(){if(this.bytes_.length<this.position_+4+4)throw new Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");let e="";for(let t=0;t<4;t++)e+=String.fromCharCode(this.readInt8(this.position_+4+t));return e}__offset(e,t){let n=e-this.readInt32(e);return t<this.readInt16(n)?this.readInt16(n+t):0}__union(e,t){return e.bb_pos=t+this.readInt32(t),e.bb=this,e}__string(e,t){e+=this.readInt32(e);let n=this.readInt32(e);e+=4;let s=this.bytes_.subarray(e,e+n);return t===nc.UTF8_BYTES?s:this.text_decoder_.decode(s)}__union_with_string(e,t){return typeof e=="string"?this.__string(t):this.__union(e,t)}__indirect(e){return e+this.readInt32(e)}__vector(e){return e+this.readInt32(e)+4}__vector_len(e){return this.readInt32(e+this.readInt32(e))}__has_identifier(e){if(e.length!=4)throw new Error("FlatBuffers: file identifier must be length "+4);for(let t=0;t<4;t++)if(e.charCodeAt(t)!=this.readInt8(this.position()+4+t))return!1;return!0}createScalarList(e,t){let n=[];for(let s=0;s<t;++s){let i=e(s);i!==null&&n.push(i)}return n}createObjList(e,t){let n=[];for(let s=0;s<t;++s){let i=e(s);i!==null&&n.push(i.unpack())}return n}}});var gi,vT=p(()=>{Xh();ol();gi=class r{constructor(e){this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null,this.text_encoder=new TextEncoder;let t;e?t=e:t=1024,this.bb=Ze.allocate(t),this.space=t}clear(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null}forceDefaults(e){this.force_defaults=e}dataBuffer(){return this.bb}asUint8Array(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())}prep(e,t){e>this.minalign&&(this.minalign=e);let n=~(this.bb.capacity()-this.space+t)+1&e-1;for(;this.space<n+e+t;){let s=this.bb.capacity();this.bb=r.growByteBuffer(this.bb),this.space+=this.bb.capacity()-s}this.pad(n)}pad(e){for(let t=0;t<e;t++)this.bb.writeInt8(--this.space,0)}writeInt8(e){this.bb.writeInt8(this.space-=1,e)}writeInt16(e){this.bb.writeInt16(this.space-=2,e)}writeInt32(e){this.bb.writeInt32(this.space-=4,e)}writeInt64(e){this.bb.writeInt64(this.space-=8,e)}writeFloat32(e){this.bb.writeFloat32(this.space-=4,e)}writeFloat64(e){this.bb.writeFloat64(this.space-=8,e)}addInt8(e){this.prep(1,0),this.writeInt8(e)}addInt16(e){this.prep(2,0),this.writeInt16(e)}addInt32(e){this.prep(4,0),this.writeInt32(e)}addInt64(e){this.prep(8,0),this.writeInt64(e)}addFloat32(e){this.prep(4,0),this.writeFloat32(e)}addFloat64(e){this.prep(8,0),this.writeFloat64(e)}addFieldInt8(e,t,n){(this.force_defaults||t!=n)&&(this.addInt8(t),this.slot(e))}addFieldInt16(e,t,n){(this.force_defaults||t!=n)&&(this.addInt16(t),this.slot(e))}addFieldInt32(e,t,n){(this.force_defaults||t!=n)&&(this.addInt32(t),this.slot(e))}addFieldInt64(e,t,n){(this.force_defaults||t!==n)&&(this.addInt64(t),this.slot(e))}addFieldFloat32(e,t,n){(this.force_defaults||t!=n)&&(this.addFloat32(t),this.slot(e))}addFieldFloat64(e,t,n){(this.force_defaults||t!=n)&&(this.addFloat64(t),this.slot(e))}addFieldOffset(e,t,n){(this.force_defaults||t!=n)&&(this.addOffset(t),this.slot(e))}addFieldStruct(e,t,n){t!=n&&(this.nested(t),this.slot(e))}nested(e){if(e!=this.offset())throw new TypeError("FlatBuffers: struct must be serialized inline.")}notNested(){if(this.isNested)throw new TypeError("FlatBuffers: object serialization must not be nested.")}slot(e){this.vtable!==null&&(this.vtable[e]=this.offset())}offset(){return this.bb.capacity()-this.space}static growByteBuffer(e){let t=e.capacity();if(t&3221225472)throw new Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");let n=t<<1,s=Ze.allocate(n);return s.setPosition(n-t),s.bytes().set(e.bytes(),n-t),s}addOffset(e){this.prep(4,0),this.writeInt32(this.offset()-e+4)}startObject(e){this.notNested(),this.vtable==null&&(this.vtable=[]),this.vtable_in_use=e;for(let t=0;t<e;t++)this.vtable[t]=0;this.isNested=!0,this.object_start=this.offset()}endObject(){if(this.vtable==null||!this.isNested)throw new Error("FlatBuffers: endObject called without startObject");this.addInt32(0);let e=this.offset(),t=this.vtable_in_use-1;for(;t>=0&&this.vtable[t]==0;t--);let n=t+1;for(;t>=0;t--)this.addInt16(this.vtable[t]!=0?e-this.vtable[t]:0);let s=2;this.addInt16(e-this.object_start);let i=(n+s)*2;this.addInt16(i);let o=0,a=this.space;e:for(t=0;t<this.vtables.length;t++){let c=this.bb.capacity()-this.vtables[t];if(i==this.bb.readInt16(c)){for(let u=2;u<i;u+=2)if(this.bb.readInt16(a+u)!=this.bb.readInt16(c+u))continue e;o=this.vtables[t];break}}return o?(this.space=this.bb.capacity()-e,this.bb.writeInt32(this.space,o-e)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-e,this.offset()-e)),this.isNested=!1,e}finish(e,t,n){let s=n?4:0;if(t){let i=t;if(this.prep(this.minalign,8+s),i.length!=4)throw new TypeError("FlatBuffers: file identifier must be length "+4);for(let o=3;o>=0;o--)this.writeInt8(i.charCodeAt(o))}this.prep(this.minalign,4+s),this.addOffset(e),s&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,t){this.finish(e,t,!0)}requiredField(e,t){let n=this.bb.capacity()-e,s=n-this.bb.readInt32(n);if(!(t<this.bb.readInt16(s)&&this.bb.readInt16(s+t)!=0))throw new TypeError("FlatBuffers: field "+t+" must be set")}startVector(e,t,n){this.notNested(),this.vector_num_elems=t,this.prep(4,e*t),this.prep(n,e*t)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(e){if(!e)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(e))return this.string_maps.get(e);let t=this.createString(e);return this.string_maps.set(e,t),t}createString(e){if(e==null)return 0;let t;return e instanceof Uint8Array?t=e:t=this.text_encoder.encode(e),this.addInt8(0),this.startVector(1,t.length,1),this.bb.setPosition(this.space-=t.length),this.bb.bytes().set(t,this.space),this.endVector()}createByteVector(e){return e==null?0:(this.startVector(1,e.length,1),this.bb.setPosition(this.space-=e.length),this.bb.bytes().set(e,this.space),this.endVector())}createObjectOffset(e){return e===null?0:typeof e=="string"?this.createString(e):e.pack(this)}createObjectOffsetList(e){let t=[];for(let n=0;n<e.length;++n){let s=e[n];if(s!==null)t.push(this.createObjectOffset(s));else throw new TypeError("FlatBuffers: Argument for createObjectOffsetList cannot contain null.")}return t}createStructOffsetList(e,t){return t(this,e.length),this.createObjectOffsetList(e.slice().reverse()),this.endVector()}}});var le=p(()=>{ol();Kh();vT();Xh();Hh()});var yi,Jh=p(()=>{(function(r){r[r.BUFFER=0]="BUFFER"})(yi||(yi={}))});var et,Co=p(()=>{(function(r){r[r.LZ4_FRAME=0]="LZ4_FRAME",r[r.ZSTD=1]="ZSTD"})(et||(et={}))});var _n,Yh=p(()=>{le();Jh();Co();_n=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsBodyCompression(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsBodyCompression(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}codec(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt8(this.bb_pos+e):et.LZ4_FRAME}method(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readInt8(this.bb_pos+e):yi.BUFFER}static startBodyCompression(e){e.startObject(2)}static addCodec(e,t){e.addFieldInt8(0,t,et.LZ4_FRAME)}static addMethod(e,t){e.addFieldInt8(1,t,yi.BUFFER)}static endBodyCompression(e){return e.endObject()}static createBodyCompression(e,t,n){return r.startBodyCompression(e),r.addCodec(e,t),r.addMethod(e,n),r.endBodyCompression(e)}}});var Uo,Qh=p(()=>{Uo=class{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}offset(){return this.bb.readInt64(this.bb_pos)}length(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createBuffer(e,t,n){return e.prep(8,16),e.writeInt64(BigInt(n??0)),e.writeInt64(BigInt(t??0)),e.offset()}}});var Po,Zh=p(()=>{Po=class{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}length(){return this.bb.readInt64(this.bb_pos)}nullCount(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createFieldNode(e,t,n){return e.prep(8,16),e.writeInt64(BigInt(n??0)),e.writeInt64(BigInt(t??0)),e.offset()}}});var ot,ep=p(()=>{le();Yh();Qh();Zh();ot=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsRecordBatch(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsRecordBatch(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}length(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt64(this.bb_pos+e):BigInt("0")}nodes(e,t){let n=this.bb.__offset(this.bb_pos,6);return n?(t||new Po).__init(this.bb.__vector(this.bb_pos+n)+e*16,this.bb):null}nodesLength(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}buffers(e,t){let n=this.bb.__offset(this.bb_pos,8);return n?(t||new Uo).__init(this.bb.__vector(this.bb_pos+n)+e*16,this.bb):null}buffersLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}compression(e){let t=this.bb.__offset(this.bb_pos,10);return t?(e||new _n).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}variadicBufferCounts(e){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt64(this.bb.__vector(this.bb_pos+t)+e*8):BigInt(0)}variadicBufferCountsLength(){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startRecordBatch(e){e.startObject(5)}static addLength(e,t){e.addFieldInt64(0,t,BigInt("0"))}static addNodes(e,t){e.addFieldOffset(1,t,0)}static startNodesVector(e,t){e.startVector(16,t,8)}static addBuffers(e,t){e.addFieldOffset(2,t,0)}static startBuffersVector(e,t){e.startVector(16,t,8)}static addCompression(e,t){e.addFieldOffset(3,t,0)}static addVariadicBufferCounts(e,t){e.addFieldOffset(4,t,0)}static createVariadicBufferCountsVector(e,t){e.startVector(8,t.length,8);for(let n=t.length-1;n>=0;n--)e.addInt64(t[n]);return e.endVector()}static startVariadicBufferCountsVector(e,t){e.startVector(8,t,8)}static endRecordBatch(e){return e.endObject()}}});var An,IT=p(()=>{le();ep();An=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsDictionaryBatch(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsDictionaryBatch(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}id(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt64(this.bb_pos+e):BigInt("0")}data(e){let t=this.bb.__offset(this.bb_pos,6);return t?(e||new ot).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}isDelta(){let e=this.bb.__offset(this.bb_pos,8);return e?!!this.bb.readInt8(this.bb_pos+e):!1}static startDictionaryBatch(e){e.startObject(3)}static addId(e,t){e.addFieldInt64(0,t,BigInt("0"))}static addData(e,t){e.addFieldOffset(1,t,0)}static addIsDelta(e,t){e.addFieldInt8(2,+t,0)}static endDictionaryBatch(e){return e.endObject()}}});var rs,tp=p(()=>{(function(r){r[r.Little=0]="Little",r[r.Big=1]="Big"})(rs||(rs={}))});var sc,ST=p(()=>{(function(r){r[r.DenseArray=0]="DenseArray"})(sc||(sc={}))});var Nr,ll=p(()=>{le();Nr=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsInt(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsInt(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}bitWidth(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt32(this.bb_pos+e):0}isSigned(){let e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}static startInt(e){e.startObject(2)}static addBitWidth(e,t){e.addFieldInt32(0,t,0)}static addIsSigned(e,t){e.addFieldInt8(1,+t,0)}static endInt(e){return e.endObject()}static createInt(e,t,n){return r.startInt(e),r.addBitWidth(e,t),r.addIsSigned(e,n),r.endInt(e)}}});var tn,rp=p(()=>{le();ST();ll();tn=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsDictionaryEncoding(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsDictionaryEncoding(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}id(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt64(this.bb_pos+e):BigInt("0")}indexType(e){let t=this.bb.__offset(this.bb_pos,6);return t?(e||new Nr).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}isOrdered(){let e=this.bb.__offset(this.bb_pos,8);return e?!!this.bb.readInt8(this.bb_pos+e):!1}dictionaryKind(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt16(this.bb_pos+e):sc.DenseArray}static startDictionaryEncoding(e){e.startObject(4)}static addId(e,t){e.addFieldInt64(0,t,BigInt("0"))}static addIndexType(e,t){e.addFieldOffset(1,t,0)}static addIsOrdered(e,t){e.addFieldInt8(2,+t,0)}static addDictionaryKind(e,t){e.addFieldInt16(3,t,sc.DenseArray)}static endDictionaryEncoding(e){return e.endObject()}}});var Me,Vo=p(()=>{le();Me=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsKeyValue(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsKeyValue(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}key(e){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__string(this.bb_pos+t,e):null}value(e){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__string(this.bb_pos+t,e):null}static startKeyValue(e){e.startObject(2)}static addKey(e,t){e.addFieldOffset(0,t,0)}static addValue(e,t){e.addFieldOffset(1,t,0)}static endKeyValue(e){return e.endObject()}static createKeyValue(e,t,n){return r.startKeyValue(e),r.addKey(e,t),r.addValue(e,n),r.endKeyValue(e)}}});var ic,ET=p(()=>{le();ic=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsBinary(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsBinary(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static startBinary(e){e.startObject(0)}static endBinary(e){return e.endObject()}static createBinary(e){return r.startBinary(e),r.endBinary(e)}}});var oc,LT=p(()=>{le();oc=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsBinaryView(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsBinaryView(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static startBinaryView(e){e.startObject(0)}static endBinaryView(e){return e.endObject()}static createBinaryView(e){return r.startBinaryView(e),r.endBinaryView(e)}}});var ac,BT=p(()=>{le();ac=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsBool(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsBool(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static startBool(e){e.startObject(0)}static endBool(e){return e.endObject()}static createBool(e){return r.startBool(e),r.endBool(e)}}});var ns,np=p(()=>{le();$h();ns=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsDate(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsDate(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}unit(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ye.MILLISECOND}static startDate(e){e.startObject(1)}static addUnit(e,t){e.addFieldInt16(0,t,ye.MILLISECOND)}static endDate(e){return e.endObject()}static createDate(e,t){return r.startDate(e),r.addUnit(e,t),r.endDate(e)}}});var rn,sp=p(()=>{le();rn=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsDecimal(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsDecimal(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}precision(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt32(this.bb_pos+e):0}scale(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readInt32(this.bb_pos+e):0}bitWidth(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readInt32(this.bb_pos+e):128}static startDecimal(e){e.startObject(3)}static addPrecision(e,t){e.addFieldInt32(0,t,0)}static addScale(e,t){e.addFieldInt32(1,t,0)}static addBitWidth(e,t){e.addFieldInt32(2,t,128)}static endDecimal(e){return e.endObject()}static createDecimal(e,t,n,s){return r.startDecimal(e),r.addPrecision(e,t),r.addScale(e,n),r.addBitWidth(e,s),r.endDecimal(e)}}});var ss,ip=p(()=>{le();rc();ss=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsDuration(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsDuration(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}unit(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):L.MILLISECOND}static startDuration(e){e.startObject(1)}static addUnit(e,t){e.addFieldInt16(0,t,L.MILLISECOND)}static endDuration(e){return e.endObject()}static createDuration(e,t){return r.startDuration(e),r.addUnit(e,t),r.endDuration(e)}}});var is,op=p(()=>{le();is=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsFixedSizeBinary(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFixedSizeBinary(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}byteWidth(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt32(this.bb_pos+e):0}static startFixedSizeBinary(e){e.startObject(1)}static addByteWidth(e,t){e.addFieldInt32(0,t,0)}static endFixedSizeBinary(e){return e.endObject()}static createFixedSizeBinary(e,t){return r.startFixedSizeBinary(e),r.addByteWidth(e,t),r.endFixedSizeBinary(e)}}});var os,ap=p(()=>{le();os=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsFixedSizeList(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFixedSizeList(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}listSize(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt32(this.bb_pos+e):0}static startFixedSizeList(e){e.startObject(1)}static addListSize(e,t){e.addFieldInt32(0,t,0)}static endFixedSizeList(e){return e.endObject()}static createFixedSizeList(e,t){return r.startFixedSizeList(e),r.addListSize(e,t),r.endFixedSizeList(e)}}});var as,cp=p(()=>{le();Wh();as=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsFloatingPoint(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFloatingPoint(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}precision(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):he.HALF}static startFloatingPoint(e){e.startObject(1)}static addPrecision(e,t){e.addFieldInt16(0,t,he.HALF)}static endFloatingPoint(e){return e.endObject()}static createFloatingPoint(e,t){return r.startFloatingPoint(e),r.addPrecision(e,t),r.endFloatingPoint(e)}}});var cs,up=p(()=>{le();qh();cs=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsInterval(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsInterval(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}unit(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ue.YEAR_MONTH}static startInterval(e){e.startObject(1)}static addUnit(e,t){e.addFieldInt16(0,t,ue.YEAR_MONTH)}static endInterval(e){return e.endObject()}static createInterval(e,t){return r.startInterval(e),r.addUnit(e,t),r.endInterval(e)}}});var cc,FT=p(()=>{le();cc=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsLargeBinary(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsLargeBinary(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static startLargeBinary(e){e.startObject(0)}static endLargeBinary(e){return e.endObject()}static createLargeBinary(e){return r.startLargeBinary(e),r.endLargeBinary(e)}}});var uc,OT=p(()=>{le();uc=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsLargeList(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsLargeList(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static startLargeList(e){e.startObject(0)}static endLargeList(e){return e.endObject()}static createLargeList(e){return r.startLargeList(e),r.endLargeList(e)}}});var lc,MT=p(()=>{le();lc=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsLargeUtf8(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsLargeUtf8(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static startLargeUtf8(e){e.startObject(0)}static endLargeUtf8(e){return e.endObject()}static createLargeUtf8(e){return r.startLargeUtf8(e),r.endLargeUtf8(e)}}});var fc,RT=p(()=>{le();fc=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsList(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsList(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static startList(e){e.startObject(0)}static endList(e){return e.endObject()}static createList(e){return r.startList(e),r.endList(e)}}});var us,lp=p(()=>{le();us=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsMap(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMap(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}keysSorted(){let e=this.bb.__offset(this.bb_pos,4);return e?!!this.bb.readInt8(this.bb_pos+e):!1}static startMap(e){e.startObject(1)}static addKeysSorted(e,t){e.addFieldInt8(0,+t,0)}static endMap(e){return e.endObject()}static createMap(e,t){return r.startMap(e),r.addKeysSorted(e,t),r.endMap(e)}}});var dc,DT=p(()=>{le();dc=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsNull(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsNull(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static startNull(e){e.startObject(0)}static endNull(e){return e.endObject()}static createNull(e){return r.startNull(e),r.endNull(e)}}});var hc,NT=p(()=>{le();hc=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsStruct_(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsStruct_(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static startStruct_(e){e.startObject(0)}static endStruct_(e){return e.endObject()}static createStruct_(e){return r.startStruct_(e),r.endStruct_(e)}}});var vn,fp=p(()=>{le();rc();vn=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsTime(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsTime(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}unit(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):L.MILLISECOND}bitWidth(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readInt32(this.bb_pos+e):32}static startTime(e){e.startObject(2)}static addUnit(e,t){e.addFieldInt16(0,t,L.MILLISECOND)}static addBitWidth(e,t){e.addFieldInt32(1,t,32)}static endTime(e){return e.endObject()}static createTime(e,t,n){return r.startTime(e),r.addUnit(e,t),r.addBitWidth(e,n),r.endTime(e)}}});var In,dp=p(()=>{le();rc();In=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsTimestamp(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsTimestamp(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}unit(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):L.SECOND}timezone(e){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__string(this.bb_pos+t,e):null}static startTimestamp(e){e.startObject(2)}static addUnit(e,t){e.addFieldInt16(0,t,L.SECOND)}static addTimezone(e,t){e.addFieldOffset(1,t,0)}static endTimestamp(e){return e.endObject()}static createTimestamp(e,t,n){return r.startTimestamp(e),r.addUnit(e,t),r.addTimezone(e,n),r.endTimestamp(e)}}});var kr,hp=p(()=>{le();zh();kr=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsUnion(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUnion(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}mode(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):me.Sparse}typeIds(e){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb.__vector(this.bb_pos+t)+e*4):0}typeIdsLength(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}typeIdsArray(){let e=this.bb.__offset(this.bb_pos,6);return e?new Int32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}static startUnion(e){e.startObject(2)}static addMode(e,t){e.addFieldInt16(0,t,me.Sparse)}static addTypeIds(e,t){e.addFieldOffset(1,t,0)}static createTypeIdsVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addInt32(t[n]);return e.endVector()}static startTypeIdsVector(e,t){e.startVector(4,t,4)}static endUnion(e){return e.endObject()}static createUnion(e,t,n){return r.startUnion(e),r.addMode(e,t),r.addTypeIds(e,n),r.endUnion(e)}}});var pc,kT=p(()=>{le();pc=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsUtf8(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return r.startUtf8(e),r.endUtf8(e)}}});var mc,CT=p(()=>{le();mc=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsUtf8View(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8View(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8View(e){e.startObject(0)}static endUtf8View(e){return e.endObject()}static createUtf8View(e){return r.startUtf8View(e),r.endUtf8View(e)}}});var z,fl=p(()=>{(function(r){r[r.NONE=0]="NONE",r[r.Null=1]="Null",r[r.Int=2]="Int",r[r.FloatingPoint=3]="FloatingPoint",r[r.Binary=4]="Binary",r[r.Utf8=5]="Utf8",r[r.Bool=6]="Bool",r[r.Decimal=7]="Decimal",r[r.Date=8]="Date",r[r.Time=9]="Time",r[r.Timestamp=10]="Timestamp",r[r.Interval=11]="Interval",r[r.List=12]="List",r[r.Struct_=13]="Struct_",r[r.Union=14]="Union",r[r.FixedSizeBinary=15]="FixedSizeBinary",r[r.FixedSizeList=16]="FixedSizeList",r[r.Map=17]="Map",r[r.Duration=18]="Duration",r[r.LargeBinary=19]="LargeBinary",r[r.LargeUtf8=20]="LargeUtf8",r[r.LargeList=21]="LargeList",r[r.RunEndEncoded=22]="RunEndEncoded",r[r.BinaryView=23]="BinaryView",r[r.Utf8View=24]="Utf8View",r[r.ListView=25]="ListView",r[r.LargeListView=26]="LargeListView"})(z||(z={}))});var at,pp=p(()=>{le();rp();Vo();fl();at=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsField(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}name(e){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__string(this.bb_pos+t,e):null}nullable(){let e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):z.NONE}type(e){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__union(e,this.bb_pos+t):null}dictionary(e){let t=this.bb.__offset(this.bb_pos,12);return t?(e||new tn).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}children(e,t){let n=this.bb.__offset(this.bb_pos,14);return n?(t||new r).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+e*4),this.bb):null}childrenLength(){let e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){let n=this.bb.__offset(this.bb_pos,16);return n?(t||new Me).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,t){e.addFieldOffset(0,t,0)}static addNullable(e,t){e.addFieldInt8(1,+t,0)}static addTypeType(e,t){e.addFieldInt8(2,t,z.NONE)}static addType(e,t){e.addFieldOffset(3,t,0)}static addDictionary(e,t){e.addFieldOffset(4,t,0)}static addChildren(e,t){e.addFieldOffset(5,t,0)}static createChildrenVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addOffset(t[n]);return e.endVector()}static startChildrenVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(6,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addOffset(t[n]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endField(e){return e.endObject()}}});var kt,mp=p(()=>{le();tp();pp();Vo();kt=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsSchema(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}endianness(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):rs.Little}fields(e,t){let n=this.bb.__offset(this.bb_pos,6);return n?(t||new at).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+e*4),this.bb):null}fieldsLength(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){let n=this.bb.__offset(this.bb_pos,8);return n?(t||new Me).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb.__vector(this.bb_pos+t)+e*8):BigInt(0)}featuresLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,t){e.addFieldInt16(0,t,rs.Little)}static addFields(e,t){e.addFieldOffset(1,t,0)}static createFieldsVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addOffset(t[n]);return e.endVector()}static startFieldsVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(2,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addOffset(t[n]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static addFeatures(e,t){e.addFieldOffset(3,t,0)}static createFeaturesVector(e,t){e.startVector(8,t.length,8);for(let n=t.length-1;n>=0;n--)e.addInt64(t[n]);return e.endVector()}static startFeaturesVector(e,t){e.startVector(8,t,8)}static endSchema(e){return e.endObject()}static createSchema(e,t,n,s,i){return r.startSchema(e),r.addEndianness(e,t),r.addFields(e,n),r.addCustomMetadata(e,s),r.addFeatures(e,i),r.endSchema(e)}}});var oe,dl=p(()=>{(function(r){r[r.NONE=0]="NONE",r[r.Schema=1]="Schema",r[r.DictionaryBatch=2]="DictionaryBatch",r[r.RecordBatch=3]="RecordBatch",r[r.Tensor=4]="Tensor",r[r.SparseTensor=5]="SparseTensor"})(oe||(oe={}))});var w,ne,Re=p(()=>{il();zh();Wh();$h();rc();qh();dl();(function(r){r[r.NONE=0]="NONE",r[r.Null=1]="Null",r[r.Int=2]="Int",r[r.Float=3]="Float",r[r.Binary=4]="Binary",r[r.Utf8=5]="Utf8",r[r.Bool=6]="Bool",r[r.Decimal=7]="Decimal",r[r.Date=8]="Date",r[r.Time=9]="Time",r[r.Timestamp=10]="Timestamp",r[r.Interval=11]="Interval",r[r.List=12]="List",r[r.Struct=13]="Struct",r[r.Union=14]="Union",r[r.FixedSizeBinary=15]="FixedSizeBinary",r[r.FixedSizeList=16]="FixedSizeList",r[r.Map=17]="Map",r[r.Duration=18]="Duration",r[r.LargeBinary=19]="LargeBinary",r[r.LargeUtf8=20]="LargeUtf8",r[r.LargeList=21]="LargeList",r[r.BinaryView=23]="BinaryView",r[r.Utf8View=24]="Utf8View",r[r.Dictionary=-1]="Dictionary",r[r.Int8=-2]="Int8",r[r.Int16=-3]="Int16",r[r.Int32=-4]="Int32",r[r.Int64=-5]="Int64",r[r.Uint8=-6]="Uint8",r[r.Uint16=-7]="Uint16",r[r.Uint32=-8]="Uint32",r[r.Uint64=-9]="Uint64",r[r.Float16=-10]="Float16",r[r.Float32=-11]="Float32",r[r.Float64=-12]="Float64",r[r.DateDay=-13]="DateDay",r[r.DateMillisecond=-14]="DateMillisecond",r[r.TimestampSecond=-15]="TimestampSecond",r[r.TimestampMillisecond=-16]="TimestampMillisecond",r[r.TimestampMicrosecond=-17]="TimestampMicrosecond",r[r.TimestampNanosecond=-18]="TimestampNanosecond",r[r.TimeSecond=-19]="TimeSecond",r[r.TimeMillisecond=-20]="TimeMillisecond",r[r.TimeMicrosecond=-21]="TimeMicrosecond",r[r.TimeNanosecond=-22]="TimeNanosecond",r[r.DenseUnion=-23]="DenseUnion",r[r.SparseUnion=-24]="SparseUnion",r[r.IntervalDayTime=-25]="IntervalDayTime",r[r.IntervalYearMonth=-26]="IntervalYearMonth",r[r.DurationSecond=-27]="DurationSecond",r[r.DurationMillisecond=-28]="DurationMillisecond",r[r.DurationMicrosecond=-29]="DurationMicrosecond",r[r.DurationNanosecond=-30]="DurationNanosecond",r[r.IntervalMonthDayNano=-31]="IntervalMonthDayNano"})(w||(w={}));(function(r){r[r.OFFSET=0]="OFFSET",r[r.DATA=1]="DATA",r[r.VALIDITY=2]="VALIDITY",r[r.TYPE=3]="TYPE"})(ne||(ne={}))});var bp={};Y(bp,{valueToString:()=>Cr});function Cr(r){if(r===null)return"null";if(r===void 0)return"undefined";switch(typeof r){case"number":return`${r}`;case"bigint":return`${r}`;case"string":return`"${r}"`}return typeof r[Symbol.toPrimitive]=="function"?r[Symbol.toPrimitive]("string"):ArrayBuffer.isView(r)?r instanceof BigInt64Array||r instanceof BigUint64Array?`[${[...r].map(e=>Cr(e))}]`:`[${r}]`:ArrayBuffer.isView(r)?`[${r}]`:JSON.stringify(r,(e,t)=>typeof t=="bigint"?`${t}`:t)}var bc=p(()=>{});function re(r){if(typeof r=="bigint"&&(r<Number.MIN_SAFE_INTEGER||r>Number.MAX_SAFE_INTEGER))throw new TypeError(`${r} is not safe to convert to a number.`);return Number(r)}function gp(r,e){return re(r/e)+re(r%e)/re(e)}var nn=p(()=>{});var xp={};Y(xp,{BN:()=>wi,bigNumToBigInt:()=>PT,bigNumToNumber:()=>wp,bigNumToString:()=>zo,isArrowBigNumSymbol:()=>UT});function Ur(r,...e){return e.length===0?Object.setPrototypeOf(te(this.TypedArray,r),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(r,...e),this.constructor.prototype)}function jo(...r){return Ur.apply(this,r)}function Go(...r){return Ur.apply(this,r)}function gc(...r){return Ur.apply(this,r)}function wp(r,e){let{buffer:t,byteOffset:n,byteLength:s,signed:i}=r,o=new BigUint64Array(t,n,s/8),a=i&&o.at(-1)&BigInt(1)<<BigInt(63),c=BigInt(0),u=0;if(a){for(let l of o)c|=(l^XO)*(BigInt(1)<<BigInt(64*u++));c*=BigInt(-1),c-=BigInt(1)}else for(let l of o)c|=l*(BigInt(1)<<BigInt(64*u++));if(typeof e=="number"&&e>0){let l=BigInt("1".padEnd(e+1,"0")),f=c/l,d=a?-(c%l):c%l,h=re(f),m=`${d}`.padStart(e,"0");return+`${a&&h===0?"-":""}${h}.${m}`}return re(c)}function zo(r){if(r.byteLength===8)return`${new r.BigIntArray(r.buffer,r.byteOffset,1)[0]}`;if(!r.signed)return yp(r);let e=new Uint16Array(r.buffer,r.byteOffset,r.byteLength/2);if(new Int16Array([e.at(-1)])[0]>=0)return yp(r);e=e.slice();let n=1;for(let i=0;i<e.length;i++){let o=e[i],a=~o+n;e[i]=a,n&=o===0?1:0}return`-${yp(e)}`}function PT(r){return r.byteLength===8?new r.BigIntArray(r.buffer,r.byteOffset,1)[0]:zo(r)}function yp(r){let e="",t=new Uint32Array(2),n=new Uint16Array(r.buffer,r.byteOffset,r.byteLength/2),s=new Uint32Array((n=new Uint16Array(n).reverse()).buffer),i=-1,o=n.length-1;do{for(t[0]=n[i=0];i<o;)n[i++]=t[1]=t[0]/10,t[0]=(t[0]-t[1]*10<<16)+n[i];n[i]=t[1]=t[0]/10,t[0]=t[0]-t[1]*10,e=`${t[0]}${e}`}while(s[0]||s[1]||s[2]||s[3]);return e??"0"}var UT,HO,XO,wi,hl=p(()=>{Ke();nn();UT=Symbol.for("isArrowBigNum");Ur.prototype[UT]=!0;Ur.prototype.toJSON=function(){return`"${zo(this)}"`};Ur.prototype.valueOf=function(r){return wp(this,r)};Ur.prototype.toString=function(){return zo(this)};Ur.prototype[Symbol.toPrimitive]=function(r="default"){switch(r){case"number":return wp(this);case"string":return zo(this);case"default":return PT(this)}return zo(this)};Object.setPrototypeOf(jo.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(Go.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(gc.prototype,Object.create(Uint32Array.prototype));Object.assign(jo.prototype,Ur.prototype,{constructor:jo,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(Go.prototype,Ur.prototype,{constructor:Go,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(gc.prototype,Ur.prototype,{constructor:gc,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});HO=BigInt(4294967296)*BigInt(4294967296),XO=HO-BigInt(1);wi=class r{static new(e,t){switch(t){case!0:return new jo(e);case!1:return new Go(e)}switch(e.constructor){case Int8Array:case Int16Array:case Int32Array:case BigInt64Array:return new jo(e)}return e.byteLength===16?new gc(e):new Go(e)}static signed(e){return new jo(e)}static unsigned(e){return new Go(e)}static decimal(e){return new gc(e)}constructor(e,t){return r.new(e,t)}}});function or(r){let e=r;switch(r.typeId){case w.Decimal:return r.bitWidth/32;case w.Interval:return e.unit===ue.MONTH_DAY_NANO?4:1+e.unit;case w.BinaryView:case w.Utf8View:return 16;case w.FixedSizeList:return e.listSize;case w.FixedSizeBinary:return e.byteWidth;default:return 1}}var VT,jT,GT,zT,WT,$T,qT,KT,HT,XT,JT,YT,QT,ZT,e0,t0,r0,n0,s0,i0,o0,a0,c0,u0,l0,f0,E,Ce,Oe,Zt,er,Pe,tr,rr,nr,vt,Pr,ct,Vr,It,sr,Ct,Z,jr,ut,St,Gr,lt,Ut,Et,ls,fs,tt,ds,hs,ps,ms,rt,bs,sn,gs,ys,ft,ws,xs,yc,Lt,wc,xc,Tc,_c,je,ir,fe,Bt,Sn,Ts,Pt,Fe,dt,JO,Ge,we=p(()=>{nn();Re();f0=Symbol.for("apache-arrow/DataType"),E=class r{static isDataType(e){return e?.[f0]===!0}static isNull(e){return e?.typeId===w.Null}static isInt(e){return e?.typeId===w.Int}static isFloat(e){return e?.typeId===w.Float}static isBinary(e){return e?.typeId===w.Binary}static isBinaryView(e){return e?.typeId===w.BinaryView}static isLargeBinary(e){return e?.typeId===w.LargeBinary}static isUtf8(e){return e?.typeId===w.Utf8}static isUtf8View(e){return e?.typeId===w.Utf8View}static isLargeUtf8(e){return e?.typeId===w.LargeUtf8}static isBool(e){return e?.typeId===w.Bool}static isDecimal(e){return e?.typeId===w.Decimal}static isDate(e){return e?.typeId===w.Date}static isTime(e){return e?.typeId===w.Time}static isTimestamp(e){return e?.typeId===w.Timestamp}static isInterval(e){return e?.typeId===w.Interval}static isDuration(e){return e?.typeId===w.Duration}static isList(e){return e?.typeId===w.List}static isLargeList(e){return e?.typeId===w.LargeList}static isStruct(e){return e?.typeId===w.Struct}static isUnion(e){return e?.typeId===w.Union}static isFixedSizeBinary(e){return e?.typeId===w.FixedSizeBinary}static isFixedSizeList(e){return e?.typeId===w.FixedSizeList}static isMap(e){return e?.typeId===w.Map}static isDictionary(e){return e?.typeId===w.Dictionary}static isDenseUnion(e){return r.isUnion(e)&&e.mode===me.Dense}static isSparseUnion(e){return r.isUnion(e)&&e.mode===me.Sparse}constructor(e){this.typeId=e}};VT=Symbol.toStringTag;E[VT]=(r=>(r.children=null,r.ArrayType=Array,r.OffsetArrayType=Int32Array,r[f0]=!0,r[Symbol.toStringTag]="DataType"))(E.prototype);Ce=class extends E{constructor(){super(w.Null)}toString(){return"Null"}};jT=Symbol.toStringTag;Ce[jT]=(r=>r[Symbol.toStringTag]="Null")(Ce.prototype);Oe=class extends E{constructor(e,t){super(w.Int),this.isSigned=e,this.bitWidth=t}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}};GT=Symbol.toStringTag;Oe[GT]=(r=>(r.isSigned=null,r.bitWidth=null,r[Symbol.toStringTag]="Int"))(Oe.prototype);Zt=class extends Oe{constructor(){super(!0,8)}get ArrayType(){return Int8Array}},er=class extends Oe{constructor(){super(!0,16)}get ArrayType(){return Int16Array}},Pe=class extends Oe{constructor(){super(!0,32)}get ArrayType(){return Int32Array}},tr=class extends Oe{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}},rr=class extends Oe{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}},nr=class extends Oe{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}},vt=class extends Oe{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}},Pr=class extends Oe{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}};Object.defineProperty(Zt.prototype,"ArrayType",{value:Int8Array});Object.defineProperty(er.prototype,"ArrayType",{value:Int16Array});Object.defineProperty(Pe.prototype,"ArrayType",{value:Int32Array});Object.defineProperty(tr.prototype,"ArrayType",{value:BigInt64Array});Object.defineProperty(rr.prototype,"ArrayType",{value:Uint8Array});Object.defineProperty(nr.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(vt.prototype,"ArrayType",{value:Uint32Array});Object.defineProperty(Pr.prototype,"ArrayType",{value:BigUint64Array});ct=class extends E{constructor(e){super(w.Float),this.precision=e}get ArrayType(){switch(this.precision){case he.HALF:return Uint16Array;case he.SINGLE:return Float32Array;case he.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}};zT=Symbol.toStringTag;ct[zT]=(r=>(r.precision=null,r[Symbol.toStringTag]="Float"))(ct.prototype);Vr=class extends ct{constructor(){super(he.HALF)}},It=class extends ct{constructor(){super(he.SINGLE)}},sr=class extends ct{constructor(){super(he.DOUBLE)}};Object.defineProperty(Vr.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(It.prototype,"ArrayType",{value:Float32Array});Object.defineProperty(sr.prototype,"ArrayType",{value:Float64Array});Ct=class extends E{constructor(){super(w.Binary)}toString(){return"Binary"}};WT=Symbol.toStringTag;Ct[WT]=(r=>(r.ArrayType=Uint8Array,r[Symbol.toStringTag]="Binary"))(Ct.prototype);Z=class extends E{constructor(){super(w.BinaryView)}toString(){return"BinaryView"}};$T=Symbol.toStringTag;Z.ELEMENT_WIDTH=16;Z.INLINE_CAPACITY=12;Z.LENGTH_OFFSET=0;Z.INLINE_OFFSET=4;Z.BUFFER_INDEX_OFFSET=8;Z.BUFFER_OFFSET_OFFSET=12;Z[$T]=(r=>(r.ArrayType=Uint8Array,r[Symbol.toStringTag]="BinaryView"))(Z.prototype);jr=class extends E{constructor(){super(w.LargeBinary)}toString(){return"LargeBinary"}};qT=Symbol.toStringTag;jr[qT]=(r=>(r.ArrayType=Uint8Array,r.OffsetArrayType=BigInt64Array,r[Symbol.toStringTag]="LargeBinary"))(jr.prototype);ut=class extends E{constructor(){super(w.Utf8)}toString(){return"Utf8"}};KT=Symbol.toStringTag;ut[KT]=(r=>(r.ArrayType=Uint8Array,r[Symbol.toStringTag]="Utf8"))(ut.prototype);St=class extends E{constructor(){super(w.Utf8View)}toString(){return"Utf8View"}};HT=Symbol.toStringTag;St.ELEMENT_WIDTH=Z.ELEMENT_WIDTH;St.INLINE_CAPACITY=Z.INLINE_CAPACITY;St[HT]=(r=>(r.ArrayType=Uint8Array,r[Symbol.toStringTag]="Utf8View"))(St.prototype);Gr=class extends E{constructor(){super(w.LargeUtf8)}toString(){return"LargeUtf8"}};XT=Symbol.toStringTag;Gr[XT]=(r=>(r.ArrayType=Uint8Array,r.OffsetArrayType=BigInt64Array,r[Symbol.toStringTag]="LargeUtf8"))(Gr.prototype);lt=class extends E{constructor(){super(w.Bool)}toString(){return"Bool"}};JT=Symbol.toStringTag;lt[JT]=(r=>(r.ArrayType=Uint8Array,r[Symbol.toStringTag]="Bool"))(lt.prototype);Ut=class extends E{constructor(e,t,n=128){super(w.Decimal),this.scale=e,this.precision=t,this.bitWidth=n}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}};YT=Symbol.toStringTag;Ut[YT]=(r=>(r.scale=null,r.precision=null,r.ArrayType=Uint32Array,r[Symbol.toStringTag]="Decimal"))(Ut.prototype);Et=class extends E{constructor(e){super(w.Date),this.unit=e}toString(){return`Date${(this.unit+1)*32}<${ye[this.unit]}>`}get ArrayType(){return this.unit===ye.DAY?Int32Array:BigInt64Array}};QT=Symbol.toStringTag;Et[QT]=(r=>(r.unit=null,r[Symbol.toStringTag]="Date"))(Et.prototype);ls=class extends Et{constructor(){super(ye.DAY)}},fs=class extends Et{constructor(){super(ye.MILLISECOND)}},tt=class extends E{constructor(e,t){super(w.Time),this.unit=e,this.bitWidth=t}toString(){return`Time${this.bitWidth}<${L[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}};ZT=Symbol.toStringTag;tt[ZT]=(r=>(r.unit=null,r.bitWidth=null,r[Symbol.toStringTag]="Time"))(tt.prototype);ds=class extends tt{constructor(){super(L.SECOND,32)}},hs=class extends tt{constructor(){super(L.MILLISECOND,32)}},ps=class extends tt{constructor(){super(L.MICROSECOND,64)}},ms=class extends tt{constructor(){super(L.NANOSECOND,64)}},rt=class extends E{constructor(e,t){super(w.Timestamp),this.unit=e,this.timezone=t}toString(){return`Timestamp<${L[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}};e0=Symbol.toStringTag;rt[e0]=(r=>(r.unit=null,r.timezone=null,r.ArrayType=BigInt64Array,r[Symbol.toStringTag]="Timestamp"))(rt.prototype);bs=class extends rt{constructor(e){super(L.SECOND,e)}},sn=class extends rt{constructor(e){super(L.MILLISECOND,e)}},gs=class extends rt{constructor(e){super(L.MICROSECOND,e)}},ys=class extends rt{constructor(e){super(L.NANOSECOND,e)}},ft=class extends E{constructor(e){super(w.Interval),this.unit=e}toString(){return`Interval<${ue[this.unit]}>`}};t0=Symbol.toStringTag;ft[t0]=(r=>(r.unit=null,r.ArrayType=Int32Array,r[Symbol.toStringTag]="Interval"))(ft.prototype);ws=class extends ft{constructor(){super(ue.DAY_TIME)}},xs=class extends ft{constructor(){super(ue.YEAR_MONTH)}},yc=class extends ft{constructor(){super(ue.MONTH_DAY_NANO)}},Lt=class extends E{constructor(e){super(w.Duration),this.unit=e}toString(){return`Duration<${L[this.unit]}>`}};r0=Symbol.toStringTag;Lt[r0]=(r=>(r.unit=null,r.ArrayType=BigInt64Array,r[Symbol.toStringTag]="Duration"))(Lt.prototype);wc=class extends Lt{constructor(){super(L.SECOND)}},xc=class extends Lt{constructor(){super(L.MILLISECOND)}},Tc=class extends Lt{constructor(){super(L.MICROSECOND)}},_c=class extends Lt{constructor(){super(L.NANOSECOND)}},je=class extends E{constructor(e){super(w.List),this.children=[e]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};n0=Symbol.toStringTag;je[n0]=(r=>(r.children=null,r[Symbol.toStringTag]="List"))(je.prototype);ir=class extends E{constructor(e){super(w.LargeList),this.children=[e]}toString(){return`LargeList<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};s0=Symbol.toStringTag;ir[s0]=(r=>(r.children=null,r.OffsetArrayType=BigInt64Array,r[Symbol.toStringTag]="LargeList"))(ir.prototype);fe=class extends E{constructor(e){super(w.Struct),this.children=e}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}};i0=Symbol.toStringTag;fe[i0]=(r=>(r.children=null,r[Symbol.toStringTag]="Struct"))(fe.prototype);Bt=class extends E{constructor(e,t,n){super(w.Union),this.mode=e,this.children=n,this.typeIds=t=Int32Array.from(t),this.typeIdToChildIndex=t.reduce((s,i,o)=>(s[i]=o)&&s||s,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}};o0=Symbol.toStringTag;Bt[o0]=(r=>(r.mode=null,r.typeIds=null,r.children=null,r.typeIdToChildIndex=null,r.ArrayType=Int8Array,r[Symbol.toStringTag]="Union"))(Bt.prototype);Sn=class extends Bt{constructor(e,t){super(me.Dense,e,t)}},Ts=class extends Bt{constructor(e,t){super(me.Sparse,e,t)}},Pt=class extends E{constructor(e){super(w.FixedSizeBinary),this.byteWidth=e}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};a0=Symbol.toStringTag;Pt[a0]=(r=>(r.byteWidth=null,r.ArrayType=Uint8Array,r[Symbol.toStringTag]="FixedSizeBinary"))(Pt.prototype);Fe=class extends E{constructor(e,t){super(w.FixedSizeList),this.listSize=e,this.children=[t]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};c0=Symbol.toStringTag;Fe[c0]=(r=>(r.children=null,r.listSize=null,r[Symbol.toStringTag]="FixedSizeList"))(Fe.prototype);dt=class extends E{constructor(e,t=!1){var n,s,i;if(super(w.Map),this.children=[e],this.keysSorted=t,e&&(e.name="entries",!((n=e?.type)===null||n===void 0)&&n.children)){let o=(s=e?.type)===null||s===void 0?void 0:s.children[0];o&&(o.name="key");let a=(i=e?.type)===null||i===void 0?void 0:i.children[1];a&&(a.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}};u0=Symbol.toStringTag;dt[u0]=(r=>(r.children=null,r.keysSorted=null,r[Symbol.toStringTag]="Map_"))(dt.prototype);JO=(r=>()=>++r)(-1),Ge=class extends E{constructor(e,t,n,s){super(w.Dictionary),this.indices=t,this.dictionary=e,this.isOrdered=s||!1,this.id=n==null?JO():re(n)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}};l0=Symbol.toStringTag;Ge[l0]=(r=>(r.id=null,r.indices=null,r.isOrdered=null,r.dictionary=null,r[Symbol.toStringTag]="Dictionary"))(Ge.prototype)});function YO(r,e,t=!0){return typeof e=="number"?Wo(r,e,t):typeof e=="string"&&e in w?Wo(r,w[e],t):e&&e instanceof E?Wo(r,h0(e),t):e?.type&&e.type instanceof E?Wo(r,h0(e.type),t):Wo(r,w.NONE,t)}function Wo(r,e,t=!0){let n=null;switch(e){case w.Null:n=r.visitNull;break;case w.Bool:n=r.visitBool;break;case w.Int:n=r.visitInt;break;case w.Int8:n=r.visitInt8||r.visitInt;break;case w.Int16:n=r.visitInt16||r.visitInt;break;case w.Int32:n=r.visitInt32||r.visitInt;break;case w.Int64:n=r.visitInt64||r.visitInt;break;case w.Uint8:n=r.visitUint8||r.visitInt;break;case w.Uint16:n=r.visitUint16||r.visitInt;break;case w.Uint32:n=r.visitUint32||r.visitInt;break;case w.Uint64:n=r.visitUint64||r.visitInt;break;case w.Float:n=r.visitFloat;break;case w.Float16:n=r.visitFloat16||r.visitFloat;break;case w.Float32:n=r.visitFloat32||r.visitFloat;break;case w.Float64:n=r.visitFloat64||r.visitFloat;break;case w.Utf8:n=r.visitUtf8;break;case w.LargeUtf8:n=r.visitLargeUtf8;break;case w.Utf8View:n=r.visitUtf8View||r.visitUtf8;break;case w.Binary:n=r.visitBinary;break;case w.LargeBinary:n=r.visitLargeBinary;break;case w.BinaryView:n=r.visitBinaryView||r.visitBinary;break;case w.FixedSizeBinary:n=r.visitFixedSizeBinary;break;case w.Date:n=r.visitDate;break;case w.DateDay:n=r.visitDateDay||r.visitDate;break;case w.DateMillisecond:n=r.visitDateMillisecond||r.visitDate;break;case w.Timestamp:n=r.visitTimestamp;break;case w.TimestampSecond:n=r.visitTimestampSecond||r.visitTimestamp;break;case w.TimestampMillisecond:n=r.visitTimestampMillisecond||r.visitTimestamp;break;case w.TimestampMicrosecond:n=r.visitTimestampMicrosecond||r.visitTimestamp;break;case w.TimestampNanosecond:n=r.visitTimestampNanosecond||r.visitTimestamp;break;case w.Time:n=r.visitTime;break;case w.TimeSecond:n=r.visitTimeSecond||r.visitTime;break;case w.TimeMillisecond:n=r.visitTimeMillisecond||r.visitTime;break;case w.TimeMicrosecond:n=r.visitTimeMicrosecond||r.visitTime;break;case w.TimeNanosecond:n=r.visitTimeNanosecond||r.visitTime;break;case w.Decimal:n=r.visitDecimal;break;case w.List:n=r.visitList;break;case w.LargeList:n=r.visitLargeList;break;case w.Struct:n=r.visitStruct;break;case w.Union:n=r.visitUnion;break;case w.DenseUnion:n=r.visitDenseUnion||r.visitUnion;break;case w.SparseUnion:n=r.visitSparseUnion||r.visitUnion;break;case w.Dictionary:n=r.visitDictionary;break;case w.Interval:n=r.visitInterval;break;case w.IntervalDayTime:n=r.visitIntervalDayTime||r.visitInterval;break;case w.IntervalYearMonth:n=r.visitIntervalYearMonth||r.visitInterval;break;case w.IntervalMonthDayNano:n=r.visitIntervalMonthDayNano||r.visitInterval;break;case w.Duration:n=r.visitDuration;break;case w.DurationSecond:n=r.visitDurationSecond||r.visitDuration;break;case w.DurationMillisecond:n=r.visitDurationMillisecond||r.visitDuration;break;case w.DurationMicrosecond:n=r.visitDurationMicrosecond||r.visitDuration;break;case w.DurationNanosecond:n=r.visitDurationNanosecond||r.visitDuration;break;case w.FixedSizeList:n=r.visitFixedSizeList;break;case w.Map:n=r.visitMap;break}if(typeof n=="function")return n;if(!t)return()=>null;throw new Error(`Unrecognized type '${w[e]}'`)}function h0(r){switch(r.typeId){case w.Null:return w.Null;case w.Int:{let{bitWidth:e,isSigned:t}=r;switch(e){case 8:return t?w.Int8:w.Uint8;case 16:return t?w.Int16:w.Uint16;case 32:return t?w.Int32:w.Uint32;case 64:return t?w.Int64:w.Uint64}return w.Int}case w.Float:switch(r.precision){case he.HALF:return w.Float16;case he.SINGLE:return w.Float32;case he.DOUBLE:return w.Float64}return w.Float;case w.Binary:return w.Binary;case w.LargeBinary:return w.LargeBinary;case w.BinaryView:return w.BinaryView;case w.Utf8:return w.Utf8;case w.LargeUtf8:return w.LargeUtf8;case w.Utf8View:return w.Utf8View;case w.Bool:return w.Bool;case w.Decimal:return w.Decimal;case w.Time:switch(r.unit){case L.SECOND:return w.TimeSecond;case L.MILLISECOND:return w.TimeMillisecond;case L.MICROSECOND:return w.TimeMicrosecond;case L.NANOSECOND:return w.TimeNanosecond}return w.Time;case w.Timestamp:switch(r.unit){case L.SECOND:return w.TimestampSecond;case L.MILLISECOND:return w.TimestampMillisecond;case L.MICROSECOND:return w.TimestampMicrosecond;case L.NANOSECOND:return w.TimestampNanosecond}return w.Timestamp;case w.Date:switch(r.unit){case ye.DAY:return w.DateDay;case ye.MILLISECOND:return w.DateMillisecond}return w.Date;case w.Interval:switch(r.unit){case ue.DAY_TIME:return w.IntervalDayTime;case ue.YEAR_MONTH:return w.IntervalYearMonth;case ue.MONTH_DAY_NANO:return w.IntervalMonthDayNano}return w.Interval;case w.Duration:switch(r.unit){case L.SECOND:return w.DurationSecond;case L.MILLISECOND:return w.DurationMillisecond;case L.MICROSECOND:return w.DurationMicrosecond;case L.NANOSECOND:return w.DurationNanosecond}return w.Duration;case w.Map:return w.Map;case w.List:return w.List;case w.LargeList:return w.LargeList;case w.Struct:return w.Struct;case w.Union:switch(r.mode){case me.Dense:return w.DenseUnion;case me.Sparse:return w.SparseUnion}return w.Union;case w.FixedSizeBinary:return w.FixedSizeBinary;case w.FixedSizeList:return w.FixedSizeList;case w.Dictionary:return w.Dictionary}throw new Error(`Unrecognized type '${w[r.typeId]}'`)}var D,Vt=p(()=>{Re();we();D=class{visitMany(e,...t){return e.map((n,s)=>this.visit(n,...t.map(i=>i[s])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,t=!0){return YO(this,e,t)}getVisitFnByTypeId(e,t=!0){return Wo(this,e,t)}visitNull(e,...t){return null}visitBool(e,...t){return null}visitInt(e,...t){return null}visitFloat(e,...t){return null}visitUtf8(e,...t){return null}visitLargeUtf8(e,...t){return null}visitUtf8View(e,...t){return null}visitBinary(e,...t){return null}visitLargeBinary(e,...t){return null}visitBinaryView(e,...t){return null}visitFixedSizeBinary(e,...t){return null}visitDate(e,...t){return null}visitTimestamp(e,...t){return null}visitTime(e,...t){return null}visitDecimal(e,...t){return null}visitList(e,...t){return null}visitLargeList(e,...t){return null}visitStruct(e,...t){return null}visitUnion(e,...t){return null}visitDictionary(e,...t){return null}visitInterval(e,...t){return null}visitDuration(e,...t){return null}visitFixedSizeList(e,...t){return null}visitMap(e,...t){return null}};D.prototype.visitInt8=null;D.prototype.visitInt16=null;D.prototype.visitInt32=null;D.prototype.visitInt64=null;D.prototype.visitUint8=null;D.prototype.visitUint16=null;D.prototype.visitUint32=null;D.prototype.visitUint64=null;D.prototype.visitFloat16=null;D.prototype.visitFloat32=null;D.prototype.visitFloat64=null;D.prototype.visitDateDay=null;D.prototype.visitDateMillisecond=null;D.prototype.visitTimestampSecond=null;D.prototype.visitTimestampMillisecond=null;D.prototype.visitTimestampMicrosecond=null;D.prototype.visitTimestampNanosecond=null;D.prototype.visitTimeSecond=null;D.prototype.visitTimeMillisecond=null;D.prototype.visitTimeMicrosecond=null;D.prototype.visitTimeNanosecond=null;D.prototype.visitDenseUnion=null;D.prototype.visitSparseUnion=null;D.prototype.visitIntervalDayTime=null;D.prototype.visitIntervalYearMonth=null;D.prototype.visitIntervalMonthDayNano=null;D.prototype.visitDuration=null;D.prototype.visitDurationSecond=null;D.prototype.visitDurationMillisecond=null;D.prototype.visitDurationMicrosecond=null;D.prototype.visitDurationNanosecond=null});var Tp={};Y(Tp,{float64ToUint16:()=>Ac,uint16ToFloat64:()=>pl});function pl(r){let e=(r&31744)>>10,t=(r&1023)/1024,n=Math.pow(-1,(r&32768)>>15);switch(e){case 31:return n*(t?Number.NaN:1/0);case 0:return n*(t?6103515625e-14*t:0)}return n*Math.pow(2,e-15)*(1+t)}function Ac(r){if(r!==r)return 32256;p0[0]=r;let e=($o[1]&2147483648)>>16&65535,t=$o[1]&2146435072,n=0;return t>=1089470464?$o[0]>0?t=31744:(t=(t&2080374784)>>16,n=($o[1]&1048575)>>10):t<=1056964608?(n=1048576+($o[1]&1048575),n=1048576+(n<<(t>>20)-998)>>21,t=0):(t=t-1056964608>>10,n=($o[1]&1048575)+512>>10),e|t|n&65535}var p0,$o,vc=p(()=>{p0=new Float64Array(1),$o=new Uint32Array(p0.buffer)});function q(r){return(e,t,n)=>{if(e.setValid(t,n!=null))return r(e,t,n)}}var G,QO,m0,ZO,En,_p,b0,eM,ml,bl,Ap,g0,tM,y0,rM,w0,nM,vp,gl,yl,wl,xl,Ip,Tl,_l,Al,vl,Sp,Ep,x0,sM,iM,oM,aM,cM,uM,lM,T0,_0,fM,Lp,Il,Sl,El,Ll,Bl,Fl,Ol,Bp,dM,nt,ar=p(()=>{ht();Vt();nn();Tn();vc();Re();we();G=class extends D{};QO=(r,e,t)=>{r[e]=Math.floor(t/864e5)},m0=(r,e,t,n)=>{if(t+1<e.length){let s=re(e[t]),i=re(e[t+1]);r.set(n.subarray(0,i-s),s)}},ZO=({offset:r,values:e},t,n)=>{let s=r+t;n?e[s>>3]|=1<<s%8:e[s>>3]&=~(1<<s%8)},En=({values:r},e,t)=>{r[e]=t},_p=({values:r},e,t)=>{r[e]=t},b0=({values:r},e,t)=>{r[e]=Ac(t)},eM=(r,e,t)=>{switch(r.type.precision){case he.HALF:return b0(r,e,t);case he.SINGLE:case he.DOUBLE:return _p(r,e,t)}},ml=({values:r},e,t)=>{QO(r,e,t.valueOf())},bl=({values:r},e,t)=>{r[e]=BigInt(t)},Ap=({stride:r,values:e},t,n)=>{e.set(n.subarray(0,r),r*t)},g0=({values:r,valueOffsets:e},t,n)=>m0(r,e,t,n),tM=r=>{let e=r.variadicBuffers;return(!Array.isArray(e)||Object.isFrozen(e))&&(e=Array.from(e),r.variadicBuffers=e),e},y0=(r,e,t)=>{var n,s,i,o;let a=r.values;if(!a)throw new Error("BinaryView data is missing view buffer");let c=Z.ELEMENT_WIDTH,u=e*c,l=u+c;if(u<0||l>a.length)throw new RangeError(`BinaryView index ${e} out of bounds`);a.fill(0,u,l);let f=new DataView(a.buffer,a.byteOffset+u,c),d=t.length;if(f.setInt32(Z.LENGTH_OFFSET,d,!0),d<=Z.INLINE_CAPACITY){a.set(t,u+Z.INLINE_OFFSET);return}let h=((n=t[0])!==null&&n!==void 0?n:0)|((s=t[1])!==null&&s!==void 0?s:0)<<8|((i=t[2])!==null&&i!==void 0?i:0)<<16|((o=t[3])!==null&&o!==void 0?o:0)<<24;f.setUint32(Z.INLINE_OFFSET,h>>>0,!0);let m=tM(r),b=t.slice(),g=m.push(b)-1;f.setInt32(Z.BUFFER_INDEX_OFFSET,g,!0),f.setInt32(Z.BUFFER_OFFSET_OFFSET,0,!0)},rM=(r,e,t)=>{let n=t instanceof Uint8Array?t:new Uint8Array(t);y0(r,e,n)},w0=({values:r,valueOffsets:e},t,n)=>m0(r,e,t,Jt(n)),nM=(r,e,t)=>{let n=Jt(t);y0(r,e,n)},vp=(r,e,t)=>{r.type.unit===ye.DAY?ml(r,e,t):bl(r,e,t)},gl=({values:r},e,t)=>{r[e]=BigInt(t/1e3)},yl=({values:r},e,t)=>{r[e]=BigInt(t)},wl=({values:r},e,t)=>{r[e]=BigInt(t*1e3)},xl=({values:r},e,t)=>{r[e]=BigInt(t*1e6)},Ip=(r,e,t)=>{switch(r.type.unit){case L.SECOND:return gl(r,e,t);case L.MILLISECOND:return yl(r,e,t);case L.MICROSECOND:return wl(r,e,t);case L.NANOSECOND:return xl(r,e,t)}},Tl=({values:r},e,t)=>{r[e]=t},_l=({values:r},e,t)=>{r[e]=t},Al=({values:r},e,t)=>{r[e]=t},vl=({values:r},e,t)=>{r[e]=t},Sp=(r,e,t)=>{switch(r.type.unit){case L.SECOND:return Tl(r,e,t);case L.MILLISECOND:return _l(r,e,t);case L.MICROSECOND:return Al(r,e,t);case L.NANOSECOND:return vl(r,e,t)}},Ep=({values:r,stride:e},t,n)=>{r.set(n.subarray(0,e),e*t)},x0=(r,e,t)=>{let n=r.children[0],s=r.valueOffsets,i=nt.getVisitFn(n),o=re(s[e]),a=re(s[e+1]);if(Array.isArray(t))for(let c=-1,u=o;u<a;)i(n,u++,t[++c]);else for(let c=-1,u=o;u<a;)i(n,u++,t.get(++c))},sM=(r,e,t)=>{let n=r.children[0],{valueOffsets:s}=r,i=nt.getVisitFn(n),{[e]:o,[e+1]:a}=s,c=t instanceof Map?t.entries():Object.entries(t);for(let u of c)if(i(n,o,u),++o>=a)break},iM=(r,e)=>(t,n,s,i)=>n&&t(n,r,e[i]),oM=(r,e)=>(t,n,s,i)=>n&&t(n,r,e.get(i)),aM=(r,e)=>(t,n,s,i)=>n&&t(n,r,e.get(s.name)),cM=(r,e)=>(t,n,s,i)=>n&&t(n,r,e[s.name]),uM=(r,e,t)=>{let n=r.type.children.map(i=>nt.getVisitFn(i.type)),s=t instanceof Map?aM(e,t):t instanceof B?oM(e,t):Array.isArray(t)?iM(e,t):cM(e,t);r.type.children.forEach((i,o)=>s(n[o],r.children[o],i,o))},lM=(r,e,t)=>{r.type.mode===me.Dense?T0(r,e,t):_0(r,e,t)},T0=(r,e,t)=>{let n=r.type.typeIdToChildIndex[r.typeIds[e]],s=r.children[n];nt.visit(s,r.valueOffsets[e],t)},_0=(r,e,t)=>{let n=r.type.typeIdToChildIndex[r.typeIds[e]],s=r.children[n];nt.visit(s,e,t)},fM=(r,e,t)=>{var n;(n=r.dictionary)===null||n===void 0||n.set(r.values[e],t)},Lp=(r,e,t)=>{switch(r.type.unit){case ue.YEAR_MONTH:return Sl(r,e,t);case ue.DAY_TIME:return Il(r,e,t);case ue.MONTH_DAY_NANO:return El(r,e,t)}},Il=({values:r},e,t)=>{r.set(t.subarray(0,2),2*e)},Sl=({values:r},e,t)=>{r[e]=t[0]*12+t[1]%12},El=({values:r,stride:e},t,n)=>{r.set(n.subarray(0,e),e*t)},Ll=({values:r},e,t)=>{r[e]=t},Bl=({values:r},e,t)=>{r[e]=t},Fl=({values:r},e,t)=>{r[e]=t},Ol=({values:r},e,t)=>{r[e]=t},Bp=(r,e,t)=>{switch(r.type.unit){case L.SECOND:return Ll(r,e,t);case L.MILLISECOND:return Bl(r,e,t);case L.MICROSECOND:return Fl(r,e,t);case L.NANOSECOND:return Ol(r,e,t)}},dM=(r,e,t)=>{let{stride:n}=r,s=r.children[0],i=nt.getVisitFn(s);if(Array.isArray(t))for(let o=-1,a=e*n;++o<n;)i(s,a+o,t[o]);else for(let o=-1,a=e*n;++o<n;)i(s,a+o,t.get(o))};G.prototype.visitBool=q(ZO);G.prototype.visitInt=q(En);G.prototype.visitInt8=q(En);G.prototype.visitInt16=q(En);G.prototype.visitInt32=q(En);G.prototype.visitInt64=q(En);G.prototype.visitUint8=q(En);G.prototype.visitUint16=q(En);G.prototype.visitUint32=q(En);G.prototype.visitUint64=q(En);G.prototype.visitFloat=q(eM);G.prototype.visitFloat16=q(b0);G.prototype.visitFloat32=q(_p);G.prototype.visitFloat64=q(_p);G.prototype.visitUtf8=q(w0);G.prototype.visitLargeUtf8=q(w0);G.prototype.visitUtf8View=q(nM);G.prototype.visitBinary=q(g0);G.prototype.visitLargeBinary=q(g0);G.prototype.visitBinaryView=q(rM);G.prototype.visitFixedSizeBinary=q(Ap);G.prototype.visitDate=q(vp);G.prototype.visitDateDay=q(ml);G.prototype.visitDateMillisecond=q(bl);G.prototype.visitTimestamp=q(Ip);G.prototype.visitTimestampSecond=q(gl);G.prototype.visitTimestampMillisecond=q(yl);G.prototype.visitTimestampMicrosecond=q(wl);G.prototype.visitTimestampNanosecond=q(xl);G.prototype.visitTime=q(Sp);G.prototype.visitTimeSecond=q(Tl);G.prototype.visitTimeMillisecond=q(_l);G.prototype.visitTimeMicrosecond=q(Al);G.prototype.visitTimeNanosecond=q(vl);G.prototype.visitDecimal=q(Ep);G.prototype.visitList=q(x0);G.prototype.visitLargeList=q(x0);G.prototype.visitStruct=q(uM);G.prototype.visitUnion=q(lM);G.prototype.visitDenseUnion=q(T0);G.prototype.visitSparseUnion=q(_0);G.prototype.visitDictionary=q(fM);G.prototype.visitInterval=q(Lp);G.prototype.visitIntervalDayTime=q(Il);G.prototype.visitIntervalYearMonth=q(Sl);G.prototype.visitIntervalMonthDayNano=q(El);G.prototype.visitDuration=q(Bp);G.prototype.visitDurationSecond=q(Ll);G.prototype.visitDurationMillisecond=q(Bl);G.prototype.visitDurationMicrosecond=q(Fl);G.prototype.visitDurationNanosecond=q(Ol);G.prototype.visitFixedSizeList=q(dM);G.prototype.visitMap=q(sM);nt=new G});var zr,qo,on,Fp,Op,hM,Ml=p(()=>{bc();xi();ar();zr=Symbol.for("parent"),qo=Symbol.for("rowIndex"),on=class{constructor(e,t){return this[zr]=e,this[qo]=t,new Proxy(this,hM)}toArray(){return Object.values(this.toJSON())}toJSON(){let e=this[qo],t=this[zr],n=t.type.children,s={};for(let i=-1,o=n.length;++i<o;)s[n[i].name]=ze.visit(t.children[i],e);return s}toString(){return`{${[...this].map(([e,t])=>`${Cr(e)}: ${Cr(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new Fp(this[zr],this[qo])}},Fp=class{constructor(e,t){this.childIndex=0,this.children=e.children,this.rowIndex=t,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){let e=this.childIndex;return e<this.numChildren?(this.childIndex=e+1,{done:!1,value:[this.childFields[e].name,ze.visit(this.children[e],this.rowIndex)]}):{done:!0,value:null}}};Object.defineProperties(on.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[zr]:{writable:!0,enumerable:!1,configurable:!1,value:null},[qo]:{writable:!0,enumerable:!1,configurable:!1,value:-1}});Op=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[zr].type.children.map(t=>t.name)}has(e,t){return e[zr].type.children.some(n=>n.name===t)}getOwnPropertyDescriptor(e,t){if(e[zr].type.children.some(n=>n.name===t))return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];let n=e[zr].type.children.findIndex(s=>s.name===t);if(n!==-1){let s=ze.visit(e[zr].children[n],e[qo]);return Reflect.set(e,t,s),s}}set(e,t,n){let s=e[zr].type.children.findIndex(i=>i.name===t);return s!==-1?(nt.visit(e[zr].children[s],e[qo],n),Reflect.set(e,t,n)):Reflect.has(e,t)||typeof t=="symbol"?Reflect.set(e,t,n):!1}},hM=new Op});function W(r){return(e,t)=>e.getValid(t)?r(e,t):null}var U,pM,Ko,mM,bM,A0,gM,v0,I0,_s,yM,S0,wM,E0,L0,xM,B0,TM,_M,AM,vM,F0,O0,M0,R0,IM,D0,N0,k0,C0,SM,EM,U0,LM,BM,FM,P0,V0,OM,MM,j0,G0,z0,W0,$0,q0,K0,RM,DM,ze,xi=p(()=>{hl();ht();Vt();Ic();Ml();nn();Tn();vc();Re();U=class extends D{};pM=(r,e)=>864e5*r[e],Ko=16,mM=12,bM=(r,e)=>null,A0=(r,e,t)=>{if(t+1>=e.length)return null;let n=re(e[t]),s=re(e[t+1]);return r.subarray(n,s)},gM=({offset:r,values:e},t)=>{let n=r+t;return(e[n>>3]&1<<n%8)!==0},v0=({values:r},e)=>pM(r,e),I0=({values:r},e)=>re(r[e]),_s=({stride:r,values:e},t)=>e[r*t],yM=({stride:r,values:e},t)=>pl(e[r*t]),S0=({values:r},e)=>r[e],wM=({stride:r,values:e},t)=>e.subarray(r*t,r*(t+1)),E0=({values:r,valueOffsets:e},t)=>A0(r,e,t),L0=(r,e)=>{var t;let n=r.values;if(!n)throw new Error("BinaryView data is missing view buffer");let s=e*Ko,i=s+Ko;if(s<0||i>n.length)throw new Error(`BinaryView data buffer is too short: expected ${Ko} bytes, got ${Math.max(0,n.length-s)}`);let o=n.subarray(s,i);if(o.length<Ko)throw new Error(`BinaryView data buffer is too short: expected ${Ko} bytes, got ${o.length}`);let a=new DataView(n.buffer,o.byteOffset,Ko),c=a.getInt32(0,!0);if(c<=0)return new Uint8Array(0);if(c<=mM)return o.subarray(4,4+c);let u=a.getInt32(8,!0),l=a.getInt32(12,!0),f=(t=r.variadicBuffers)===null||t===void 0?void 0:t[u];if(!f)throw new Error(`BinaryView variadic buffer ${u} is missing`);return f.subarray(l,l+c)},xM=(r,e)=>L0(r,e),B0=({values:r,valueOffsets:e},t)=>{let n=A0(r,e,t);return n!==null?No(n):null},TM=(r,e)=>{let t=L0(r,e);return No(t)},_M=({values:r},e)=>r[e],AM=({type:r,values:e},t)=>r.precision!==he.HALF?e[t]:pl(e[t]),vM=(r,e)=>r.type.unit===ye.DAY?v0(r,e):I0(r,e),F0=({values:r},e)=>1e3*re(r[e]),O0=({values:r},e)=>re(r[e]),M0=({values:r},e)=>gp(r[e],BigInt(1e3)),R0=({values:r},e)=>gp(r[e],BigInt(1e6)),IM=(r,e)=>{switch(r.type.unit){case L.SECOND:return F0(r,e);case L.MILLISECOND:return O0(r,e);case L.MICROSECOND:return M0(r,e);case L.NANOSECOND:return R0(r,e)}},D0=({values:r},e)=>r[e],N0=({values:r},e)=>r[e],k0=({values:r},e)=>r[e],C0=({values:r},e)=>r[e],SM=(r,e)=>{switch(r.type.unit){case L.SECOND:return D0(r,e);case L.MILLISECOND:return N0(r,e);case L.MICROSECOND:return k0(r,e);case L.NANOSECOND:return C0(r,e)}},EM=({values:r,stride:e},t)=>wi.decimal(r.subarray(e*t,e*(t+1))),U0=(r,e)=>{let{valueOffsets:t,stride:n,children:s}=r,i=re(t[e*n]),o=re(t[e*n+1]),c=s[0].slice(i,o-i);return new B([c])},LM=(r,e)=>{let{valueOffsets:t,children:n}=r,{[e]:s,[e+1]:i}=t,o=n[0];return new wr(o.slice(s,i-s))},BM=(r,e)=>new on(r,e),FM=(r,e)=>r.type.mode===me.Dense?P0(r,e):V0(r,e),P0=(r,e)=>{let t=r.type.typeIdToChildIndex[r.typeIds[e]],n=r.children[t];return ze.visit(n,r.valueOffsets[e])},V0=(r,e)=>{let t=r.type.typeIdToChildIndex[r.typeIds[e]],n=r.children[t];return ze.visit(n,e)},OM=(r,e)=>{var t;return(t=r.dictionary)===null||t===void 0?void 0:t.get(r.values[e])},MM=(r,e)=>r.type.unit===ue.MONTH_DAY_NANO?z0(r,e):r.type.unit===ue.DAY_TIME?j0(r,e):G0(r,e),j0=({values:r},e)=>r.subarray(2*e,2*(e+1)),G0=({values:r},e)=>{let t=r[e],n=new Int32Array(2);return n[0]=Math.trunc(t/12),n[1]=Math.trunc(t%12),n},z0=({values:r},e)=>r.subarray(4*e,4*(e+1)),W0=({values:r},e)=>r[e],$0=({values:r},e)=>r[e],q0=({values:r},e)=>r[e],K0=({values:r},e)=>r[e],RM=(r,e)=>{switch(r.type.unit){case L.SECOND:return W0(r,e);case L.MILLISECOND:return $0(r,e);case L.MICROSECOND:return q0(r,e);case L.NANOSECOND:return K0(r,e)}},DM=(r,e)=>{let{stride:t,children:n}=r,i=n[0].slice(e*t,t);return new B([i])};U.prototype.visitNull=W(bM);U.prototype.visitBool=W(gM);U.prototype.visitInt=W(_M);U.prototype.visitInt8=W(_s);U.prototype.visitInt16=W(_s);U.prototype.visitInt32=W(_s);U.prototype.visitInt64=W(S0);U.prototype.visitUint8=W(_s);U.prototype.visitUint16=W(_s);U.prototype.visitUint32=W(_s);U.prototype.visitUint64=W(S0);U.prototype.visitFloat=W(AM);U.prototype.visitFloat16=W(yM);U.prototype.visitFloat32=W(_s);U.prototype.visitFloat64=W(_s);U.prototype.visitUtf8=W(B0);U.prototype.visitLargeUtf8=W(B0);U.prototype.visitUtf8View=W(TM);U.prototype.visitBinary=W(E0);U.prototype.visitLargeBinary=W(E0);U.prototype.visitBinaryView=W(xM);U.prototype.visitFixedSizeBinary=W(wM);U.prototype.visitDate=W(vM);U.prototype.visitDateDay=W(v0);U.prototype.visitDateMillisecond=W(I0);U.prototype.visitTimestamp=W(IM);U.prototype.visitTimestampSecond=W(F0);U.prototype.visitTimestampMillisecond=W(O0);U.prototype.visitTimestampMicrosecond=W(M0);U.prototype.visitTimestampNanosecond=W(R0);U.prototype.visitTime=W(SM);U.prototype.visitTimeSecond=W(D0);U.prototype.visitTimeMillisecond=W(N0);U.prototype.visitTimeMicrosecond=W(k0);U.prototype.visitTimeNanosecond=W(C0);U.prototype.visitDecimal=W(EM);U.prototype.visitList=W(U0);U.prototype.visitLargeList=W(U0);U.prototype.visitStruct=W(BM);U.prototype.visitUnion=W(FM);U.prototype.visitDenseUnion=W(P0);U.prototype.visitSparseUnion=W(V0);U.prototype.visitDictionary=W(OM);U.prototype.visitInterval=W(MM);U.prototype.visitIntervalDayTime=W(j0);U.prototype.visitIntervalYearMonth=W(G0);U.prototype.visitIntervalMonthDayNano=W(z0);U.prototype.visitDuration=W(RM);U.prototype.visitDurationSecond=W(W0);U.prototype.visitDurationMillisecond=W($0);U.prototype.visitDurationMicrosecond=W(q0);U.prototype.visitDurationNanosecond=W(K0);U.prototype.visitFixedSizeList=W(DM);U.prototype.visitMap=W(LM);ze=new U});var As,Xo,Ho,Mp,wr,Rp,Dp,Ic=p(()=>{ht();bc();xi();ar();As=Symbol.for("keys"),Xo=Symbol.for("vals"),Ho=Symbol.for("kKeysAsStrings"),Mp=Symbol.for("_kKeysAsStrings"),wr=class{constructor(e){return this[As]=new B([e.children[0]]).memoize(),this[Xo]=e.children[1],new Proxy(this,new Dp)}get[Ho](){return this[Mp]||(this[Mp]=Array.from(this[As].toArray(),String))}[Symbol.iterator](){return new Rp(this[As],this[Xo])}get size(){return this[As].length}toArray(){return Object.values(this.toJSON())}toJSON(){let e=this[As],t=this[Xo],n={};for(let s=-1,i=e.length;++s<i;)n[e.get(s)]=ze.visit(t,s);return n}toString(){return`{${[...this].map(([e,t])=>`${Cr(e)}: ${Cr(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}},Rp=class{constructor(e,t){this.keys=e,this.vals=t,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){let e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),ze.visit(this.vals,e)]})}},Dp=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[Ho]}has(e,t){return e[Ho].includes(t)}getOwnPropertyDescriptor(e,t){if(e[Ho].indexOf(t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];let n=e[Ho].indexOf(t);if(n!==-1){let s=ze.visit(Reflect.get(e,Xo),n);return Reflect.set(e,t,s),s}}set(e,t,n){let s=e[Ho].indexOf(t);return s!==-1?(nt.visit(Reflect.get(e,Xo),s,n),Reflect.set(e,t,n)):Reflect.has(e,t)?Reflect.set(e,t,n):!1}};Object.defineProperties(wr.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[As]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Xo]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Mp]:{writable:!0,enumerable:!1,configurable:!1,value:null}})});var Np={};Y(Np,{clampRange:()=>Sc,createElementComparator:()=>vs,wrapIndex:()=>Ti});function Sc(r,e,t,n){let{length:s=0}=r,i=typeof e!="number"?0:e,o=typeof t!="number"?s:t;return i<0&&(i=(i%s+s)%s),o<0&&(o=(o%s+s)%s),o<i&&(H0=i,i=o,o=H0),o>s&&(o=s),n?n(r,i,o):[i,o]}function vs(r){if(typeof r!=="object"||r===null)return X0(r)?X0:t=>t===r;if(r instanceof Date){let t=r.valueOf();return n=>n instanceof Date?n.valueOf()===t:!1}return ArrayBuffer.isView(r)?t=>t?Ph(r,t):!1:r instanceof Map?kM(r):Array.isArray(r)?NM(r):r instanceof B?CM(r):UM(r,!0)}function NM(r){let e=[];for(let t=-1,n=r.length;++t<n;)e[t]=vs(r[t]);return Rl(e)}function kM(r){let e=-1,t=[];for(let n of r.values())t[++e]=vs(n);return Rl(t)}function CM(r){let e=[];for(let t=-1,n=r.length;++t<n;)e[t]=vs(r.get(t));return Rl(e)}function UM(r,e=!1){let t=Object.keys(r);if(!e&&t.length===0)return()=>!1;let n=[];for(let s=-1,i=t.length;++s<i;)n[s]=vs(r[t[s]]);return Rl(n,t)}function Rl(r,e){return t=>{if(!t||typeof t!="object")return!1;switch(t.constructor){case Array:return PM(r,t);case Map:return J0(r,t,t.keys());case wr:case on:case Object:case void 0:return J0(r,t,e||Object.keys(t))}return t instanceof B?VM(r,t):!1}}function PM(r,e){let t=r.length;if(e.length!==t)return!1;for(let n=-1;++n<t;)if(!r[n](e[n]))return!1;return!0}function VM(r,e){let t=r.length;if(e.length!==t)return!1;for(let n=-1;++n<t;)if(!r[n](e.get(n)))return!1;return!0}function J0(r,e,t){let n=t[Symbol.iterator](),s=e instanceof Map?e.keys():Object.keys(e)[Symbol.iterator](),i=e instanceof Map?e.values():Object.values(e)[Symbol.iterator](),o=0,a=r.length,c=i.next(),u=n.next(),l=s.next();for(;o<a&&!u.done&&!l.done&&!c.done&&!(u.value!==l.value||!r[o](c.value));++o,u=n.next(),l=s.next(),c=i.next());return o===a&&u.done&&l.done&&c.done?!0:(n.return&&n.return(),s.return&&s.return(),i.return&&i.return(),!1)}var H0,Ti,X0,Jo=p(()=>{ht();Ic();Ml();Ke();Ti=(r,e)=>r<0?e+r:r,X0=r=>r!==r});var kp={};Y(kp,{BitIterator:()=>an,getBit:()=>Nl,getBool:()=>Yo,packBools:()=>Ai,popcnt_array:()=>Y0,popcnt_bit_range:()=>Ec,popcnt_uint32:()=>Dl,setBool:()=>jM,truncateBitmap:()=>_i});function Yo(r,e,t,n){return(t&1<<n)!==0}function Nl(r,e,t,n){return(t&1<<n)>>n}function jM(r,e,t){return t?!!(r[e>>3]|=1<<e%8)||!0:!(r[e>>3]&=~(1<<e%8))&&!1}function _i(r,e,t){let n=t.byteLength+7&-8;if(r>0||t.byteLength<n){let s=new Uint8Array(n);return s.set(r%8===0?t.subarray(r>>3):Ai(new an(t,r,e,null,Yo)).subarray(0,n)),s}return t}function Ai(r){let e=[],t=0,n=0,s=0;for(let o of r)o&&(s|=1<<n),++n===8&&(e[t++]=s,s=n=0);(t===0||n>0)&&(e[t++]=s);let i=new Uint8Array(e.length+7&-8);return i.set(e),i}function Ec(r,e,t){if(t-e<=0)return 0;if(t-e<8){let i=0;for(let o of new an(r,e,t-e,r,Nl))i+=o;return i}let n=t>>3<<3,s=e+(e%8===0?0:8-e%8);return Ec(r,e,s)+Ec(r,n,t)+Y0(r,s>>3,n-s>>3)}function Y0(r,e,t){let n=0,s=Math.trunc(e),i=new DataView(r.buffer,r.byteOffset,r.byteLength),o=t===void 0?r.byteLength:s+t;for(;o-s>=4;)n+=Dl(i.getUint32(s)),s+=4;for(;o-s>=2;)n+=Dl(i.getUint16(s)),s+=2;for(;o-s>=1;)n+=Dl(i.getUint8(s)),s+=1;return n}function Dl(r){let e=Math.trunc(r);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}var an,vi=p(()=>{an=class{constructor(e,t,n,s,i){this.bytes=e,this.length=n,this.context=s,this.get=i,this.bit=t%8,this.byteIndex=t>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index<this.length?(this.bit===8&&(this.bit=0,this.byte=this.bytes[this.byteIndex++]),{value:this.get(this.context,this.index++,this.byte,this.bit++)}):{done:!0,value:null}}[Symbol.iterator](){return this}}});function R(r){return zM.visit(r)}var GM,Q0,C,Cp,zM,xr=p(()=>{ht();Re();we();vi();we();Vt();Ke();GM=-1,Q0=Symbol.for("apache-arrow/Data"),C=class r{static isData(e){return e?.[Q0]===!0}get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){let{type:e}=this;return E.isSparseUnion(e)?this.children.some(t=>t.nullable):E.isDenseUnion(e)?this.children.some(t=>t.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let e=0,{valueOffsets:t,values:n,nullBitmap:s,typeIds:i}=this;return t&&(e+=t.byteLength),n&&(e+=n.byteLength),s&&(e+=s.byteLength),i&&(e+=i.byteLength),e+=this.variadicBuffers.reduce((o,a)=>{var c;return o+((c=a?.byteLength)!==null&&c!==void 0?c:0)},0),this.children.reduce((o,a)=>o+a.byteLength,e)}get nullCount(){if(E.isUnion(this.type))return this.children.reduce((n,s)=>n+s.nullCount,0);let e=this._nullCount,t;return e<=GM&&(t=this.nullBitmap)&&(this._nullCount=e=t.length===0?0:this.length-Ec(t,this.offset,this.offset+this.length)),e}constructor(e,t,n,s,i,o=[],a,c=[]){var u;this.type=e,this.children=o,this.dictionary=a,this.offset=Math.floor(Math.max(t||0,0)),this.length=Math.floor(Math.max(n||0,0)),this._nullCount=Math.floor(Math.max(s||0,-1));let l;i instanceof r?(this.stride=i.stride,this.values=i.values,this.typeIds=i.typeIds,this.nullBitmap=i.nullBitmap,this.valueOffsets=i.valueOffsets,this.variadicBuffers=i.variadicBuffers):(this.stride=or(e),i&&((l=i[0])&&(this.valueOffsets=l),(l=i[1])&&(this.values=l),(l=i[2])&&(this.nullBitmap=l),(l=i[3])&&(this.typeIds=l)),this.variadicBuffers=c),(u=this.variadicBuffers)!==null&&u!==void 0||(this.variadicBuffers=[])}getValid(e){let{type:t}=this;if(E.isUnion(t)){let n=t,s=this.typeIds[e],i=n.typeIdToChildIndex[s],o=this.children[i],a=this.valueOffsets,c=n.mode===me.Dense&&a?Number(a[e]):e;return o.getValid(c)}if(this.nullable&&this.nullCount>0){let n=this.offset+e;return(this.nullBitmap[n>>3]&1<<n%8)!==0}return!0}setValid(e,t){let n,{type:s}=this;if(E.isUnion(s)){let i=s,o=this.typeIds[e],a=i.typeIdToChildIndex[o],c=this.children[a],u=this.valueOffsets,l=i.mode===me.Dense&&u?Number(u[e]):e;n=c.getValid(l),c.setValid(l,t)}else{let{nullBitmap:i}=this,{offset:o,length:a}=this,c=o+e,u=1<<c%8,l=c>>3;(!i||i.byteLength<=l)&&(i=new Uint8Array((o+a+63&-64)>>3).fill(255),this.nullCount>0?(i.set(_i(o,a,this.nullBitmap),0),Object.assign(this,{nullBitmap:i})):Object.assign(this,{nullBitmap:i,_nullCount:0}));let f=i[l];n=(f&u)!==0,i[l]=t?f|u:f&~u}return n!==!!t&&(this._nullCount=this.nullCount+(t?-1:1)),t}clone(e=this.type,t=this.offset,n=this.length,s=this._nullCount,i=this,o=this.children,a=this.variadicBuffers){return new r(e,t,n,s,i,o,this.dictionary,a)}slice(e,t){let{stride:n,typeId:s,children:i}=this,o=+(this._nullCount===0)-1,a=s===16?n:1,c=this._sliceBuffers(e,t,n,s);return this.clone(this.type,this.offset+e,t,o,c,i.length===0||this.valueOffsets?i:this._sliceChildren(i,a*e,a*t),this.variadicBuffers)}_changeLengthAndBackfillNullBitmap(e){if(this.typeId===w.Null)return this.clone(this.type,0,e,0,this.buffers,this.children,this.variadicBuffers);let{length:t,nullCount:n}=this,s=new Uint8Array((e+63&-64)>>3).fill(255,0,t>>3);s[t>>3]=(1<<t-(t&-8))-1,n>0&&s.set(_i(this.offset,t,this.nullBitmap),0);let i=this.buffers;return i[ne.VALIDITY]=s,this.clone(this.type,0,e,n+(e-t),i,this.children,this.variadicBuffers)}_sliceBuffers(e,t,n,s){let i,{buffers:o}=this;if((i=o[ne.TYPE])&&(o[ne.TYPE]=i.subarray(e,e+t)),E.isBinaryView(this.type)||E.isUtf8View(this.type)){let a=Z.ELEMENT_WIDTH;(i=o[ne.DATA])&&(o[ne.DATA]=i.subarray(e*a,(e+t)*a))}else(i=o[ne.OFFSET])&&(o[ne.OFFSET]=i.subarray(e,e+t+1))||(i=o[ne.DATA])&&(o[ne.DATA]=s===6?i:i.subarray(n*e,n*(e+t)));return o}_sliceChildren(e,t,n){return e.map(s=>s.slice(t,n))}};C.prototype.children=Object.freeze([]);C.prototype[Q0]=!0;Object.defineProperty(C,Symbol.hasInstance,{value:function(e){return Function.prototype[Symbol.hasInstance].call(this,e)||this===C&&C.isData(e)}});Cp=class r extends D{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){let{["type"]:t,["offset"]:n=0,["length"]:s=0}=e;return new C(t,n,s,s)}visitBool(e){let{["type"]:t,["offset"]:n=0}=e,s=N(e.nullBitmap),i=te(t.ArrayType,e.data),{["length"]:o=i.length>>3,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new C(t,n,o,a,[void 0,i,s])}visitInt(e){let{["type"]:t,["offset"]:n=0}=e,s=N(e.nullBitmap),i=te(t.ArrayType,e.data),{["length"]:o=i.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new C(t,n,o,a,[void 0,i,s])}visitFloat(e){let{["type"]:t,["offset"]:n=0}=e,s=N(e.nullBitmap),i=te(t.ArrayType,e.data),{["length"]:o=i.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new C(t,n,o,a,[void 0,i,s])}visitUtf8(e){let{["type"]:t,["offset"]:n=0}=e,s=N(e.data),i=N(e.nullBitmap),o=bi(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=e.nullBitmap?-1:0}=e;return new C(t,n,a,c,[o,s,i])}visitUtf8View(e){var t;let{["type"]:n,["offset"]:s=0}=e,i=te(n.ArrayType,e.views),o=N(e.nullBitmap),a=(e.variadicBuffers||[]).map(l=>N(l)),c=(t=e.length)!==null&&t!==void 0?t:Math.trunc(i.length/St.ELEMENT_WIDTH),u=e.nullBitmap?-1:0;return new C(n,s,c,u,[void 0,i,o],[],void 0,a)}visitLargeUtf8(e){let{["type"]:t,["offset"]:n=0}=e,s=N(e.data),i=N(e.nullBitmap),o=ec(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=e.nullBitmap?-1:0}=e;return new C(t,n,a,c,[o,s,i])}visitBinary(e){let{["type"]:t,["offset"]:n=0}=e,s=N(e.data),i=N(e.nullBitmap),o=bi(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=e.nullBitmap?-1:0}=e;return new C(t,n,a,c,[o,s,i])}visitBinaryView(e){var t;let{["type"]:n,["offset"]:s=0}=e,i=te(n.ArrayType,e.views),o=N(e.nullBitmap),a=(e.variadicBuffers||[]).map(l=>N(l)),c=(t=e.length)!==null&&t!==void 0?t:Math.trunc(i.length/Z.ELEMENT_WIDTH),u=e.nullBitmap?-1:0;return new C(n,s,c,u,[void 0,i,o],[],void 0,a)}visitLargeBinary(e){let{["type"]:t,["offset"]:n=0}=e,s=N(e.data),i=N(e.nullBitmap),o=ec(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=e.nullBitmap?-1:0}=e;return new C(t,n,a,c,[o,s,i])}visitFixedSizeBinary(e){let{["type"]:t,["offset"]:n=0}=e,s=N(e.nullBitmap),i=te(t.ArrayType,e.data),{["length"]:o=i.length/or(t),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new C(t,n,o,a,[void 0,i,s])}visitDate(e){let{["type"]:t,["offset"]:n=0}=e,s=N(e.nullBitmap),i=te(t.ArrayType,e.data),{["length"]:o=i.length/or(t),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new C(t,n,o,a,[void 0,i,s])}visitTimestamp(e){let{["type"]:t,["offset"]:n=0}=e,s=N(e.nullBitmap),i=te(t.ArrayType,e.data),{["length"]:o=i.length/or(t),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new C(t,n,o,a,[void 0,i,s])}visitTime(e){let{["type"]:t,["offset"]:n=0}=e,s=N(e.nullBitmap),i=te(t.ArrayType,e.data),{["length"]:o=i.length/or(t),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new C(t,n,o,a,[void 0,i,s])}visitDecimal(e){let{["type"]:t,["offset"]:n=0}=e,s=N(e.nullBitmap),i=te(t.ArrayType,e.data),{["length"]:o=i.length/or(t),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new C(t,n,o,a,[void 0,i,s])}visitList(e){let{["type"]:t,["offset"]:n=0,["child"]:s}=e,i=N(e.nullBitmap),o=bi(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=e.nullBitmap?-1:0}=e;return new C(t,n,a,c,[o,void 0,i],[s])}visitLargeList(e){let{["type"]:t,["offset"]:n=0,["child"]:s}=e,i=N(e.nullBitmap),o=ec(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=e.nullBitmap?-1:0}=e;return new C(t,n,a,c,[o,void 0,i],[s])}visitStruct(e){let{["type"]:t,["offset"]:n=0,["children"]:s=[]}=e,i=N(e.nullBitmap),{length:o=s.reduce((c,{length:u})=>Math.max(c,u),0),nullCount:a=e.nullBitmap?-1:0}=e;return new C(t,n,o,a,[void 0,void 0,i],s)}visitUnion(e){let{["type"]:t,["offset"]:n=0,["children"]:s=[]}=e,i=te(t.ArrayType,e.typeIds),{["length"]:o=i.length,["nullCount"]:a=-1}=e;if(E.isSparseUnion(t))return new C(t,n,o,a,[void 0,void 0,void 0,i],s);let c=bi(e.valueOffsets);return new C(t,n,o,a,[c,void 0,void 0,i],s)}visitDictionary(e){let{["type"]:t,["offset"]:n=0}=e,s=N(e.nullBitmap),i=te(t.indices.ArrayType,e.data),{["dictionary"]:o=new B([new r().visit({type:t.dictionary})])}=e,{["length"]:a=i.length,["nullCount"]:c=e.nullBitmap?-1:0}=e;return new C(t,n,a,c,[void 0,i,s],[],o)}visitInterval(e){let{["type"]:t,["offset"]:n=0}=e,s=N(e.nullBitmap),i=te(t.ArrayType,e.data),{["length"]:o=i.length/or(t),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new C(t,n,o,a,[void 0,i,s])}visitDuration(e){let{["type"]:t,["offset"]:n=0}=e,s=N(e.nullBitmap),i=te(t.ArrayType,e.data),{["length"]:o=i.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new C(t,n,o,a,[void 0,i,s])}visitFixedSizeList(e){let{["type"]:t,["offset"]:n=0,["child"]:s=new r().visit({type:t.valueType})}=e,i=N(e.nullBitmap),{["length"]:o=s.length/or(t),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new C(t,n,o,a,[void 0,void 0,i],[s])}visitMap(e){let{["type"]:t,["offset"]:n=0,["child"]:s=new r().visit({type:t.childType})}=e,i=N(e.nullBitmap),o=bi(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=e.nullBitmap?-1:0}=e;return new C(t,n,a,c,[o,void 0,i],[s])}},zM=new Cp});function Z0(r){return r.some(e=>e.nullable)}function kl(r){return r.reduce((e,t)=>e+t.nullCount,0)}function Cl(r){return r.reduce((e,t,n)=>(e[n+1]=e[n]+t.length,e),new Uint32Array(r.length+1))}function Ul(r,e,t,n){let s=[];for(let i=-1,o=r.length;++i<o;){let a=r[i],c=e[i],{length:u}=a;if(c>=n)break;if(t>=c+u)continue;if(c>=t&&c+u<=n){s.push(a);continue}let l=Math.max(0,t-c),f=Math.min(n-c,u);s.push(a.slice(l,f-l))}return s.length===0&&s.push(r[0].slice(0,0)),s}function Up(r,e,t,n){let s=0,i=0,o=e.length-1;do{if(s>=o-1)return t<e[o]?n(r,s,t-e[s]):null;i=s+Math.trunc((o-s)*.5),t<e[i]?o=i:s=i}while(s<o)}function Bc(r,e){return r.getValid(e)}function Qo(r){function e(t,n,s){return r(t[n],s)}return function(t){let n=this.data;return Up(n,this._offsets,t,e)}}function Pl(r){let e;function t(n,s,i){return r(n[s],i,e)}return function(n,s){let i=this.data;e=s;let o=Up(i,this._offsets,n,t);return e=void 0,o}}function Vl(r){let e;function t(n,s,i){let o=i,a=0,c=0;for(let u=s-1,l=n.length;++u<l;){let f=n[u];if(~(a=r(f,e,o)))return c+a;o=0,c+=f.length}return-1}return function(n,s){e=n;let i=this.data,o=typeof s!="number"?t(i,0,0):Up(i,this._offsets,s,t);return e=void 0,o}}var Lc,jl=p(()=>{Lc=class{constructor(e=0,t){this.numChunks=e,this.getChunkIterator=t,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndex<this.numChunks;){let e=this.chunkIterator.next();if(!e.done)return e;++this.chunkIndex<this.numChunks&&(this.chunkIterator=this.getChunkIterator(this.chunkIndex))}return{done:!0,value:null}}[Symbol.iterator](){return this}}});function WM(r,e){return e===null&&r.length>0?0:-1}function $M(r,e){let{nullBitmap:t}=r;if(!t||r.nullCount<=0)return-1;let n=0;for(let s of new an(t,r.offset+(e||0),r.length,t,Yo)){if(!s)return n;++n}return-1}function H(r,e,t){if(e===void 0)return-1;if(e===null)switch(r.typeId){case w.Union:break;case w.Dictionary:break;default:return $M(r,t)}let n=ze.getVisitFn(r),s=vs(e);for(let i=(t||0)-1,o=r.length;++i<o;)if(s(n(r,i)))return i;return-1}function e_(r,e,t){let n=ze.getVisitFn(r),s=vs(e);for(let i=(t||0)-1,o=r.length;++i<o;)if(s(n(r,i)))return i;return-1}var P,Ii,Gl=p(()=>{Re();Vt();xi();vi();Jo();P=class extends D{};P.prototype.visitNull=WM;P.prototype.visitBool=H;P.prototype.visitInt=H;P.prototype.visitInt8=H;P.prototype.visitInt16=H;P.prototype.visitInt32=H;P.prototype.visitInt64=H;P.prototype.visitUint8=H;P.prototype.visitUint16=H;P.prototype.visitUint32=H;P.prototype.visitUint64=H;P.prototype.visitFloat=H;P.prototype.visitFloat16=H;P.prototype.visitFloat32=H;P.prototype.visitFloat64=H;P.prototype.visitUtf8=H;P.prototype.visitLargeUtf8=H;P.prototype.visitUtf8View=H;P.prototype.visitBinary=H;P.prototype.visitLargeBinary=H;P.prototype.visitBinaryView=H;P.prototype.visitFixedSizeBinary=H;P.prototype.visitDate=H;P.prototype.visitDateDay=H;P.prototype.visitDateMillisecond=H;P.prototype.visitTimestamp=H;P.prototype.visitTimestampSecond=H;P.prototype.visitTimestampMillisecond=H;P.prototype.visitTimestampMicrosecond=H;P.prototype.visitTimestampNanosecond=H;P.prototype.visitTime=H;P.prototype.visitTimeSecond=H;P.prototype.visitTimeMillisecond=H;P.prototype.visitTimeMicrosecond=H;P.prototype.visitTimeNanosecond=H;P.prototype.visitDecimal=H;P.prototype.visitList=H;P.prototype.visitLargeList=H;P.prototype.visitStruct=H;P.prototype.visitUnion=H;P.prototype.visitDenseUnion=e_;P.prototype.visitSparseUnion=e_;P.prototype.visitDictionary=H;P.prototype.visitInterval=H;P.prototype.visitIntervalDayTime=H;P.prototype.visitIntervalYearMonth=H;P.prototype.visitIntervalMonthDayNano=H;P.prototype.visitDuration=H;P.prototype.visitDurationSecond=H;P.prototype.visitDurationMillisecond=H;P.prototype.visitDurationMicrosecond=H;P.prototype.visitDurationNanosecond=H;P.prototype.visitFixedSizeList=H;P.prototype.visitMap=H;Ii=new P});function $(r){let{type:e}=r;if(r.nullCount===0&&r.stride===1&&(E.isInt(e)&&e.bitWidth!==64||E.isTime(e)&&e.bitWidth!==64||E.isFloat(e)&&e.precision!==he.HALF))return new Lc(r.data.length,n=>{let s=r.data[n];return s.values.subarray(0,s.length)[Symbol.iterator]()});let t=0;return new Lc(r.data.length,n=>{let i=r.data[n].length,o=r.slice(t,t+i);return t+=i,new Pp(o)})}var V,Pp,Zo,zl=p(()=>{Vt();Re();we();jl();V=class extends D{};Pp=class{constructor(e){this.vector=e,this.index=0}next(){return this.index<this.vector.length?{value:this.vector.get(this.index++)}:{done:!0,value:null}}[Symbol.iterator](){return this}};V.prototype.visitNull=$;V.prototype.visitBool=$;V.prototype.visitInt=$;V.prototype.visitInt8=$;V.prototype.visitInt16=$;V.prototype.visitInt32=$;V.prototype.visitInt64=$;V.prototype.visitUint8=$;V.prototype.visitUint16=$;V.prototype.visitUint32=$;V.prototype.visitUint64=$;V.prototype.visitFloat=$;V.prototype.visitFloat16=$;V.prototype.visitFloat32=$;V.prototype.visitFloat64=$;V.prototype.visitUtf8=$;V.prototype.visitLargeUtf8=$;V.prototype.visitUtf8View=$;V.prototype.visitBinary=$;V.prototype.visitLargeBinary=$;V.prototype.visitBinaryView=$;V.prototype.visitFixedSizeBinary=$;V.prototype.visitDate=$;V.prototype.visitDateDay=$;V.prototype.visitDateMillisecond=$;V.prototype.visitTimestamp=$;V.prototype.visitTimestampSecond=$;V.prototype.visitTimestampMillisecond=$;V.prototype.visitTimestampMicrosecond=$;V.prototype.visitTimestampNanosecond=$;V.prototype.visitTime=$;V.prototype.visitTimeSecond=$;V.prototype.visitTimeMillisecond=$;V.prototype.visitTimeMicrosecond=$;V.prototype.visitTimeNanosecond=$;V.prototype.visitDecimal=$;V.prototype.visitList=$;V.prototype.visitLargeList=$;V.prototype.visitStruct=$;V.prototype.visitUnion=$;V.prototype.visitDenseUnion=$;V.prototype.visitSparseUnion=$;V.prototype.visitDictionary=$;V.prototype.visitInterval=$;V.prototype.visitIntervalDayTime=$;V.prototype.visitIntervalYearMonth=$;V.prototype.visitIntervalMonthDayNano=$;V.prototype.visitDuration=$;V.prototype.visitDurationSecond=$;V.prototype.visitDurationMillisecond=$;V.prototype.visitDurationMicrosecond=$;V.prototype.visitDurationNanosecond=$;V.prototype.visitFixedSizeList=$;V.prototype.visitMap=$;Zo=new V});function cn(r){if(r){if(r instanceof C)return new B([r]);if(r instanceof B)return new B(r.data);if(r.type instanceof E)return new B([R(r)]);if(Array.isArray(r))return new B(r.flatMap(e=>qM(e)));if(ArrayBuffer.isView(r)){r instanceof DataView&&(r=new Uint8Array(r.buffer));let e={offset:0,length:r.length,nullCount:-1,data:r};if(r instanceof Int8Array)return new B([R(Object.assign(Object.assign({},e),{type:new Zt}))]);if(r instanceof Int16Array)return new B([R(Object.assign(Object.assign({},e),{type:new er}))]);if(r instanceof Int32Array)return new B([R(Object.assign(Object.assign({},e),{type:new Pe}))]);if(r instanceof BigInt64Array)return new B([R(Object.assign(Object.assign({},e),{type:new tr}))]);if(r instanceof Uint8Array||r instanceof Uint8ClampedArray)return new B([R(Object.assign(Object.assign({},e),{type:new rr}))]);if(r instanceof Uint16Array)return new B([R(Object.assign(Object.assign({},e),{type:new nr}))]);if(r instanceof Uint32Array)return new B([R(Object.assign(Object.assign({},e),{type:new vt}))]);if(r instanceof BigUint64Array)return new B([R(Object.assign(Object.assign({},e),{type:new Pr}))]);if(r instanceof Float32Array)return new B([R(Object.assign(Object.assign({},e),{type:new It}))]);if(r instanceof Float64Array)return new B([R(Object.assign(Object.assign({},e),{type:new sr}))]);throw new Error("Unrecognized input")}}throw new Error("Unrecognized input")}function qM(r){return r instanceof C?[r]:r instanceof B?r.data:cn(r).data}var t_,r_,n_,s_,B,Wl,ht=p(()=>{Re();Jo();we();xr();jl();xi();ar();Gl();zl();we();r_=Symbol.for("apache-arrow/Vector"),n_={},s_={},B=class r{static isVector(e){return e?.[r_]===!0}constructor(e){var t,n,s;let i=e[0]instanceof r?e.flatMap(a=>a.data):e;if(i.length===0||i.some(a=>!(a instanceof C)))throw new TypeError("Vector constructor expects an Array of Data instances.");let o=(t=i[0])===null||t===void 0?void 0:t.type;switch(i.length){case 0:this._offsets=[0];break;case 1:{let{get:a,set:c,indexOf:u}=n_[o.typeId],l=i[0];this.isValid=f=>Bc(l,f),this.get=f=>a(l,f),this.set=(f,d)=>c(l,f,d),this.indexOf=f=>u(l,f),this._offsets=[0,l.length];break}default:Object.setPrototypeOf(this,s_[o.typeId]),this._offsets=Cl(i);break}this.data=i,this.type=o,this.stride=or(o),this.numChildren=(s=(n=o.children)===null||n===void 0?void 0:n.length)!==null&&s!==void 0?s:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((e,t)=>e+t.byteLength,0)}get nullable(){return Z0(this.data)}get nullCount(){return kl(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${w[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}at(e){return this.get(Ti(e,this.length))}set(e,t){}indexOf(e,t){return-1}includes(e,t){return this.indexOf(e,t)>-1}[Symbol.iterator](){return Zo.visit(this)}concat(...e){return new r(this.data.concat(e.flatMap(t=>t.data).flat(Number.POSITIVE_INFINITY)))}slice(e,t){return new r(Sc(this,e,t,({data:n,_offsets:s},i,o)=>Ul(n,s,i,o)))}toJSON(){return[...this]}toArray(){let{type:e,data:t,length:n,stride:s,ArrayType:i}=this;switch(e.typeId){case w.Int:case w.Float:case w.Decimal:case w.Time:case w.Timestamp:switch(t.length){case 0:return new i;case 1:return t[0].values.subarray(0,n*s);default:return t.reduce((o,{values:a,length:c})=>(o.array.set(a.subarray(0,c*s),o.offset),o.offset+=c*s,o),{array:new i(n*s),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var t;return this.getChildAt((t=this.type.children)===null||t===void 0?void 0:t.findIndex(n=>n.name===e))}getChildAt(e){return e>-1&&e<this.numChildren?new r(this.data.map(({children:t})=>t[e])):null}get isMemoized(){return E.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(E.isDictionary(this.type)){let e=new Wl(this.data[0].dictionary),t=this.data.map(n=>{let s=n.clone();return s.dictionary=e,s});return new r(t)}return new Wl(this)}unmemoize(){if(E.isDictionary(this.type)&&this.isMemoized){let e=this.data[0].dictionary.unmemoize(),t=this.data.map(n=>{let s=n.clone();return s.dictionary=e,s});return new r(t)}return this}};t_=Symbol.toStringTag;B[t_]=(r=>{r.type=E.prototype,r.data=[],r.length=0,r.stride=1,r.numChildren=0,r._offsets=new Uint32Array([0]),r[Symbol.isConcatSpreadable]=!0,r[r_]=!0;let e=Object.keys(w).map(t=>w[t]).filter(t=>typeof t=="number"&&t!==w.NONE);for(let t of e){let n=ze.getVisitFnByTypeId(t),s=nt.getVisitFnByTypeId(t),i=Ii.getVisitFnByTypeId(t);n_[t]={get:n,set:s,indexOf:i},s_[t]=Object.create(r,{isValid:{value:Qo(Bc)},get:{value:Qo(ze.getVisitFnByTypeId(t))},set:{value:Pl(nt.getVisitFnByTypeId(t))},indexOf:{value:Vl(Ii.getVisitFnByTypeId(t))}})}return"Vector"})(B.prototype);Object.defineProperty(B,Symbol.hasInstance,{value:function(e){return Function.prototype[Symbol.hasInstance].call(this,e)||this===B&&B.isVector(e)}});Wl=class r extends B{constructor(e){super(e.data);let t=this.get,n=this.set,s=this.slice,i=new Array(this.length);Object.defineProperty(this,"get",{value(o){let a=i[o];if(a!==void 0)return a;let c=t.call(this,o);return i[o]=c,c}}),Object.defineProperty(this,"set",{value(o,a){n.call(this,o,a),i[o]=a}}),Object.defineProperty(this,"slice",{value:(o,a)=>new r(s.call(this,o,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new B(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}});function i_(r){if(!r||r.length<=0)return function(s){return!0};let e="",t=r.filter(n=>n===n);return t.length>0&&(e=`
13
+ switch (x) {${t.map(n=>`
14
+ case ${KM(n)}:`).join("")}
15
+ return false;
16
+ }`),r.length!==t.length&&(e=`if (x !== x) return false;
17
+ ${e}`),new Function("x",`${e}
18
+ return true;`)}function KM(r){return typeof r!="bigint"?Cr(r):`${Cr(r)}n`}var o_=p(()=>{bc()});function Vp(r,e){let t=Math.ceil(r)*e-1;return(t-t%64+64||64)/e}function a_(r,e=0){return r.length>=e?r.subarray(0,e):Za(new r.constructor(e),r,0)}var jt,Ln,ea,Is,Wr=p(()=>{Ke();jt=class{constructor(e,t=0,n=1){this.length=Math.ceil(t/n),this.buffer=new e(this.length),this.stride=n,this.BYTES_PER_ELEMENT=e.BYTES_PER_ELEMENT,this.ArrayType=e}get byteLength(){return Math.ceil(this.length*this.stride)*this.BYTES_PER_ELEMENT}get reservedLength(){return this.buffer.length/this.stride}get reservedByteLength(){return this.buffer.byteLength}set(e,t){return this}append(e){return this.set(this.length,e)}reserve(e){if(e>0){this.length+=e;let t=this.stride,n=this.length*t,s=this.buffer.length;n>=s&&this._resize(s===0?Vp(n*1,this.BYTES_PER_ELEMENT):Vp(n*2,this.BYTES_PER_ELEMENT))}return this}flush(e=this.length){e=Vp(e*this.stride,this.BYTES_PER_ELEMENT);let t=a_(this.buffer,e);return this.clear(),t}clear(){return this.length=0,this.buffer=new this.ArrayType,this}_resize(e){return this.buffer=a_(this.buffer,e)}},Ln=class extends jt{last(){return this.get(this.length-1)}get(e){return this.buffer[e]}set(e,t){return this.reserve(e-this.length+1),this.buffer[e*this.stride]=t,this}},ea=class extends Ln{constructor(){super(Uint8Array,0,1/8),this.numValid=0}get numInvalid(){return this.length-this.numValid}get(e){return this.buffer[e>>3]>>e%8&1}set(e,t){let{buffer:n}=this.reserve(e-this.length+1),s=e>>3,i=e%8,o=n[s]>>i&1;return t?o===0&&(n[s]|=1<<i,++this.numValid):o===1&&(n[s]&=~(1<<i),--this.numValid),this}clear(){return this.numValid=0,super.clear()}},Is=class extends Ln{constructor(e){super(e.OffsetArrayType,1,1)}append(e){return this.set(this.length-1,e)}set(e,t){let n=this.length-1,s=this.reserve(e-n+1).buffer;return n<e++&&n>=0&&s.fill(s[n],n,e),s[e]=s[e-1]+t,this}flush(e=this.length-1){return e>this.length&&this.set(e-1,this.BYTES_PER_ELEMENT>4?BigInt(0):0),super.flush(e+1)}}});var Te,We,pt,Se=p(()=>{ht();xr();Ic();we();o_();Wr();Te=class{static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e){throw new Error('"throughDOM" not available in this environment')}constructor({type:e,nullValues:t}){this.length=0,this.finished=!1,this.type=e,this.children=[],this.nullValues=t,this.stride=or(e),this._nulls=new ea,t&&t.length>0&&(this._isValid=i_(t))}toVector(){return new B([this.flush()])}get ArrayType(){return this.type.ArrayType}get nullCount(){return this._nulls.numInvalid}get numChildren(){return this.children.length}get byteLength(){let e=0,{_offsets:t,_values:n,_nulls:s,_typeIds:i,children:o}=this;return t&&(e+=t.byteLength),n&&(e+=n.byteLength),s&&(e+=s.byteLength),i&&(e+=i.byteLength),o.reduce((a,c)=>a+c.byteLength,e)}get reservedLength(){return this._nulls.reservedLength}get reservedByteLength(){let e=0;return this._offsets&&(e+=this._offsets.reservedByteLength),this._values&&(e+=this._values.reservedByteLength),this._nulls&&(e+=this._nulls.reservedByteLength),this._typeIds&&(e+=this._typeIds.reservedByteLength),this.children.reduce((t,n)=>t+n.reservedByteLength,e)}get valueOffsets(){return this._offsets?this._offsets.buffer:null}get values(){return this._values?this._values.buffer:null}get nullBitmap(){return this._nulls?this._nulls.buffer:null}get typeIds(){return this._typeIds?this._typeIds.buffer:null}append(e){return this.set(this.length,e)}isValid(e){return this._isValid(e)}set(e,t){return this.setValid(e,this.isValid(t))&&this.setValue(e,t),this}setValue(e,t){this._setValue(this,e,t)}setValid(e,t){return this.length=this._nulls.set(e,+t).length,t}addChild(e,t=`${this.numChildren}`){throw new Error(`Cannot append children to non-nested type "${this.type}"`)}getChildAt(e){return this.children[e]||null}flush(){let e,t,n,s,{type:i,length:o,nullCount:a,_typeIds:c,_offsets:u,_values:l,_nulls:f}=this;(t=c?.flush(o))?s=u?.flush(o):(s=u?.flush(o))?e=l?.flush(u.last()):e=l?.flush(o),a>0&&(n=f?.flush(o));let d=this.children.map(h=>h.flush());return this.clear(),R({type:i,length:o,nullCount:a,children:d,child:d[0],data:e,typeIds:t,nullBitmap:n,valueOffsets:s})}finish(){this.finished=!0;for(let e of this.children)e.finish();return this}clear(){var e,t,n,s;this.length=0,(e=this._nulls)===null||e===void 0||e.clear(),(t=this._values)===null||t===void 0||t.clear(),(n=this._offsets)===null||n===void 0||n.clear(),(s=this._typeIds)===null||s===void 0||s.clear();for(let i of this.children)i.clear();return this}};Te.prototype.length=1;Te.prototype.stride=1;Te.prototype.children=null;Te.prototype.finished=!1;Te.prototype.nullValues=null;Te.prototype._isValid=()=>!0;We=class extends Te{constructor(e){super(e),this._values=new Ln(this.ArrayType,0,this.stride)}setValue(e,t){let n=this._values;return n.reserve(e-n.length+1),super.setValue(e,t)}},pt=class extends Te{constructor(e){super(e),this._pendingLength=0,this._offsets=new Is(e.type)}setValue(e,t){let n=this._pending||(this._pending=new Map),s=n.get(e);s&&(this._pendingLength-=s.length),this._pendingLength+=t instanceof wr?t[As].length:t.length,n.set(e,t)}setValid(e,t){return super.setValid(e,t)?!0:((this._pending||(this._pending=new Map)).set(e,void 0),!1)}clear(){return this._pendingLength=0,this._pending=void 0,super.clear()}flush(){return this._flush(),super.flush()}finish(){return this._flush(),super.finish()}_flush(){let e=this._pending,t=this._pendingLength;return this._pendingLength=0,this._pending=void 0,e&&e.size>0&&this._flushPending(e,t),this}}});var Si,jp=p(()=>{Si=class{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,t,n,s){return e.prep(8,24),e.writeInt64(BigInt(s??0)),e.pad(4),e.writeInt32(n),e.writeInt64(BigInt(t??0)),e.offset()}}});var cr,c_=p(()=>{le();jp();Vo();il();mp();cr=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsFooter(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}version(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ge.V1}schema(e){let t=this.bb.__offset(this.bb_pos,6);return t?(e||new kt).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}dictionaries(e,t){let n=this.bb.__offset(this.bb_pos,8);return n?(t||new Si).__init(this.bb.__vector(this.bb_pos+n)+e*24,this.bb):null}dictionariesLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,t){let n=this.bb.__offset(this.bb_pos,10);return n?(t||new Si).__init(this.bb.__vector(this.bb_pos+n)+e*24,this.bb):null}recordBatchesLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){let n=this.bb.__offset(this.bb_pos,12);return n?(t||new Me).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ge.V1)}static addSchema(e,t){e.addFieldOffset(1,t,0)}static addDictionaries(e,t){e.addFieldOffset(2,t,0)}static startDictionariesVector(e,t){e.startVector(24,t,8)}static addRecordBatches(e,t){e.addFieldOffset(3,t,0)}static startRecordBatchesVector(e,t){e.startVector(24,t,8)}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addOffset(t[n]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,t){e.finish(t)}static finishSizePrefixedFooterBuffer(e,t){e.finish(t,void 0,!0)}}});function $l(r,e){return new Map([...r||new Map,...e||new Map])}function Gp(r,e=new Map){for(let t=-1,n=r.length;++t<n;){let i=r[t].type;if(E.isDictionary(i)){if(!e.has(i.id))e.set(i.id,i.dictionary);else if(e.get(i.id)!==i.dictionary)throw new Error("Cannot create Schema containing two different dictionaries with the same Id")}i.children&&i.children.length>0&&Gp(i.children,e)}return e}var u_,l_,X,O,mt=p(()=>{Re();we();u_=Symbol.for("apache-arrow/Schema"),l_=Symbol.for("apache-arrow/Field"),X=class r{static isSchema(e){return e?.[u_]===!0}constructor(e=[],t,n,s=ge.V5){this.fields=e||[],this.metadata=t||new Map,n||(n=Gp(this.fields)),this.dictionaries=n,this.metadataVersion=s}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,t)=>`${t}: ${e}`).join(", ")} }>`}select(e){let t=new Set(e),n=this.fields.filter(s=>t.has(s.name));return new r(n,this.metadata)}selectAt(e){let t=e.map(n=>this.fields[n]).filter(Boolean);return new r(t,this.metadata)}assign(...e){let t=e[0]instanceof r?e[0]:Array.isArray(e[0])?new r(e[0]):new r(e),n=[...this.fields],s=$l($l(new Map,this.metadata),t.metadata),i=t.fields.filter(a=>{let c=n.findIndex(u=>u.name===a.name);return~c?(n[c]=a.clone({metadata:$l($l(new Map,n[c].metadata),a.metadata)}))&&!1:!0}),o=Gp(i,new Map);return new r([...n,...i],s,new Map([...this.dictionaries,...o]))}};X.prototype.fields=null;X.prototype.metadata=null;X.prototype.dictionaries=null;X.prototype[u_]=!0;Object.defineProperty(X,Symbol.hasInstance,{value:function(e){return Function.prototype[Symbol.hasInstance].call(this,e)||this===X&&X.isSchema(e)}});O=class r{static isField(e){return e?.[l_]===!0}static new(...e){let[t,n,s,i]=e;return e[0]&&typeof e[0]=="object"&&({name:t}=e[0],n===void 0&&(n=e[0].type),s===void 0&&(s=e[0].nullable),i===void 0&&(i=e[0].metadata)),new r(`${t}`,n,s,i)}constructor(e,t,n=!1,s){this.name=e,this.type=t,this.nullable=n,this.metadata=s||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[t,n,s,i]=e;return!e[0]||typeof e[0]!="object"?[t=this.name,n=this.type,s=this.nullable,i=this.metadata]=e:{name:t=this.name,type:n=this.type,nullable:s=this.nullable,metadata:i=this.metadata}=e[0],r.new(t,n,s,i)}};O.prototype.type=null;O.prototype.name=null;O.prototype.nullable=null;O.prototype.metadata=null;O.prototype[l_]=!0;Object.defineProperty(O,Symbol.hasInstance,{value:function(e){return Function.prototype[Symbol.hasInstance].call(this,e)||this===O&&O.isField(e)}})});var HM,XM,Bn,zp,$r,Wp=p(()=>{jp();c_();le();mt();Re();Ke();nn();HM=gi,XM=Ze,Bn=class{static decode(e){e=new XM(N(e));let t=cr.getRootAsFooter(e),n=X.decode(t.schema(),new Map,t.version());return new zp(n,t)}static encode(e){let t=new HM,n=X.encode(t,e.schema);cr.startRecordBatchesVector(t,e.numRecordBatches);for(let o of[...e.recordBatches()].slice().reverse())$r.encode(t,o);let s=t.endVector();cr.startDictionariesVector(t,e.numDictionaries);for(let o of[...e.dictionaryBatches()].slice().reverse())$r.encode(t,o);let i=t.endVector();return cr.startFooter(t),cr.addSchema(t,n),cr.addVersion(t,ge.V5),cr.addRecordBatches(t,s),cr.addDictionaries(t,i),cr.finishFooterBuffer(t,cr.endFooter(t)),t.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(e,t=ge.V5,n,s){this.schema=e,this.version=t,n&&(this._recordBatches=n),s&&(this._dictionaryBatches=s)}*recordBatches(){for(let e,t=-1,n=this.numRecordBatches;++t<n;)(e=this.getRecordBatch(t))&&(yield e)}*dictionaryBatches(){for(let e,t=-1,n=this.numDictionaries;++t<n;)(e=this.getDictionaryBatch(t))&&(yield e)}getRecordBatch(e){return e>=0&&e<this.numRecordBatches&&this._recordBatches[e]||null}getDictionaryBatch(e){return e>=0&&e<this.numDictionaries&&this._dictionaryBatches[e]||null}},zp=class extends Bn{get numRecordBatches(){return this._footer.recordBatchesLength()}get numDictionaries(){return this._footer.dictionariesLength()}constructor(e,t){super(e,t.version()),this._footer=t}getRecordBatch(e){if(e>=0&&e<this.numRecordBatches){let t=this._footer.recordBatches(e);if(t)return $r.decode(t)}return null}getDictionaryBatch(e){if(e>=0&&e<this.numDictionaries){let t=this._footer.dictionaries(e);if(t)return $r.decode(t)}return null}},$r=class r{static decode(e){return new r(e.metaDataLength(),e.bodyLength(),e.offset())}static encode(e,t){let{metaDataLength:n}=t,s=BigInt(t.offset),i=BigInt(t.bodyLength);return Si.createBlock(e,s,n,i)}constructor(e,t,n){this.metaDataLength=e,this.offset=re(n),this.bodyLength=re(t)}}});var ur,f_=p(()=>{le();Vo();dl();il();ur=class r{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsMessage(e,t){return(t||new r).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,t){return e.setPosition(e.position()+4),(t||new r).__init(e.readInt32(e.position())+e.position(),e)}version(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ge.V1}headerType(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):oe.NONE}header(e){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__union(e,this.bb_pos+t):null}bodyLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):BigInt("0")}customMetadata(e,t){let n=this.bb.__offset(this.bb_pos,12);return n?(t||new Me).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ge.V1)}static addHeaderType(e,t){e.addFieldInt8(1,t,oe.NONE)}static addHeader(e,t){e.addFieldOffset(2,t,0)}static addBodyLength(e,t){e.addFieldInt64(3,t,BigInt("0"))}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addOffset(t[n]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,t){e.finish(t)}static finishSizePrefixedMessageBuffer(e,t){e.finish(t,void 0,!0)}static createMessage(e,t,n,s,i,o){return r.startMessage(e),r.addVersion(e,t),r.addHeaderType(e,n),r.addHeader(e,s),r.addBodyLength(e,i),r.addCustomMetadata(e,o),r.endMessage(e)}}});var $p,ql,d_=p(()=>{Vt();DT();ll();cp();ET();LT();FT();BT();kT();CT();MT();sp();np();fp();dp();up();ip();RT();OT();NT();hp();rp();op();ap();lp();$p=class extends D{visit(e,t){return e==null||t==null?void 0:super.visit(e,t)}visitNull(e,t){return dc.startNull(t),dc.endNull(t)}visitInt(e,t){return Nr.startInt(t),Nr.addBitWidth(t,e.bitWidth),Nr.addIsSigned(t,e.isSigned),Nr.endInt(t)}visitFloat(e,t){return as.startFloatingPoint(t),as.addPrecision(t,e.precision),as.endFloatingPoint(t)}visitBinary(e,t){return ic.startBinary(t),ic.endBinary(t)}visitBinaryView(e,t){return oc.startBinaryView(t),oc.endBinaryView(t)}visitLargeBinary(e,t){return cc.startLargeBinary(t),cc.endLargeBinary(t)}visitBool(e,t){return ac.startBool(t),ac.endBool(t)}visitUtf8(e,t){return pc.startUtf8(t),pc.endUtf8(t)}visitUtf8View(e,t){return mc.startUtf8View(t),mc.endUtf8View(t)}visitLargeUtf8(e,t){return lc.startLargeUtf8(t),lc.endLargeUtf8(t)}visitDecimal(e,t){return rn.startDecimal(t),rn.addScale(t,e.scale),rn.addPrecision(t,e.precision),rn.addBitWidth(t,e.bitWidth),rn.endDecimal(t)}visitDate(e,t){return ns.startDate(t),ns.addUnit(t,e.unit),ns.endDate(t)}visitTime(e,t){return vn.startTime(t),vn.addUnit(t,e.unit),vn.addBitWidth(t,e.bitWidth),vn.endTime(t)}visitTimestamp(e,t){let n=e.timezone&&t.createString(e.timezone)||void 0;return In.startTimestamp(t),In.addUnit(t,e.unit),n!==void 0&&In.addTimezone(t,n),In.endTimestamp(t)}visitInterval(e,t){return cs.startInterval(t),cs.addUnit(t,e.unit),cs.endInterval(t)}visitDuration(e,t){return ss.startDuration(t),ss.addUnit(t,e.unit),ss.endDuration(t)}visitList(e,t){return fc.startList(t),fc.endList(t)}visitLargeList(e,t){return uc.startLargeList(t),uc.endLargeList(t)}visitStruct(e,t){return hc.startStruct_(t),hc.endStruct_(t)}visitUnion(e,t){kr.startTypeIdsVector(t,e.typeIds.length);let n=kr.createTypeIdsVector(t,e.typeIds);return kr.startUnion(t),kr.addMode(t,e.mode),kr.addTypeIds(t,n),kr.endUnion(t)}visitDictionary(e,t){let n=this.visit(e.indices,t);return tn.startDictionaryEncoding(t),tn.addId(t,BigInt(e.id)),tn.addIsOrdered(t,e.isOrdered),n!==void 0&&tn.addIndexType(t,n),tn.endDictionaryEncoding(t)}visitFixedSizeBinary(e,t){return is.startFixedSizeBinary(t),is.addByteWidth(t,e.byteWidth),is.endFixedSizeBinary(t)}visitFixedSizeList(e,t){return os.startFixedSizeList(t),os.addListSize(t,e.listSize),os.endFixedSizeList(t)}visitMap(e,t){return us.startMap(t),us.addKeysSorted(t,e.keysSorted),us.endMap(t)}},ql=new $p});function b_(r,e=new Map){return new X(JM(r,e),Kl(r.metadata),e)}function qp(r){return new $e(r.count,y_(r.columns),w_(r.columns),null,x_(r.columns))}function g_(r){return new bt(qp(r.data),r.id,r.isDelta)}function JM(r,e){return(r.fields||[]).filter(Boolean).map(t=>O.fromJSON(t,e))}function h_(r,e){return(r.children||[]).filter(Boolean).map(t=>O.fromJSON(t,e))}function y_(r){return(r||[]).reduce((e,t)=>[...e,new Tr(t.count,YM(t.VALIDITY)),...y_(t.children)],[])}function w_(r,e=[]){for(let t=-1,n=(r||[]).length;++t<n;){let s=r[t];if(s.VALIDITY&&e.push(new Ue(e.length,s.VALIDITY.length)),s.TYPE_ID&&e.push(new Ue(e.length,s.TYPE_ID.length)),s.OFFSET&&e.push(new Ue(e.length,s.OFFSET.length)),s.DATA&&e.push(new Ue(e.length,s.DATA.length)),s.VIEWS&&e.push(new Ue(e.length,s.VIEWS.length)),s.VARIADIC_DATA_BUFFERS)for(let i of s.VARIADIC_DATA_BUFFERS)e.push(new Ue(e.length,i.length));e=w_(s.children,e)}return e}function YM(r){return(r||[]).reduce((e,t)=>e+ +(t===0),0)}function x_(r){return(r||[]).reduce((e,t)=>[...e,...t.VARIADIC_DATA_BUFFERS?[t.VARIADIC_DATA_BUFFERS.length]:[],...x_(t.children)],[])}function T_(r,e){let t,n,s,i,o,a;return!e||!(i=r.dictionary)?(o=m_(r,h_(r,e)),s=new O(r.name,o,r.nullable,Kl(r.metadata))):e.has(t=i.id)?(n=(n=i.indexType)?p_(n):new Pe,a=new Ge(e.get(t),n,t,i.isOrdered),s=new O(r.name,a,r.nullable,Kl(r.metadata))):(n=(n=i.indexType)?p_(n):new Pe,e.set(t,o=m_(r,h_(r,e))),a=new Ge(o,n,t,i.isOrdered),s=new O(r.name,a,r.nullable,Kl(r.metadata))),s||null}function Kl(r=[]){return new Map(r.map(({key:e,value:t})=>[e,t]))}function p_(r){return new Oe(r.isSigned,r.bitWidth)}function m_(r,e){let t=r.type.name;switch(t){case"NONE":return new Ce;case"null":return new Ce;case"binary":return new Ct;case"largebinary":return new jr;case"binaryview":return new Z;case"utf8":return new ut;case"largeutf8":return new Gr;case"utf8view":return new St;case"bool":return new lt;case"list":return new je((e||[])[0]);case"largelist":return new ir((e||[])[0]);case"struct":return new fe(e||[]);case"struct_":return new fe(e||[])}switch(t){case"int":{let n=r.type;return new Oe(n.isSigned,n.bitWidth)}case"floatingpoint":{let n=r.type;return new ct(he[n.precision])}case"decimal":{let n=r.type;return new Ut(n.scale,n.precision,n.bitWidth)}case"date":{let n=r.type;return new Et(ye[n.unit])}case"time":{let n=r.type;return new tt(L[n.unit],n.bitWidth)}case"timestamp":{let n=r.type;return new rt(L[n.unit],n.timezone)}case"interval":{let n=r.type;return new ft(ue[n.unit])}case"duration":{let n=r.type;return new Lt(L[n.unit])}case"union":{let n=r.type,[s,...i]=(n.mode+"").toLowerCase(),o=s.toUpperCase()+i.join("");return new Bt(me[o],n.typeIds||[],e||[])}case"fixedsizebinary":{let n=r.type;return new Pt(n.byteWidth)}case"fixedsizelist":{let n=r.type;return new Fe(n.listSize,(e||[])[0])}case"map":{let n=r.type;return new dt((e||[])[0],n.keysSorted)}}throw new Error(`Unrecognized type: "${t}"`)}var __=p(()=>{mt();we();Ss();Re()});function e2(r,e){return(()=>{switch(e){case oe.Schema:return X.fromJSON(r);case oe.RecordBatch:return $e.fromJSON(r);case oe.DictionaryBatch:return bt.fromJSON(r)}throw new Error(`Unrecognized Message type: { name: ${oe[e]}, type: ${e} }`)})}function t2(r,e){return(()=>{switch(e){case oe.Schema:return X.decode(r.header(new kt),new Map,r.version());case oe.RecordBatch:return $e.decode(r.header(new ot),r.version());case oe.DictionaryBatch:return bt.decode(r.header(new An),r.version())}throw new Error(`Unrecognized Message type: { name: ${oe[e]}, type: ${e} }`)})}function r2(r,e=new Map,t=ge.V5){let n=l2(r,e);return new X(n,Hl(r),e,t)}function n2(r,e=ge.V5){return new $e(r.length(),a2(r),c2(r,e),S_(r.compression()),u2(r))}function s2(r,e=ge.V5){return new bt($e.decode(r.data(),e),r.id(),r.isDelta())}function i2(r){return new Ue(r.offset(),r.length())}function o2(r){return new Tr(r.length(),r.nullCount())}function a2(r){let e=[];for(let t,n=-1,s=-1,i=r.nodesLength();++n<i;)(t=r.nodes(n))&&(e[++s]=Tr.decode(t));return e}function c2(r,e){let t=[];for(let n,s=-1,i=-1,o=r.buffersLength();++s<o;)(n=r.buffers(s))&&(e<ge.V4&&(n.bb_pos+=8*(s+1)),t[++i]=Ue.decode(n));return t}function u2(r){let e=[],t=Math.trunc(r.variadicBufferCountsLength());for(let n=0;n<t;++n)e.push(re(r.variadicBufferCounts(n)));return e}function l2(r,e){let t=[];for(let n,s=-1,i=-1,o=r.fieldsLength();++s<o;)(n=r.fields(s))&&(t[++i]=O.decode(n,e));return t}function A_(r,e){let t=[];for(let n,s=-1,i=-1,o=r.childrenLength();++s<o;)(n=r.children(s))&&(t[++i]=O.decode(n,e));return t}function f2(r,e){let t,n,s,i,o,a;return!e||!(a=r.dictionary())?(s=I_(r,A_(r,e)),n=new O(r.name(),s,r.nullable(),Hl(r))):e.has(t=re(a.id()))?(i=(i=a.indexType())?v_(i):new Pe,o=new Ge(e.get(t),i,t,a.isOrdered()),n=new O(r.name(),o,r.nullable(),Hl(r))):(i=(i=a.indexType())?v_(i):new Pe,e.set(t,s=I_(r,A_(r,e))),o=new Ge(s,i,t,a.isOrdered()),n=new O(r.name(),o,r.nullable(),Hl(r))),n||null}function Hl(r){let e=new Map;if(r)for(let t,n,s=-1,i=Math.trunc(r.customMetadataLength());++s<i;)(t=r.customMetadata(s))&&(n=t.key())!=null&&e.set(n,t.value());return e}function d2(r){let e=new Map;for(let t,n,s=-1,i=Math.trunc(r.customMetadataLength());++s<i;)(t=r.customMetadata(s))&&(n=t.key())!=null&&e.set(n,t.value());return e}function v_(r){return new Oe(r.isSigned(),r.bitWidth())}function I_(r,e){let t=r.typeType();switch(t){case z.NONE:return new Ce;case z.Null:return new Ce;case z.Binary:return new Ct;case z.LargeBinary:return new jr;case z.BinaryView:return new Z;case z.Utf8:return new ut;case z.LargeUtf8:return new Gr;case z.Utf8View:return new St;case z.Bool:return new lt;case z.List:return new je((e||[])[0]);case z.LargeList:return new ir((e||[])[0]);case z.Struct_:return new fe(e||[])}switch(t){case z.Int:{let n=r.type(new Nr);return new Oe(n.isSigned(),n.bitWidth())}case z.FloatingPoint:{let n=r.type(new as);return new ct(n.precision())}case z.Decimal:{let n=r.type(new rn);return new Ut(n.scale(),n.precision(),n.bitWidth())}case z.Date:{let n=r.type(new ns);return new Et(n.unit())}case z.Time:{let n=r.type(new vn);return new tt(n.unit(),n.bitWidth())}case z.Timestamp:{let n=r.type(new In);return new rt(n.unit(),n.timezone())}case z.Interval:{let n=r.type(new cs);return new ft(n.unit())}case z.Duration:{let n=r.type(new ss);return new Lt(n.unit())}case z.Union:{let n=r.type(new kr);return new Bt(n.mode(),n.typeIdsArray()||[],e||[])}case z.FixedSizeBinary:{let n=r.type(new is);return new Pt(n.byteWidth())}case z.FixedSizeList:{let n=r.type(new os);return new Fe(n.listSize(),(e||[])[0])}case z.Map:{let n=r.type(new us);return new dt((e||[])[0],n.keysSorted())}}throw new Error(`Unrecognized type: "${z[t]}" (${t})`)}function S_(r){return r?new Ei(r.codec(),r.method()):null}function h2(r,e){let t=e.fields.map(i=>O.encode(r,i));kt.startFieldsVector(r,t.length);let n=kt.createFieldsVector(r,t),s=e.metadata&&e.metadata.size>0?kt.createCustomMetadataVector(r,[...e.metadata].map(([i,o])=>{let a=r.createString(`${i}`),c=r.createString(`${o}`);return Me.startKeyValue(r),Me.addKey(r,a),Me.addValue(r,c),Me.endKeyValue(r)})):-1;return kt.startSchema(r),kt.addFields(r,n),kt.addEndianness(r,w2?rs.Little:rs.Big),s!==-1&&kt.addCustomMetadata(r,s),kt.endSchema(r)}function p2(r,e){let t=-1,n=-1,s=-1,i=e.type,o=e.typeId;E.isDictionary(i)?(o=i.dictionary.typeId,s=ql.visit(i,r),n=ql.visit(i.dictionary,r)):n=ql.visit(i,r);let a=(i.children||[]).map(l=>O.encode(r,l)),c=at.createChildrenVector(r,a),u=e.metadata&&e.metadata.size>0?at.createCustomMetadataVector(r,[...e.metadata].map(([l,f])=>{let d=r.createString(`${l}`),h=r.createString(`${f}`);return Me.startKeyValue(r),Me.addKey(r,d),Me.addValue(r,h),Me.endKeyValue(r)})):-1;return e.name&&(t=r.createString(e.name)),at.startField(r),at.addType(r,n),at.addTypeType(r,o),at.addChildren(r,c),at.addNullable(r,!!e.nullable),t!==-1&&at.addName(r,t),s!==-1&&at.addDictionary(r,s),u!==-1&&at.addCustomMetadata(r,u),at.endField(r)}function m2(r,e){let t=e.nodes||[],n=e.buffers||[],s=e.variadicBufferCounts||[];ot.startNodesVector(r,t.length);for(let u of t.slice().reverse())Tr.encode(r,u);let i=r.endVector();ot.startBuffersVector(r,n.length);for(let u of n.slice().reverse())Ue.encode(r,u);let o=r.endVector(),a=null;e.compression!==null&&(a=E_(r,e.compression));let c=-1;return s.length>0&&(c=ot.createVariadicBufferCountsVector(r,s.map(BigInt))),ot.startRecordBatch(r),ot.addLength(r,BigInt(e.length)),ot.addNodes(r,i),ot.addBuffers(r,o),e.compression!==null&&a&&ot.addCompression(r,a),c!==-1&&ot.addVariadicBufferCounts(r,c),ot.endRecordBatch(r)}function E_(r,e){return _n.startBodyCompression(r),_n.addCodec(r,e.type),_n.addMethod(r,e.method),_n.endBodyCompression(r)}function b2(r,e){let t=$e.encode(r,e.data);return An.startDictionaryBatch(r),An.addId(r,BigInt(e.id)),An.addIsDelta(r,e.isDelta),An.addData(r,t),An.endDictionaryBatch(r)}function g2(r,e){return Po.createFieldNode(r,BigInt(e.length),BigInt(e.nullCount))}function y2(r,e){return Uo.createBuffer(r,BigInt(e.offset),BigInt(e.length))}var QM,ZM,gt,$e,bt,Ue,Tr,Ei,w2,Ss=p(()=>{le();mp();ll();ep();IT();Qh();pp();Zh();fl();Vo();tp();cp();sp();np();fp();dp();up();ip();hp();op();ap();lp();f_();Yh();Jh();mt();Ke();nn();Re();d_();__();we();QM=gi,ZM=Ze,gt=class r{static fromJSON(e,t){let n=new r(0,ge.V5,t);return n._createHeader=e2(e,t),n}static decode(e){e=new ZM(N(e));let t=ur.getRootAsMessage(e),n=t.bodyLength(),s=t.version(),i=t.headerType(),o=d2(t),a=new r(n,s,i,void 0,o);return a._createHeader=t2(t,i),a}static encode(e){let t=new QM,n=-1;e.isSchema()?n=X.encode(t,e.header()):e.isRecordBatch()?n=$e.encode(t,e.header()):e.isDictionaryBatch()&&(n=bt.encode(t,e.header()));let s=e.metadata&&e.metadata.size>0?ur.createCustomMetadataVector(t,[...e.metadata].map(([i,o])=>{let a=t.createString(`${i}`),c=t.createString(`${o}`);return Me.startKeyValue(t),Me.addKey(t,a),Me.addValue(t,c),Me.endKeyValue(t)})):-1;return ur.startMessage(t),ur.addVersion(t,ge.V5),ur.addHeader(t,n),ur.addHeaderType(t,e.headerType),ur.addBodyLength(t,BigInt(e.bodyLength)),s!==-1&&ur.addCustomMetadata(t,s),ur.finishMessageBuffer(t,ur.endMessage(t)),t.asUint8Array()}static from(e,t=0){if(e instanceof X)return new r(0,ge.V5,oe.Schema,e);if(e instanceof $e)return new r(t,ge.V5,oe.RecordBatch,e,e.metadata);if(e instanceof bt)return new r(t,ge.V5,oe.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get compression(){return this._compression}get bodyLength(){return this._bodyLength}get metadata(){return this._metadata}header(){return this._createHeader()}isSchema(){return this.headerType===oe.Schema}isRecordBatch(){return this.headerType===oe.RecordBatch}isDictionaryBatch(){return this.headerType===oe.DictionaryBatch}constructor(e,t,n,s,i){this._version=t,this._headerType=n,this.body=new Uint8Array(0),this._compression=s?.compression,s&&(this._createHeader=()=>s),this._bodyLength=re(e),this._metadata=i||new Map}},$e=class{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}get compression(){return this._compression}get variadicBufferCounts(){return this._variadicBufferCounts}get metadata(){return this._metadata}constructor(e,t,n,s,i=[],o){this._nodes=t,this._buffers=n,this._length=re(e),this._compression=s,this._variadicBufferCounts=i,this._metadata=o||new Map}},bt=class{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(e,t,n=!1){this._data=e,this._isDelta=n,this._id=re(t)}},Ue=class{constructor(e,t){this.offset=re(e),this.length=re(t)}},Tr=class{constructor(e,t){this.length=re(e),this.nullCount=re(t)}},Ei=class{constructor(e,t=yi.BUFFER){this.type=e,this.method=t}};O.encode=p2;O.decode=f2;O.fromJSON=T_;X.encode=h2;X.decode=r2;X.fromJSON=b_;$e.encode=m2;$e.decode=n2;$e.fromJSON=qp;bt.encode=b2;bt.decode=s2;bt.fromJSON=g_;Tr.encode=g2;Tr.decode=o2;Ue.encode=y2;Ue.decode=i2;Ei.encode=E_;Ei.decode=S_;w2=(()=>{let r=new ArrayBuffer(2);return new DataView(r).setInt16(0,256,!0),new Int16Array(r)[0]===256})()});var Ee,Fc,Li,Xl,Oc=p(()=>{Nt();tc();Ee=Object.freeze({done:!0,value:void 0}),Fc=class{constructor(e){this._json=e}get schema(){return this._json.schema}get batches(){return this._json.batches||[]}get dictionaries(){return this._json.dictionaries||[]}},Li=class{tee(){return this._getDOMStream().tee()}pipe(e,t){return this._getNodeStream().pipe(e,t)}pipeTo(e,t){return this._getDOMStream().pipeTo(e,t)}pipeThrough(e,t){return this._getDOMStream().pipeThrough(e,t)}_getDOMStream(){return this._DOMStream||(this._DOMStream=this.toDOMStream())}_getNodeStream(){return this._nodeStream||(this._nodeStream=this.toNodeStream())}},Xl=class extends Li{constructor(){super(),this._values=[],this.resolvers=[],this._closedPromise=new Promise(e=>this._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return F(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){let{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(Ee);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return Qe.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return Qe.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return F(this,void 0,void 0,function*(){return yield this.abort(e),Ee})}return(e){return F(this,void 0,void 0,function*(){return yield this.close(),Ee})}read(e){return F(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return F(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((t,n)=>{this.resolvers.push({resolve:t,reject:n})}):Promise.resolve(Ee)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}});var _r,Ar,Gt,Kp,Fn,Es=p(()=>{Nt();tc();Tn();Oc();Ke();ts();_r=class extends Xl{write(e){if((e=N(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?No(this.toUint8Array(!0)):this.toUint8Array(!1).then(No)}toUint8Array(e=!1){return e?Qt(this._values)[0]:F(this,void 0,void 0,function*(){var t,n,s,i;let o=[],a=0;try{for(var c=!0,u=Xt(this),l;l=yield u.next(),t=l.done,!t;c=!0){i=l.value,c=!1;let f=i;o.push(f),a+=f.byteLength}}catch(f){n={error:f}}finally{try{!c&&!t&&(s=u.return)&&(yield s.call(u))}finally{if(n)throw n.error}}return Qt(o,a)[0]})}},Ar=class{constructor(e){e&&(this.source=new Kp(Qe.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}},Gt=class r{constructor(e){e instanceof r?this.source=e.source:e instanceof _r?this.source=new Fn(Qe.fromAsyncIterable(e)):rl(e)?this.source=new Fn(Qe.fromNodeStream(e)):Qa(e)?this.source=new Fn(Qe.fromDOMStream(e)):el(e)?this.source=new Fn(Qe.fromDOMStream(e.body)):Mr(e)?this.source=new Fn(Qe.fromIterable(e)):Yt(e)?this.source=new Fn(Qe.fromAsyncIterable(e)):gr(e)&&(this.source=new Fn(Qe.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}},Kp=class{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,t="read"){return this.source.next({cmd:t,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||Ee)}return(e){return Object.create(this.source.return&&this.source.return(e)||Ee)}},Fn=class{constructor(e){this.source=e,this._closedPromise=new Promise(t=>this._closedPromiseResolve=t)}cancel(e){return F(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return F(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return F(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e){return F(this,arguments,void 0,function*(t,n="read"){return yield this.source.next({cmd:n,size:t})})}throw(e){return F(this,void 0,void 0,function*(){let t=this.source.throw&&(yield this.source.throw(e))||Ee;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}return(e){return F(this,void 0,void 0,function*(){let t=this.source.return&&(yield this.source.return(e))||Ee;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}}});var Mc,Ls,Hp=p(()=>{Nt();Es();Ke();Mc=class extends Ar{constructor(e,t){super(),this.position=0,this.buffer=N(e),this.size=t===void 0?this.buffer.byteLength:t}readInt32(e){let{buffer:t,byteOffset:n}=this.readAt(e,4);return new DataView(t,n).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),e<this.size}read(e){let{buffer:t,size:n,position:s}=this;return t&&s<n?(typeof e!="number"&&(e=Number.POSITIVE_INFINITY),this.position=Math.min(n,s+Math.min(n-s,e)),t.subarray(s,this.position)):null}readAt(e,t){let n=this.buffer,s=Math.min(this.size,e+t);return n?n.subarray(e,s):new Uint8Array(t)}close(){this.buffer&&(this.buffer=null)}throw(e){return this.close(),{done:!0,value:e}}return(e){return this.close(),{done:!0,value:e}}},Ls=class extends Gt{constructor(e,t){super(),this.position=0,this._handle=e,typeof t=="number"?this.size=t:this._pending=F(this,void 0,void 0,function*(){this.size=(yield e.stat()).size,delete this._pending})}readInt32(e){return F(this,void 0,void 0,function*(){let{buffer:t,byteOffset:n}=yield this.readAt(e,4);return new DataView(t,n).getInt32(0,!0)})}seek(e){return F(this,void 0,void 0,function*(){return this._pending&&(yield this._pending),this.position=Math.min(e,this.size),e<this.size})}read(e){return F(this,void 0,void 0,function*(){this._pending&&(yield this._pending);let{_handle:t,size:n,position:s}=this;if(t&&s<n){typeof e!="number"&&(e=Number.POSITIVE_INFINITY);let i=s,o=0,a=0,c=Math.min(n,i+Math.min(n-i,e)),u=new Uint8Array(Math.max(0,(this.position=c)-i));for(;(i+=a)<c&&(o+=a)<u.byteLength;)({bytesRead:a}=yield t.read(u,o,u.byteLength-o,i));return u}return null})}readAt(e,t){return F(this,void 0,void 0,function*(){this._pending&&(yield this._pending);let{_handle:n,size:s}=this;if(n&&e+t<s){let i=Math.min(s,e+t),o=new Uint8Array(i-e);return(yield n.read(o,0,t,e)).buffer}return new Uint8Array(t)})}close(){return F(this,void 0,void 0,function*(){let e=this._handle;this._handle=null,e&&(yield e.close())})}throw(e){return F(this,void 0,void 0,function*(){return yield this.close(),{done:!0,value:e}})}return(e){return F(this,void 0,void 0,function*(){return yield this.close(),{done:!0,value:e}})}}});var Jp={};Y(Jp,{BaseInt64:()=>Rc,Int128:()=>Dc,Int64:()=>On,Uint64:()=>De});function ta(r){return r<0&&(r=4294967295+r+1),`0x${r.toString(16)}`}var ra,Xp,Rc,De,On,Dc,Yp=p(()=>{ra=8,Xp=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8],Rc=class{constructor(e){this.buffer=e}high(){return this.buffer[1]}low(){return this.buffer[0]}_times(e){let t=new Uint32Array([this.buffer[1]>>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),n=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]),s=t[3]*n[3];this.buffer[0]=s&65535;let i=s>>>16;return s=t[2]*n[3],i+=s,s=t[3]*n[2]>>>0,i+=s,this.buffer[0]+=i<<16,this.buffer[1]=i>>>0<s?65536:0,this.buffer[1]+=i>>>16,this.buffer[1]+=t[1]*n[3]+t[2]*n[2]+t[3]*n[1],this.buffer[1]+=t[0]*n[3]+t[1]*n[2]+t[2]*n[1]+t[3]*n[0]<<16,this}_plus(e){let t=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],t<this.buffer[0]>>>0&&++this.buffer[1],this.buffer[0]=t}lessThan(e){return this.buffer[1]<e.buffer[1]||this.buffer[1]===e.buffer[1]&&this.buffer[0]<e.buffer[0]}equals(e){return this.buffer[1]===e.buffer[1]&&this.buffer[0]==e.buffer[0]}greaterThan(e){return e.lessThan(this)}hex(){return`${ta(this.buffer[1])} ${ta(this.buffer[0])}`}},De=class r extends Rc{times(e){return this._times(e),this}plus(e){return this._plus(e),this}static from(e,t=new Uint32Array(2)){return r.fromString(typeof e=="string"?e:e.toString(),t)}static fromNumber(e,t=new Uint32Array(2)){return r.fromString(e.toString(),t)}static fromString(e,t=new Uint32Array(2)){let n=e.length,s=new r(t);for(let i=0;i<n;){let o=ra<n-i?ra:n-i,a=new r(new Uint32Array([Number.parseInt(e.slice(i,i+o),10),0])),c=new r(new Uint32Array([Xp[o],0]));s.times(c),s.plus(a),i+=o}return s}static convertArray(e){let t=new Uint32Array(e.length*2);for(let n=-1,s=e.length;++n<s;)r.from(e[n],new Uint32Array(t.buffer,t.byteOffset+2*n*4,2));return t}static multiply(e,t){return new r(new Uint32Array(e.buffer)).times(t)}static add(e,t){return new r(new Uint32Array(e.buffer)).plus(t)}},On=class r extends Rc{negate(){return this.buffer[0]=~this.buffer[0]+1,this.buffer[1]=~this.buffer[1],this.buffer[0]==0&&++this.buffer[1],this}times(e){return this._times(e),this}plus(e){return this._plus(e),this}lessThan(e){let t=this.buffer[1]<<0,n=e.buffer[1]<<0;return t<n||t===n&&this.buffer[0]<e.buffer[0]}static from(e,t=new Uint32Array(2)){return r.fromString(typeof e=="string"?e:e.toString(),t)}static fromNumber(e,t=new Uint32Array(2)){return r.fromString(e.toString(),t)}static fromString(e,t=new Uint32Array(2)){let n=e.startsWith("-"),s=e.length,i=new r(t);for(let o=n?1:0;o<s;){let a=ra<s-o?ra:s-o,c=new r(new Uint32Array([Number.parseInt(e.slice(o,o+a),10),0])),u=new r(new Uint32Array([Xp[a],0]));i.times(u),i.plus(c),o+=a}return n?i.negate():i}static convertArray(e){let t=new Uint32Array(e.length*2);for(let n=-1,s=e.length;++n<s;)r.from(e[n],new Uint32Array(t.buffer,t.byteOffset+2*n*4,2));return t}static multiply(e,t){return new r(new Uint32Array(e.buffer)).times(t)}static add(e,t){return new r(new Uint32Array(e.buffer)).plus(t)}},Dc=class r{constructor(e){this.buffer=e}high(){return new On(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset+8,2))}low(){return new On(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset,2))}negate(){return this.buffer[0]=~this.buffer[0]+1,this.buffer[1]=~this.buffer[1],this.buffer[2]=~this.buffer[2],this.buffer[3]=~this.buffer[3],this.buffer[0]==0&&++this.buffer[1],this.buffer[1]==0&&++this.buffer[2],this.buffer[2]==0&&++this.buffer[3],this}times(e){let t=new De(new Uint32Array([this.buffer[3],0])),n=new De(new Uint32Array([this.buffer[2],0])),s=new De(new Uint32Array([this.buffer[1],0])),i=new De(new Uint32Array([this.buffer[0],0])),o=new De(new Uint32Array([e.buffer[3],0])),a=new De(new Uint32Array([e.buffer[2],0])),c=new De(new Uint32Array([e.buffer[1],0])),u=new De(new Uint32Array([e.buffer[0],0])),l=De.multiply(i,u);this.buffer[0]=l.low();let f=new De(new Uint32Array([l.high(),0]));return l=De.multiply(s,u),f.plus(l),l=De.multiply(i,c),f.plus(l),this.buffer[1]=f.low(),this.buffer[3]=f.lessThan(l)?1:0,this.buffer[2]=f.high(),new De(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset+8,2)).plus(De.multiply(n,u)).plus(De.multiply(s,c)).plus(De.multiply(i,a)),this.buffer[3]+=De.multiply(t,u).plus(De.multiply(n,c)).plus(De.multiply(s,a)).plus(De.multiply(i,o)).low(),this}plus(e){let t=new Uint32Array(4);return t[3]=this.buffer[3]+e.buffer[3]>>>0,t[2]=this.buffer[2]+e.buffer[2]>>>0,t[1]=this.buffer[1]+e.buffer[1]>>>0,t[0]=this.buffer[0]+e.buffer[0]>>>0,t[0]<this.buffer[0]>>>0&&++t[1],t[1]<this.buffer[1]>>>0&&++t[2],t[2]<this.buffer[2]>>>0&&++t[3],this.buffer[3]=t[3],this.buffer[2]=t[2],this.buffer[1]=t[1],this.buffer[0]=t[0],this}hex(){return`${ta(this.buffer[3])} ${ta(this.buffer[2])} ${ta(this.buffer[1])} ${ta(this.buffer[0])}`}static multiply(e,t){return new r(new Uint32Array(e.buffer)).times(t)}static add(e,t){return new r(new Uint32Array(e.buffer)).plus(t)}static from(e,t=new Uint32Array(4)){return r.fromString(typeof e=="string"?e:e.toString(),t)}static fromNumber(e,t=new Uint32Array(4)){return r.fromString(e.toString(),t)}static fromString(e,t=new Uint32Array(4)){let n=e.startsWith("-"),s=e.length,i=new r(t);for(let o=n?1:0;o<s;){let a=ra<s-o?ra:s-o,c=new r(new Uint32Array([Number.parseInt(e.slice(o,o+a),10),0,0,0])),u=new r(new Uint32Array([Xp[a],0,0,0]));i.times(u),i.plus(c),o+=a}return n?i.negate():i}static convertArray(e){let t=new Uint32Array(e.length*4);for(let n=-1,s=e.length;++n<s;)r.from(e[n],new Uint32Array(t.buffer,t.byteOffset+16*n,4));return t}}});var rm={};Y(rm,{toIntervalDayTimeInt32Array:()=>Qp,toIntervalDayTimeObjects:()=>em,toIntervalMonthDayNanoInt32Array:()=>Zp,toIntervalMonthDayNanoObjects:()=>tm});function Qp(r){var e,t;let n=r.length,s=new Int32Array(n*2);for(let i=0,o=0;i<n;i++){let a=r[i];s[o++]=(e=a.days)!==null&&e!==void 0?e:0,s[o++]=(t=a.milliseconds)!==null&&t!==void 0?t:0}return s}function Zp(r){var e,t;let n=r.length,s=new Int32Array(n*4);for(let i=0,o=0;i<n;i++){let a=r[i];s[o++]=(e=a.months)!==null&&e!==void 0?e:0,s[o++]=(t=a.days)!==null&&t!==void 0?t:0;let c=a.nanoseconds;if(c){let u=BigInt(c);s[o++]=Number(u&BigInt(4294967295))>>>0,s[o++]=Number(u>>BigInt(32))>>>0}else o+=2}return s}function em(r){let e=r.length,t=new Array(e/2);for(let n=0,s=0;n<e;n+=2)t[s++]={days:r[n],milliseconds:r[n+1]};return t}function tm(r,e){let t=r.length,n=new Array(t/4);for(let s=0,i=0;s<t;s+=4){let o=BigInt(r[s+3])<<BigInt(32)|BigInt(r[s+2]>>>0);n[i++]={months:r[s],days:r[s+1],nanoseconds:e?`${o}`:o}}return n}var Jl=p(()=>{});function B_(r){let e=new Uint8Array(r.length/2);for(let t=0;t<r.length;t+=2)e[t>>1]=Number.parseInt(r.slice(t,t+2),16);return e}function x2(r){return B_(r.join(""))}function F_(r,e){let t=new Uint8Array(r.length*16),n=new DataView(t.buffer);for(let[s,i]of r.entries()){let o=s*16,a=i.SIZE;if(n.setInt32(o,a,!0),i.INLINED!==void 0){let c=e(i.INLINED);for(let u=0;u<c.length&&u<12;u++)t[o+4+u]=c[u]}else{let c=i.PREFIX_HEX;for(let u=0;u<8&&u<c.length;u+=2)t[o+4+(u>>1)]=Number.parseInt(c.slice(u,u+2),16);n.setInt32(o+8,i.BUFFER_INDEX,!0),n.setInt32(o+12,i.OFFSET,!0)}}return t}function T2(r){return F_(r,e=>{let t=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)t[n>>1]=Number.parseInt(e.slice(n,n+2),16);return t})}function _2(r){return F_(r,e=>new TextEncoder().encode(e))}var na,Yl,Ql,O_=p(()=>{xr();mt();we();Vt();vi();Tn();Yp();Re();Ke();Jl();na=class extends D{constructor(e,t,n,s,i=ge.V5,o=[]){super(),this.nodesIndex=-1,this.buffersIndex=-1,this.variadicBufferIndex=-1,this.bytes=e,this.nodes=t,this.buffers=n,this.dictionaries=s,this.metadataVersion=i,this.variadicBufferCounts=o}visit(e){return super.visit(e instanceof O?e.type:e)}visitNull(e,{length:t}=this.nextFieldNode()){return R({type:e,length:t})}visitBool(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),data:this.readData(e)})}visitInt(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),data:this.readData(e)})}visitFloat(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),data:this.readData(e)})}visitUtf8(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),valueOffsets:this.readOffsets(e),data:this.readData(e)})}visitLargeUtf8(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),valueOffsets:this.readOffsets(e),data:this.readData(e)})}visitUtf8View(e,{length:t,nullCount:n}=this.nextFieldNode()){let s=this.readNullBitmap(e,n),i=this.readData(e),o=this.readVariadicBuffers(this.nextVariadicBufferCount());return R({type:e,length:t,nullCount:n,nullBitmap:s,views:i,variadicBuffers:o})}visitBinary(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),valueOffsets:this.readOffsets(e),data:this.readData(e)})}visitLargeBinary(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),valueOffsets:this.readOffsets(e),data:this.readData(e)})}visitBinaryView(e,{length:t,nullCount:n}=this.nextFieldNode()){let s=this.readNullBitmap(e,n),i=this.readData(e),o=this.readVariadicBuffers(this.nextVariadicBufferCount());return R({type:e,length:t,nullCount:n,nullBitmap:s,views:i,variadicBuffers:o})}visitFixedSizeBinary(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),data:this.readData(e)})}visitDate(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),data:this.readData(e)})}visitTimestamp(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),data:this.readData(e)})}visitTime(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),data:this.readData(e)})}visitDecimal(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),data:this.readData(e)})}visitList(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),valueOffsets:this.readOffsets(e),child:this.visit(e.children[0])})}visitLargeList(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),valueOffsets:this.readOffsets(e),child:this.visit(e.children[0])})}visitStruct(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),children:this.visitMany(e.children)})}visitUnion(e,{length:t,nullCount:n}=this.nextFieldNode()){return this.metadataVersion<ge.V5&&this.readNullBitmap(e,n),e.mode===me.Sparse?this.visitSparseUnion(e,{length:t,nullCount:n}):this.visitDenseUnion(e,{length:t,nullCount:n})}visitDenseUnion(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,typeIds:this.readTypeIds(e),valueOffsets:this.readOffsets(e),children:this.visitMany(e.children)})}visitSparseUnion(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,typeIds:this.readTypeIds(e),children:this.visitMany(e.children)})}visitDictionary(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),data:this.readData(e.indices),dictionary:this.readDictionary(e)})}visitInterval(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),data:this.readData(e)})}visitDuration(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),data:this.readData(e)})}visitFixedSizeList(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),child:this.visit(e.children[0])})}visitMap(e,{length:t,nullCount:n}=this.nextFieldNode()){return R({type:e,length:t,nullCount:n,nullBitmap:this.readNullBitmap(e,n),valueOffsets:this.readOffsets(e),child:this.visit(e.children[0])})}nextFieldNode(){return this.nodes[++this.nodesIndex]}nextBufferRange(){return this.buffers[++this.buffersIndex]}readNullBitmap(e,t,n=this.nextBufferRange()){return t>0&&this.readData(e,n)||new Uint8Array(0)}readOffsets(e,t){return this.readData(e,t)}readTypeIds(e,t){return this.readData(e,t)}readData(e,{length:t,offset:n}=this.nextBufferRange()){return this.bytes.subarray(n,n+t)}readVariadicBuffers(e){return Array.from({length:e},()=>this.readData(null))}nextVariadicBufferCount(){var e;return(e=this.variadicBufferCounts[++this.variadicBufferIndex])!==null&&e!==void 0?e:0}readDictionary(e){return this.dictionaries.get(e.id)}},Yl=class extends na{constructor(e,t,n,s,i,o=[]){super(new Uint8Array(0),t,n,s,i,o),this.sources=e}readNullBitmap(e,t,{offset:n}=this.nextBufferRange()){return t<=0?new Uint8Array(0):Ai(this.sources[n])}readOffsets(e,{offset:t}=this.nextBufferRange()){return te(Uint8Array,te(e.OffsetArrayType,this.sources[t]))}readTypeIds(e,{offset:t}=this.nextBufferRange()){return te(Uint8Array,te(e.ArrayType,this.sources[t]))}readData(e,{offset:t}=this.nextBufferRange()){let{sources:n}=this;if(E.isTimestamp(e))return te(Uint8Array,On.convertArray(n[t]));if((E.isInt(e)||E.isTime(e))&&e.bitWidth===64||E.isDuration(e))return te(Uint8Array,On.convertArray(n[t]));if(E.isDate(e)&&e.unit===ye.MILLISECOND)return te(Uint8Array,On.convertArray(n[t]));if(E.isDecimal(e))return te(Uint8Array,Dc.convertArray(n[t]));if(E.isBinary(e)||E.isLargeBinary(e)||E.isFixedSizeBinary(e))return x2(n[t]);if(E.isBinaryView(e))return T2(n[t]);if(E.isUtf8View(e))return _2(n[t]);if(E.isBool(e))return Ai(n[t]);if(E.isUtf8(e)||E.isLargeUtf8(e))return Jt(n[t].join(""));if(E.isInterval(e))switch(e.unit){case ue.DAY_TIME:return Qp(n[t]);case ue.MONTH_DAY_NANO:return Zp(n[t]);default:break}return te(Uint8Array,te(e.ArrayType,n[t].map(s=>+s)))}readVariadicBuffers(e){let t=[];for(let n=0;n<e;n++){let{offset:s}=this.nextBufferRange(),i=this.sources[s];t.push(B_(i))}return t}};Ql=class extends na{constructor(e,t,n,s,i,o=[]){super(new Uint8Array(0),t,n,s,i,o),this.bodyChunks=e}readData(e,t=this.nextBufferRange()){return this.bodyChunks[this.buffersIndex]}}});var Mn,Zl=p(()=>{Wr();Se();Ke();Mn=class extends pt{constructor(e){super(e),this._values=new jt(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,t){return super.setValue(e,N(t))}_flushPending(e,t){let n=this._offsets,s=this._values.reserve(t).buffer,i=0;for(let[o,a]of e)if(a===void 0)n.set(o,0);else{let c=a.length;s.set(a,i),n.set(o,c),i+=c}}}});var Rn,ef=p(()=>{Ke();Wr();Se();Rn=class extends pt{constructor(e){super(e),this._values=new jt(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,t){return super.setValue(e,N(t))}_flushPending(e,t){let n=this._offsets,s=this._values.reserve(t).buffer,i=0;for(let[o,a]of e)if(a===void 0)n.set(o,BigInt(0));else{let c=a.length;s.set(a,i),n.set(o,BigInt(c)),i+=c}}}});var Bi,nm=p(()=>{Wr();Se();Bi=class extends Te{constructor(e){super(e),this._values=new ea}setValue(e,t){this._values.set(e,+t)}}});var un,Bs,Fs,sm=p(()=>{Se();ar();un=class extends We{};un.prototype._setValue=vp;Bs=class extends un{};Bs.prototype._setValue=ml;Fs=class extends un{};Fs.prototype._setValue=bl});var Os,im=p(()=>{Se();ar();Os=class extends We{};Os.prototype._setValue=Ep});var Fi,om=p(()=>{we();Se();Nc();Fi=class extends Te{constructor({type:e,nullValues:t,dictionaryHashFunction:n}){super({type:new Ge(e.dictionary,e.indices,e.id,e.isOrdered)}),this._nulls=null,this._dictionaryOffset=0,this._keysToIndices=Object.create(null),this.indices=qr({type:this.type.indices,nullValues:t}),this.dictionary=qr({type:this.type.dictionary,nullValues:null}),typeof n=="function"&&(this.valueToKey=n)}get values(){return this.indices.values}get nullCount(){return this.indices.nullCount}get nullBitmap(){return this.indices.nullBitmap}get byteLength(){return this.indices.byteLength+this.dictionary.byteLength}get reservedLength(){return this.indices.reservedLength+this.dictionary.reservedLength}get reservedByteLength(){return this.indices.reservedByteLength+this.dictionary.reservedByteLength}isValid(e){return this.indices.isValid(e)}setValid(e,t){let n=this.indices;return t=n.setValid(e,t),this.length=n.length,t}setValue(e,t){let n=this._keysToIndices,s=this.valueToKey(t),i=n[s];return i===void 0&&(n[s]=i=this._dictionaryOffset+this.dictionary.append(t).length-1),this.indices.setValue(e,i)}flush(){let e=this.type,t=this._dictionary,n=this.dictionary.toVector(),s=this.indices.flush().clone(e);return s.dictionary=t?t.concat(n):n,this.finished||(this._dictionaryOffset+=n.length),this._dictionary=s.dictionary,this.clear(),s}finish(){return this.indices.finish(),this.dictionary.finish(),this._dictionaryOffset=0,this._keysToIndices=Object.create(null),super.finish()}clear(){return this.indices.clear(),this.dictionary.clear(),super.clear()}valueToKey(e){return typeof e=="string"?e:`${e}`}}});var Ms,am=p(()=>{Se();ar();Ms=class extends We{};Ms.prototype._setValue=Ap});var Oi,cm=p(()=>{mt();Se();we();Oi=class extends Te{setValue(e,t){let[n]=this.children,s=e*this.stride;for(let i=-1,o=this.stride;++i<o;)n.set(s+i,t[i])}setValid(e,t){return super.setValid(e,t)||this.children[0].setValid((e+1)*this.stride-1,!1),t}addChild(e,t="0"){if(this.numChildren>0)throw new Error("FixedSizeListBuilder can only have one child.");let n=this.children.push(e);return this.type=new Fe(this.type.listSize,new O(t,e.type,!0)),n}}});var ln,Mi,Ri,Di,um=p(()=>{vc();Se();ln=class extends We{setValue(e,t){this._values.set(e,t)}},Mi=class extends ln{setValue(e,t){super.setValue(e,Ac(t))}},Ri=class extends ln{},Di=class extends ln{}});var Kr,Rs,Ds,Ns,lm=p(()=>{Se();ar();Kr=class extends We{};Kr.prototype._setValue=Lp;Rs=class extends Kr{};Rs.prototype._setValue=Il;Ds=class extends Kr{};Ds.prototype._setValue=Sl;Ns=class extends Kr{};Ns.prototype._setValue=El});var vr,ks,Cs,Us,Ps,fm=p(()=>{Se();ar();vr=class extends We{};vr.prototype._setValue=Bp;ks=class extends vr{};ks.prototype._setValue=Ll;Cs=class extends vr{};Cs.prototype._setValue=Bl;Us=class extends vr{};Us.prototype._setValue=Fl;Ps=class extends vr{};Ps.prototype._setValue=Ol});var Ft,Ni,ki,Ci,Ui,Pi,Vi,ji,Gi,dm=p(()=>{Se();Ft=class extends We{setValue(e,t){this._values.set(e,t)}},Ni=class extends Ft{},ki=class extends Ft{},Ci=class extends Ft{},Ui=class extends Ft{},Pi=class extends Ft{},Vi=class extends Ft{},ji=class extends Ft{},Gi=class extends Ft{}});var zi,hm=p(()=>{mt();we();Wr();Se();zi=class extends pt{constructor(e){super(e),this._offsets=new Is(e.type)}addChild(e,t="0"){if(this.numChildren>0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=e,this.type=new je(new O(t,e.type,!0)),this.numChildren-1}_flushPending(e){let t=this._offsets,[n]=this.children;for(let[s,i]of e)if(typeof i>"u")t.set(s,0);else{let o=i,a=o.length,c=t.set(s,a).buffer[s];for(let u=-1;++u<a;)n.set(c+u,o[u])}}}});var Wi,pm=p(()=>{mt();we();Wr();nn();Se();Wi=class extends pt{constructor(e){super(e),this._offsets=new Is(e.type)}addChild(e,t="0"){if(this.numChildren>0)throw new Error("LargeListBuilder can only have one child.");return this.children[this.numChildren]=e,this.type=new ir(new O(t,e.type,!0)),this.numChildren-1}_flushPending(e){let t=this._offsets,[n]=this.children;for(let[s,i]of e)if(typeof i>"u")t.set(s,BigInt(0));else{let o=i,a=o.length,c=re(t.set(s,BigInt(a)).buffer[s]);for(let u=-1;++u<a;)n.set(c+u,o[u])}}}});var $i,mm=p(()=>{mt();we();Se();$i=class extends pt{set(e,t){return super.set(e,t)}setValue(e,t){let n=t instanceof Map?t:new Map(Object.entries(t)),s=this._pending||(this._pending=new Map),i=s.get(e);i&&(this._pendingLength-=i.size),this._pendingLength+=n.size,s.set(e,n)}addChild(e,t=`${this.numChildren}`){if(this.numChildren>0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=e,this.type=new dt(new O(t,e.type,!0),this.type.keysSorted),this.numChildren-1}_flushPending(e){let t=this._offsets,[n]=this.children;for(let[s,i]of e)if(i===void 0)t.set(s,0);else{let{[s]:o,[s+1]:a}=t.set(s,i.size).buffer;for(let c of i.entries())if(n.set(o,c),++o>=a)break}}}});var qi,bm=p(()=>{Se();qi=class extends Te{setValue(e,t){}setValid(e,t){return this.length=Math.max(e+1,this.length),t}}});var Ki,gm=p(()=>{mt();Se();we();Ki=class extends Te{setValue(e,t){let{children:n,type:s}=this;switch(Array.isArray(t)||t.constructor){case!0:return s.children.forEach((i,o)=>n[o].set(e,t[o]));case Map:return s.children.forEach((i,o)=>n[o].set(e,t.get(i.name)));default:return s.children.forEach((i,o)=>n[o].set(e,t[i.name]))}}setValid(e,t){return super.setValid(e,t)||this.children.forEach(n=>n.setValid(e,t)),t}addChild(e,t=`${this.numChildren}`){let n=this.children.push(e);return this.type=new fe([...this.type.children,new O(t,e.type,!0)]),n}}});var Ir,Vs,js,Gs,zs,ym=p(()=>{Se();ar();Ir=class extends We{};Ir.prototype._setValue=Ip;Vs=class extends Ir{};Vs.prototype._setValue=gl;js=class extends Ir{};js.prototype._setValue=yl;Gs=class extends Ir{};Gs.prototype._setValue=wl;zs=class extends Ir{};zs.prototype._setValue=xl});var Sr,Ws,$s,qs,Ks,wm=p(()=>{Se();ar();Sr=class extends We{};Sr.prototype._setValue=Sp;Ws=class extends Sr{};Ws.prototype._setValue=Tl;$s=class extends Sr{};$s.prototype._setValue=_l;qs=class extends Sr{};qs.prototype._setValue=Al;Ks=class extends Sr{};Ks.prototype._setValue=vl});var Dn,Hi,Xi,xm=p(()=>{mt();Wr();Se();we();Dn=class extends Te{constructor(e){super(e),this._typeIds=new Ln(Int8Array,0,1),typeof e.valueToChildTypeId=="function"&&(this._valueToChildTypeId=e.valueToChildTypeId)}get typeIdToChildIndex(){return this.type.typeIdToChildIndex}append(e,t){return this.set(this.length,e,t)}set(e,t,n){return n===void 0&&(n=this._valueToChildTypeId(this,t,e)),this.setValue(e,t,n),this}setValue(e,t,n){this._typeIds.set(e,n);let s=this.type.typeIdToChildIndex[n],i=this.children[s];i?.set(e,t),this.length=Math.max(e+1,this.length)}addChild(e,t=`${this.children.length}`){let n=this.children.push(e),{type:{children:s,mode:i,typeIds:o}}=this,a=[...s,new O(t,e.type)];return this.type=new Bt(i,[...o,n],a),n}_valueToChildTypeId(e,t,n){throw new Error("Cannot map UnionBuilder value to child typeId. Pass the `childTypeId` as the second argument to unionBuilder.append(), or supply a `valueToChildTypeId` function as part of the UnionBuilder constructor options.")}},Hi=class extends Dn{},Xi=class extends Dn{constructor(e){super(e),this._offsets=new Ln(Int32Array)}setValue(e,t,n){let s=this._typeIds.set(e,n).buffer[e],i=this.getChildAt(this.type.typeIdToChildIndex[s]),o=this._offsets.set(e,i.length).buffer[e];i?.set(o,t),this.length=Math.max(e+1,this.length)}}});var Hs,Tm=p(()=>{Tn();Zl();Wr();Se();Hs=class extends pt{constructor(e){super(e),this._values=new jt(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,t){return super.setValue(e,Jt(t))}_flushPending(e,t){}};Hs.prototype._flushPending=Mn.prototype._flushPending});var Xs,_m=p(()=>{Tn();Wr();Se();ef();Xs=class extends pt{constructor(e){super(e),this._values=new jt(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,t){return super.setValue(e,Jt(t))}_flushPending(e,t){}};Xs.prototype._flushPending=Rn.prototype._flushPending});var Nn,tf=p(()=>{we();Se();Wr();Ke();xr();Nn=class extends Te{constructor(e){super(e),this._variadicBuffers=[],this._currentBuffer=null,this._currentBufferIndex=0,this._currentBufferOffset=0,this._bufferSize=32*1024*1024,this._views=new jt(Uint8Array)}get byteLength(){let e=0;this._views&&(e+=this._views.byteLength),this._nulls&&(e+=this._nulls.byteLength);for(let t of this._variadicBuffers)e+=t.byteLength;return this._currentBuffer&&(e+=this._currentBuffer.byteLength),e}setValue(e,t){return this.writeBinaryValue(e,this.encodeValue(t))}writeBinaryValue(e,t){let n=t.length,s=(e+1)*Z.ELEMENT_WIDTH,i=this._views.length;s>i&&this._views.reserve(s-i);let o=this._views.buffer,a=e*Z.ELEMENT_WIDTH,c=new DataView(o.buffer,o.byteOffset+a,Z.ELEMENT_WIDTH);if(c.setInt32(Z.LENGTH_OFFSET,n,!0),n<=Z.INLINE_CAPACITY){o.set(t,a+Z.INLINE_OFFSET);for(let u=n;u<Z.INLINE_CAPACITY;u++)o[a+Z.INLINE_OFFSET+u]=0}else{let u=new DataView(t.buffer,t.byteOffset,Math.min(4,n));c.setUint32(Z.INLINE_OFFSET,u.getUint32(0,!0),!0),(!this._currentBuffer||this._currentBufferOffset+n>this._bufferSize)&&(this._currentBuffer&&this._variadicBuffers.push(this._currentBuffer.buffer.slice(0,this._currentBufferOffset)),this._currentBuffer=new jt(Uint8Array),this._currentBufferIndex=this._variadicBuffers.length,this._currentBufferOffset=0),this._currentBuffer.reserve(n).buffer.set(t,this._currentBufferOffset),c.setInt32(Z.BUFFER_INDEX_OFFSET,this._currentBufferIndex,!0),c.setInt32(Z.BUFFER_OFFSET_OFFSET,this._currentBufferOffset,!0),this._currentBufferOffset+=n}return this}encodeValue(e){return N(e)}setValid(e,t){let n=(e+1)*Z.ELEMENT_WIDTH,s=this._views.length;n>s&&this._views.reserve(n-s);let i=super.setValid(e,t);if(!i){let o=this._views.buffer,a=e*Z.ELEMENT_WIDTH;for(let c=0;c<Z.ELEMENT_WIDTH;c++)o[a+c]=0}return i}clear(){return this._variadicBuffers=[],this._currentBuffer=null,this._currentBufferIndex=0,this._currentBufferOffset=0,this._views.clear(),super.clear()}flush(){let{type:e,length:t,nullCount:n,_views:s,_nulls:i}=this;this._currentBuffer&&this._currentBufferOffset>0&&(this._variadicBuffers.push(this._currentBuffer.buffer.slice(0,this._currentBufferOffset)),this._currentBuffer=null,this._currentBufferOffset=0);let o=s.flush(t*Z.ELEMENT_WIDTH),a=n>0?i.flush(t):void 0,c=this._variadicBuffers.slice();return this._variadicBuffers=[],this._currentBufferIndex=0,this.clear(),R({type:e,length:t,nullCount:n,nullBitmap:a,views:o,variadicBuffers:c})}finish(){return this.finished=!0,this}}});var Ji,Am=p(()=>{tf();Tn();Ji=class extends Nn{constructor(e){super(e)}setValue(e,t){return this.writeBinaryValue(e,Jt(t))}}});var vm,M_,R_=p(()=>{Vt();Zl();ef();nm();sm();im();om();am();cm();um();lm();fm();dm();hm();pm();mm();bm();gm();ym();wm();xm();Tm();_m();tf();Am();vm=class extends D{visitNull(){return qi}visitBool(){return Bi}visitInt(){return Ft}visitInt8(){return Ni}visitInt16(){return ki}visitInt32(){return Ci}visitInt64(){return Ui}visitUint8(){return Pi}visitUint16(){return Vi}visitUint32(){return ji}visitUint64(){return Gi}visitFloat(){return ln}visitFloat16(){return Mi}visitFloat32(){return Ri}visitFloat64(){return Di}visitUtf8(){return Hs}visitLargeUtf8(){return Xs}visitBinary(){return Mn}visitLargeBinary(){return Rn}visitFixedSizeBinary(){return Ms}visitDate(){return un}visitDateDay(){return Bs}visitDateMillisecond(){return Fs}visitTimestamp(){return Ir}visitTimestampSecond(){return Vs}visitTimestampMillisecond(){return js}visitTimestampMicrosecond(){return Gs}visitTimestampNanosecond(){return zs}visitTime(){return Sr}visitTimeSecond(){return Ws}visitTimeMillisecond(){return $s}visitTimeMicrosecond(){return qs}visitTimeNanosecond(){return Ks}visitDecimal(){return Os}visitList(){return zi}visitLargeList(){return Wi}visitStruct(){return Ki}visitUnion(){return Dn}visitDenseUnion(){return Xi}visitSparseUnion(){return Hi}visitDictionary(){return Fi}visitInterval(){return Kr}visitIntervalDayTime(){return Rs}visitIntervalYearMonth(){return Ds}visitIntervalMonthDayNano(){return Ns}visitDuration(){return vr}visitDurationSecond(){return ks}visitDurationMillisecond(){return Cs}visitDurationMicrosecond(){return Us}visitDurationNanosecond(){return Ps}visitFixedSizeList(){return Oi}visitMap(){return $i}visitBinaryView(){return Nn}visitUtf8View(){return Ji}},M_=new vm});function Ot(r,e){return e instanceof r.constructor}function kn(r,e){return r===e||Ot(r,e)}function Cn(r,e){return r===e||Ot(r,e)&&r.bitWidth===e.bitWidth&&r.isSigned===e.isSigned}function rf(r,e){return r===e||Ot(r,e)&&r.precision===e.precision}function A2(r,e){return r===e||Ot(r,e)&&r.byteWidth===e.byteWidth}function Im(r,e){return r===e||Ot(r,e)&&r.unit===e.unit}function kc(r,e){return r===e||Ot(r,e)&&r.unit===e.unit&&r.timezone===e.timezone}function Cc(r,e){return r===e||Ot(r,e)&&r.unit===e.unit&&r.bitWidth===e.bitWidth}function D_(r,e){return r===e||Ot(r,e)&&r.children.length===e.children.length&&fn.compareManyFields(r.children,e.children)}function v2(r,e){return r===e||Ot(r,e)&&r.children.length===e.children.length&&fn.compareManyFields(r.children,e.children)}function Sm(r,e){return r===e||Ot(r,e)&&r.mode===e.mode&&r.typeIds.every((t,n)=>t===e.typeIds[n])&&fn.compareManyFields(r.children,e.children)}function I2(r,e){return r===e||Ot(r,e)&&r.id===e.id&&r.isOrdered===e.isOrdered&&fn.visit(r.indices,e.indices)&&fn.visit(r.dictionary,e.dictionary)}function nf(r,e){return r===e||Ot(r,e)&&r.unit===e.unit}function Uc(r,e){return r===e||Ot(r,e)&&r.unit===e.unit}function S2(r,e){return r===e||Ot(r,e)&&r.listSize===e.listSize&&r.children.length===e.children.length&&fn.compareManyFields(r.children,e.children)}function E2(r,e){return r===e||Ot(r,e)&&r.keysSorted===e.keysSorted&&r.children.length===e.children.length&&fn.compareManyFields(r.children,e.children)}function Yi(r,e){return fn.compareSchemas(r,e)}function N_(r,e){return fn.compareFields(r,e)}function sf(r,e){return fn.visit(r,e)}var j,fn,Pc=p(()=>{Vt();j=class extends D{compareSchemas(e,t){return e===t||t instanceof e.constructor&&this.compareManyFields(e.fields,t.fields)}compareManyFields(e,t){return e===t||Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((n,s)=>this.compareFields(n,t[s]))}compareFields(e,t){return e===t||t instanceof e.constructor&&e.name===t.name&&e.nullable===t.nullable&&this.visit(e.type,t.type)}};j.prototype.visitNull=kn;j.prototype.visitBool=kn;j.prototype.visitInt=Cn;j.prototype.visitInt8=Cn;j.prototype.visitInt16=Cn;j.prototype.visitInt32=Cn;j.prototype.visitInt64=Cn;j.prototype.visitUint8=Cn;j.prototype.visitUint16=Cn;j.prototype.visitUint32=Cn;j.prototype.visitUint64=Cn;j.prototype.visitFloat=rf;j.prototype.visitFloat16=rf;j.prototype.visitFloat32=rf;j.prototype.visitFloat64=rf;j.prototype.visitUtf8=kn;j.prototype.visitLargeUtf8=kn;j.prototype.visitUtf8View=kn;j.prototype.visitBinary=kn;j.prototype.visitLargeBinary=kn;j.prototype.visitBinaryView=kn;j.prototype.visitFixedSizeBinary=A2;j.prototype.visitDate=Im;j.prototype.visitDateDay=Im;j.prototype.visitDateMillisecond=Im;j.prototype.visitTimestamp=kc;j.prototype.visitTimestampSecond=kc;j.prototype.visitTimestampMillisecond=kc;j.prototype.visitTimestampMicrosecond=kc;j.prototype.visitTimestampNanosecond=kc;j.prototype.visitTime=Cc;j.prototype.visitTimeSecond=Cc;j.prototype.visitTimeMillisecond=Cc;j.prototype.visitTimeMicrosecond=Cc;j.prototype.visitTimeNanosecond=Cc;j.prototype.visitDecimal=kn;j.prototype.visitList=D_;j.prototype.visitLargeList=D_;j.prototype.visitStruct=v2;j.prototype.visitUnion=Sm;j.prototype.visitDenseUnion=Sm;j.prototype.visitSparseUnion=Sm;j.prototype.visitDictionary=I2;j.prototype.visitInterval=nf;j.prototype.visitIntervalDayTime=nf;j.prototype.visitIntervalYearMonth=nf;j.prototype.visitIntervalMonthDayNano=nf;j.prototype.visitDuration=Uc;j.prototype.visitDurationSecond=Uc;j.prototype.visitDurationMillisecond=Uc;j.prototype.visitDurationMicrosecond=Uc;j.prototype.visitDurationNanosecond=Uc;j.prototype.visitFixedSizeList=S2;j.prototype.visitMap=E2;fn=new j});function qr(r){let e=r.type,t=new(M_.getVisitFn(e)())(r);if(e.children&&e.children.length>0){let n=r.children||[],s={nullValues:r.nullValues},i=Array.isArray(n)?((o,a)=>n[a]||s):(({name:o})=>n[o]||s);for(let[o,a]of e.children.entries()){let{type:c}=a,u=i(a,o);t.children.push(qr(Object.assign(Object.assign({},u),{type:c})))}}return t}function sa(r,e){if(r instanceof C||r instanceof B||r.type instanceof E||ArrayBuffer.isView(r))return cn(r);let t={type:e??of(r),nullValues:[null]},n=[...af(t)(r)],s=n.length===1?n[0]:n.reduce((i,o)=>i.concat(o));return E.isDictionary(s.type)?s.memoize():s}function Em(r){let e=sa(r),t=new ee(new X(e.type.children),e.data[0]);return new se(t)}function of(r){if(r.length===0)return new Ce;let e=0,t=0,n=0,s=0,i=0,o=0,a=0,c=0;for(let u of r){if(u==null){++e;continue}switch(typeof u){case"bigint":++o;continue;case"boolean":++a;continue;case"number":++s;continue;case"string":++i;continue;case"object":Array.isArray(u)?++t:Object.prototype.toString.call(u)==="[object Date]"?++c:++n;continue}throw new TypeError("Unable to infer Vector type from input values, explicit type declaration expected.")}if(s+e===r.length)return new sr;if(i+e===r.length)return new Ge(new ut,new Pe);if(o+e===r.length)return new tr;if(a+e===r.length)return new lt;if(c+e===r.length)return new sn;if(t+e===r.length){let u=r,l=of(u[u.findIndex(f=>f!=null)]);if(u.every(f=>f==null||sf(l,of(f))))return new je(new O("",l,!0))}else if(n+e===r.length){let u=new Map;for(let l of r)for(let f of Object.keys(l))!u.has(f)&&l[f]!=null&&u.set(f,new O(f,of([l[f]]),!0));return new fe([...u.values()])}throw new TypeError("Unable to infer Vector type from input values, explicit type declaration expected.")}function af(r){let{["queueingStrategy"]:e="count"}=r,{["highWaterMark"]:t=e!=="bytes"?Number.POSITIVE_INFINITY:Math.pow(2,14)}=r,n=e!=="bytes"?"length":"byteLength";return function*(s){let i=0,o=qr(r);for(let a of s)o.append(a)[n]>=t&&++i&&(yield o.toVector());(o.finish().length>0||i===0)&&(yield o.toVector())}}function Lm(r){let{["queueingStrategy"]:e="count"}=r,{["highWaterMark"]:t=e!=="bytes"?Number.POSITIVE_INFINITY:Math.pow(2,14)}=r,n=e!=="bytes"?"length":"byteLength";return function(s){return _t(this,arguments,function*(){var i,o,a,c;let u=0,l=qr(r);try{for(var f=!0,d=Xt(s),h;h=yield Q(d.next()),i=h.done,!i;f=!0){c=h.value,f=!1;let m=c;l.append(m)[n]>=t&&++u&&(yield yield Q(l.toVector()))}}catch(m){o={error:m}}finally{try{!f&&!i&&(a=d.return)&&(yield Q(a.call(d)))}finally{if(o)throw o.error}}(l.finish().length>0||u===0)&&(yield yield Q(l.toVector()))})}}var Nc=p(()=>{Nt();mt();we();xr();ht();R_();Qi();Un();Pc()});function cf(r,e){return L2(r,e.map(t=>t.data.concat()))}function L2(r,e){let t=[...r.fields],n=[],s={numBatches:e.reduce((f,d)=>Math.max(f,d.length),0)},i=0,o=0,a=-1,c=e.length,u,l=[];for(;s.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,a=-1;++a<c;)l[a]=u=e[a].shift(),o=Math.min(o,u?u.length:o);Number.isFinite(o)&&(l=B2(t,o,l,e,s),o>0&&(n[i++]=R({type:new fe(t),length:o,nullCount:0,children:l.slice()})))}return[r=r.assign(t),n.map(f=>new ee(r,f))]}function B2(r,e,t,n,s){var i;let o=(e+63&-64)>>3;for(let a=-1,c=n.length;++a<c;){let u=t[a],l=u?.length;if(l>=e)l===e?t[a]=u:(t[a]=u.slice(0,e),s.numBatches=Math.max(s.numBatches,n[a].unshift(u.slice(e,l-e))));else{let f=r[a];r[a]=f.clone({nullable:!0}),t[a]=(i=u?._changeLengthAndBackfillNullBitmap(e))!==null&&i!==void 0?i:R({type:f.type,length:e,nullCount:e,nullBitmap:new Uint8Array(o)})}}return t}var k_=p(()=>{xr();we();Un()});function Bm(r){let e={},t=Object.entries(r);for(let[n,s]of t)e[n]=cn(s);return new se(e)}function Fm(r){let e={},t=Object.entries(r);for(let[n,s]of t)e[n]=sa(s);return new se(e)}var C_,U_,se,Qi=p(()=>{Re();xr();Nc();ht();mt();we();Pc();k_();jl();xi();ar();Gl();zl();Jo();Un();U_=Symbol.for("apache-arrow/Table"),se=class r{static isTable(e){return e?.[U_]===!0}constructor(...e){var t,n;if(e.length===0)return this.batches=[],this.schema=new X([]),this._offsets=[0],this;let s,i;e[0]instanceof X&&(s=e.shift()),e.at(-1)instanceof Uint32Array&&(i=e.pop());let o=c=>{if(c){if(c instanceof ee)return[c];if(c instanceof r)return c.batches;if(c instanceof C){if(c.type instanceof fe)return[new ee(new X(c.type.children),c)]}else{if(Array.isArray(c))return c.flatMap(u=>o(u));if(typeof c[Symbol.iterator]=="function")return[...c].flatMap(u=>o(u));if(typeof c=="object"){let u=Object.keys(c),l=u.map(h=>new B([c[h]])),f=s??new X(u.map((h,m)=>new O(String(h),l[m].type,l[m].nullable))),[,d]=cf(f,l);return d.length===0?[new ee(c)]:d}}}return[]},a=e.flatMap(c=>o(c));if(s=(n=s??((t=a[0])===null||t===void 0?void 0:t.schema))!==null&&n!==void 0?n:new X([]),!(s instanceof X))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(let c of a){if(!(c instanceof ee))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!Yi(s,c.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=s,this.batches=a,this._offsets=i??Cl(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,t)=>e+t.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=kl(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}at(e){return this.get(Ti(e,this.numRows))}set(e,t){}indexOf(e,t){return-1}[Symbol.iterator](){return this.batches.length>0?Zo.visit(new B(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[
19
+ ${this.toArray().join(`,
20
+ `)}
21
+ ]`}concat(...e){let t=this.schema,n=this.data.concat(e.flatMap(({data:s})=>s));return new r(t,n.map(s=>new ee(t,s)))}slice(e,t){let n=this.schema;[e,t]=Sc({length:this.numRows},e,t);let s=Ul(this.data,this._offsets,e,t);return new r(n,s.map(i=>new ee(n,i)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(t=>t.name===e))}getChildAt(e){if(e>-1&&e<this.schema.fields.length){let t=this.data.map(n=>n.children[e]);if(t.length===0){let{type:n}=this.schema.fields[e],s=R({type:n,length:0,nullCount:0});t.push(s._changeLengthAndBackfillNullBitmap(this.numRows))}return new B(t)}return null}setChild(e,t){var n;return this.setChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(s=>s.name===e),t)}setChildAt(e,t){let n=this.schema,s=[...this.batches];if(e>-1&&e<this.numCols){t||(t=new B([R({type:new Ce,length:this.numRows})]));let i=n.fields.slice(),o=i[e].clone({type:t.type}),a=this.schema.fields.map((c,u)=>this.getChildAt(u));[i[e],a[e]]=[o,t],[n,s]=cf(n,a)}return new r(n,s)}select(e){let t=this.schema.fields.reduce((n,s,i)=>n.set(s.name,i),new Map);return this.selectAt(e.map(n=>t.get(n)).filter(n=>n>-1))}selectAt(e){let t=this.schema.selectAt(e),n=this.batches.map(s=>s.selectAt(e));return new r(t,n)}assign(e){let t=this.schema.fields,[n,s]=e.schema.fields.reduce((a,c,u)=>{let[l,f]=a,d=t.findIndex(h=>h.name===c.name);return~d?f[d]=u:l.push(u),a},[[],[]]),i=this.schema.assign(e.schema),o=[...t.map((a,c)=>[c,s[c]]).map(([a,c])=>c===void 0?this.getChildAt(a):e.getChildAt(c)),...n.map(a=>e.getChildAt(a))].filter(Boolean);return new r(...cf(i,o))}};C_=Symbol.toStringTag;se[C_]=(r=>(r.schema=null,r.batches=[],r._offsets=new Uint32Array([0]),r._nullCount=-1,r[Symbol.isConcatSpreadable]=!0,r[U_]=!0,r.isValid=Qo(Bc),r.get=Qo(ze.getVisitFn(w.Struct)),r.set=Pl(nt.getVisitFn(w.Struct)),r.indexOf=Vl(Ii.getVisitFn(w.Struct)),"Table"))(se.prototype);Object.defineProperty(se,Symbol.hasInstance,{value:function(e){return Function.prototype[Symbol.hasInstance].call(this,e)||this===se&&se.isTable(e)}})});function P_(r,e,t=e.reduce((n,s)=>Math.max(n,s.length),0)){var n;let s=[...r.fields],i=[...e],o=(t+63&-64)>>3;for(let[a,c]of r.fields.entries()){let u=e[a];(!u||u.length!==t)&&(s[a]=c.clone({nullable:!0}),i[a]=(n=u?._changeLengthAndBackfillNullBitmap(t))!==null&&n!==void 0?n:R({type:c.type,length:t,nullCount:t,nullBitmap:new Uint8Array(o)}))}return[r.assign(s),R({type:new fe(s),length:t,children:i})]}function G_(r,e,t=new Map){var n,s;if(((n=r?.length)!==null&&n!==void 0?n:0)>0&&r?.length===e?.length)for(let i=-1,o=r.length;++i<o;){let{type:a}=r[i],c=e[i];for(let u of[c,...((s=c?.dictionary)===null||s===void 0?void 0:s.data)||[]])G_(a.children,u?.children,t);if(E.isDictionary(a)){let{id:u}=a;if(!t.has(u))c?.dictionary&&t.set(u,c.dictionary);else if(t.get(u)!==c.dictionary)throw new Error("Cannot create Schema containing two different dictionaries with the same Id")}}return t}var V_,j_,ee,Zi,Un=p(()=>{xr();Qi();ht();mt();we();Jo();xi();ar();Gl();zl();j_=Symbol.for("apache-arrow/RecordBatch"),ee=class r{static isRecordBatch(e){return e?.[j_]===!0}constructor(...e){switch(e.length){case 3:case 2:{if([this.schema]=e,!(this.schema instanceof X))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=R({nullCount:0,type:new fe(this.schema.fields),children:this.schema.fields.map(t=>R({type:t.type,nullCount:0}))}),this._metadata=new Map]=e,!(this.data instanceof C))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=P_(this.schema,this.data.children,this.data.length);break}case 1:{let[t]=e,{fields:n,children:s,length:i}=Object.keys(t).reduce((c,u,l)=>(c.children[l]=t[u],c.length=Math.max(c.length,t[u].length),c.fields[l]=O.new({name:u,type:t[u].type,nullable:!0}),c),{length:0,fields:new Array,children:new Array}),o=new X(n),a=R({type:new fe(n),length:i,children:s,nullCount:0});[this.schema,this.data]=P_(o,a.children,i),this._metadata=new Map;break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get metadata(){return this._metadata}get dictionaries(){return this._dictionaries||(this._dictionaries=G_(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return ze.visit(this.data,e)}at(e){return this.get(Ti(e,this.numRows))}set(e,t){return nt.visit(this.data,e,t)}indexOf(e,t){return Ii.visit(this.data,e,t)}[Symbol.iterator](){return Zo.visit(new B([this.data]))}toArray(){return[...this]}concat(...e){return new se(this.schema,[this,...e])}slice(e,t){let[n]=new B([this.data]).slice(e,t).data;return new r(this.schema,n,this._metadata)}getChild(e){var t;return this.getChildAt((t=this.schema.fields)===null||t===void 0?void 0:t.findIndex(n=>n.name===e))}getChildAt(e){return e>-1&&e<this.schema.fields.length?new B([this.data.children[e]]):null}setChild(e,t){var n;return this.setChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(s=>s.name===e),t)}setChildAt(e,t){let n=this.schema,s=this.data;if(e>-1&&e<this.numCols){t||(t=new B([R({type:new Ce,length:this.numRows})]));let i=n.fields.slice(),o=s.children.slice(),a=i[e].clone({type:t.type});[i[e],o[e]]=[a,t.data[0]],n=new X(i,new Map(this.schema.metadata)),s=R({type:new fe(i),length:s.length,children:o})}return new r(n,s,this._metadata)}select(e){let t=this.schema.select(e),n=new fe(t.fields),s=[];for(let i of e){let o=this.schema.fields.findIndex(a=>a.name===i);~o&&(s[o]=this.data.children[o])}return new r(t,R({type:n,length:this.numRows,children:s}),this._metadata)}selectAt(e){let t=this.schema.selectAt(e),n=e.map(i=>this.data.children[i]).filter(Boolean),s=R({type:new fe(t.fields),length:this.numRows,children:n});return new r(t,s,this._metadata)}};V_=Symbol.toStringTag;ee[V_]=(r=>(r._nullCount=-1,r[Symbol.isConcatSpreadable]=!0,r[j_]=!0,"RecordBatch"))(ee.prototype);Object.defineProperty(ee,Symbol.hasInstance,{value:function(e){return Function.prototype[Symbol.hasInstance].call(this,e)||this===ee&&ee.isRecordBatch(e)}});Zi=class extends ee{constructor(e,t){let n=e.fields.map(i=>R({type:i.type})),s=R({type:new fe(e.fields),length:0,nullCount:0,children:n});super(e,s,t||new Map)}}});function lf(r,e=0){for(let t=-1,n=ia.length;++t<n;)if(ia[t]!==r[e+t])return!1;return!0}var Mm,Rm,z_,W_,Js,eo,to,uf,Om,ia,oa,Dm,$_,ff=p(()=>{Nt();Re();le();Ss();ts();Hp();Ke();Es();Oc();Mm=r=>`Expected ${oe[r]} Message in stream, but was null or length 0.`,Rm=r=>`Header pointer of flatbuffer-encoded ${oe[r]} Message is null or length 0.`,z_=(r,e)=>`Expected to read ${r} metadata bytes, but only read ${e}.`,W_=(r,e)=>`Expected to read ${r} bytes for message body, but only read ${e}.`,Js=class{constructor(e){this.source=e instanceof Ar?e:new Ar(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done?Ee:e.value===-1&&(e=this.readMetadataLength()).done?Ee:(e=this.readMetadata(e.value)).done?Ee:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(Mm(e));return t.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);let t=N(this.source.read(e));if(t.byteLength<e)throw new Error(W_(e,t.byteLength));return t.byteOffset%8===0&&t.byteOffset+t.byteLength<=t.buffer.byteLength?t:t.slice()}readSchema(e=!1){let t=oe.Schema,n=this.readMessage(t),s=n?.header();if(e&&!s)throw new Error(Rm(t));return s}readMetadataLength(){let e=this.source.read(uf),t=e&&new Ze(e),n=t?.readInt32(0)||0;return{done:n===0,value:n}}readMetadata(e){let t=this.source.read(e);if(!t)return Ee;if(t.byteLength<e)throw new Error(z_(e,t.byteLength));return{done:!1,value:gt.decode(t)}}},eo=class{constructor(e,t){this.source=e instanceof Gt?e:Zu(e)?new Ls(e,t):new Gt(e)}[Symbol.asyncIterator](){return this}next(){return F(this,void 0,void 0,function*(){let e;return(e=yield this.readMetadataLength()).done?Ee:e.value===-1&&(e=yield this.readMetadataLength()).done?Ee:(e=yield this.readMetadata(e.value)).done?Ee:e})}throw(e){return F(this,void 0,void 0,function*(){return yield this.source.throw(e)})}return(e){return F(this,void 0,void 0,function*(){return yield this.source.return(e)})}readMessage(e){return F(this,void 0,void 0,function*(){let t;if((t=yield this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(Mm(e));return t.value})}readMessageBody(e){return F(this,void 0,void 0,function*(){if(e<=0)return new Uint8Array(0);let t=N(yield this.source.read(e));if(t.byteLength<e)throw new Error(W_(e,t.byteLength));return t.byteOffset%8===0&&t.byteOffset+t.byteLength<=t.buffer.byteLength?t:t.slice()})}readSchema(){return F(this,arguments,void 0,function*(e=!1){let t=oe.Schema,n=yield this.readMessage(t),s=n?.header();if(e&&!s)throw new Error(Rm(t));return s})}readMetadataLength(){return F(this,void 0,void 0,function*(){let e=yield this.source.read(uf),t=e&&new Ze(e),n=t?.readInt32(0)||0;return{done:n===0,value:n}})}readMetadata(e){return F(this,void 0,void 0,function*(){let t=yield this.source.read(e);if(!t)return Ee;if(t.byteLength<e)throw new Error(z_(e,t.byteLength));return{done:!1,value:gt.decode(t)}})}},to=class extends Js{constructor(e){super(new Uint8Array(0)),this._schema=!1,this._body=[],this._batchIndex=0,this._dictionaryIndex=0,this._json=e instanceof Fc?e:new Fc(e)}next(){let{_json:e}=this;if(!this._schema)return this._schema=!0,{done:!1,value:gt.fromJSON(e.schema,oe.Schema)};if(this._dictionaryIndex<e.dictionaries.length){let t=e.dictionaries[this._dictionaryIndex++];return this._body=t.data.columns,{done:!1,value:gt.fromJSON(t,oe.DictionaryBatch)}}if(this._batchIndex<e.batches.length){let t=e.batches[this._batchIndex++];return this._body=t.columns,{done:!1,value:gt.fromJSON(t,oe.RecordBatch)}}return this._body=[],Ee}readMessageBody(e){return t(this._body);function t(n){return(n||[]).reduce((s,i)=>[...s,...i.VALIDITY&&[i.VALIDITY]||[],...i.TYPE_ID&&[i.TYPE_ID]||[],...i.OFFSET&&[i.OFFSET]||[],...i.DATA&&[i.DATA]||[],...i.VIEWS&&[i.VIEWS]||[],...i.VARIADIC_DATA_BUFFERS||[],...t(i.children)],[])}}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(Mm(e));return t.value}readSchema(){let e=oe.Schema,t=this.readMessage(e),n=t?.header();if(!t||!n)throw new Error(Rm(e));return n}},uf=4,Om="ARROW1",ia=new Uint8Array(Om.length);for(let r=0;r<Om.length;r+=1)ia[r]=Om.codePointAt(r);oa=ia.length,Dm=oa+uf,$_=oa*2+uf});var Nm,km,q_,K_=p(()=>{Co();Nm=class{constructor(){this.LZ4_FRAME_MAGIC=new Uint8Array([4,34,77,24]),this.MIN_HEADER_LENGTH=7}isValidCodecEncode(e){let t=new Uint8Array([1,2,3,4,5,6,7,8]),n=e.encode(t);return this._isValidCompressed(n)}_isValidCompressed(e){return this._hasMinimumLength(e)&&this._hasValidMagicNumber(e)&&this._hasValidVersion(e)}_hasMinimumLength(e){return e.length>=this.MIN_HEADER_LENGTH}_hasValidMagicNumber(e){return this.LZ4_FRAME_MAGIC.every((t,n)=>e[n]===t)}_hasValidVersion(e){return(e[4]&192)>>6===1}},km=class{constructor(){this.ZSTD_MAGIC=new Uint8Array([40,181,47,253]),this.MIN_HEADER_LENGTH=6}isValidCodecEncode(e){let t=new Uint8Array([1,2,3,4,5,6,7,8]),n=e.encode(t);return this._isValidCompressed(n)}_isValidCompressed(e){return this._hasMinimumLength(e)&&this._hasValidMagicNumber(e)}_hasMinimumLength(e){return e.length>=this.MIN_HEADER_LENGTH}_hasValidMagicNumber(e){return this.ZSTD_MAGIC.every((t,n)=>e[n]===t)}},q_={[et.LZ4_FRAME]:new Nm,[et.ZSTD]:new km}});var Cm,Ys,df=p(()=>{Co();K_();Cm=class{constructor(){this.registry={}}set(e,t){if(t?.encode&&typeof t.encode=="function"&&!q_[e].isValidCodecEncode(t))throw new Error(`Encoder for ${et[e]} is not valid.`);this.registry[e]=t}get(e){var t;return((t=this.registry)===null||t===void 0?void 0:t[e])||null}},Ys=new Cm});function Y_(r,e){return e&&typeof e.autoDestroy=="boolean"?e.autoDestroy:r.autoDestroy}function*H_(r){let e=Mt.from(r);try{if(!e.open({autoDestroy:!1}).closed)do yield e;while(!e.reset().open().closed)}finally{e.cancel()}}function X_(r){return _t(this,arguments,function*(){let t=yield Q(Mt.from(r));try{if(!(yield Q(t.open({autoDestroy:!1}))).closed)do yield yield Q(t);while(!(yield Q(t.reset().open())).closed)}finally{yield Q(t.cancel())}})}function O2(r){return new Hr(new Pm(r))}function M2(r){let e=r.peek(oa+7&-8);return e&&e.byteLength>=4?lf(e)?new Vn(new pf(r.read())):new Hr(new ca(r)):new Hr(new ca((function*(){})()))}function R2(r){return F(this,void 0,void 0,function*(){let e=yield r.peek(oa+7&-8);return e&&e.byteLength>=4?lf(e)?new Vn(new pf(yield r.read())):new Pn(new ua(r)):new Pn(new ua((function(){return _t(this,arguments,function*(){})})()))})}function D2(r){return F(this,void 0,void 0,function*(){let{size:e}=yield r.stat(),t=new Ls(r,e);return e>=$_&&lf(yield t.readAt(0,oa+7&-8))?new aa(new Um(t)):new Pn(new ua(t))})}var Mt,Hr,Pn,Vn,aa,hf,ca,ua,pf,Um,Pm,Vc=p(()=>{Nt();xr();ht();we();Re();Wp();tc();Ss();Es();Hp();O_();Un();Oc();ff();ts();df();nn();le();Mt=class r extends Li{constructor(e){super(),this._impl=e}get closed(){return this._impl.closed}get schema(){return this._impl.schema}get autoDestroy(){return this._impl.autoDestroy}get dictionaries(){return this._impl.dictionaries}get numDictionaries(){return this._impl.numDictionaries}get numRecordBatches(){return this._impl.numRecordBatches}get footer(){return this._impl.isFile()?this._impl.footer:null}isSync(){return this._impl.isSync()}isAsync(){return this._impl.isAsync()}isFile(){return this._impl.isFile()}isStream(){return this._impl.isStream()}next(){return this._impl.next()}throw(e){return this._impl.throw(e)}return(e){return this._impl.return(e)}cancel(){return this._impl.cancel()}reset(e){return this._impl.reset(e),this._DOMStream=void 0,this._nodeStream=void 0,this}open(e){let t=this._impl.open(e);return Yt(t)?t.then(()=>this):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return Qe.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return Qe.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,t){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof r?e:Yu(e)?O2(e):Zu(e)?D2(e):Yt(e)?F(this,void 0,void 0,function*(){return yield r.from(yield e)}):el(e)||Qa(e)||rl(e)||gr(e)?R2(new Gt(e)):M2(new Ar(e))}static readAll(e){return e instanceof r?e.isSync()?H_(e):X_(e):Yu(e)||ArrayBuffer.isView(e)||Mr(e)||Qu(e)?H_(e):X_(e)}},Hr=class extends Mt{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return _t(this,arguments,function*(){yield Q(yield*Do(Xt(this[Symbol.iterator]())))})}},Pn=class extends Mt{constructor(e){super(e),this._impl=e}readAll(){return F(this,void 0,void 0,function*(){var e,t,n,s;let i=new Array;try{for(var o=!0,a=Xt(this),c;c=yield a.next(),e=c.done,!e;o=!0){s=c.value,o=!1;let u=s;i.push(u)}}catch(u){t={error:u}}finally{try{!o&&!e&&(n=a.return)&&(yield n.call(a))}finally{if(t)throw t.error}}return i})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}},Vn=class extends Hr{constructor(e){super(e),this._impl=e}},aa=class extends Pn{constructor(e){super(e),this._impl=e}},hf=class{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,t,n){let s;if(e.compression!=null){let o=Ys.get(e.compression.type);if(o?.decode&&typeof o.decode=="function"){let{decommpressedBody:a,buffers:c}=this._decompressBuffers(e,t,o);s=this._loadCompressedVectors(e,a,this.schema.fields),e=new $e(e.length,e.nodes,c,null)}else throw new Error("Record batch is compressed but codec not found")}else s=this._loadVectors(e,t,this.schema.fields);let i=R({type:new fe(this.schema.fields),length:e.length,children:s});return new ee(this.schema,i,n)}_loadDictionaryBatch(e,t){let{id:n,isDelta:s}=e,{dictionaries:i,schema:o}=this,a=i.get(n),c=o.dictionaries.get(n),u;if(e.data.compression!=null){let l=Ys.get(e.data.compression.type);if(l?.decode&&typeof l.decode=="function"){let{decommpressedBody:f,buffers:d}=this._decompressBuffers(e.data,t,l);u=this._loadCompressedVectors(e.data,f,[c]),e=new bt(new $e(e.data.length,e.data.nodes,d,null,e.data.variadicBufferCounts),n,s)}else throw new Error("Dictionary batch is compressed but codec not found")}else u=this._loadVectors(e.data,t,[c]);return(a&&s?a.concat(new B(u)):new B(u)).memoize()}_loadVectors(e,t,n){return new na(t,e.nodes,e.buffers,this.dictionaries,this.schema.metadataVersion,e.variadicBufferCounts).visitMany(n)}_loadCompressedVectors(e,t,n){return new Ql(t,e.nodes,e.buffers,this.dictionaries,this.schema.metadataVersion,e.variadicBufferCounts).visitMany(n)}_decompressBuffers(e,t,n){let s=[],i=[],o=0;for(let{offset:a,length:c}of e.buffers){if(c===0){s.push(new Uint8Array(0)),i.push(new Ue(o,0));continue}let u=new Ze(t.subarray(a,a+c)),l=re(u.readInt64(0)),f=u.bytes().subarray(8),d=l===-1?f:n.decode(f);s.push(d);let h=(o+7&-8)-o;o+=h,i.push(new Ue(o,d.length)),o+=d.length}return{decommpressedBody:s,buffers:i}}},ca=class extends hf{constructor(e,t){super(t),this._reader=Yu(e)?new to(this._handle=e):new Js(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=Y_(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):Ee}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):Ee}next(){if(this.closed)return Ee;let e,{_reader:t}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;let n=e.header(),s=t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(n,s,e.metadata)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;let n=e.header(),s=t.readMessageBody(e.bodyLength),i=this._loadDictionaryBatch(n,s);this.dictionaries.set(n.id,i)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Zi(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}},ua=class extends hf{constructor(e,t){super(t),this._reader=new eo(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return F(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return F(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=Y_(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return F(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):Ee})}return(e){return F(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):Ee})}next(){return F(this,void 0,void 0,function*(){if(this.closed)return Ee;let e,{_reader:t}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;let n=e.header(),s=yield t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(n,s,e.metadata)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;let n=e.header(),s=yield t.readMessageBody(e.bodyLength),i=this._loadDictionaryBatch(n,s);this.dictionaries.set(n.id,i)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Zi(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return F(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}},pf=class extends ca{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(e,t){super(e instanceof Mc?e:new Mc(e),t)}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(let t of this._footer.dictionaryBatches())t&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var t;if(this.closed)return null;this._footer||this.open();let n=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(n&&this._handle.seek(n.offset)){let s=this._reader.readMessage(oe.RecordBatch);if(s?.isRecordBatch()){let i=s.header(),o=this._reader.readMessageBody(s.bodyLength);return this._loadRecordBatch(i,o,s.metadata)}}return null}_readDictionaryBatch(e){var t;let n=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(n&&this._handle.seek(n.offset)){let s=this._reader.readMessage(oe.DictionaryBatch);if(s?.isDictionaryBatch()){let i=s.header(),o=this._reader.readMessageBody(s.bodyLength),a=this._loadDictionaryBatch(i,o);this.dictionaries.set(i.id,a)}}}_readFooter(){let{_handle:e}=this,t=e.size-Dm,n=e.readInt32(t),s=e.readAt(t-n,n);return Bn.decode(s)}_readNextMessageAndValidate(e){var t;if(this._footer||this.open(),this._footer&&this._recordBatchIndex<this.numRecordBatches){let n=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(this._recordBatchIndex);if(n&&this._handle.seek(n.offset))return this._reader.readMessage(e)}return null}},Um=class extends ua{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(e,...t){let n=typeof t[0]!="number"?t.shift():void 0,s=t[0]instanceof Map?t.shift():void 0;super(e instanceof Ls?e:new Ls(e,n),s)}isFile(){return!0}isAsync(){return!0}open(e){let t=Object.create(null,{open:{get:()=>super.open}});return F(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(let n of this._footer.dictionaryBatches())n&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield t.open.call(this,e)})}readRecordBatch(e){return F(this,void 0,void 0,function*(){var t;if(this.closed)return null;this._footer||(yield this.open());let n=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(n&&(yield this._handle.seek(n.offset))){let s=yield this._reader.readMessage(oe.RecordBatch);if(s?.isRecordBatch()){let i=s.header(),o=yield this._reader.readMessageBody(s.bodyLength);return this._loadRecordBatch(i,o,s.metadata)}}return null})}_readDictionaryBatch(e){return F(this,void 0,void 0,function*(){var t;let n=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(n&&(yield this._handle.seek(n.offset))){let s=yield this._reader.readMessage(oe.DictionaryBatch);if(s?.isDictionaryBatch()){let i=s.header(),o=yield this._reader.readMessageBody(s.bodyLength),a=this._loadDictionaryBatch(i,o);this.dictionaries.set(i.id,a)}}})}_readFooter(){return F(this,void 0,void 0,function*(){let{_handle:e}=this;e._pending&&(yield e._pending);let t=e.size-Dm,n=yield e.readInt32(t),s=yield e.readAt(t-n,n);return Bn.decode(s)})}_readNextMessageAndValidate(e){return F(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex<this.numRecordBatches){let t=this._footer.getRecordBatch(this._recordBatchIndex);if(t&&(yield this._handle.seek(t.offset)))return yield this._reader.readMessage(e)}return null})}},Pm=class extends ca{constructor(e,t){super(e,t)}_loadVectors(e,t,n){return new Yl(t,e.nodes,e.buffers,this.dictionaries,this.schema.metadataVersion,e.variadicBufferCounts).visitMany(n)}}});function lr(r){let e=r.byteLength+7&-8;return this.buffers.push(r),this.bufferRegions.push(new Ue(this._byteLength,e)),this._byteLength+=e,this}function N2(r){var e;let{type:t,length:n,typeIds:s,valueOffsets:i}=r;if(lr.call(this,s),t.mode===me.Sparse)return Vm.call(this,r);if(t.mode===me.Dense){if(r.offset<=0)return lr.call(this,i),Vm.call(this,r);{let o=new Int32Array(n),a=Object.create(null),c=Object.create(null);for(let u,l,f=-1;++f<n;)(u=s[f])!==void 0&&((l=a[u])===void 0&&(l=a[u]=i[f]),o[f]=i[f]-l,c[u]=((e=c[u])!==null&&e!==void 0?e:0)+1);lr.call(this,o),this.visitMany(r.children.map((u,l)=>{let f=t.typeIds[l],d=a[f],h=c[f];return u.slice(d,Math.min(n,h))}))}}return this}function k2(r){let e;return r.nullCount>=r.length?lr.call(this,new Uint8Array(r.length+7>>3)):(e=r.values)instanceof Uint8Array?lr.call(this,_i(r.offset,r.length,e)):lr.call(this,Ai(r.values))}function jn(r){return lr.call(this,r.values.subarray(0,r.length*r.stride))}function mf(r){let{length:e,values:t,valueOffsets:n}=r,s=re(n[0]),i=re(n[e]),o=Math.min(i-s,t.byteLength-s);return lr.call(this,nl(-s,e+1,n)),lr.call(this,t.subarray(s,s+o)),this}function Q_(r){let{offset:e,length:t,stride:n,values:s,variadicBuffers:i=[]}=r;if(!s)throw new Error("BinaryView data is missing view buffer");let o=e*n,a=o+t*n;lr.call(this,s.subarray(o,a));for(let c of i)lr.call(this,c);return this._variadicBufferCounts.push(i.length),this}function bf(r){let{length:e,valueOffsets:t}=r;if(t){let n=re(t[0]),s=re(t[e]);return lr.call(this,nl(-n,e+1,t)),this.visit(r.children[0].slice(n,s-n))}return this.visit(r.children[0])}function Vm(r){return this.visitMany(r.type.children.map((e,t)=>r.children[t]).filter(Boolean))[0]}var Le,Z_=p(()=>{ht();Vt();Re();Un();Ke();vi();Ss();we();nn();Le=class r extends D{static assemble(...e){let t=s=>s.flatMap(i=>Array.isArray(i)?t(i):i instanceof ee?i.data.children:i.data),n=new r;return n.visitMany(t(e)),n}constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[],this._variadicBufferCounts=[]}visit(e){if(e instanceof B)return this.visitMany(e.data),this;let{type:t}=e;if(!E.isDictionary(t)){let{length:n}=e;if(n>2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");if(E.isUnion(t))this.nodes.push(new Tr(n,0));else{let{nullCount:s}=e;E.isNull(t)||lr.call(this,s<=0?new Uint8Array(0):_i(e.offset,n,e.nullBitmap)),this.nodes.push(new Tr(n,s))}}return super.visit(e)}visitNull(e){return this}visitDictionary(e){return this.visit(e.clone(e.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}get variadicBufferCounts(){return this._variadicBufferCounts}};Le.prototype.visitBool=k2;Le.prototype.visitInt=jn;Le.prototype.visitFloat=jn;Le.prototype.visitUtf8=mf;Le.prototype.visitLargeUtf8=mf;Le.prototype.visitUtf8View=Q_;Le.prototype.visitBinary=mf;Le.prototype.visitLargeBinary=mf;Le.prototype.visitBinaryView=Q_;Le.prototype.visitFixedSizeBinary=jn;Le.prototype.visitDate=jn;Le.prototype.visitTimestamp=jn;Le.prototype.visitTime=jn;Le.prototype.visitDecimal=jn;Le.prototype.visitList=bf;Le.prototype.visitLargeList=bf;Le.prototype.visitStruct=Vm;Le.prototype.visitUnion=N2;Le.prototype.visitInterval=jn;Le.prototype.visitDuration=jn;Le.prototype.visitFixedSizeList=bf;Le.prototype.visitMap=bf});var gf,eA=p(()=>{Vt();fl();Re();gf=class extends D{visit(e){return e==null?void 0:super.visit(e)}visitNull({typeId:e}){return{name:z[e].toLowerCase()}}visitInt({typeId:e,bitWidth:t,isSigned:n}){return{name:z[e].toLowerCase(),bitWidth:t,isSigned:n}}visitFloat({typeId:e,precision:t}){return{name:z[e].toLowerCase(),precision:he[t]}}visitBinary({typeId:e}){return{name:z[e].toLowerCase()}}visitLargeBinary({typeId:e}){return{name:z[e].toLowerCase()}}visitBinaryView({typeId:e}){return{name:z[e].toLowerCase()}}visitBool({typeId:e}){return{name:z[e].toLowerCase()}}visitUtf8({typeId:e}){return{name:z[e].toLowerCase()}}visitLargeUtf8({typeId:e}){return{name:z[e].toLowerCase()}}visitUtf8View({typeId:e}){return{name:z[e].toLowerCase()}}visitDecimal({typeId:e,scale:t,precision:n,bitWidth:s}){return{name:z[e].toLowerCase(),scale:t,precision:n,bitWidth:s}}visitDate({typeId:e,unit:t}){return{name:z[e].toLowerCase(),unit:ye[t]}}visitTime({typeId:e,unit:t,bitWidth:n}){return{name:z[e].toLowerCase(),unit:L[t],bitWidth:n}}visitTimestamp({typeId:e,timezone:t,unit:n}){return{name:z[e].toLowerCase(),unit:L[n],timezone:t}}visitInterval({typeId:e,unit:t}){return{name:z[e].toLowerCase(),unit:ue[t]}}visitDuration({typeId:e,unit:t}){return{name:z[e].toLocaleLowerCase(),unit:L[t]}}visitList({typeId:e}){return{name:z[e].toLowerCase()}}visitLargeList({typeId:e}){return{name:z[e].toLowerCase()}}visitStruct({typeId:e}){return{name:z[e].toLowerCase()}}visitUnion({typeId:e,mode:t,typeIds:n}){return{name:z[e].toLowerCase(),mode:me[t].toUpperCase(),typeIds:[...n]}}visitDictionary(e){return this.visit(e.dictionary)}visitFixedSizeBinary({typeId:e,byteWidth:t}){return{name:z[e].toLowerCase(),byteWidth:t}}visitFixedSizeList({typeId:e,listSize:t}){return{name:z[e].toLowerCase(),listSize:t}}visitMap({typeId:e,keysSorted:t}){return{name:z[e].toLowerCase(),keysSorted:t}}}});function*jm(r){for(let e of r)yield e.reduce((t,n)=>`${t}${("0"+(n&255).toString(16)).slice(-2)}`,"").toUpperCase()}function*Gn(r,e){let t=new Uint32Array(r.buffer,r.byteOffset,r.byteLength/Uint32Array.BYTES_PER_ELEMENT);for(let n=-1,s=t.length/e;++n<s;)yield`${wi.new(t.subarray((n+0)*e,(n+1)*e),!1)}`}function tA(r,e){let n=r.values,s=new DataView(n.buffer,n.byteOffset,n.byteLength),i=n.byteLength/16,o=d=>Array.from(d).map(h=>("0"+(h&255).toString(16)).slice(-2)).join("").toUpperCase(),a=Array.from({length:i},(d,h)=>{let m=h*16,b=s.getInt32(m,!0);return[m,b]}).map(([d,h])=>h>12?{SIZE:h,PREFIX_HEX:o(n.subarray(d+4,d+8)),BUFFER_INDEX:s.getInt32(d+8,!0),OFFSET:s.getInt32(d+12,!0)}:{SIZE:h,INLINED:e(n.subarray(d+4,d+4+h))}),c=[...new Set(a.map(d=>d.BUFFER_INDEX).filter(d=>d!==void 0))],u=c.map(d=>o(r.variadicBuffers[d])),l=new Map(c.map((d,h)=>[d,h]));return{VIEWS:a.map(d=>d.BUFFER_INDEX!==void 0?Object.assign(Object.assign({},d),{BUFFER_INDEX:l.get(d.BUFFER_INDEX)}):d),VARIADIC_DATA_BUFFERS:u}}var jc,rA=p(()=>{hl();ht();Vt();Re();Re();vi();Jl();we();jc=class r extends D{static assemble(...e){let t=new r;return e.map(({schema:n,data:s})=>t.visitMany(n.fields,s.children))}visit({name:e},t){let{length:n}=t,{offset:s,nullCount:i,nullBitmap:o}=t,a=E.isDictionary(t.type)?t.type.indices:t.type,c=Object.assign([],t.buffers,{[ne.VALIDITY]:void 0});return Object.assign({name:e,count:n,VALIDITY:E.isNull(a)||E.isUnion(a)?void 0:i<=0?Array.from({length:n},()=>1):[...new an(o,s,n,null,Nl)]},super.visit(t.clone(a,s,n,0,c)))}visitNull(){return{}}visitBool({values:e,offset:t,length:n}){return{DATA:[...new an(e,t,n,null,Yo)]}}visitInt(e){return{DATA:e.type.bitWidth<64?[...e.values]:[...Gn(e.values,2)]}}visitFloat(e){return{DATA:[...e.values]}}visitUtf8(e){return{DATA:[...new B([e])],OFFSET:[...e.valueOffsets]}}visitLargeUtf8(e){return{DATA:[...new B([e])],OFFSET:[...Gn(e.valueOffsets,2)]}}visitBinary(e){return{DATA:[...jm(new B([e]))],OFFSET:[...e.valueOffsets]}}visitLargeBinary(e){return{DATA:[...jm(new B([e]))],OFFSET:[...Gn(e.valueOffsets,2)]}}visitBinaryView(e){return tA(e,t=>Array.from(t).map(n=>("0"+(n&255).toString(16)).slice(-2)).join("").toUpperCase())}visitUtf8View(e){return tA(e,t=>Array.from(t).map(n=>String.fromCodePoint(n)).join(""))}visitFixedSizeBinary(e){return{DATA:[...jm(new B([e]))]}}visitDate(e){return{DATA:e.type.unit===ye.DAY?[...e.values]:[...Gn(e.values,2)]}}visitTimestamp(e){return{DATA:[...Gn(e.values,2)]}}visitTime(e){return{DATA:e.type.unit<L.MICROSECOND?[...e.values]:[...Gn(e.values,2)]}}visitDecimal(e){return{DATA:[...Gn(e.values,4)]}}visitList(e){return{OFFSET:[...e.valueOffsets],children:this.visitMany(e.type.children,e.children)}}visitLargeList(e){return{OFFSET:[...Gn(e.valueOffsets,2)],children:this.visitMany(e.type.children,e.children)}}visitStruct(e){return{children:this.visitMany(e.type.children,e.children)}}visitUnion(e){return{TYPE_ID:[...e.typeIds],OFFSET:e.type.mode===me.Dense?[...e.valueOffsets]:void 0,children:this.visitMany(e.type.children,e.children)}}visitInterval(e){switch(e.type.unit){case ue.YEAR_MONTH:return{DATA:[...e.values]};case ue.DAY_TIME:return{DATA:em(e.values)};case ue.MONTH_DAY_NANO:return{DATA:tm(e.values,!0)}}}visitDuration(e){return{DATA:[...Gn(e.values,2)]}}visitFixedSizeList(e){return{children:this.visitMany(e.type.children,e.children)}}visitMap(e){return{OFFSET:[...e.valueOffsets],children:this.visitMany(e.type.children,e.children)}}}});function Gm(r,e){let t=e;e instanceof se&&(t=e.batches,r.reset(void 0,e.schema));for(let n of t)r.write(n);return r.finish()}function zm(r,e){return F(this,void 0,void 0,function*(){var t,n,s,i,o,a,c;try{for(t=!0,n=Xt(e);s=yield n.next(),i=s.done,!i;t=!0){c=s.value,t=!1;let u=c;r.write(u)}}catch(u){o={error:u}}finally{try{!t&&!i&&(a=n.return)&&(yield a.call(n))}finally{if(o)throw o.error}}return r.finish()})}function nA({name:r,type:e,nullable:t}){let n=new gf;return{name:r,nullable:t,type:n.visit(e),children:(e.children||[]).map(s=>nA(s)),dictionary:E.isDictionary(e)?{id:e.id,isOrdered:e.isOrdered,indexType:n.visit(e.indices)}:void 0}}function C2(r,e,t=!1){let[n]=jc.assemble(new ee({[e]:r}));return JSON.stringify({id:e,isDelta:t,data:{count:r.length,columns:n}},null,2)}function U2(r){let[e]=jc.assemble(r);return JSON.stringify({count:r.numRows,columns:e},null,2)}var dn,zn,Wn,Gc,yf=p(()=>{Nt();Qi();ff();ht();we();Ss();Ss();Wp();Re();Pc();Es();Z_();eA();rA();Ke();Un();Oc();ts();Co();df();le();dn=class extends Li{static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,t){throw new Error('"throughDOM" not available in this environment')}constructor(e){if(super(),this._position=0,this._started=!1,this._compression=null,this._sink=new _r,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._seenDictionaries=new Map,this._dictionaryDeltaOffsets=new Map,At(e)||(e={autoDestroy:!0,writeLegacyIpcFormat:!1,compressionType:null}),this._autoDestroy=typeof e.autoDestroy=="boolean"?e.autoDestroy:!0,this._writeLegacyIpcFormat=typeof e.writeLegacyIpcFormat=="boolean"?e.writeLegacyIpcFormat:!1,e.compressionType!=null){if(this._writeLegacyIpcFormat)throw new Error("Legacy IPC format does not support columnar compression. Use modern IPC format (writeLegacyIpcFormat=false).");if(Object.values(et).includes(e.compressionType))this._compression=new Ei(e.compressionType);else{let t=Object.values(et).filter(n=>typeof n=="string");throw new Error(`Unsupported compressionType: ${e.compressionType} Available types: ${t.join(", ")}`)}}else this._compression=null}toString(e=!1){return this._sink.toString(e)}toUint8Array(e=!1){return this._sink.toUint8Array(e)}writeAll(e){return Yt(e)?e.then(t=>this.writeAll(t)):gr(e)?zm(this,e):Gm(this,e)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(e){return this._sink.toDOMStream(e)}toNodeStream(e){return this._sink.toNodeStream(e)}close(){return this.reset()._sink.close()}abort(e){return this.reset()._sink.abort(e)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(e=this._sink,t=null){return e===this._sink||e instanceof _r?this._sink=e:(this._sink=new _r,e&&TT(e)?this.toDOMStream({type:"bytes"}).pipeTo(e):e&&_T(e)&&this.toNodeStream({objectMode:!1}).pipe(e)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._seenDictionaries=new Map,this._dictionaryDeltaOffsets=new Map,(!t||!Yi(t,this._schema))&&(t==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=t,this._writeSchema(t))),this}write(e){let t=null;if(this._sink){if(e==null)return this.finish()&&void 0;if(e instanceof se&&!(t=e.schema))return this.finish()&&void 0;if(e instanceof ee&&!(t=e.schema))return this.finish()&&void 0}else throw new Error("RecordBatchWriter is closed");if(t&&!Yi(t,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,t)}e instanceof ee?e instanceof Zi||this._writeRecordBatch(e):e instanceof se?this.writeAll(e.batches):Mr(e)&&this.writeAll(e)}_writeMessage(e,t=8){let n=t-1,s=gt.encode(e),i=s.byteLength,o=this._writeLegacyIpcFormat?4:8,a=i+o+n&~n,c=a-i-o;return e.headerType===oe.RecordBatch?this._recordBatchBlocks.push(new $r(a,e.bodyLength,this._position)):e.headerType===oe.DictionaryBatch&&this._dictionaryBlocks.push(new $r(a,e.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-o)),i>0&&this._write(s),this._writePadding(c)}_write(e){if(this._started){let t=N(e);t&&t.byteLength>0&&(this._sink.write(t),this._position+=t.byteLength)}return this}_writeSchema(e){return this._writeMessage(gt.from(e))}_writeFooter(e){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(ia)}_writePadding(e){return e>0?this._write(new Uint8Array(e)):this}_writeRecordBatch(e){let{byteLength:t,nodes:n,bufferRegions:s,buffers:i,variadicBufferCounts:o}=this._assembleRecordBatch(e),a=new $e(e.numRows,n,s,this._compression,o,e.metadata),c=gt.from(a,t);return this._writeDictionaries(e)._writeMessage(c)._writeBodyBuffers(i)}_assembleRecordBatch(e){let{byteLength:t,nodes:n,bufferRegions:s,buffers:i,variadicBufferCounts:o}=Le.assemble(e);return this._compression!=null&&({byteLength:t,bufferRegions:s,buffers:i}=this._compressBodyBuffers(i)),{byteLength:t,nodes:n,bufferRegions:s,buffers:i,variadicBufferCounts:o}}_compressBodyBuffers(e){let t=Ys.get(this._compression.type);if(!t?.encode||typeof t.encode!="function")throw new Error(`Codec for compression type "${et[this._compression.type]}" has invalid encode method`);let n=0,s=[],i=[];for(let a of e){let c=N(a);if(c.length===0){s.push(new Uint8Array(0),new Uint8Array(0)),i.push(new Ue(n,0));continue}let u=t.encode(c),l=u.length<c.length,f=l?u:c,d=l?f.length:-1,h=new Ze(new Uint8Array(8));h.writeInt64(0,BigInt(d)),s.push(h.bytes(),new Uint8Array(f));let m=(n+7&-8)-n;n+=m;let b=8+f.length;i.push(new Ue(n,b)),n+=b}let o=(n+7&-8)-n;return n+=o,{byteLength:n,bufferRegions:i,buffers:s}}_writeDictionaryBatch(e,t,n=!1){let{byteLength:s,nodes:i,bufferRegions:o,buffers:a,variadicBufferCounts:c}=this._assembleRecordBatch(new B([e])),u=new $e(e.length,i,o,this._compression,c),l=new bt(u,t,n),f=gt.from(l,s);return this._writeMessage(f)._writeBodyBuffers(a)}_writeBodyBuffers(e){let t=this._compression!=null?2:1,n=new Array(t);for(let s=0;s<e.length;s+=t){let i=0;for(let a=-1;++a<t;)n[a]=e[s+a],i+=n[a].byteLength;if(i===0)continue;for(let a of n)this._write(a);let o=(i+7&-8)-i;o>0&&this._writePadding(o)}return this}_writeDictionaries(e){var t,n;for(let[s,i]of e.dictionaries){let o=(t=i?.data)!==null&&t!==void 0?t:[],a=this._seenDictionaries.get(s),c=(n=this._dictionaryDeltaOffsets.get(s))!==null&&n!==void 0?n:0;if(!a||a.data[0]!==o[0])for(let[u,l]of o.entries())this._writeDictionaryBatch(l,s,u>0);else if(c<o.length)for(let u of o.slice(c))this._writeDictionaryBatch(u,s,!0);this._seenDictionaries.set(s,i),this._dictionaryDeltaOffsets.set(s,o.length)}return this}},zn=class r extends dn{static writeAll(e,t){let n=new r(t);return Yt(e)?e.then(s=>n.writeAll(s)):gr(e)?zm(n,e):Gm(n,e)}},Wn=class r extends dn{static writeAll(e,t){let n=new r(t);return Yt(e)?e.then(s=>n.writeAll(s)):gr(e)?zm(n,e):Gm(n,e)}constructor(e){super(e),this._autoDestroy=!0,this._writeLegacyIpcFormat=!1}_writeSchema(e){return this._writeMagic()._writePadding(2)}_writeDictionaryBatch(e,t,n=!1){if(!n&&this._seenDictionaries.has(t))throw new Error("The Arrow File format does not support replacement dictionaries. ");return super._writeDictionaryBatch(e,t,n)}_writeFooter(e){let t=Bn.encode(new Bn(e,ge.V5,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(e)._write(t)._write(Int32Array.of(t.byteLength))._writeMagic()}},Gc=class r extends dn{static writeAll(e){return new r().writeAll(e)}constructor(){super(),this._autoDestroy=!0,this._recordBatches=[],this._recordBatchesWithDictionaries=[]}_writeMessage(){return this}_writeFooter(e){return this}_writeSchema(e){return this._write(`{
22
+ "schema": ${JSON.stringify({fields:e.fields.map(t=>nA(t))},null,2)}`)}_writeDictionaries(e){return e.dictionaries.size>0&&this._recordBatchesWithDictionaries.push(e),this}_writeDictionaryBatch(e,t,n=!1){return this._write(this._dictionaryBlocks.length===0?" ":`,
23
+ `),this._write(C2(e,t,n)),this._dictionaryBlocks.push(new $r(0,0,0)),this}_writeRecordBatch(e){return this._writeDictionaries(e),this._recordBatches.push(e),this}close(){if(this._recordBatchesWithDictionaries.length>0){this._write(`,
24
+ "dictionaries": [
25
+ `);for(let e of this._recordBatchesWithDictionaries)super._writeDictionaries(e);this._write(`
26
+ ]`)}if(this._recordBatches.length>0){for(let e=-1,t=this._recordBatches.length;++e<t;)this._write(e===0?`,
27
+ "batches": [
28
+ `:`,
29
+ `),this._write(U2(this._recordBatches[e])),this._recordBatchBlocks.push(new $r(0,0,0));this._write(`
30
+ ]`)}return this._schema&&this._write(`
31
+ }`),this._recordBatchesWithDictionaries=[],this._recordBatches=[],super.close()}}});function sA(r,e){if(gr(r))return V2(r,e);if(Mr(r))return P2(r,e);throw new Error("toDOMStream() must be called with an Iterable or AsyncIterable")}function P2(r,e){let t=null,n=e?.type==="bytes"||!1,s=e?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},e),{start(o){i(o,t||(t=r[Symbol.iterator]()))},pull(o){t?i(o,t):o.close()},cancel(){t?.return&&t.return(),t=null}}),Object.assign({highWaterMark:n?s:void 0},e));function i(o,a){let c,u=null,l=o.desiredSize||null;for(;!(u=a.next(n?l:null)).done;)if(ArrayBuffer.isView(u.value)&&(c=N(u.value))&&(l!=null&&n&&(l=l-c.byteLength+1),u.value=c),o.enqueue(u.value),l!=null&&--l<=0)return;o.close()}}function V2(r,e){let t=null,n=e?.type==="bytes"||!1,s=e?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},e),{start(o){return F(this,void 0,void 0,function*(){yield i(o,t||(t=r[Symbol.asyncIterator]()))})},pull(o){return F(this,void 0,void 0,function*(){t?yield i(o,t):o.close()})},cancel(){return F(this,void 0,void 0,function*(){t?.return&&(yield t.return()),t=null})}}),Object.assign({highWaterMark:n?s:void 0},e));function i(o,a){return F(this,void 0,void 0,function*(){let c,u=null,l=o.desiredSize||null;for(;!(u=yield a.next(n?l:null)).done;)if(ArrayBuffer.isView(u.value)&&(c=N(u.value))&&(l!=null&&n&&(l=l-c.byteLength+1),u.value=c),o.enqueue(u.value),l!=null&&--l<=0)return;o.close()})}}var iA=p(()=>{Nt();Ke();ts()});function cA(r){return new Wm(r)}var Wm,oA,aA,uA=p(()=>{Nt();Nc();Wm=class{constructor(e){this._numChunks=0,this._finished=!1,this._bufferedSize=0;let{["readableStrategy"]:t,["writableStrategy"]:n,["queueingStrategy"]:s="count"}=e,i=yT(e,["readableStrategy","writableStrategy","queueingStrategy"]);this._controller=null,this._builder=qr(i),this._getSize=s!=="bytes"?oA:aA;let{["highWaterMark"]:o=s==="bytes"?Math.pow(2,14):1e3}=Object.assign({},t),{["highWaterMark"]:a=s==="bytes"?Math.pow(2,14):1e3}=Object.assign({},n);this.readable=new ReadableStream({cancel:()=>{this._builder.clear()},pull:c=>{this._maybeFlush(this._builder,this._controller=c)},start:c=>{this._maybeFlush(this._builder,this._controller=c)}},{highWaterMark:o,size:s!=="bytes"?oA:aA}),this.writable=new WritableStream({abort:()=>{this._builder.clear()},write:()=>{this._maybeFlush(this._builder,this._controller)},close:()=>{this._maybeFlush(this._builder.finish(),this._controller)}},{highWaterMark:a,size:c=>this._writeValueAndReturnChunkSize(c)})}_writeValueAndReturnChunkSize(e){let t=this._bufferedSize;return this._bufferedSize=this._getSize(this._builder.append(e)),this._bufferedSize-t}_maybeFlush(e,t){t!=null&&(this._bufferedSize>=t.desiredSize&&++this._numChunks&&this._enqueue(t,e.toVector()),e.finished&&((e.length>0||this._numChunks===0)&&++this._numChunks&&this._enqueue(t,e.toVector()),!this._finished&&(this._finished=!0)&&this._enqueue(t,null)))}_enqueue(e,t){this._bufferedSize=0,this._controller=null,t==null?e.close():e.enqueue(t)}},oA=r=>{var e;return(e=r?.length)!==null&&e!==void 0?e:0},aA=r=>{var e;return(e=r?.byteLength)!==null&&e!==void 0?e:0}});function wf(r,e){let t=new _r,n=null,s=new ReadableStream({cancel(){return F(this,void 0,void 0,function*(){yield t.close()})},start(a){return F(this,void 0,void 0,function*(){yield o(a,n||(n=yield i()))})},pull(a){return F(this,void 0,void 0,function*(){n?yield o(a,n):a.close()})}});return{writable:new WritableStream(t,Object.assign({highWaterMark:Math.pow(2,14)},r)),readable:s};function i(){return F(this,void 0,void 0,function*(){return yield(yield Mt.from(t)).open(e)})}function o(a,c){return F(this,void 0,void 0,function*(){let u=a.desiredSize,l=null;for(;!(l=yield c.next()).done;)if(a.enqueue(l.value),u!=null&&--u<=0)return;a.close()})}}var lA=p(()=>{Nt();Es();Vc()});function xf(r,e){let t=new this(r),n=new Gt(t),s=new ReadableStream({cancel(){return F(this,void 0,void 0,function*(){yield n.cancel()})},pull(o){return F(this,void 0,void 0,function*(){yield i(o)})},start(o){return F(this,void 0,void 0,function*(){yield i(o)})}},Object.assign({highWaterMark:Math.pow(2,14)},e));return{writable:new WritableStream(t,r),readable:s};function i(o){return F(this,void 0,void 0,function*(){let a=null,c=o.desiredSize;for(;a=yield n.read(c||null);)if(o.enqueue(a),c!=null&&(c-=a.byteLength)<=0)return;o.close()})}}var fA=p(()=>{Nt();Es()});function Qs(r){let e=Mt.from(r);return Yt(e)?e.then(t=>Qs(t)):e.isAsync()?e.readAll().then(t=>new se(t)):new se(e.readAll())}function ro(r,e="stream",t=null){let n={compressionType:t};return(e==="stream"?zn:Wn).writeAll(r,n).toUint8Array(!0)}var dA=p(()=>{Qi();ts();Vc();yf()});var $m={};Y($m,{isArrowData:()=>vf,isArrowDataType:()=>Af,isArrowField:()=>_f,isArrowRecordBatch:()=>Sf,isArrowSchema:()=>Tf,isArrowTable:()=>Ef,isArrowVector:()=>If});function Tf(r){return X.isSchema(r)}function _f(r){return O.isField(r)}function Af(r){return E.isDataType(r)}function vf(r){return C.isData(r)}function If(r){return B.isVector(r)}function Sf(r){return ee.isRecordBatch(r)}function Ef(r){return se.isTable(r)}var qm=p(()=>{mt();we();xr();ht();Un();Qi()});var hA,Km=p(()=>{dl();Co();Re();xr();we();Qi();ht();Vt();mt();Ic();Ml();Se();Nc();nm();bm();sm();im();om();am();um();dm();wm();ym();lm();fm();Tm();Am();_m();Zl();tf();ef();hm();pm();cm();mm();gm();xm();Es();Vc();yf();dA();df();ff();Ss();Un();qm();hl();Yp();vi();vc();Ke();Jo();bc();Jl();qm();Pc();hA=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},xp),Jp),kp),Tp),Vh),Np),bp),rm),$m),{compareSchemas:Yi,compareFields:N_,compareTypes:sf})});var Er={};Y(Er,{AsyncByteQueue:()=>_r,AsyncByteStream:()=>Gt,AsyncMessageReader:()=>eo,AsyncRecordBatchFileReader:()=>aa,AsyncRecordBatchStreamReader:()=>Pn,Binary:()=>Ct,BinaryBuilder:()=>Mn,BinaryView:()=>Z,BinaryViewBuilder:()=>Nn,Bool:()=>lt,BoolBuilder:()=>Bi,BufferType:()=>ne,Builder:()=>Te,ByteStream:()=>Ar,CompressionType:()=>et,Data:()=>C,DataType:()=>E,DateBuilder:()=>un,DateDay:()=>ls,DateDayBuilder:()=>Bs,DateMillisecond:()=>fs,DateMillisecondBuilder:()=>Fs,DateUnit:()=>ye,Date_:()=>Et,Decimal:()=>Ut,DecimalBuilder:()=>Os,DenseUnion:()=>Sn,DenseUnionBuilder:()=>Xi,Dictionary:()=>Ge,DictionaryBuilder:()=>Fi,Duration:()=>Lt,DurationBuilder:()=>vr,DurationMicrosecond:()=>Tc,DurationMicrosecondBuilder:()=>Us,DurationMillisecond:()=>xc,DurationMillisecondBuilder:()=>Cs,DurationNanosecond:()=>_c,DurationNanosecondBuilder:()=>Ps,DurationSecond:()=>wc,DurationSecondBuilder:()=>ks,Field:()=>O,FixedSizeBinary:()=>Pt,FixedSizeBinaryBuilder:()=>Ms,FixedSizeList:()=>Fe,FixedSizeListBuilder:()=>Oi,Float:()=>ct,Float16:()=>Vr,Float16Builder:()=>Mi,Float32:()=>It,Float32Builder:()=>Ri,Float64:()=>sr,Float64Builder:()=>Di,FloatBuilder:()=>ln,Int:()=>Oe,Int16:()=>er,Int16Builder:()=>ki,Int32:()=>Pe,Int32Builder:()=>Ci,Int64:()=>tr,Int64Builder:()=>Ui,Int8:()=>Zt,Int8Builder:()=>Ni,IntBuilder:()=>Ft,Interval:()=>ft,IntervalBuilder:()=>Kr,IntervalDayTime:()=>ws,IntervalDayTimeBuilder:()=>Rs,IntervalMonthDayNano:()=>yc,IntervalMonthDayNanoBuilder:()=>Ns,IntervalUnit:()=>ue,IntervalYearMonth:()=>xs,IntervalYearMonthBuilder:()=>Ds,JSONMessageReader:()=>to,LargeBinary:()=>jr,LargeBinaryBuilder:()=>Rn,LargeList:()=>ir,LargeListBuilder:()=>Wi,LargeUtf8:()=>Gr,LargeUtf8Builder:()=>Xs,List:()=>je,ListBuilder:()=>zi,MapBuilder:()=>$i,MapRow:()=>wr,Map_:()=>dt,Message:()=>gt,MessageHeader:()=>oe,MessageReader:()=>Js,MetadataVersion:()=>ge,Null:()=>Ce,NullBuilder:()=>qi,Precision:()=>he,RecordBatch:()=>ee,RecordBatchFileReader:()=>Vn,RecordBatchFileWriter:()=>Wn,RecordBatchJSONWriter:()=>Gc,RecordBatchReader:()=>Mt,RecordBatchStreamReader:()=>Hr,RecordBatchStreamWriter:()=>zn,RecordBatchWriter:()=>dn,Schema:()=>X,SparseUnion:()=>Ts,SparseUnionBuilder:()=>Hi,Struct:()=>fe,StructBuilder:()=>Ki,StructRow:()=>on,Table:()=>se,Time:()=>tt,TimeBuilder:()=>Sr,TimeMicrosecond:()=>ps,TimeMicrosecondBuilder:()=>qs,TimeMillisecond:()=>hs,TimeMillisecondBuilder:()=>$s,TimeNanosecond:()=>ms,TimeNanosecondBuilder:()=>Ks,TimeSecond:()=>ds,TimeSecondBuilder:()=>Ws,TimeUnit:()=>L,Timestamp:()=>rt,TimestampBuilder:()=>Ir,TimestampMicrosecond:()=>gs,TimestampMicrosecondBuilder:()=>Gs,TimestampMillisecond:()=>sn,TimestampMillisecondBuilder:()=>js,TimestampNanosecond:()=>ys,TimestampNanosecondBuilder:()=>zs,TimestampSecond:()=>bs,TimestampSecondBuilder:()=>Vs,Type:()=>w,Uint16:()=>nr,Uint16Builder:()=>Vi,Uint32:()=>vt,Uint32Builder:()=>ji,Uint64:()=>Pr,Uint64Builder:()=>Gi,Uint8:()=>rr,Uint8Builder:()=>Pi,Union:()=>Bt,UnionBuilder:()=>Dn,UnionMode:()=>me,Utf8:()=>ut,Utf8Builder:()=>Hs,Utf8View:()=>St,Utf8ViewBuilder:()=>Ji,Vector:()=>B,Visitor:()=>D,builderThroughAsyncIterable:()=>Lm,builderThroughIterable:()=>af,compressionRegistry:()=>Ys,isArrowData:()=>vf,isArrowDataType:()=>Af,isArrowField:()=>_f,isArrowRecordBatch:()=>Sf,isArrowSchema:()=>Tf,isArrowTable:()=>Ef,isArrowVector:()=>If,makeBuilder:()=>qr,makeData:()=>R,makeTable:()=>Bm,makeVector:()=>cn,tableFromArrays:()=>Fm,tableFromIPC:()=>Qs,tableFromJSON:()=>Em,tableToIPC:()=>ro,util:()=>hA,vectorFromArray:()=>sa});var Lr=p(()=>{tc();Se();Vc();yf();iA();uA();lA();fA();Km();Km();Qe.toDOMStream=sA;Te.throughDOM=cA;Mt.throughDOM=wf;Vn.throughDOM=wf;Hr.throughDOM=wf;dn.throughDOM=xf;Wn.throughDOM=xf;zn.throughDOM=xf});var Lf=p(()=>{});var Bf=p(()=>{});function la(r){return r.variadicBuffers??[]}function zc(r,e,t,n,s,i,o,a){return Reflect.construct(C,[r,e,t,n,s,i,o,a])}var Ff=p(()=>{Lr()});function Wc(r){return r.metadata}function $c(r,e,t){if("metadata"in ee.prototype){let s=ee;return Object.assign(new s(r,e,t),{data:e})}let n=Object.assign(new ee(r,e),{data:e});return t===void 0?n:Object.assign(n,{metadata:t})}var Of=p(()=>{Lr()});function Xm(r,e={}){let t=new Set,n=new Set;for(let i of e.retain??[]){let o=pA(i)?i.batches.map(a=>a.data):bA(i)?i.data:[mA(i)?i.data:i];for(let a of o)Hm(a,t,n)}let s={...e,copies:new WeakMap,retainedBuffers:t};return pA(r)?j2(r,s):mA(r)?gA(r,s):bA(r)?yA(r,s):Mf(r,s)}function pA(r){return"batches"in r}function mA(r){return"schema"in r&&"data"in r&&!Array.isArray(r.data)}function bA(r){return"data"in r&&Array.isArray(r.data)}function j2(r,e){let t=r.batches.map(n=>gA(n,e));return new se(r.schema,t)}function gA(r,e){let t=Mf(r.data,e);return $c(r.schema,t,Wc(r))}function Mf(r,e){let t=r.children.map(i=>Mf(i,e)),n=r.dictionary?yA(r.dictionary,e):void 0,s={[ne.OFFSET]:qc(r.buffers[ne.OFFSET],e),[ne.DATA]:qc(r.buffers[ne.DATA],e),[ne.VALIDITY]:qc(r.buffers[ne.VALIDITY],e),[ne.TYPE]:qc(r.buffers[ne.TYPE],e)};return zc(r.type,r.offset,r.length,r._nullCount,s,t,n,la(r).map(i=>qc(i,e)))}function yA(r,e){return new B(r.data.map(t=>Mf(t,e)))}function Hm(r,e,t){if(!t.has(r)){t.add(r);for(let n of[...Object.values(r.buffers),...la(r)])wA(n)&&e.add(n.buffer);for(let n of r.children)Hm(n,e,t);for(let n of r.dictionary?.data??[])Hm(n,e,t)}}function qc(r,e){if(!wA(r))return r;let t=r.byteOffset!==0||r.byteLength!==r.buffer.byteLength;if(!e.retainedBuffers.has(r.buffer)&&e.copy!=="all"&&(e.copy==="none"||!t))return r;let n=e.copies.get(r);return n||(n=r instanceof Uint8Array?new Uint8Array(r):r.slice(),e.copies.set(r,n)),n}function wA(r){return ArrayBuffer.isView(r)&&!(r instanceof DataView)}var Rf=p(()=>{Lr();Of();Ff()});var Jm=p(()=>{Ff();Rf()});var Ym=p(()=>{Lf()});var Qm=p(()=>{Lf();Bf();Jm();Ym()});var _A=p(()=>{Lf();Qm()});var AA=p(()=>{Bf()});function tb(r,e){let t=Xm(r,e);return{transport:"arrow-js",version:1,schema:ro(new se(t.schema,[])),metadataVersion:t.schema.metadataVersion,batches:t.batches.map(n=>{let s=Wc(n);return{...Zm(n.data),...s!==void 0?{metadata:[...s]}:{}}})}}function rb(r){if(r.transport!=="arrow-js"||r.version!==1)throw new Error("Unsupported Arrow column-buffer transport protocol.");let e=Qs(r.schema).schema,t=new X(e.fields,e.metadata,e.dictionaries,r.metadataVersion),n=new fe(t.fields),s=r.batches.map(i=>{let o=eb(i,n);return $c(t,o,i.metadata&&new Map(i.metadata))});return new se(t,s)}function Zm(r){return{offset:r.offset,length:r.length,nullCount:r.nullCount,buffers:{[ne.OFFSET]:r.buffers[ne.OFFSET],[ne.DATA]:r.buffers[ne.DATA],[ne.VALIDITY]:r.buffers[ne.VALIDITY],[ne.TYPE]:r.buffers[ne.TYPE]},children:r.children.map(e=>Zm(e)),variadicBuffers:la(r),dictionary:r.dictionary?.data.map(e=>Zm(e))}}function eb(r,e){let t=r.children.map((s,i)=>eb(s,e.children[i].type)),n=r.dictionary&&E.isDictionary(e)?new B(r.dictionary.map(s=>eb(s,e.dictionary))):void 0;return zc(e,r.offset,r.length,r.nullCount,r.buffers,t,n,r.variadicBuffers)}function vA(r,e){return tb(new se(r.schema,[r]),e)}function IA(r){if(r.batches.length!==1)throw new Error("Arrow record batch transport requires exactly one batch.");return rb(r).batches[0]}var SA=p(()=>{Lr();Of();Ff();Rf()});var EA=p(()=>{});var LA=p(()=>{Qm();Ym();_A();Bf();AA();Rf();SA();EA();Jm();Of()});var BA=p(()=>{LA()});function no(r){if(!FA(r))throw new Error("Workers require Arrow table output");let{data:e,shape:t,...n}=r;return{transport:"arrow-column-envelope",metadata:structuredClone(n),...ib(e,{copy:"all"})}}function Df(r){if(OA(r))return{...r.metadata,shape:"arrow-table",data:nb(r)};if(MA(r)){let{arrowBatchMetadata:e,data:t,...n}=r;return{...n,data:nb(r)}}throw new Error("Workers require Arrow column transport")}function q2(r,e={copy:"all"}){let t=r instanceof ee;if(!t&&!(r instanceof se))throw new Error("Workers require Arrow table output");return{transport:t?"arrow-record-batch":"arrow-table-columns",columns:t?{data:vA(r,e)}:ib(r,e)}}function K2(r){let e=r;if(e?.transport!=="arrow-table-columns"&&e?.transport!=="arrow-record-batch"||!sb(e.columns))throw new Error("Workers require Arrow column transport");if(e.transport==="arrow-record-batch"&&!e.columns.arrowBatchMetadata)return IA(e.columns.data);let t=nb(e.columns);return e.transport==="arrow-record-batch"?t.batches[0]:t}function Nf(r,e){let t=e,n=t?.core?.workerTransferBufferCopy??t?.workerTransferBufferCopy;if(r instanceof se||r instanceof ee)return q2(r,{copy:n??"all"});if(!FA(r))return r;let{data:s,shape:i,...o}=r;return{transport:"arrow-column-envelope",metadata:structuredClone(o),...ib(s,n?{copy:n}:void 0)}}function kf(r){let e=r?.transport;return e==="arrow-table-columns"||e==="arrow-record-batch"?K2(r):OA(r)||MA(r)?Df(r):r}function FA(r){let e=r;return!!(e&&e.shape==="arrow-table"&&e.data&&typeof e.data=="object"&&"batches"in e.data)}function sb(r){let e=r;return e?.data?.transport==="arrow-js"&&Array.isArray(e.data.batches)}function OA(r){return r?.transport==="arrow-column-envelope"&&sb(r)}function MA(r){return r?.shape==="arrow-table"&&sb(r)}function ib(r,e){return{arrowBatchMetadata:X2(r),data:H2(r,e)}}function H2(r,e){let t=tb(r,e);if(r.numCols===0)for(let[n,s]of r.batches.entries())t.batches[n].length=s.numRows;return t}function X2(r){return r.batches.map(e=>({schema:ro(new se(e.schema,[])),metadata:Array.from(e.metadata)}))}function nb(r){let{arrowBatchMetadata:e,data:t}=r,n=rb(t),s=n.batches.map((i,o)=>{let a=e?.[o],c=a?new ee(Qs(a.schema).schema,i.data,new Map(a.metadata)):i,u=t.batches[o].length;return c.numCols===0&&c.numRows!==u&&Object.defineProperty(c,"data",{value:new C(new fe([]),0,u,0,void 0,[])}),c});return new se(n.schema,s)}var fa=p(()=>{"use strict";Lr();BA()});var SH,EH,LH,BH,RA=p(()=>{SH=Math.PI/2,EH=Math.PI/4,LH=Math.PI/6,BH=Math.PI*2});function DA(r,{precision:e=st.precision}={}){return r=Q2(r),`${parseFloat(r.toPrecision(e))}`}function da(r){return Array.isArray(r)||ArrayBuffer.isView(r)&&!(r instanceof DataView)}function ob(r,e,t){let n=st.EPSILON;t&&(st.EPSILON=t);try{if(r===e)return!0;if(da(r)&&da(e)){if(r.length!==e.length)return!1;for(let s=0;s<r.length;++s)if(!ob(r[s],e[s]))return!1;return!0}return r&&r.equals?r.equals(e):e&&e.equals?e.equals(r):typeof r=="number"&&typeof e=="number"?Math.abs(r-e)<=st.EPSILON*Math.max(1,Math.abs(r),Math.abs(e)):!1}finally{st.EPSILON=n}}function Q2(r){return Math.round(r/st.EPSILON)*st.EPSILON}var FH,OH,Y2,st,Kc=p(()=>{FH=1/Math.PI*180,OH=1/180*Math.PI,Y2={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...Y2}};st=globalThis.mathgl.config});var Zs,Cf=p(()=>{Kc();Zs=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(e,t=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=e[n+t];return this.check()}toArray(e=[],t=0){for(let n=0;n<this.ELEMENTS;++n)e[t+n]=this[n];return e}toObject(e){return e}from(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}to(e){return e===this?this:da(e)?this.toArray(e):this.toObject(e)}toTarget(e){return e?this.to(e):this}toString(){return this.formatString(st)}formatString(e){let t="";for(let n=0;n<this.ELEMENTS;++n)t+=(n>0?", ":"")+DA(this[n],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t<this.ELEMENTS;++t)if(!ob(this[t],e[t]))return!1;return!0}exactEquals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t<this.ELEMENTS;++t)if(this[t]!==e[t])return!1;return!0}negate(){for(let e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}lerp(e,t,n){if(n===void 0)return this.lerp(this,e,t);for(let s=0;s<this.ELEMENTS;++s){let i=e[s],o=typeof t=="number"?t:t[s];this[s]=i+n*(o-i)}return this.check()}min(e){for(let t=0;t<this.ELEMENTS;++t)this[t]=Math.min(e[t],this[t]);return this.check()}max(e){for(let t=0;t<this.ELEMENTS;++t)this[t]=Math.max(e[t],this[t]);return this.check()}clamp(e,t){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e[n]),t[n]);return this.check()}add(...e){for(let t of e)for(let n=0;n<this.ELEMENTS;++n)this[n]+=t[n];return this.check()}subtract(...e){for(let t of e)for(let n=0;n<this.ELEMENTS;++n)this[n]-=t[n];return this.check()}scale(e){if(typeof e=="number")for(let t=0;t<this.ELEMENTS;++t)this[t]*=e;else for(let t=0;t<this.ELEMENTS&&t<e.length;++t)this[t]*=e[t];return this.check()}multiplyByScalar(e){for(let t=0;t<this.ELEMENTS;++t)this[t]*=e;return this.check()}check(){if(st.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let e=this.length===this.ELEMENTS;for(let t=0;t<this.ELEMENTS;++t)e=e&&Number.isFinite(this[t]);return e}}});function Z2(r,e){if(r.length!==e)return!1;for(let t=0;t<r.length;++t)if(!Number.isFinite(r[t]))return!1;return!0}function Ve(r){if(!Number.isFinite(r))throw new Error(`Invalid number ${JSON.stringify(r)}`);return r}function ha(r,e,t=""){if(st.debug&&!Z2(r,e))throw new Error(`math.gl: ${t} some fields set to invalid numbers'`);return r}var so=p(()=>{Kc()});var pa,ab=p(()=>{Cf();so();Kc();pa=class extends Zs{toString(){let e="[";if(st.printRowMajor){e+="row-major:";for(let t=0;t<this.RANK;++t)for(let n=0;n<this.RANK;++n)e+=` ${this[n*this.RANK+t]}`}else{e+="column-major:";for(let t=0;t<this.ELEMENTS;++t)e+=` ${this[t]}`}return e+="]",e}getElementIndex(e,t){return t*this.RANK+e}getElement(e,t){return this[t*this.RANK+e]}setElement(e,t,n){return this[t*this.RANK+e]=Ve(n),this}getColumn(e,t=new Array(this.RANK).fill(-0)){let n=e*this.RANK;for(let s=0;s<this.RANK;++s)t[s]=this[n+s];return t}setColumn(e,t){let n=e*this.RANK;for(let s=0;s<this.RANK;++s)this[n+s]=t[s];return this}}});function cb(r,e){if(!r)throw new Error(`math.gl assertion ${e}`)}var NA=p(()=>{});var Uf,kA=p(()=>{Cf();so();NA();Uf=class extends Zs{get x(){return this[0]}set x(e){this[0]=Ve(e)}get y(){return this[1]}set y(e){this[1]=Ve(e)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let e=0;for(let t=0;t<this.ELEMENTS;++t)e+=this[t]*this[t];return e}magnitudeSquared(){return this.lengthSquared()}distance(e){return Math.sqrt(this.distanceSquared(e))}distanceSquared(e){let t=0;for(let n=0;n<this.ELEMENTS;++n){let s=this[n]-e[n];t+=s*s}return Ve(t)}dot(e){let t=0;for(let n=0;n<this.ELEMENTS;++n)t+=this[n]*e[n];return Ve(t)}normalize(){let e=this.magnitude();if(e!==0)for(let t=0;t<this.ELEMENTS;++t)this[t]/=e;return this.check()}multiply(...e){for(let t of e)for(let n=0;n<this.ELEMENTS;++n)this[n]*=t[n];return this.check()}divide(...e){for(let t of e)for(let n=0;n<this.ELEMENTS;++n)this[n]/=t[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(e){return this.distance(e)}distanceToSquared(e){return this.distanceSquared(e)}getComponent(e){return cb(e>=0&&e<this.ELEMENTS,"index is out of range"),Ve(this[e])}setComponent(e,t){return cb(e>=0&&e<this.ELEMENTS,"index is out of range"),this[e]=t,this.check()}addVectors(e,t){return this.copy(e).add(t)}subVectors(e,t){return this.copy(e).subtract(t)}multiplyVectors(e,t){return this.copy(e).multiply(t)}addScaledVector(e,t){for(let n=0;n<this.ELEMENTS;++n)this[n]+=e[n]*t;return this.check()}}});var Pf,qH,CA=p(()=>{Pf=typeof Float32Array<"u"?Float32Array:Array,qH=Math.PI/180});function UA(r,e,t){let n=e[0],s=e[1];return r[0]=t[0]*n+t[3]*s+t[6],r[1]=t[1]*n+t[4]*s+t[7],r}function PA(r,e,t){let n=e[0],s=e[1];return r[0]=t[0]*n+t[4]*s+t[12],r[1]=t[1]*n+t[5]*s+t[13],r}var Vf=p(()=>{});function VA(r,e,t){let n=e[0],s=e[1],i=t[3]*n+t[7]*s||1;return r[0]=(t[0]*n+t[4]*s)/i,r[1]=(t[1]*n+t[5]*s)/i,r}function jf(r,e,t){let n=e[0],s=e[1],i=e[2],o=t[3]*n+t[7]*s+t[11]*i||1;return r[0]=(t[0]*n+t[4]*s+t[8]*i)/o,r[1]=(t[1]*n+t[5]*s+t[9]*i)/o,r[2]=(t[2]*n+t[6]*s+t[10]*i)/o,r}function jA(r,e,t){let n=e[0],s=e[1];return r[0]=t[0]*n+t[2]*s,r[1]=t[1]*n+t[3]*s,r[2]=e[2],r}function GA(r,e,t){let n=e[0],s=e[1],i=e[2];return r[0]=t[0]*n+t[3]*s+t[6]*i,r[1]=t[1]*n+t[4]*s+t[7]*i,r[2]=t[2]*n+t[5]*s+t[8]*i,r[3]=e[3],r}var Gf=p(()=>{});function zA(){let r=new Pf(3);return Pf!==Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r}function tR(r){let e=r[0],t=r[1],n=r[2];return Math.sqrt(e*e+t*t+n*n)}function ub(r,e,t){let n=new Pf(3);return n[0]=r,n[1]=e,n[2]=t,n}function WA(r,e){let t=e[0],n=e[1],s=e[2],i=t*t+n*n+s*s;return i>0&&(i=1/Math.sqrt(i)),r[0]=e[0]*i,r[1]=e[1]*i,r[2]=e[2]*i,r}function lb(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]}function ma(r,e,t){let n=e[0],s=e[1],i=e[2],o=t[0],a=t[1],c=t[2];return r[0]=s*c-i*a,r[1]=i*o-n*c,r[2]=n*a-s*o,r}function zf(r,e,t){let n=e[0],s=e[1],i=e[2],o=t[3]*n+t[7]*s+t[11]*i+t[15];return o=o||1,r[0]=(t[0]*n+t[4]*s+t[8]*i+t[12])/o,r[1]=(t[1]*n+t[5]*s+t[9]*i+t[13])/o,r[2]=(t[2]*n+t[6]*s+t[10]*i+t[14])/o,r}function Wf(r,e,t){let n=e[0],s=e[1],i=e[2];return r[0]=n*t[0]+s*t[3]+i*t[6],r[1]=n*t[1]+s*t[4]+i*t[7],r[2]=n*t[2]+s*t[5]+i*t[8],r}function $A(r,e,t){let n=t[0],s=t[1],i=t[2],o=t[3],a=e[0],c=e[1],u=e[2],l=s*u-i*c,f=i*a-n*u,d=n*c-s*a,h=s*d-i*f,m=i*l-n*d,b=n*f-s*l,g=o*2;return l*=g,f*=g,d*=g,h*=2,m*=2,b*=2,r[0]=a+l+h,r[1]=c+f+m,r[2]=u+d+b,r}function qA(r,e,t,n){let s=[],i=[];return s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],i[0]=s[0],i[1]=s[1]*Math.cos(n)-s[2]*Math.sin(n),i[2]=s[1]*Math.sin(n)+s[2]*Math.cos(n),r[0]=i[0]+t[0],r[1]=i[1]+t[1],r[2]=i[2]+t[2],r}function KA(r,e,t,n){let s=[],i=[];return s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],i[0]=s[2]*Math.sin(n)+s[0]*Math.cos(n),i[1]=s[1],i[2]=s[2]*Math.cos(n)-s[0]*Math.sin(n),r[0]=i[0]+t[0],r[1]=i[1]+t[1],r[2]=i[2]+t[2],r}function HA(r,e,t,n){let s=[],i=[];return s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],i[0]=s[0]*Math.cos(n)-s[1]*Math.sin(n),i[1]=s[0]*Math.sin(n)+s[1]*Math.cos(n),i[2]=s[2],r[0]=i[0]+t[0],r[1]=i[1]+t[1],r[2]=i[2]+t[2],r}function XA(r,e){let t=r[0],n=r[1],s=r[2],i=e[0],o=e[1],a=e[2],c=Math.sqrt((t*t+n*n+s*s)*(i*i+o*o+a*a)),u=c&&lb(r,e)/c;return Math.acos(Math.min(Math.max(u,-1),1))}var JA,ba=p(()=>{CA();JA=tR});var fb,$f,Xc,YA=p(()=>{kA();Kc();so();ba();Gf();fb=[0,0,0],Xc=class r extends Uf{static get ZERO(){return $f||($f=new r(0,0,0),Object.freeze($f)),$f}constructor(e=0,t=0,n=0){super(-0,-0,-0),arguments.length===1&&da(e)?this.copy(e):(st.debug&&(Ve(e),Ve(t),Ve(n)),this[0]=e,this[1]=t,this[2]=n)}set(e,t,n){return this[0]=e,this[1]=t,this[2]=n,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}fromObject(e){return st.debug&&(Ve(e.x),Ve(e.y),Ve(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}toObject(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}get ELEMENTS(){return 3}get z(){return this[2]}set z(e){this[2]=Ve(e)}angle(e){return XA(this,e)}cross(e){return ma(this,this,e),this.check()}rotateX({radians:e,origin:t=fb}){return qA(this,this,t,e),this.check()}rotateY({radians:e,origin:t=fb}){return KA(this,this,t,e),this.check()}rotateZ({radians:e,origin:t=fb}){return HA(this,this,t,e),this.check()}transform(e){return this.transformAsPoint(e)}transformAsPoint(e){return zf(this,this,e),this.check()}transformAsVector(e){return jf(this,this,e),this.check()}transformByMatrix3(e){return Wf(this,this,e),this.check()}transformByMatrix2(e){return jA(this,this,e),this.check()}transformByQuaternion(e){return $A(this,this,e),this.check()}}});function QA(r,e){if(r===e){let t=e[1],n=e[2],s=e[5];r[1]=e[3],r[2]=e[6],r[3]=t,r[5]=e[7],r[6]=n,r[7]=s}else r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8];return r}function ZA(r,e){let t=e[0],n=e[1],s=e[2],i=e[3],o=e[4],a=e[5],c=e[6],u=e[7],l=e[8],f=l*o-a*u,d=-l*i+a*c,h=u*i-o*c,m=t*f+n*d+s*h;return m?(m=1/m,r[0]=f*m,r[1]=(-l*n+s*u)*m,r[2]=(a*n-s*o)*m,r[3]=d*m,r[4]=(l*t-s*c)*m,r[5]=(-a*t+s*i)*m,r[6]=h*m,r[7]=(-u*t+n*c)*m,r[8]=(o*t-n*i)*m,r):null}function e1(r){let e=r[0],t=r[1],n=r[2],s=r[3],i=r[4],o=r[5],a=r[6],c=r[7],u=r[8];return e*(u*i-o*c)+t*(-u*s+o*a)+n*(c*s-i*a)}function db(r,e,t){let n=e[0],s=e[1],i=e[2],o=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],d=t[0],h=t[1],m=t[2],b=t[3],g=t[4],y=t[5],x=t[6],T=t[7],_=t[8];return r[0]=d*n+h*o+m*u,r[1]=d*s+h*a+m*l,r[2]=d*i+h*c+m*f,r[3]=b*n+g*o+y*u,r[4]=b*s+g*a+y*l,r[5]=b*i+g*c+y*f,r[6]=x*n+T*o+_*u,r[7]=x*s+T*a+_*l,r[8]=x*i+T*c+_*f,r}function t1(r,e,t){let n=e[0],s=e[1],i=e[2],o=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],d=t[0],h=t[1];return r[0]=n,r[1]=s,r[2]=i,r[3]=o,r[4]=a,r[5]=c,r[6]=d*n+h*o+u,r[7]=d*s+h*a+l,r[8]=d*i+h*c+f,r}function r1(r,e,t){let n=e[0],s=e[1],i=e[2],o=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],d=Math.sin(t),h=Math.cos(t);return r[0]=h*n+d*o,r[1]=h*s+d*a,r[2]=h*i+d*c,r[3]=h*o-d*n,r[4]=h*a-d*s,r[5]=h*c-d*i,r[6]=u,r[7]=l,r[8]=f,r}function hb(r,e,t){let n=t[0],s=t[1];return r[0]=n*e[0],r[1]=n*e[1],r[2]=n*e[2],r[3]=s*e[3],r[4]=s*e[4],r[5]=s*e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r}function n1(r,e){let t=e[0],n=e[1],s=e[2],i=e[3],o=t+t,a=n+n,c=s+s,u=t*o,l=n*o,f=n*a,d=s*o,h=s*a,m=s*c,b=i*o,g=i*a,y=i*c;return r[0]=1-f-m,r[3]=l-y,r[6]=d+g,r[1]=l+y,r[4]=1-u-m,r[7]=h-b,r[2]=d-g,r[5]=h+b,r[8]=1-u-f,r}var pb=p(()=>{});function sR(){return qf||(qf=new $n([0,0,0,0,0,0,0,0,0]),Object.freeze(qf)),qf}function iR(){return Kf||(Kf=new $n,Object.freeze(Kf)),Kf}var mb,nR,$n,qf,Kf,s1=p(()=>{ab();so();Gf();pb();Vf();ba();(function(r){r[r.COL0ROW0=0]="COL0ROW0",r[r.COL0ROW1=1]="COL0ROW1",r[r.COL0ROW2=2]="COL0ROW2",r[r.COL1ROW0=3]="COL1ROW0",r[r.COL1ROW1=4]="COL1ROW1",r[r.COL1ROW2=5]="COL1ROW2",r[r.COL2ROW0=6]="COL2ROW0",r[r.COL2ROW1=7]="COL2ROW1",r[r.COL2ROW2=8]="COL2ROW2"})(mb||(mb={}));nR=Object.freeze([1,0,0,0,1,0,0,0,1]),$n=class extends pa{static get IDENTITY(){return iR()}static get ZERO(){return sR()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return mb}constructor(e){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this.check()}identity(){return this.copy(nR)}fromObject(e){return this.check()}fromQuaternion(e){return n1(this,e),this.check()}fromMatrix4(e){return this.set(e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10])}set(e,t,n,s,i,o,a,c,u){return this[0]=e,this[1]=t,this[2]=n,this[3]=s,this[4]=i,this[5]=o,this[6]=a,this[7]=c,this[8]=u,this.check()}setRowMajor(e,t,n,s,i,o,a,c,u){return this[0]=e,this[1]=s,this[2]=a,this[3]=t,this[4]=i,this[5]=c,this[6]=n,this[7]=o,this[8]=u,this.check()}determinant(){return e1(this)}transpose(){return QA(this,this),this.check()}invert(){return ZA(this,this),this.check()}multiplyLeft(e){return db(this,e,this),this.check()}multiplyRight(e){return db(this,this,e),this.check()}rotate(e){return r1(this,this,e),this.check()}scale(e){return Array.isArray(e)?hb(this,this,e):hb(this,this,[e,e]),this.check()}translate(e){return t1(this,this,e),this.check()}transform(e,t){let n;switch(e.length){case 2:n=UA(t||[-0,-0],e,this);break;case 3:n=Wf(t||[-0,-0,-0],e,this);break;case 4:n=GA(t||[-0,-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return ha(n,e.length),n}},Kf=null});function oR(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function i1(r,e){if(r===e){let t=e[1],n=e[2],s=e[3],i=e[6],o=e[7],a=e[11];r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[6]=e[9],r[7]=e[13],r[8]=n,r[9]=i,r[11]=e[14],r[12]=s,r[13]=o,r[14]=a}else r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15];return r}function o1(r,e){let t=e[0],n=e[1],s=e[2],i=e[3],o=e[4],a=e[5],c=e[6],u=e[7],l=e[8],f=e[9],d=e[10],h=e[11],m=e[12],b=e[13],g=e[14],y=e[15],x=t*a-n*o,T=t*c-s*o,_=t*u-i*o,v=n*c-s*a,I=n*u-i*a,k=s*u-i*c,K=l*b-f*m,ie=l*g-d*m,be=l*y-h*m,Ne=f*g-d*b,ke=f*y-h*b,de=d*y-h*g,ce=x*de-T*ke+_*Ne+v*be-I*ie+k*K;return ce?(ce=1/ce,r[0]=(a*de-c*ke+u*Ne)*ce,r[1]=(s*ke-n*de-i*Ne)*ce,r[2]=(b*k-g*I+y*v)*ce,r[3]=(d*I-f*k-h*v)*ce,r[4]=(c*be-o*de-u*ie)*ce,r[5]=(t*de-s*be+i*ie)*ce,r[6]=(g*_-m*k-y*T)*ce,r[7]=(l*k-d*_+h*T)*ce,r[8]=(o*ke-a*be+u*K)*ce,r[9]=(n*be-t*ke-i*K)*ce,r[10]=(m*I-b*_+y*x)*ce,r[11]=(f*_-l*I-h*x)*ce,r[12]=(a*ie-o*Ne-c*K)*ce,r[13]=(t*Ne-n*ie+s*K)*ce,r[14]=(b*T-m*v-g*x)*ce,r[15]=(l*v-f*T+d*x)*ce,r):null}function a1(r){let e=r[0],t=r[1],n=r[2],s=r[3],i=r[4],o=r[5],a=r[6],c=r[7],u=r[8],l=r[9],f=r[10],d=r[11],h=r[12],m=r[13],b=r[14],g=r[15],y=e*o-t*i,x=e*a-n*i,T=t*a-n*o,_=u*m-l*h,v=u*b-f*h,I=l*b-f*m,k=e*I-t*v+n*_,K=i*I-o*v+a*_,ie=u*T-l*x+f*y,be=h*T-m*x+b*y;return c*k-s*K+g*ie-d*be}function bb(r,e,t){let n=e[0],s=e[1],i=e[2],o=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],d=e[9],h=e[10],m=e[11],b=e[12],g=e[13],y=e[14],x=e[15],T=t[0],_=t[1],v=t[2],I=t[3];return r[0]=T*n+_*a+v*f+I*b,r[1]=T*s+_*c+v*d+I*g,r[2]=T*i+_*u+v*h+I*y,r[3]=T*o+_*l+v*m+I*x,T=t[4],_=t[5],v=t[6],I=t[7],r[4]=T*n+_*a+v*f+I*b,r[5]=T*s+_*c+v*d+I*g,r[6]=T*i+_*u+v*h+I*y,r[7]=T*o+_*l+v*m+I*x,T=t[8],_=t[9],v=t[10],I=t[11],r[8]=T*n+_*a+v*f+I*b,r[9]=T*s+_*c+v*d+I*g,r[10]=T*i+_*u+v*h+I*y,r[11]=T*o+_*l+v*m+I*x,T=t[12],_=t[13],v=t[14],I=t[15],r[12]=T*n+_*a+v*f+I*b,r[13]=T*s+_*c+v*d+I*g,r[14]=T*i+_*u+v*h+I*y,r[15]=T*o+_*l+v*m+I*x,r}function c1(r,e,t){let n=t[0],s=t[1],i=t[2],o,a,c,u,l,f,d,h,m,b,g,y;return e===r?(r[12]=e[0]*n+e[4]*s+e[8]*i+e[12],r[13]=e[1]*n+e[5]*s+e[9]*i+e[13],r[14]=e[2]*n+e[6]*s+e[10]*i+e[14],r[15]=e[3]*n+e[7]*s+e[11]*i+e[15]):(o=e[0],a=e[1],c=e[2],u=e[3],l=e[4],f=e[5],d=e[6],h=e[7],m=e[8],b=e[9],g=e[10],y=e[11],r[0]=o,r[1]=a,r[2]=c,r[3]=u,r[4]=l,r[5]=f,r[6]=d,r[7]=h,r[8]=m,r[9]=b,r[10]=g,r[11]=y,r[12]=o*n+l*s+m*i+e[12],r[13]=a*n+f*s+b*i+e[13],r[14]=c*n+d*s+g*i+e[14],r[15]=u*n+h*s+y*i+e[15]),r}function u1(r,e,t){let n=t[0],s=t[1],i=t[2];return r[0]=e[0]*n,r[1]=e[1]*n,r[2]=e[2]*n,r[3]=e[3]*n,r[4]=e[4]*s,r[5]=e[5]*s,r[6]=e[6]*s,r[7]=e[7]*s,r[8]=e[8]*i,r[9]=e[9]*i,r[10]=e[10]*i,r[11]=e[11]*i,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function l1(r,e,t,n){let s=n[0],i=n[1],o=n[2],a=Math.sqrt(s*s+i*i+o*o),c,u,l,f,d,h,m,b,g,y,x,T,_,v,I,k,K,ie,be,Ne,ke,de,ce,xe;return a<1e-6?null:(a=1/a,s*=a,i*=a,o*=a,u=Math.sin(t),c=Math.cos(t),l=1-c,f=e[0],d=e[1],h=e[2],m=e[3],b=e[4],g=e[5],y=e[6],x=e[7],T=e[8],_=e[9],v=e[10],I=e[11],k=s*s*l+c,K=i*s*l+o*u,ie=o*s*l-i*u,be=s*i*l-o*u,Ne=i*i*l+c,ke=o*i*l+s*u,de=s*o*l+i*u,ce=i*o*l-s*u,xe=o*o*l+c,r[0]=f*k+b*K+T*ie,r[1]=d*k+g*K+_*ie,r[2]=h*k+y*K+v*ie,r[3]=m*k+x*K+I*ie,r[4]=f*be+b*Ne+T*ke,r[5]=d*be+g*Ne+_*ke,r[6]=h*be+y*Ne+v*ke,r[7]=m*be+x*Ne+I*ke,r[8]=f*de+b*ce+T*xe,r[9]=d*de+g*ce+_*xe,r[10]=h*de+y*ce+v*xe,r[11]=m*de+x*ce+I*xe,e!==r&&(r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r)}function f1(r,e,t){let n=Math.sin(t),s=Math.cos(t),i=e[4],o=e[5],a=e[6],c=e[7],u=e[8],l=e[9],f=e[10],d=e[11];return e!==r&&(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[4]=i*s+u*n,r[5]=o*s+l*n,r[6]=a*s+f*n,r[7]=c*s+d*n,r[8]=u*s-i*n,r[9]=l*s-o*n,r[10]=f*s-a*n,r[11]=d*s-c*n,r}function d1(r,e,t){let n=Math.sin(t),s=Math.cos(t),i=e[0],o=e[1],a=e[2],c=e[3],u=e[8],l=e[9],f=e[10],d=e[11];return e!==r&&(r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[0]=i*s-u*n,r[1]=o*s-l*n,r[2]=a*s-f*n,r[3]=c*s-d*n,r[8]=i*n+u*s,r[9]=o*n+l*s,r[10]=a*n+f*s,r[11]=c*n+d*s,r}function h1(r,e,t){let n=Math.sin(t),s=Math.cos(t),i=e[0],o=e[1],a=e[2],c=e[3],u=e[4],l=e[5],f=e[6],d=e[7];return e!==r&&(r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[0]=i*s+u*n,r[1]=o*s+l*n,r[2]=a*s+f*n,r[3]=c*s+d*n,r[4]=u*s-i*n,r[5]=l*s-o*n,r[6]=f*s-a*n,r[7]=d*s-c*n,r}function p1(r,e){let t=e[0],n=e[1],s=e[2],i=e[3],o=t+t,a=n+n,c=s+s,u=t*o,l=n*o,f=n*a,d=s*o,h=s*a,m=s*c,b=i*o,g=i*a,y=i*c;return r[0]=1-f-m,r[1]=l+y,r[2]=d-g,r[3]=0,r[4]=l-y,r[5]=1-u-m,r[6]=h+b,r[7]=0,r[8]=d+g,r[9]=h-b,r[10]=1-u-f,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function m1(r,e,t,n,s,i,o){let a=1/(t-e),c=1/(s-n),u=1/(i-o);return r[0]=i*2*a,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=i*2*c,r[6]=0,r[7]=0,r[8]=(t+e)*a,r[9]=(s+n)*c,r[10]=(o+i)*u,r[11]=-1,r[12]=0,r[13]=0,r[14]=o*i*2*u,r[15]=0,r}function aR(r,e,t,n,s){let i=1/Math.tan(e/2);if(r[0]=i/t,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=i,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,s!=null&&s!==1/0){let o=1/(n-s);r[10]=(s+n)*o,r[14]=2*s*n*o}else r[10]=-1,r[14]=-2*n;return r}function cR(r,e,t,n,s,i,o){let a=1/(e-t),c=1/(n-s),u=1/(i-o);return r[0]=-2*a,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*c,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=2*u,r[11]=0,r[12]=(e+t)*a,r[13]=(s+n)*c,r[14]=(o+i)*u,r[15]=1,r}function y1(r,e,t,n){let s,i,o,a,c,u,l,f,d,h,m=e[0],b=e[1],g=e[2],y=n[0],x=n[1],T=n[2],_=t[0],v=t[1],I=t[2];return Math.abs(m-_)<1e-6&&Math.abs(b-v)<1e-6&&Math.abs(g-I)<1e-6?oR(r):(f=m-_,d=b-v,h=g-I,s=1/Math.sqrt(f*f+d*d+h*h),f*=s,d*=s,h*=s,i=x*h-T*d,o=T*f-y*h,a=y*d-x*f,s=Math.sqrt(i*i+o*o+a*a),s?(s=1/s,i*=s,o*=s,a*=s):(i=0,o=0,a=0),c=d*a-h*o,u=h*i-f*a,l=f*o-d*i,s=Math.sqrt(c*c+u*u+l*l),s?(s=1/s,c*=s,u*=s,l*=s):(c=0,u=0,l=0),r[0]=i,r[1]=c,r[2]=f,r[3]=0,r[4]=o,r[5]=u,r[6]=d,r[7]=0,r[8]=a,r[9]=l,r[10]=h,r[11]=0,r[12]=-(i*m+o*b+a*g),r[13]=-(c*m+u*b+l*g),r[14]=-(f*m+d*b+h*g),r[15]=1,r)}function gb(r){if(r.length!==16||Array.from(r).some(s=>!Number.isFinite(s))||r[3]!==0||r[7]!==0||r[11]!==0||r[15]!==1)throw new RangeError("Expected a finite affine matrix");let e=[Math.hypot(r[0],r[1],r[2]),Math.hypot(r[4],r[5],r[6]),Math.hypot(r[8],r[9],r[10])];if(e.some(s=>s===0||!Number.isFinite(s)))throw new RangeError("Singular transform");let t=Array.from({length:9},(s,i)=>r[Math.floor(i/3)*4+i%3]/e[Math.floor(i/3)]);for(let[s,i]of[[0,3],[0,6],[3,6]])if(Math.abs(t[s]*t[i]+t[s+1]*t[i+1]+t[s+2]*t[i+2])>1e-7)throw new RangeError("Sheared transforms do not have a TRS decomposition");if(t[0]*(t[4]*t[8]-t[5]*t[7])-t[3]*(t[1]*t[8]-t[2]*t[7])+t[6]*(t[1]*t[5]-t[2]*t[4])<0){e[0]=-e[0];for(let s=0;s<3;s++)t[s]=-t[s]}return{rotation:t,scale:e,translation:[r[12],r[13],r[14]]}}var b1,g1,Hf=p(()=>{b1=aR;g1=cR});function w1(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r}function x1(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r}function T1(r){let e=r[0],t=r[1],n=r[2],s=r[3];return Math.sqrt(e*e+t*t+n*n+s*s)}function _1(r){let e=r[0],t=r[1],n=r[2],s=r[3];return e*e+t*t+n*n+s*s}function A1(r,e){let t=e[0],n=e[1],s=e[2],i=e[3],o=t*t+n*n+s*s+i*i;return o>0&&(o=1/Math.sqrt(o)),r[0]=t*o,r[1]=n*o,r[2]=s*o,r[3]=i*o,r}function v1(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]+r[3]*e[3]}function I1(r,e,t,n){let s=e[0],i=e[1],o=e[2],a=e[3];return r[0]=s+n*(t[0]-s),r[1]=i+n*(t[1]-i),r[2]=o+n*(t[2]-o),r[3]=a+n*(t[3]-a),r}function S1(r,e,t){let n=e[0],s=e[1],i=e[2],o=e[3];return r[0]=t[0]*n+t[4]*s+t[8]*i+t[12]*o,r[1]=t[1]*n+t[5]*s+t[9]*i+t[13]*o,r[2]=t[2]*n+t[6]*s+t[10]*i+t[14]*o,r[3]=t[3]*n+t[7]*s+t[11]*i+t[15]*o,r}var Xf=p(()=>{});function hR(){return Jf||(Jf=new ei([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Jf)),Jf}function pR(){return Yf||(Yf=new ei,Object.freeze(Yf)),Yf}function E1(r){if(r>Math.PI*2)throw Error("expected radians")}function mR(r,e,t,n,s,i){let o=2*i/(t-e),a=2*i/(s-n),c=(t+e)/(t-e),u=(s+n)/(s-n),l=-1,f=-1,d=-2*i;return r[0]=o,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=c,r[9]=u,r[10]=l,r[11]=f,r[12]=0,r[13]=0,r[14]=d,r[15]=0,r}var xb,lR,fR,yb,wb,dR,ei,Jf,Yf,L1=p(()=>{ab();Hf();so();Gf();Hf();Vf();ba();Xf();(function(r){r[r.COL0ROW0=0]="COL0ROW0",r[r.COL0ROW1=1]="COL0ROW1",r[r.COL0ROW2=2]="COL0ROW2",r[r.COL0ROW3=3]="COL0ROW3",r[r.COL1ROW0=4]="COL1ROW0",r[r.COL1ROW1=5]="COL1ROW1",r[r.COL1ROW2=6]="COL1ROW2",r[r.COL1ROW3=7]="COL1ROW3",r[r.COL2ROW0=8]="COL2ROW0",r[r.COL2ROW1=9]="COL2ROW1",r[r.COL2ROW2=10]="COL2ROW2",r[r.COL2ROW3=11]="COL2ROW3",r[r.COL3ROW0=12]="COL3ROW0",r[r.COL3ROW1=13]="COL3ROW1",r[r.COL3ROW2=14]="COL3ROW2",r[r.COL3ROW3=15]="COL3ROW3"})(xb||(xb={}));lR=45*Math.PI/180,fR=1,yb=.1,wb=500,dR=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),ei=class extends pa{static get IDENTITY(){return pR()}static get ZERO(){return hR()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return xb}constructor(e){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this[9]=e[9],this[10]=e[10],this[11]=e[11],this[12]=e[12],this[13]=e[13],this[14]=e[14],this[15]=e[15],this.check()}set(e,t,n,s,i,o,a,c,u,l,f,d,h,m,b,g){return this[0]=e,this[1]=t,this[2]=n,this[3]=s,this[4]=i,this[5]=o,this[6]=a,this[7]=c,this[8]=u,this[9]=l,this[10]=f,this[11]=d,this[12]=h,this[13]=m,this[14]=b,this[15]=g,this.check()}setRowMajor(e,t,n,s,i,o,a,c,u,l,f,d,h,m,b,g){return this[0]=e,this[1]=i,this[2]=u,this[3]=h,this[4]=t,this[5]=o,this[6]=l,this[7]=m,this[8]=n,this[9]=a,this[10]=f,this[11]=b,this[12]=s,this[13]=c,this[14]=d,this[15]=g,this.check()}toRowMajor(e){return e[0]=this[0],e[1]=this[4],e[2]=this[8],e[3]=this[12],e[4]=this[1],e[5]=this[5],e[6]=this[9],e[7]=this[13],e[8]=this[2],e[9]=this[6],e[10]=this[10],e[11]=this[14],e[12]=this[3],e[13]=this[7],e[14]=this[11],e[15]=this[15],e}identity(){return this.copy(dR)}fromObject(e){return this.check()}fromQuaternion(e){return p1(this,e),this.check()}fromMatrix3(e){return this.set(e[0],e[1],e[2],0,e[3],e[4],e[5],0,e[6],e[7],e[8],0,0,0,0,1)}frustum(e){let{left:t,right:n,bottom:s,top:i,near:o=yb,far:a=wb}=e;return a===1/0?mR(this,t,n,s,i,o):m1(this,t,n,s,i,o,a),this.check()}lookAt(e){let{eye:t,center:n=[0,0,0],up:s=[0,1,0]}=e;return y1(this,t,n,s),this.check()}ortho(e){let{left:t,right:n,bottom:s,top:i,near:o=yb,far:a=wb}=e;return g1(this,t,n,s,i,o,a),this.check()}orthographic(e){let{fovy:t=lR,aspect:n=fR,focalDistance:s=1,near:i=yb,far:o=wb}=e;E1(t);let a=t/2,c=s*Math.tan(a),u=c*n;return this.ortho({left:-u,right:u,bottom:-c,top:c,near:i,far:o})}perspective(e){let{fovy:t=45*Math.PI/180,aspect:n=1,near:s=.1,far:i=500}=e;return E1(t),b1(this,t,n,s,i),this.check()}determinant(){return a1(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e,t){let{rotation:n,scale:s}=gb(this);if(e=e||new Array(16),t)for(let i=0;i<3;i++)t[i]=s[i];for(let i=0;i<16;i++)e[i]=0;for(let i=0;i<9;i++)e[Math.floor(i/3)*4+i%3]=n[i];return e[15]=1,e}getRotationMatrix3(e,t){let{rotation:n,scale:s}=gb(this);if(e=e||new Array(9),t)for(let i=0;i<3;i++)t[i]=s[i];for(let i=0;i<9;i++)e[i]=n[i];return e}transpose(){return i1(this,this),this.check()}invert(){return o1(this,this),this.check()}multiplyLeft(e){return bb(this,e,this),this.check()}multiplyRight(e){return bb(this,this,e),this.check()}rotateX(e){return f1(this,this,e),this.check()}rotateY(e){return d1(this,this,e),this.check()}rotateZ(e){return h1(this,this,e),this.check()}rotateXYZ(e){return this.rotateX(e[0]).rotateY(e[1]).rotateZ(e[2])}rotateAxis(e,t){return l1(this,this,e,t),this.check()}scale(e){return u1(this,this,Array.isArray(e)?e:[e,e,e]),this.check()}translate(e){return c1(this,this,e),this.check()}transform(e,t){return e.length===4?(t=S1(t||[-0,-0,-0,-0],e,this),ha(t,4),t):this.transformAsPoint(e,t)}transformAsPoint(e,t){let{length:n}=e,s;switch(n){case 2:s=PA(t||[-0,-0],e,this);break;case 3:s=zf(t||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return ha(s,e.length),s}transformAsVector(e,t){let n;switch(e.length){case 2:n=VA(t||[-0,-0],e,this);break;case 3:n=jf(t||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return ha(n,e.length),n}makeRotationX(e){return this.identity().rotateX(e)}makeTranslation(e,t,n){return this.identity().translate([e,t,n])}}});function B1(r){return r[0]=0,r[1]=0,r[2]=0,r[3]=1,r}function Tb(r,e,t){t=t*.5;let n=Math.sin(t);return r[0]=n*e[0],r[1]=n*e[1],r[2]=n*e[2],r[3]=Math.cos(t),r}function _b(r,e,t){let n=e[0],s=e[1],i=e[2],o=e[3],a=t[0],c=t[1],u=t[2],l=t[3];return r[0]=n*l+o*a+s*u-i*c,r[1]=s*l+o*c+i*a-n*u,r[2]=i*l+o*u+n*c-s*a,r[3]=o*l-n*a-s*c-i*u,r}function F1(r,e,t){t*=.5;let n=e[0],s=e[1],i=e[2],o=e[3],a=Math.sin(t),c=Math.cos(t);return r[0]=n*c+o*a,r[1]=s*c+i*a,r[2]=i*c-s*a,r[3]=o*c-n*a,r}function O1(r,e,t){t*=.5;let n=e[0],s=e[1],i=e[2],o=e[3],a=Math.sin(t),c=Math.cos(t);return r[0]=n*c-i*a,r[1]=s*c+o*a,r[2]=i*c+n*a,r[3]=o*c-s*a,r}function M1(r,e,t){t*=.5;let n=e[0],s=e[1],i=e[2],o=e[3],a=Math.sin(t),c=Math.cos(t);return r[0]=n*c+s*a,r[1]=s*c-n*a,r[2]=i*c+o*a,r[3]=o*c-i*a,r}function R1(r,e){let t=e[0],n=e[1],s=e[2];return r[0]=t,r[1]=n,r[2]=s,r[3]=Math.sqrt(Math.abs(1-t*t-n*n-s*s)),r}function Ab(r,e,t,n){let s=e[0],i=e[1],o=e[2],a=e[3],c=t[0],u=t[1],l=t[2],f=t[3],d,h,m,b,g;return d=s*c+i*u+o*l+a*f,d<0&&(d=-d,c=-c,u=-u,l=-l,f=-f),1-d>1e-6?(h=Math.acos(d),g=Math.sin(h),m=Math.sin((1-n)*h)/g,b=Math.sin(n*h)/g):(m=1-n,b=n),r[0]=m*s+b*c,r[1]=m*i+b*u,r[2]=m*o+b*l,r[3]=m*a+b*f,r}function D1(r,e){let t=e[0],n=e[1],s=e[2],i=e[3],o=t*t+n*n+s*s+i*i,a=o?1/o:0;return r[0]=-t*a,r[1]=-n*a,r[2]=-s*a,r[3]=i*a,r}function N1(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=e[3],r}function k1(r,e){let t=e[0]+e[4]+e[8],n;if(t>0)n=Math.sqrt(t+1),r[3]=.5*n,n=.5/n,r[0]=(e[5]-e[7])*n,r[1]=(e[6]-e[2])*n,r[2]=(e[1]-e[3])*n;else{let s=0;e[4]>e[0]&&(s=1),e[8]>e[s*3+s]&&(s=2);let i=(s+1)%3,o=(s+2)%3;n=Math.sqrt(e[s*3+s]-e[i*3+i]-e[o*3+o]+1),r[s]=.5*n,n=.5/n,r[3]=(e[i*3+o]-e[o*3+i])*n,r[i]=(e[i*3+s]+e[s*3+i])*n,r[o]=(e[o*3+s]+e[s*3+o])*n}return r}function W1(r,e,t,n){if(e.length!==4||t.length!==4||[...Array.from(e),...Array.from(t),n].some(d=>!Number.isFinite(d)))throw new RangeError("Expected finite quaternions and step");if(e.length!==4||n<0)throw new RangeError("Expected quaternions and a nonnegative step");let s=Math.max(...Array.from(e,Math.abs)),i=Math.max(...Array.from(t,Math.abs));if(!s||!i)throw new RangeError("Zero quaternion");let o=Array.from(e,d=>d/s),a=Array.from(t,d=>d/i),c=Math.hypot(...o),u=Math.hypot(...a);for(let d=0;d<4;d++)o[d]/=c,a[d]/=u;let l=o.reduce((d,h,m)=>d+h*a[m],0),f=2*Math.acos(Math.min(1,Math.abs(l)));if(r.length<4)throw new RangeError("Result buffer is too short");return Ab(r,o,a,f===0?0:Math.min(1,n/f)),r}var C1,U1,P1,V1,j1,G1,bR,z1,Qf=p(()=>{ba();Xf();C1=w1,U1=x1,P1=v1,V1=I1,j1=T1,G1=_1,bR=A1,z1=(function(){let r=zA(),e=ub(1,0,0),t=ub(0,1,0);return function(n,s,i){let o=lb(s,i);return o<-.999999?(ma(r,e,s),JA(r)<1e-6&&ma(r,t,s),WA(r,r),Tb(n,r,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(ma(r,s,i),n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=1+o,bR(n,n))}})()});var Jc,$1=p(()=>{Qf();Cf();so();Qf();Jc=class extends Zs{constructor(e=0,t=0,n=0,s=1){super(-0,-0,-0,-0),Array.isArray(e)&&arguments.length===1?this.copy(e):this.set(e,t,n,s)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,t,n,s){return this[0]=e,this[1]=t,this[2]=n,this[3]=s,this.check()}fromObject(e){return this[0]=e.x,this[1]=e.y,this[2]=e.z,this[3]=e.w,this.check()}fromMatrix3(e){return k1(this,e),this.check()}fromEuler(e){switch(this.identity(),e.order){case"xyz":return this.rotateX(e.x).rotateY(e.y).rotateZ(e.z);case"yxz":return this.rotateY(e.y).rotateX(e.x).rotateZ(e.z);case"zxy":return this.rotateZ(e.z).rotateX(e.x).rotateY(e.y);case"zyx":return this.rotateZ(e.z).rotateY(e.y).rotateX(e.x);case"yzx":return this.rotateY(e.y).rotateZ(e.z).rotateX(e.x);case"xzy":return this.rotateX(e.x).rotateZ(e.z).rotateY(e.y);default:throw new Error("Unknown Euler angle order")}}fromAxisRotation(e,t){return Tb(this,e,t),this.check()}rotateTowards(e,t){return W1(this,this,e,t)}identity(){return B1(this),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=Ve(e)}get y(){return this[1]}set y(e){this[1]=Ve(e)}get z(){return this[2]}set z(e){this[2]=Ve(e)}get w(){return this[3]}set w(e){this[3]=Ve(e)}len(){return j1(this)}lengthSquared(){return G1(this)}dot(e){return P1(this,e)}rotationTo(e,t){return z1(this,e,t),this.check()}add(e){return C1(this,this,e),this.check()}calculateW(){return R1(this,this),this.check()}conjugate(){return N1(this,this),this.check()}invert(){return D1(this,this),this.check()}lerp(e,t,n){return n===void 0?this.lerp(this,e,t):(V1(this,e,t,n),this.check())}multiplyRight(e){return _b(this,this,e),this.check()}multiplyLeft(e){return _b(this,e,this),this.check()}normalize(){let e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,e===0&&(this[3]=1),this.check()}rotateX(e){return F1(this,this,e),this.check()}rotateY(e){return O1(this,this,e),this.check()}rotateZ(e){return M1(this,this,e),this.check()}scale(e){return U1(this,this,e),this.check()}slerp(e,t,n){let s,i,o;return arguments.length===2?(s=this,i=e,o=t):(s=e,i=t,o=n),Ab(this,s,i,o),this.check()}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e){return this.multiplyLeft(e)}multiply(e){return this.multiplyRight(e)}}});function Zf(){return ga??Uint16Array}var ga,q1=p(()=>{ga=globalThis.Float16Array});var K1=p(()=>{q1()});var H1=p(()=>{K1()});var X1=p(()=>{pb()});var J1=p(()=>{Hf()});var Y1=p(()=>{Qf()});var Q1=p(()=>{Vf()});var Z1=p(()=>{ba()});var ev=p(()=>{Xf()});var ed=p(()=>{YA();s1();L1();$1();RA();H1();X1();J1();Y1();Q1();Z1();ev()});function IR(r,e="float32"){return r instanceof Date?"date-millisecond":typeof r=="number"?e:typeof r=="boolean"?"bool":typeof r=="string"?"utf8":"null"}function Yc(r){let e=vb(r);return e!=="null"?{type:e,nullable:!1}:r.length>0?(e=IR(r[0]),{type:e,nullable:!0}):{type:"null",nullable:!0}}function vb(r){if(typeof Float16Array<"u"&&r instanceof Float16Array)return"float16";switch(r.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case BigInt64Array:return"int64";case BigUint64Array:return"uint64";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}var td=p(()=>{"use strict"});function qn(r){return{fields:r.fields.map(e=>io(e)),metadata:sv(r.metadata)}}function Ib(r,e){return new X(r.fields.map(t=>hn(t,e)),rd(r.metadata))}function sv(r){return Object.fromEntries(r)}function rd(r){return r?new Map(Object.entries(r)):new Map}function io(r){return{name:r.name,type:iv(r.type),nullable:r.nullable,metadata:sv(r.metadata)}}function hn(r,e){return new O(r.name,nd(r.type,e),r.nullable,rd(r.metadata))}function iv(r){if(tv(r,"BinaryView"))return"binary-view";if(tv(r,"Utf8View"))return"utf8-view";if(SR(r,"LargeList"))return{type:"large-list",children:[io(r.valueField)]};switch(r.constructor){case Ce:return"null";case Ct:return"binary";case Pt:return{type:"fixed-size-binary",byteWidth:r.byteWidth};case lt:return"bool";case Oe:let e=r;return`${e.isSigned?"":"u"}int${e.bitWidth}`;case Zt:return"int8";case er:return"int16";case Pe:return"int32";case tr:return"int64";case rr:return"uint8";case nr:return"uint16";case vt:return"uint32";case Pr:return"uint64";case ct:switch(r.precision){case he.HALF:return"float16";case he.SINGLE:return"float32";case he.DOUBLE:return"float64";default:return"float16"}case Vr:return"float16";case It:return"float32";case sr:return"float64";case ut:return"utf8";case Ut:let n=r;return{type:"decimal",bitWidth:n.bitWidth,precision:n.precision,scale:n.scale};case Et:return r.unit===ye.DAY?"date-day":"date-millisecond";case ls:return"date-day";case fs:return"date-millisecond";case tt:switch(r.unit){case L.SECOND:return"time-second";case L.MILLISECOND:return"time-millisecond";case L.MICROSECOND:return"time-microsecond";case L.NANOSECOND:return"time-nanosecond";default:return"time-second"}case hs:return"time-millisecond";case ds:return"time-second";case ps:return"time-microsecond";case ms:return"time-nanosecond";case rt:switch(r.unit){case L.SECOND:return"timestamp-second";case L.MILLISECOND:return"timestamp-millisecond";case L.MICROSECOND:return"timestamp-microsecond";case L.NANOSECOND:return"timestamp-nanosecond";default:return"timestamp-second"}case bs:return"timestamp-second";case sn:return"timestamp-millisecond";case gs:return"timestamp-microsecond";case ys:return"timestamp-nanosecond";case ft:switch(r.unit){case ue.DAY_TIME:return"interval-daytime";case ue.YEAR_MONTH:return"interval-yearmonth";default:return"interval-daytime"}case ws:return"interval-daytime";case xs:return"interval-yearmonth";case dt:let c=r;return{type:"map",keysSorted:c.keysSorted,children:c.children.map(b=>io(b))};case je:let l=r.valueField;return{type:"list",children:[io(l)]};case Fe:let f=r;return{type:"fixed-size-list",listSize:f.listSize,children:[io(f.children[0])]};case fe:return{type:"struct",children:r.children.map(b=>io(b))};case Ts:case Sn:let h=r;return{type:h instanceof Sn?"dense-union":"sparse-union",typeIds:h.typeIds,children:h.children.map(b=>io(b)),typeIdToChildIndex:{...h.typeIdToChildIndex}};case Ge:let m=r;return{type:"dictionary",id:m.id,indices:ER(m.indices),dictionary:iv(m.dictionary),isOrdered:m.isOrdered};default:throw new Error(`arrow type not supported: ${r.constructor.name}`)}}function nd(r,e){if(typeof r=="object")switch(r.type){case"decimal":return new Ut(r.scale,r.precision,r.bitWidth);case"map":{let t=r.children.map(n=>hn(n,e));return new dt(t[0],r.keysSorted)}case"list":{let t=hn(r.children[0],e);return new je(t)}case"large-list":{let t=hn(r.children[0],e),n=Qc("LargeList");if(!n)throw new Error("LargeList requires an Apache Arrow runtime that exports the LargeList constructor");return new n(t)}case"fixed-size-list":{let t=hn(r.children[0],e);return new Fe(r.listSize,t)}case"fixed-size-binary":return new Pt(r.byteWidth);case"struct":{let t=r.children.map(n=>hn(n,e));return new fe(t)}case"sparse-union":case"dense-union":{let t=r.children.map(n=>hn(n,e));return r.type==="dense-union"?new Sn(r.typeIds,t):new Ts(r.typeIds,t)}case"dictionary":return new Ge(nd(r.dictionary,e),BR(r.indices),r.id,r.isOrdered);default:throw new Error("array type not supported")}switch(r){case"null":return new Ce;case"binary":return rv("BinaryView",new Ct,e);case"binary-view":return nv("BinaryView");case"bool":return new lt;case"int8":return new Zt;case"int16":return new er;case"int32":return new Pe;case"int64":return new tr;case"uint8":return new rr;case"uint16":return new nr;case"uint32":return new vt;case"uint64":return new Pr;case"float16":return new Vr;case"float32":return new It;case"float64":return new sr;case"utf8":return rv("Utf8View",new ut,e);case"utf8-view":return nv("Utf8View");case"date-day":return new ls;case"date-millisecond":return new fs;case"time-second":return new ds;case"time-millisecond":return new hs;case"time-microsecond":return new ps;case"time-nanosecond":return new ms;case"timestamp-second":return new bs;case"timestamp-millisecond":return new sn;case"timestamp-microsecond":return new gs;case"timestamp-nanosecond":return new ys;case"interval-daytime":return new ws;case"interval-yearmonth":return new xs;default:throw new Error("array type not supported")}}function Qc(r){return Er[r]}function tv(r,e){let t=Qc(e);if(t&&r instanceof t)return!0;let n=E;return!!(e==="BinaryView"?n.isBinaryView:n.isUtf8View)?.(r)}function SR(r,e){let t=Qc(e);return!!(t&&r instanceof t)}function rv(r,e,t){let n=t?.viewTypes||"never";if(n==="never")return e;let s=Qc(r);if(s)return new s;if(n==="require")throw new Error(`${r} requires apache-arrow 21.2.0 or later; the installed runtime does not support it`);return e}function nv(r){let e=Qc(r);if(!e)throw new Error(`${r} requires apache-arrow 21.2.0 or later; the installed runtime does not support it`);return new e}function ER(r){if(r instanceof Oe){let t=`${r.isSigned?"int":"uint"}${r.bitWidth}`;if(LR(t))return t}switch(r.constructor){case Zt:return"int8";case er:return"int16";case Pe:return"int32";case rr:return"uint8";case nr:return"uint16";case vt:return"uint32";default:throw new Error(`arrow dictionary index type not supported: ${r.constructor.name}`)}}function LR(r){return["int8","int16","int32","uint8","uint16","uint32"].includes(r)}function BR(r){switch(r){case"int8":return new Zt;case"int16":return new er;case"int32":return new Pe;case"uint8":return new rr;case"uint16":return new nr;case"uint32":return new vt;default:throw new Error(`schema dictionary index type not supported: ${r}`)}}var Zc=p(()=>{"use strict";Lr()});function ya(r){return!!(r&&typeof r=="object"&&"schema"in r&&"batches"in r&&Array.isArray(r.batches)&&"numRows"in r&&typeof r.numRows=="number"&&"getChildAt"in r&&typeof r.getChildAt=="function")}var Sb=p(()=>{"use strict"});function oo(r){return Ib(qn(r))}function ov(r,e){if(!r)return oo(e);new se(r,[new ee(e,void 0)]);let t=qn(r),n=qn(e);return Ib({...n,fields:n.fields.map((s,i)=>av(t.fields[i],s)),metadata:{...t.metadata,...n.metadata}})}function av(r,e){return{...e,type:cv(r.type,e.type),metadata:{...r.metadata,...e.metadata}}}function cv(r,e){if(typeof r!="object"||typeof e!="object")return e;if("children"in r&&"children"in e){let t=r.children;return{...e,children:e.children.map((n,s)=>av(t[s],n))}}return r.type==="dictionary"&&e.type==="dictionary"?{...e,dictionary:cv(r.dictionary,e.dictionary)}:e}function uv(r,e){let t=oo(e),n=r.batches.map(s=>new ee(oo(t),s.data,new Map(s.metadata)));return new se(t,n.length?n:[new ee(oo(t),void 0)])}function sd(r){return new ee(oo(r),void 0)}async function*Eb(r){let e,t;for await(let n of r){let s=n;if(s?.shape!=="arrow-table"){yield n;continue}let i=s.data.schema.metadata.get("boundingBox"),o=oo(s.data.schema);if(i){let c=JSON.parse(i);t=t?[c[0].map((u,l)=>Math.min(t[0][l],u)),c[1].map((u,l)=>Math.max(t[1][l],u))]:c,o.metadata.set("boundingBox",JSON.stringify(t))}e=ov(e,o);let a=uv(s.data,e);if(i)for(let c of a.batches)c.metadata.set("boundingBox",i);yield{...s,data:a,schema:qn(a.schema)}}}var Lb=p(()=>{"use strict";Lr();Zc()});function fr(r){let e=r?.POSITION;if(!e||!("value"in e)||!e.value.length)return null;let t=1/0,n=1/0,s=1/0,i=-1/0,o=-1/0,a=-1/0,c=e.value,u=c.length;for(let l=0;l<u;l+=3){let f=c[l],d=c[l+1],h=c[l+2];t=f<t?f:t,n=d<n?d:n,s=h<s?h:s,i=f>i?f:i,o=d>o?d:o,a=h>a?h:a}return[[t,n,s],[i,o,a]]}var lv=p(()=>{"use strict"});var Bb=p(()=>{"use strict";lv()});function Fb(r){let e=Zf();return new e(r)}function ti(r){return!!(ga&&r instanceof ga)}function Ob(r,e,t){ti(r)?r[e]=t:r[e]=fv(t)}function Mb(r,e){return ti(r)?r[e]:FR(r[e])}function eu(r){return ti(r)?new Uint16Array(r.buffer,r.byteOffset,r.length):r}function fv(r){if(!Number.isFinite(r))return r===1/0?31744:r===-1/0?64512:32256;let e=r<0||Object.is(r,-0)?32768:0,t=Math.abs(r);if(t===0)return e;if(t>=65520)return e|31744;if(t>=65504)return e|31743;let n=Math.floor(Math.log2(t));if(n<-14)return e|Math.round(t/2**-24);let s=n+15,i=Math.round((t/2**n-1)*1024);return i===1024?e|s+1<<10:e|s<<10|i}function FR(r){let e=r&32768?-1:1,t=r>>10&31,n=r&1023;return t===0?e*n*2**-24:t===31?n?NaN:e*(1/0):e*(1+n/1024)*2**(t-15)}var dv=p(()=>{"use strict";ed()});var id,Rb,hv=p(()=>{"use strict";Lr();id=new X([new O("POSITION",new Fe(3,new O("value",new It,!1)),!1)]),Rb=new X([...id.fields,new O("indices",new je(new O("item",new vt,!1)),!0)])});var tu=p(()=>{"use strict";dv();hv()});function pv(r){return r.type instanceof Fe?r.type.listSize:1}function Db(r,e,t){let n=OR(r,e,t);return new B([n])}function OR(r,e,t){let n=MR(r,e,t),s=n.children[0].type,i=t==="float16"&&ti(r)?eu(r):r,o={[ne.DATA]:i},a=new C(s,0,i.length,0,o);return new C(n,0,i.length/e,0,void 0,[a])}function MR(r,e,t){let n=t||Yc(r).type,s=nd(n);return new Fe(e,new O("value",s,!1))}var Nb=p(()=>{"use strict";tu();Lr();td();Zc()});function ri(r,e){return bv(r.attributes,{schema:r.schema,topology:r.topology,mode:r.mode,boundingBox:r.header?.boundingBox,indices:NR(r)?r.indices:void 0})}function bv(r,e={}){let t=[],n={},s=DR(r);for(let c of s){let u=r[c],{value:l,size:f=1}=u,d=RR(l,f,u.componentType);if(n[c]=d,t.push(kR(e.schema,c,d,u.componentType)),c==="POSITION"&&e.indices?.value?.length){let h=Rb.fields.find(m=>m.name==="indices");n.indices=UR(e.indices.value,d.length,h.type),t.push(h)}}let i=new X(t,PR(e)),o=n[s[0]]?.length===0?new se(i):new se(i,n);return{shape:"arrow-table",schema:qn(o.schema),data:o,topology:e.topology||"point-list",indices:e.indices}}function RR(r,e,t){if(t==="float16"){let n=ti(r)?eu(r):r;if(e===1){let s=new C(new Vr,0,n.length,0,{[ne.DATA]:n});return new B([s])}return Db(r,e,t)}return e===1?cn(r):Db(r,e)}function DR(r){let e=Object.keys(r),t=mv.filter(s=>s in r),n=e.filter(s=>!mv.includes(s));return[...t,...n]}function NR(r){return!!r.indices?.value?.length}function kR(r,e,t,n){if(e==="POSITION"&&CR(t)){let i=id.fields[0],o=r?.fields.find(c=>c.name===e);if(!o?.metadata)return i;let a=new Map(i.metadata);for(let[c,u]of Object.entries(o.metadata))a.set(c,u);return new O(i.name,i.type,i.nullable,a)}let s=r?.fields.find(i=>i.name===e);if(n==="float16"){let i=new Map(Object.entries(s?.metadata||{}));return i.set("componentType","float16"),new O(e,t.type,!1,i)}if(s&&s.type.toString()!==t.type.toString()){let i=hn(s);return new O(e,t.type,i.nullable,i.metadata)}return s?hn(s):new O(e,t.type,!1)}function CR(r){return r.type instanceof Fe&&r.type.listSize===3&&r.type.children[0].type instanceof It}function UR(r,e,t){let n=t,s=r instanceof Uint32Array?r:Uint32Array.from(r),i=new Int32Array(e+1);e>0&&i.fill(s.length,1);let o=new Uint8Array(Math.ceil(e/8));e>0&&(o[0]=1);let a=new C(n.children[0].type,0,s.length,0,{[ne.DATA]:s}),c=new C(n,0,e,Math.max(0,e-1),{[ne.OFFSET]:i,[ne.VALIDITY]:o},[a]);return new B([c])}function PR(r){let e={...r.schema?.metadata};return r.topology&&(e.topology||=r.topology),Number.isFinite(r.mode)&&(e.mode||=String(r.mode)),r.boundingBox&&(e.boundingBox||=JSON.stringify(r.boundingBox)),rd(e)}var mv,gv=p(()=>{"use strict";tu();tu();Lr();Nb();Zc();mv=["POSITION"]});function pn(r){if(ya(r)||r.shape==="arrow-table")return yv(r);throw new Error(r.shape)}function yv(r){let e=ya(r)?r:r.data,t=qn(e.schema),n=e.batches.length===1?e.batches[0].metadata.get("boundingBox"):void 0;n&&(t.metadata={...t.metadata,boundingBox:n});let s=t.fields,i={},o=[];for(let f of s){let{name:d}=f;if(d==="indices")continue;let h=e.getChild(d),m=pv(h),b=WR(h,m),g=jR(f.metadata),y=g.componentType==="float16"?$R(b):b,x=o.find(T=>T.data.length===h.data.length&&i[T.name].value.constructor===y.constructor&&T.data.every((_,v)=>wv(_,h.data[v])));i[d]={value:x?i[x.name].value:y,size:m,...g},x||o.push({name:d,data:h.data})}zR(t);let a=t.metadata.topology,c=qR(t),u=KR(e),l=i.POSITION?.transform?.type==="quantization"?VR(t)||fr(i):fr(i);return{schema:t,attributes:i,topology:a,mode:c,indices:u,header:{vertexCount:e.numRows,boundingBox:l??void 0}}}function VR(r){let e=r.metadata?.boundingBox;if(!e)return null;try{let t=JSON.parse(e);if(Array.isArray(t)&&t.length===2&&t.every(n=>Array.isArray(n)&&n.length===3&&n.every(s=>typeof s=="number")))return t}catch{}return null}function jR(r={}){let e={};if(r.byteOffset!==void 0&&(e.byteOffset=Number(r.byteOffset)),r.byteStride!==void 0&&(e.byteStride=Number(r.byteStride)),r.normalized!==void 0&&(e.normalized=r.normalized==="true"),r.componentType==="float16"&&(e.componentType="float16"),r["loaders.gl.transform"])try{let t=JSON.parse(r["loaders.gl.transform"]);GR(t)&&(e.transform=t)}catch{}return e}function GR(r){if(!r||typeof r!="object"||!("type"in r))return!1;let e=r;return e.type==="octahedron"?Number.isInteger(e.bits)&&e.bits>=1&&e.bits<=30:e.type==="quantization"&&Number.isInteger(e.bits)&&e.bits>=1&&e.bits<=30&&Array.isArray(e.origin)&&e.origin.every(t=>typeof t=="number")&&typeof e.range=="number"}function zR(r){r.metadata||={},r.metadata.topology||="point-list",r.metadata.mode||="0"}function WR(r,e){if(!(r.type instanceof Fe))return r.toArray();let n=r.data[0].children[0].values.constructor,s=new n(r.length*e),i=0;for(let o of r.data){let a=o.children[0],c=o.length*e,u=a.offset||o.offset*e,l=u+c<=a.values.length?u:0,f=a.values.subarray(l,l+c);s.set(f,i),i+=c}return s}function $R(r){let e=Fb(r.length);for(let t=0;t<r.length;t++)Ob(e,t,Mb(r,t));return e}function qR(r){let e=Number(r.metadata?.mode);return Number.isFinite(e)?e:0}function KR(r){let e=r.getChild("indices");if(!e?.isValid(0))return;let t=e.data[0],n=t.valueOffsets,s=n[t.offset],i=n[t.offset+1];return{value:t.children[0].values.subarray(s,i),size:1}}function wv(r,e){let t=Object.values(e.buffers);return r.type.toString()===e.type.toString()&&r.offset===e.offset&&r.length===e.length&&r.nullCount===e.nullCount&&r.dictionary===e.dictionary&&Object.values(r.buffers).every((n,s)=>{let i=t[s];return n===i||!!(n&&i&&n.buffer===i.buffer&&n.byteOffset===i.byteOffset&&n.byteLength===i.byteLength)})&&r.children.length===e.children.length&&r.children.every((n,s)=>wv(n,e.children[s]))}var xv=p(()=>{"use strict";tu();Lr();Nb();Zc();Sb();Bb()});function kb(r,e={}){return{fields:HR(r),metadata:e}}function od(r,e,t){let n=e.componentType||vb(e.value),s=t||ad(e),i=e.size===1?n:{type:"fixed-size-list",listSize:e.size,children:[{name:"value",type:n}]};return{name:r,type:i,nullable:!1,metadata:s}}function HR(r){let e=[];for(let t in r){let n=r[t];e.push(od(t,n))}return e}function ad(r){let e={};return"byteOffset"in r&&(e.byteOffset=r.byteOffset.toString(10)),"byteStride"in r&&(e.byteStride=r.byteStride.toString(10)),"normalized"in r&&(e.normalized=r.normalized.toString()),r.componentType&&(e.componentType=r.componentType),r.transform&&(e["loaders.gl.transform"]=JSON.stringify(r.transform)),e}var Tv=p(()=>{"use strict";td()});var Xr=p(()=>{"use strict";td();Bb();gv();xv();Tv();Lb();Lb();Sb()});async function ni(r,e,t,n){return n._parse(r,e,t,n)}var _v=p(()=>{"use strict"});function dr(r,e){if(!r)throw new Error(e||"loader assertion failed.")}var Cb=p(()=>{"use strict"});var mn,XR,JR,YR,QR,Kn,Av,ZR,Ub=p(()=>{"use strict";mn={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},XR=mn.self||mn.window||mn.global||{},JR=mn.window||mn.self||mn.global||{},YR=mn.global||mn.self||mn.window||{},QR=mn.document||{},Kn=!!(typeof process!="object"||String(process)!=="[object process]"||process.browser),Av=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),ZR=Av&&parseFloat(Av[1])||0});var ru,eD,cd,tD,rD,Pb=p(()=>{ru=globalThis,eD=globalThis.document||{},cd=globalThis.process||{},tD=globalThis.console,rD=globalThis.navigator||{}});function ud(r){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&process.versions?.electron)return!0;let e=typeof navigator<"u"&&navigator.userAgent,t=r||e;return!!(t&&t.indexOf("Electron")>=0)}var ld=p(()=>{});function si(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||ud()}var Vb=p(()=>{ld()});var vv=p(()=>{Vb();ld();Pb()});var Iv=p(()=>{});var jb,fd=p(()=>{Pb();Vb();vv();ld();Iv();jb="5.0.0"});function wa(r,e){if(!r)throw new Error(e||"Assertion failed")}var Gb=p(()=>{});function dd(r){if(!r)return 0;let e;switch(typeof r){case"number":e=r;break;case"object":e=r.logLevel||r.priority||0;break;default:return 0}return wa(Number.isFinite(e)&&e>=0),e}function zb(r){let{logLevel:e,message:t}=r;r.logLevel=dd(e);let n=r.args?Array.from(r.args):[];for(;n.length&&n.shift()!==t;);switch(typeof e){case"string":case"function":t!==void 0&&n.unshift(t),r.message=e;break;case"object":Object.assign(r,e);break;default:}typeof r.message=="function"&&(r.message=r.message());let s=typeof r.message;return wa(s==="string"||s==="object"),Object.assign(r,{args:n},r.opts)}var hd=p(()=>{Gb()});var ii,ao,nu=p(()=>{hd();ii=()=>{},ao=class{constructor({level:e=0}={}){this.userData={},this._onceCache=new Set,this._level=e}set level(e){this.setLevel(e)}get level(){return this.getLevel()}setLevel(e){return this._level=e,this}getLevel(){return this._level}warn(e,...t){return this._log("warn",0,e,t,{once:!0})}error(e,...t){return this._log("error",0,e,t)}log(e,t,...n){return this._log("log",e,t,n)}info(e,t,...n){return this._log("info",e,t,n)}once(e,t,...n){return this._log("once",e,t,n,{once:!0})}_log(e,t,n,s,i={}){let o=zb({logLevel:t,message:n,args:this._buildArgs(t,n,s),opts:i});return this._createLogFunction(e,o,i)}_buildArgs(e,t,n){return[e,t,...n]}_createLogFunction(e,t,n){if(!this._shouldLog(t.logLevel))return ii;let s=this._getOnceTag(n.tag??t.tag??t.message);if((n.once||t.once)&&s!==void 0){if(this._onceCache.has(s))return ii;this._onceCache.add(s)}return this._emit(e,t)}_shouldLog(e){return this.getLevel()>=dd(e)}_getOnceTag(e){if(e!==void 0)try{return typeof e=="string"?e:String(e)}catch{return}}}});function sD(r){try{let e=window[r],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch{return null}}var su,Wb=p(()=>{su=class{constructor(e,t,n="sessionStorage"){this.storage=sD(n),this.id=e,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){let t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}}_loadConfiguration(){let e={};if(this.storage){let t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}});function Sv(r){let e;return r<10?e=`${r.toFixed(2)}ms`:r<100?e=`${r.toFixed(1)}ms`:r<1e3?e=`${r.toFixed(0)}ms`:e=`${(r/1e3).toFixed(2)}s`,e}function $b(r,e=8){let t=Math.max(e-r.length,0);return`${" ".repeat(t)}${r}`}var qb=p(()=>{});function Ev(r){return typeof r!="string"?r:(r=r.toUpperCase(),iu[r]||iu.WHITE)}function Kb(r,e,t){return!si&&typeof r=="string"&&(e&&(r=`\x1B[${Ev(e)}m${r}\x1B[39m`),t&&(r=`\x1B[${Ev(t)+iD}m${r}\x1B[49m`)),r}var iu,iD,pd=p(()=>{fd();(function(r){r[r.BLACK=30]="BLACK",r[r.RED=31]="RED",r[r.GREEN=32]="GREEN",r[r.YELLOW=33]="YELLOW",r[r.BLUE=34]="BLUE",r[r.MAGENTA=35]="MAGENTA",r[r.CYAN=36]="CYAN",r[r.WHITE=37]="WHITE",r[r.BRIGHT_BLACK=90]="BRIGHT_BLACK",r[r.BRIGHT_RED=91]="BRIGHT_RED",r[r.BRIGHT_GREEN=92]="BRIGHT_GREEN",r[r.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",r[r.BRIGHT_BLUE=94]="BRIGHT_BLUE",r[r.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",r[r.BRIGHT_CYAN=96]="BRIGHT_CYAN",r[r.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(iu||(iu={}));iD=10});function Hb(r,e=["constructor"]){let t=Object.getPrototypeOf(r),n=Object.getOwnPropertyNames(t),s=r;for(let i of n){let o=s[i];typeof o=="function"&&(e.find(a=>i===a)||(s[i]=o.bind(r)))}}var Xb=p(()=>{});var md,Br,ou=p(()=>{fd();md=class{getHighResolutionTimer(){let e;if(si()&&ru.performance)e=ru?.performance?.now?.();else if("hrtime"in cd){let t=cd?.hrtime?.();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}getMemoryUsageMB(){let t=ru?.performance?.memory?.usedJSHeapSize;return t==null?null:Math.trunc(t/1024/1024)}},Br=new md;globalThis.Probe=md;globalThis.probe=Br});function oD(r,e,t){if(typeof e=="string"){let n=t.time?$b(Sv(t.total)):"";e=t.time?`${r}: ${n} ${e}`:`${r}: ${e}`,e=Kb(e,t.color,t.background)}return e}function aD(r){for(let e in r)for(let t in r[e])return t||"untitled";return"empty"}var xa,Jb,Hn,Yb=p(()=>{fd();nu();Wb();qb();pd();Xb();Gb();ou();hd();hd();xa={debug:si()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Jb={enabled:!0,level:0},Hn=class extends ao{constructor({id:e}={id:""}){super({level:0}),this.VERSION=jb,this._startTs=Br.getHighResolutionTimer(),this._deltaTs=Br.getHighResolutionTimer(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new su(`__probe-${this.id}__`,{[this.id]:Jb}),this.timeStamp(`${this.id} started`),Hb(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((Br.getHighResolutionTimer()-this._startTs).toPrecision(10))}getDelta(){return Number((Br.getHighResolutionTimer()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(e=!0){return this._updateConfiguration({enabled:e}),this}setLevel(e){return this._updateConfiguration({level:e}),this}get(e){return this._getConfiguration()[e]}set(e,t){this._updateConfiguration({[e]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,t){if(!e)throw new Error(t||"Assertion failed")}warn(e,...t){return this._log("warn",0,e,t,{method:xa.warn,once:!0})}error(e,...t){return this._log("error",0,e,t,{method:xa.error})}deprecated(e,t){return this.warn(`\`${e}\` is deprecated and will be removed in a later version. Use \`${t}\` instead`)}removed(e,t){return this.error(`\`${e}\` has been removed. Use \`${t}\` instead`)}probe(e,t,...n){let s=Br.getMemoryUsageMB();if(s!==null){let i=`${s}MB `;typeof t=="function"?t=()=>`${i}${t()}`:typeof t=="string"&&(t=`${i}${t}`)}return this._log("log",e,t,n,{method:xa.log,time:!0,once:!0})}log(e,t,...n){return this._log("log",e,t,n,{method:xa.debug})}info(e,t,...n){return this._log("info",e,t,n,{method:console.info})}once(e,t,...n){return this._log("once",e,t,n,{method:xa.debug||xa.info,once:!0})}table(e,t,n){return t?this._log("table",e,t,n&&[n]||[],{method:console.table||ii,tag:aD(t)}):ii}time(e,t){return this._log("time",e,t,[],{method:console.time?console.time:console.info})}timeEnd(e,t){return this._log("time",e,t,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(e,t){return this._log("time",e,t,[],{method:console.timeStamp||ii})}group(e,t,n={collapsed:!1}){let s=(n.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",e,t,[],{method:s})}groupCollapsed(e,t,n={}){return this.group(e,t,Object.assign({},n,{collapsed:!0}))}groupEnd(e){return this._log("groupEnd",e,"",[],{method:console.groupEnd||ii})}withGroup(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&super._shouldLog(e)}_emit(e,t){let n=t.method;wa(n),t.total=this.getTotal(),t.delta=this.getDelta(),this._deltaTs=Br.getHighResolutionTimer();let s=oD(this.id,t.message,t);return n.bind(console,s,...t.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(Jb),this._storage.config[this.id]}_updateConfiguration(e){let t=this._storage.config[this.id]||{...Jb};this._storage.setConfiguration({[this.id]:{...t,...e}})}};Hn.VERSION=jb});var Lv=p(()=>{nu()});var Bv=p(()=>{nu()});var Fv=p(()=>{ou()});var Ov=p(()=>{ou();globalThis.probe||(globalThis.probe=Br)});var $J,Mv=p(()=>{Yb();ou();Yb();Lv();nu();Bv();pd();pd();qb();Xb();Wb();Fv();Ov();$J=new Hn({id:"@probe.gl/log"})});function uD(){let r=new Hn({id:"loaders.gl"});return globalThis.loaders||={},globalThis.loaders.log=r,globalThis.loaders.version=cD,globalThis.probe||={},globalThis.probe.loaders=r,r}function au(){}function Jr(r){let e=r?.core?.log;return e===null?lD:e||Ta}var Qb,cD,Ta,Zb,lD,bd=p(()=>{"use strict";Mv();Qb="5.0.0-beta.10",cD=Qb[0]>="0"&&Qb[0]<="9"?`v${Qb}`:"";Ta=uD(),Zb=class{log(){return au}info(){return au}once(){return au}warn(){return au}error(){return au}};lD=new Zb});var Rv,Dv=p(()=>{"use strict";Rv=r=>typeof SharedArrayBuffer<"u"&&r instanceof SharedArrayBuffer});function co(r,e){return new Promise((t,n)=>{let s=!1;function i(a){s||(s=!0,n(a))}function o(a){if(!s){s=!0;try{t(e(a))}catch(c){n(c)}}}try{r(o,i)?.then(o,i)}catch(a){i(a)}})}var Nv=p(()=>{"use strict"});function eg(r){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,r)}function tg(r){return globalThis.loaders?.modules?.[r]||null}var rg=p(()=>{"use strict"});var kv,lY,fY,ng,Cv=p(()=>{"use strict";kv="master",lY=`https://raw.githubusercontent.com/visgl/loaders.gl/${kv}/`,fY=`https://github.com/visgl/loaders.gl/raw/${kv}/`,ng="beta"});var Uv=p(()=>{"use strict";Cv()});function fD(){let r="5.0.0-beta.10";return globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version||=r,r}var Pv,Vv=p(()=>{"use strict";Pv=fD()});function gd(r,e){if(!r)throw new Error(e||"loaders.gl assertion failed.")}var sg=p(()=>{"use strict"});var bn,gY,yY,wY,xY,He,uo,Gv,jv,TY,cu=p(()=>{"use strict";bn={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},gY=bn.self||bn.window||bn.global||{},yY=bn.window||bn.self||bn.global||{},wY=bn.global||bn.self||bn.window||{},xY=bn.document||{},He=typeof process!="object"||String(process)!=="[object process]"||process.browser,uo=typeof importScripts=="function",Gv=typeof window<"u"&&typeof window.orientation<"u",jv=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),TY=jv&&parseFloat(jv[1])||0});var yd,ig=p(()=>{yd="latest"});function dD(){return typeof __VERSION__>"u"?yd:__VERSION__}var og,zv=p(()=>{ig();og=dD()});function lo(r,e){if(!r)throw new Error(e||"loaders.gl assertion failed.")}var wd=p(()=>{});var gn,EY,LY,BY,FY,zt,$v,Wv,OY,_a=p(()=>{gn={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},EY=gn.self||gn.window||gn.global||{},LY=gn.window||gn.self||gn.global||{},BY=gn.global||gn.self||gn.window||{},FY=gn.document||{},zt=typeof process!="object"||String(process)!=="[object process]"||process.browser,$v=typeof window<"u"&&typeof window.orientation<"u",Wv=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),OY=Wv&&parseFloat(Wv[1])||0});function qv(r){let e=new Error(r);return e.name="AbortError",e}var uu,Kv=p(()=>{uu=class{constructor(e,t){this.isRunning=!0,this.isCancelled=!1,this.failed=!1,this.postMessageMs=0,this.complete=()=>{},this.processStarted=!1,this._resolve=()=>{},this._reject=()=>{},this.name=e,this.workerThread=t,this.completion=new Promise(n=>{this.complete=n}),this.result=new Promise((n,s)=>{this._resolve=n,this._reject=s})}postMessage(e,t,n){if(!this.isRunning||this.isCancelled)return;let s=performance.now();(e==="process"||e==="process-in-batches"||e==="preload")&&(this.processStarted=!0);try{this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t},n)}finally{this.postMessageMs+=performance.now()-s}}done(e){this.isRunning&&(this.isRunning=!1,this.executionMs=e?.executionMs,clearTimeout(this.cancellationTimer),this.complete(),this.isCancelled||this._resolve(e))}error(e){this.isRunning&&(this.isRunning=!1,this.failed=!0,this.sharedState?.snapshot.cancelled&&(this.isCancelled=!0),clearTimeout(this.cancellationTimer),this.complete(),this._reject(e))}cancel(e,t=1e3){if(!this.isRunning||this.isCancelled)return;if(!Number.isFinite(t)||t<0){this.abort(new RangeError("cancellationTimeout must be finite and nonnegative"));return}this.isCancelled=!0,this.sharedState?.cancel();let n=arguments.length?e:qv(`Worker job "${this.name}" was cancelled`);if(!this.processStarted){this.error(n);return}this._reject(n);try{this.workerThread.postMessage({source:"loaders.gl",type:"cancel",payload:{}},[]),this.cancellationTimer=setTimeout(()=>this.abort(e),t)}catch(s){this.abort(s)}}abort(e){this.isRunning&&(this.isCancelled=!0,this.sharedState?.cancel(),this.workerThread.destroy(),this.error(arguments.length?e:qv(`Worker job "${this.name}" was aborted`)))}}});var Aa,DY,Hv=p(()=>{Aa=class{constructor(...e){let n=globalThis.process?.getBuiltinModule?.("node:worker_threads").Worker;if(n)return new n(...e)}terminate(){}},DY=globalThis.process?.getBuiltinModule?.("node:worker_threads")?.parentPort??null});function Xv(r){if(lo(r.source&&!r.url||!r.source&&r.url),r.url&&r.workerType==="module"){let t=globalThis.document?.baseURI??globalThis.location?.href;if(!t)return r.url;let n=new URL(r.url,t),s=globalThis.location?.origin;return/^https?:$/.test(n.protocol)&&n.origin!==s?cg(`import ${JSON.stringify(n.href)};`):r.url}let e=ag.get(r.source||r.url);return e||(r.url&&(e=hD(r.url),ag.set(r.url,e)),r.source&&(e=cg(r.source),ag.set(r.source,e))),lo(e),e}function hD(r){if(!r.startsWith("http"))return r;let e=pD(r);return cg(e)}function cg(r){let e=new Blob([r],{type:"application/javascript"});return URL.createObjectURL(e)}function pD(r){return`try {
32
+ importScripts('${r}');
33
+ } catch (error) {
34
+ console.error(error);
35
+ throw error;
36
+ }`}var ag,Jv=p(()=>{wd();ag=new Map});function yt(r,e=!0,t){let n=t||new Set,s=new Set;function i(o){if(!(!o||typeof o!="object"||s.has(o))){if(s.add(o),ug(o))n.add(o);else if(ArrayBuffer.isView(o))ug(o.buffer)&&n.add(o.buffer);else if(e&&typeof MessageChannel<"u"&&o instanceof MessageChannel)i(o.port1),i(o.port2);else if(e&&o instanceof Map)for(let[a,c]of o)i(a),i(c);else if(e&&o instanceof Set)for(let a of o)i(a);else if(e)for(let a of Object.keys(o))i(o[a])}}return i(r),t===void 0?Array.from(n):[]}function ug(r){return r?r instanceof ArrayBuffer||typeof MessagePort<"u"&&r instanceof MessagePort||typeof ImageBitmap<"u"&&r instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&r instanceof OffscreenCanvas:!1}function va(r){let e=new Map;function t(n){if(typeof n=="function"||n instanceof RegExp)return{};if(!n||typeof n!="object")return n;if(e.has(n))return e.get(n);if(ArrayBuffer.isView(n)||n instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&n instanceof SharedArrayBuffer||n instanceof Date||typeof WebAssembly<"u"&&n instanceof WebAssembly.Module||ug(n))return n;let s=n instanceof Map?new Map:n instanceof Set?new Set:Array.isArray(n)?[]:{};if(e.set(n,s),n instanceof Map)for(let[i,o]of n)s.set(t(i),t(o));else if(n instanceof Set)for(let i of n)s.add(t(i));else for(let i of Object.keys(n))Object.defineProperty(s,i,{value:t(n[i]),enumerable:!0,writable:!0,configurable:!0});return s}return r===null?{}:t(r)}var xd=p(()=>{});var lg,Fr,lu=p(()=>{Hv();_a();wd();Jv();xd();lg=()=>{},Fr=class{static isSupported(){return typeof Worker<"u"&&zt||typeof Aa<"u"&&!zt}constructor(e){this.terminated=!1,this.createdAt=performance.now(),this._loadableURL="";let{name:t,source:n,url:s,getUrl:i,loadWorker:o}=e;lo(n||s||i||o),this.name=t,this.source=n,this.url=s,this.workerType=e.workerType??"classic",this.getUrl=i,this.loadWorker=o,this.onMessage=lg,this.onError=c=>console.log(c);let a=performance.now();this.worker=zt?this._createBrowserWorker():this._createNodeWorker(),this.creationTimeMs=performance.now()-a}destroy(){return this.onMessage=lg,this.onError=lg,this.terminated?this.termination??Promise.resolve():(this.terminated=!0,this.termination=Promise.resolve(this.worker.terminate()).then(()=>{}).finally(()=>this.releaseModuleWorkerURL()),this.termination.catch(()=>{}),this.termination)}unref(){!zt&&typeof this.worker.unref=="function"&&this.worker.unref()}ref(){!zt&&typeof this.worker.ref=="function"&&this.worker.ref()}get isRunning(){return!!this.onMessage}postMessage(e,t){t=t||yt(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name} from ${this.url||"built-in worker factory"}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){if(this.loadWorker)try{let t=this.loadWorker();if(t)return this._initializeBrowserWorker(t)}catch(t){if(!this.source&&!this.url&&!this.getUrl)throw t}let e=this.url||this.getUrl?.();this._loadableURL=Xv({source:this.source,url:e,workerType:this.workerType}),this.workerType==="module"&&e&&this._loadableURL!==e&&this._loadableURL.startsWith("blob:")&&(this.ownedModuleWorkerURL=this._loadableURL);try{let t=new Worker(this._loadableURL,{name:this.name,type:this.workerType});return this._initializeBrowserWorker(t)}catch(t){throw this.releaseModuleWorkerURL(),t}}releaseModuleWorkerURL(){this.ownedModuleWorkerURL&&(URL.revokeObjectURL(this.ownedModuleWorkerURL),this.ownedModuleWorkerURL=void 0)}_initializeBrowserWorker(e){return e.onmessage=t=>{t.data?t.data.type==="ready"?this.startupTimeMs=performance.now()-this.createdAt:this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{let n=this.onError,s=this._getErrorFromErrorEvent(t);this.destroy(),n(s)},e.onmessageerror=()=>{let t=this.onError;this.destroy(),t(new Error("Worker message could not be deserialized"))},e}_createNodeWorker(){let e;if(this.url){let n=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`,s=n.startsWith("file:")?new URL(n):n,i=this.url.endsWith(".ts")||this.url.endsWith(".mjs")?"module":"commonjs";e=new Aa(s,{eval:!1,type:i})}else if(this.source)e=new Aa(this.source,{eval:!0});else throw new Error("no worker");return e.on("message",t=>{t?.type==="ready"?this.startupTimeMs=performance.now()-this.createdAt:this.onMessage(t)}),e.on("error",t=>{this.terminated=!0,this.onError(t)}),this.termination=new Promise(t=>e.on("exit",()=>t())),e.on("exit",t=>{this.terminated||(this.terminated=!0,this.onError(new Error(`Worker ${this.name} exited unexpectedly (code ${t})`)))}),e}}});var oi,fg=p(()=>{_a();lu();Kv();oi=class{get stats(){return{...this.totals,queuedJobs:this.jobQueue.length,activeJobs:this.activeJobs.size,queuedBytes:this.queuedBytes+this.reservedBytes,inFlightBytes:this.inFlightBytes,pendingAdmissions:this.admissions.length,reservations:this.reservations.size}}reserve(e,t={}){let{signal:n}=t;return n?.aborted?Promise.reject(n.reason):this.isDestroyed?Promise.reject(new Error("Worker pool was destroyed")):this.isClosing?Promise.reject(new Error("Worker pool is closing")):!Number.isSafeInteger(e)||e<0||e>this.maxQueuedBytes||e>this.maxInFlightBytes?Promise.reject(new RangeError("Reservation exceeds worker byte budgets")):this.maxQueuedJobs<1||this.admissions.length>=this.maxPendingAdmissions?Promise.reject(new RangeError("Worker admission queue is full")):new Promise((s,i)=>{let o=()=>{let c=this.admissions.indexOf(a);c>=0&&this.admissions.splice(c,1),a.cleanup(),i(n?.reason),this._admit()},a={inputBytes:e,resolve:s,reject:i,cleanup:()=>n?.removeEventListener("abort",o)};this.admissions.push(a),n?.addEventListener("abort",o,{once:!0}),this._admit()})}_admit(){for(;!this.isDestroyed&&!this.isClosing&&this.admissions.length;){let e=this.admissions[0];if(e.inputBytes>this.maxQueuedBytes||e.inputBytes>this.maxInFlightBytes){this.admissions.shift(),e.cleanup(),e.reject(new RangeError("Reservation exceeds worker byte budgets"));continue}if(this.jobQueue.length+this.reservations.size>=this.maxQueuedJobs||e.inputBytes>this.maxQueuedBytes-this.queuedBytes-this.reservedBytes)return;this.admissions.shift(),e.cleanup();let t={inputBytes:e.inputBytes,release:()=>{this.reservations.delete(t)&&(this.reservedBytes-=t.inputBytes,this._admit())}};this.reservations.add(t),this.reservedBytes+=t.inputBytes,this.totals.peakQueuedBytes=Math.max(this.totals.peakQueuedBytes,this.queuedBytes+this.reservedBytes),e.resolve(t)}}static isSupported(){return Fr.isSupported()}constructor(e){this.name="unnamed",this.maxConcurrency=1,this.maxMobileConcurrency=1,this.onDebug=()=>{},this.reuseWorkers=!0,this.props={},this.jobQueue=[],this.idleQueue=[],this.activeJobs=new Set,this.startingJobs=0,this.count=0,this.workers=new Set,this.queuedBytes=0,this.inFlightBytes=0,this.maxQueuedBytes=1/0,this.maxInFlightBytes=1/0,this.isDestroyed=!1,this.isClosing=!1,this.maxQueuedJobs=1/0,this.maxPendingAdmissions=128,this.priorityAgingMs=1e3,this.reservations=new Set,this.admissions=[],this.reservedBytes=0,this.totals={peakQueuedBytes:0,peakInFlightBytes:0,workersCreated:0,workerRestarts:0,completed:0,failed:0,cancelled:0},this.source=e.source,this.url=e.url,this.workerType=e.workerType,this.getUrl=e.getUrl,this.loadWorker=e.loadWorker,this.setProps(e)}close(e={}){if(this.closing)return this.closing;if(this.isDestroyed)return this.destroy();if(e.timeout!==void 0&&(!Number.isFinite(e.timeout)||e.timeout<0||e.timeout>2147483647))return Promise.reject(new RangeError("Close timeout must be between 0 and 2147483647 ms"));this.isClosing=!0;let t=new Error("Worker pool is closing");this.admissions.splice(0).forEach(o=>{o.cleanup(),o.reject(t)}),this.reservations.clear(),this.reservedBytes=0;let n,s=new Promise(o=>{this.onDrained=o}),i=e.timeout===void 0?s:Promise.race([s,new Promise(o=>{n=setTimeout(o,e.timeout)})]);return this.closing=i.then(async()=>{clearTimeout(n),await this.destroy()}),this._checkDrained(),this.closing}_checkDrained(){this.isClosing&&!this.jobQueue.length&&!this.activeJobs.size&&!this.startingJobs&&this.onDrained?.()}destroy(e=new Error("Worker pool was destroyed")){if(this.destruction)return this.destruction;let t=[...this.workers];this.isDestroyed=!0,this.onDrained?.(),this.activeJobs.forEach(s=>s.abort(e)),this.admissions.splice(0).forEach(s=>{s.cleanup(),s.reject(e)}),this.reservations.clear(),this.reservedBytes=0;let n=this.jobQueue.splice(0);return this.queuedBytes=0,n.forEach(s=>{s.removeAbortListener(),s.onReject(e)}),this.idleQueue.splice(0).forEach(s=>{s.destroy(),this.count--}),this.isDestroyed=!0,this.destruction=Promise.all(t.map(s=>s.destroy())).then(()=>{this.workers.clear()}),this.destruction.catch(()=>{}),this.destruction}setProps(e){for(let t of["maxQueuedBytes","maxInFlightBytes","maxQueuedJobs","maxPendingAdmissions"]){let n=e[t];if(n!==void 0&&(!(n>=0)||n!==1/0&&!Number.isSafeInteger(n)))throw new RangeError(`${t} must be a nonnegative safe integer or Infinity`)}if(e.priorityAgingMs!==void 0&&(!Number.isFinite(e.priorityAgingMs)||e.priorityAgingMs<=0))throw new RangeError("priorityAgingMs must be positive and finite");this.maxQueuedJobs=e.maxQueuedJobs??this.maxQueuedJobs,this.maxPendingAdmissions=e.maxPendingAdmissions??this.maxPendingAdmissions,this.priorityAgingMs=e.priorityAgingMs??this.priorityAgingMs,this.maxQueuedBytes=e.maxQueuedBytes??this.maxQueuedBytes,this.maxInFlightBytes=e.maxInFlightBytes??this.maxInFlightBytes,this.props={...this.props,...e},e.name!==void 0&&(this.name=e.name),e.maxConcurrency!==void 0&&(this.maxConcurrency=e.maxConcurrency),e.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=e.maxMobileConcurrency),e.reuseWorkers!==void 0&&(this.reuseWorkers=e.reuseWorkers),e.onDebug!==void 0&&(this.onDebug=e.onDebug);for(let t of[...this.jobQueue])t.inputBytes>this.maxInFlightBytes&&(this.jobQueue.splice(this.jobQueue.indexOf(t),1),this.queuedBytes-=t.inputBytes,t.removeAbortListener(),t.onReject(new RangeError("Worker job exceeds maxInFlightBytes")));this._admit(),this._startQueuedJob(),this._checkDrained()}get requiresInputBytes(){return this.maxQueuedBytes!==1/0||this.maxInFlightBytes!==1/0}async startJob(e,t=(o,a,c)=>o.done(c),n=(o,a)=>o.error(a),s,i={}){if(i.cancellationMode!==void 0&&!["terminate","cooperative"].includes(i.cancellationMode))throw new Error("Invalid worker cancellation mode");if(i.cancellationTimeout!==void 0&&(!Number.isFinite(i.cancellationTimeout)||i.cancellationTimeout<0))throw new RangeError("cancellationTimeout must be finite and nonnegative");if(s?.aborted)throw s.reason;if(this.isDestroyed)return Promise.reject(new Error("Worker pool was destroyed"));if(this.isClosing)return Promise.reject(new Error("Worker pool is closing"));let{inputBytes:o=0,priority:a=0}=i;if(!Number.isSafeInteger(o)||o<0||!Number.isFinite(a))throw new RangeError("Invalid worker scheduling inputBytes or priority");if(o>this.maxInFlightBytes)throw new RangeError("Worker job exceeds maxInFlightBytes");let c=i.admission;if(c&&(!this.reservations.has(c)||c.inputBytes!==o))throw new Error("Invalid or consumed worker admission");let u=!this.jobQueue.length&&this.activeJobs.size<this._getMaxConcurrency()&&this.inFlightBytes+o<=this.maxInFlightBytes;if(!c&&!u&&(this.jobQueue.length+this.reservations.size>=this.maxQueuedJobs||o>this.maxQueuedBytes-this.queuedBytes-this.reservedBytes))throw new RangeError("Worker queue exceeds maxQueuedBytes or maxQueuedJobs");c&&(this.reservations.delete(c),this.reservedBytes-=c.inputBytes);let l=new Promise((f,d)=>{let h=()=>{let g=this.jobQueue.indexOf(m);g>=0&&(this.jobQueue.splice(g,1),this.queuedBytes-=m.inputBytes,this._admit(),this._startQueuedJob(),m.removeAbortListener(),d(s?.reason),this._checkDrained())},m={name:e,inputBytes:o,priority:a,queuedAt:performance.now(),sharedState:i.sharedState,cancellationMode:i.cancellationMode,cancellationTimeout:i.cancellationTimeout,onMessage:t,onError:n,onStart:f,onReject:d,signal:s,removeAbortListener:()=>s?.removeEventListener("abort",h)},b=this.jobQueue.findIndex(g=>g.priority<a);return this.jobQueue.splice(b<0?this.jobQueue.length:b,0,m),this.queuedBytes+=o,u||(this.totals.peakQueuedBytes=Math.max(this.totals.peakQueuedBytes,this.queuedBytes+this.reservedBytes)),s?.addEventListener("abort",h,{once:!0}),this});return this._startQueuedJob(),await l}async _startQueuedJob(){if(!this.jobQueue.length)return;let e=performance.now();if(this.jobQueue.sort((s,i)=>i.priority+Math.floor((e-i.queuedAt)/this.priorityAgingMs)-(s.priority+Math.floor((e-s.queuedAt)/this.priorityAgingMs))),this.jobQueue[0].inputBytes>this.maxInFlightBytes-this.inFlightBytes)return;let t;try{t=this._getAvailableWorker()}catch(s){let i=this.jobQueue.shift();i&&(this.queuedBytes-=i.inputBytes),this._admit(),i?.removeAbortListener(),i?.onReject(s),this._startQueuedJob(),this._checkDrained();return}if(!t)return;let n=this.jobQueue.shift();if(n){this.startingJobs++,this.queuedBytes-=n.inputBytes,this.inFlightBytes+=n.inputBytes,this.totals.peakInFlightBytes=Math.max(this.totals.peakInFlightBytes,this.inFlightBytes),this._admit();let s=performance.now();try{this.onDebug({message:"Starting job",name:n.name,workerThread:t,backlog:this.jobQueue.length})}catch{}if(this.isDestroyed||t.terminated){this.startingJobs--,this.inFlightBytes-=n.inputBytes,n.removeAbortListener(),n.onReject(new Error("Worker pool was destroyed before job start")),this.returnWorkerToQueue(t);return}let i=new uu(n.name,t);i.sharedState=n.sharedState,n.removeAbortListener();let o=()=>{n.cancellationMode==="cooperative"?i.cancel(n.signal?.reason,n.cancellationTimeout):i.abort(n.signal?.reason)};n.signal?.addEventListener("abort",o,{once:!0}),n.signal?.aborted&&o(),this.activeJobs.add(i),this.startingJobs--,t.ref(),t.onMessage=a=>{try{i.isRunning&&n.onMessage(i,a.type,a.payload)}catch(c){i.abort(c)}},t.onError=a=>{try{n.onError(i,a)}catch(c){i.abort(c)}},i.result.catch(()=>{}),n.onStart(i),this._startQueuedJob();try{await i.completion}catch{}finally{n.signal?.removeEventListener("abort",o),this.activeJobs.delete(i),this.inFlightBytes-=n.inputBytes;let a=i.isCancelled?"cancelled":i.failed?"failed":"completed";this.totals[a]++;let c={name:i.name,outcome:a,queueWaitMs:s-n.queuedAt,durationMs:performance.now()-s,workerCreationMs:t.creationTimeMs,workerStartupMs:t.startupTimeMs,postMessageMs:i.postMessageMs,executionMs:i.executionMs,inputBytes:n.inputBytes};try{this.props.onMetrics?.(c),this.props.performanceMarks&&typeof performance.measure=="function"&&performance.measure(`math.gl.worker:${i.name}`,{start:n.queuedAt,end:performance.now(),detail:c})}catch{}this._admit(),this.returnWorkerToQueue(t)}}else this.returnWorkerToQueue(t)}returnWorkerToQueue(e){e.terminated||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.terminated&&!this.isDestroyed&&this.totals.workerRestarts++,e.terminated||e.destroy(),e.destroy().then(()=>this.workers.delete(e)),this.count--):(e.unref(),this.idleQueue.push(e)),this.isDestroyed||this._startQueuedJob(),this._checkDrained()}_getAvailableWorker(){for(;this.idleQueue.length>0;){let e=this.idleQueue.shift();if(e&&(e.terminated||this.count>this._getMaxConcurrency()))e.terminated&&this.totals.workerRestarts++,e.destroy().then(()=>this.workers.delete(e)),this.count--;else if(e)return e}if(this.count<this._getMaxConcurrency()){this.count++;let e=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;try{let t=new Fr({name:e,source:this.source,url:this.url,workerType:this.workerType,getUrl:this.getUrl,loadWorker:this.loadWorker});return this.totals.workersCreated++,this.workers.add(t),t}catch(t){throw this.count--,t}}return null}_getMaxConcurrency(){return $v?this.maxMobileConcurrency:this.maxConcurrency}}});function bD(r){let{name:e,source:t,url:n,urlKey:s,loadWorker:i,workerType:o}=r,a=t?`source:${t}`:"",c=n||s?`url:${n||s}`:"",u=i?`loadWorker:${gD(i)}`:"";return[e,a,c,u,`type:${o||"classic"}`].filter(Boolean).join("|")}function gD(r){let e=Qv.get(r);return e||(e=mD++,Qv.set(r,e)),e}var Yv,Qv,mD,Ia,Zv=p(()=>{fg();lu();Yv={maxQueuedJobs:1/0,maxPendingAdmissions:128,priorityAgingMs:1e3,onMetrics:()=>{},performanceMarks:!1,maxQueuedBytes:1/0,maxInFlightBytes:1/0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},Qv=new WeakMap,mD=1,Ia=class r{static isSupported(){return Fr.isSupported()}static getWorkerFarm(e={}){return r._workerFarm=r._workerFarm||new r({}),r._workerFarm.setProps(e),r._workerFarm}constructor(e){this.workerPools=new Map,this.props={...Yv},this.setProps(e),this.workerPools=new Map}destroy(e){let t=[...this.workerPools.values()];return this.workerPools.clear(),Promise.all(t.map(n=>n.destroy(e))).then(()=>{})}setProps(e){let t={};for(let n of Object.keys(Yv))e[n]!==void 0&&(t[n]=e[n]);this.props={...this.props,...t};for(let n of this.workerPools.values())n.setProps(this._getWorkerPoolProps())}getWorkerPool(e){let{name:t,source:n,url:s,getUrl:i,loadWorker:o,workerType:a}=e,c=bD(e),u=this.workerPools.get(c);return u||(u=new oi({name:t,source:n,url:s,getUrl:i,loadWorker:o,workerType:a}),u.setProps(this._getWorkerPoolProps()),this.workerPools.set(c,u)),u}_getWorkerPoolProps(){return{maxQueuedJobs:this.props.maxQueuedJobs,maxPendingAdmissions:this.props.maxPendingAdmissions,priorityAgingMs:this.props.priorityAgingMs,onMetrics:this.props.onMetrics,performanceMarks:this.props.performanceMarks,maxQueuedBytes:this.props.maxQueuedBytes,maxInFlightBytes:this.props.maxInFlightBytes,maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}});var fu,eI=p(()=>{fu=class{constructor(){this._values=[],this._settlers=[],this._closed=!1}[Symbol.asyncIterator](){return this}push(e){return this.enqueue(e)}enqueue(e){if(this._closed)throw new Error("Closed");if(this._settlers.length>0){if(this._values.length>0)throw new Error("Illegal internal state");let t=this._settlers.shift();e instanceof Error?t.reject(e):t.resolve({value:e})}else this._values.push(e)}close(){for(;this._settlers.length>0;)this._settlers.shift().resolve({done:!0});this._closed=!0}next(){if(this._values.length>0){let e=this._values.shift();return e instanceof Error?Promise.reject(e):Promise.resolve({done:!1,value:e})}if(this._closed){if(this._settlers.length>0)throw new Error("Illegal internal state");return Promise.resolve({done:!0,value:void 0})}return new Promise((e,t)=>{this._settlers.push({resolve:e,reject:t})})}}});function dg(r){let e=r.version!==og?` (worker-utils@${og})`:"";return`${r.name}@${r.version}${e}`}function hg(r,e={}){let t=zt?r.workerFile||`${r.id}-worker.js`:r.workerNode||`${r.id}-worker-node.js`,n=rI(r,e),s=e._workerType||e?.core?._workerType;if(!n&&s==="test")if(zt)n=`modules/${r.module}/dist/${t}`;else{let i=r.module==="tasks"&&r.workerNode?.startsWith("worker-utils/")?"worker-utils/workers":"workers",o=r.workerSourceNode||`${i}/${r.id}-worker-node.ts`;n=`modules/${r.module}/src/${o}`}return n||null}function rI(r,e={}){return(e[r.id]||{}).workerUrl||(r.id==="compression"?e.workerUrl:null)||null}function pg(r,e={}){let t=hg(r,e),n=typeof r.worker=="string"?r.worker:null,s=t||n||mg(r,!0);return lo(s),s}function mg(r,e=!1){let t=zt?r.workerFile||`${r.id}-worker.js`:r.workerNode||`${r.id}-worker-node.js`,n=r.version;n==="latest"&&(n=yd);let s=n?`@${n}`:"",o=`https://unpkg.com/${r.packageName||`@loaders.gl/${r.module}`}${s}/dist/${t}`;return e&&yD(r,o),o}function yD(r,e){if(r.version!=="latest")return;let t=`${r.module}:${r.id}`;tI.has(t)||(tI.add(t),console.warn(`loaders.gl: ${r.name} loader worker version is "latest" because __VERSION__ was not injected. Fetching ${e} from CDN.`))}var tI,nI=p(()=>{wd();_a();zv();ig();tI=new Set});function sI(){let r=typeof globalThis.crossOriginIsolated=="boolean"?globalThis.crossOriginIsolated:void 0,e={workers:Fr.isSupported(),sharedMemory:!1,crossOriginIsolated:r};if(zt&&r!==!0)e.sharedMemoryUnavailableReason="cross-origin-isolation";else if(typeof SharedArrayBuffer>"u"||typeof Atomics>"u"||typeof structuredClone!="function")e.sharedMemoryUnavailableReason="unsupported";else try{let t=new SharedArrayBuffer(4),n=structuredClone(t);Atomics.store(new Int32Array(t),0,17),e.sharedMemory=Atomics.load(new Int32Array(n),0)===17,e.sharedMemory||(e.sharedMemoryUnavailableReason="blocked")}catch{e.sharedMemoryUnavailableReason="blocked"}return e}function wD(){if(!sI().sharedMemory)return null;let r=new fo(new SharedArrayBuffer(16));return r.setProgress(0),r}function bg(r){if(r.sharedState===void 0&&r.cancellationMode==="cooperative"){let e=wD();return e?{...r,sharedState:e.buffer}:r}if(r.sharedState){if(!sI().sharedMemory)throw new Error("Shared worker memory is unavailable");new fo(r.sharedState).throwIfCancelled()}return r}var fo,iI=p(()=>{lu();_a();fo=class{constructor(e){if(typeof SharedArrayBuffer>"u"||!(e instanceof SharedArrayBuffer)||e.byteLength!==16)throw new Error("Expected a 16-byte shared worker control buffer");this.buffer=e,this.values=new Int32Array(e)}get snapshot(){return{cancelled:Atomics.load(this.values,0)!==0,completed:Atomics.load(this.values,1),total:Atomics.load(this.values,2),revision:Atomics.load(this.values,3)}}cancel(){Atomics.store(this.values,0,1),Atomics.add(this.values,3,1),Atomics.notify(this.values,0)}throwIfCancelled(){if(Atomics.load(this.values,0)!==0){let e=new Error("Shared worker task was cancelled");throw e.name="AbortError",e}}setProgress(e,t=-1){if(!Number.isInteger(e)||e<0||e>2147483647||!Number.isInteger(t)||t<-1||t>2147483647)throw new RangeError("Shared progress requires nonnegative int32 counts (or total -1)");Atomics.store(this.values,1,e),Atomics.store(this.values,2,t),Atomics.add(this.values,3,1)}}});function Td(r){let e=new Set,t=0;function n(s){if(!(!s||typeof s!="object"||e.has(s)))if(e.add(s),ArrayBuffer.isView(s))n(s.buffer);else if(s instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&s instanceof SharedArrayBuffer)t+=s.byteLength;else if(s instanceof Map)for(let[i,o]of s)n(i),n(o);else if(s instanceof Set)for(let i of s)n(i);else for(let i of Object.keys(s))n(s[i])}return n(r),t}var oI=p(()=>{});function gg(r){if(r!==void 0&&r!=="copy"&&r!=="transfer")throw new Error("Invalid worker output ownership")}var aI=p(()=>{});async function wg(r,e,t={},n={},s={}){if(gg(t.outputOwnership),t.inputOwnership!==void 0&&!["copy","transfer","share"].includes(t.inputOwnership))throw new Error("Invalid worker input ownership");t=bg(t),cI(t.signal),yg(t,[e,du(t),s]);let i=dg(r),o=t.workerPool??Ia.getWorkerFarm(t).getWorkerPool(fI(r,t,i)),a=t.jobName||r.name,c=await o.startJob(a,dI.bind(null,n,t),void 0,t.signal,{inputBytes:Td([e,pI(t),s]),priority:t.priority,admission:t.admission,sharedState:t.sharedState?new fo(t.sharedState):void 0,cancellationMode:t.cancellationMode,cancellationTimeout:t.cancellationTimeout});try{t.signal?.aborted&&!c.isCancelled&&c.abort(uI(t.signal));let u=du(t),l=va(u),f=va(s);return c.isRunning&&c.postMessage("process",{input:e,options:l,context:f},t.inputOwnership==="copy"||t.inputOwnership==="share"?[]:void 0),(await c.result).result}catch(u){throw c.isCancelled||c.abort(u),u}}function xg(r,e,t={},n={},s={}){if(gg(t.outputOwnership),t.inputOwnership!==void 0&&!["copy","transfer","share"].includes(t.inputOwnership))throw new Error("Invalid worker input ownership");return xD(r,e,t,n,s)}async function*xD(r,e,t,n,s){t=bg(t),cI(t.signal);let i=dg(r),o=t.workerPool??Ia.getWorkerFarm(t).getWorkerPool(fI(r,t,i));yg(t,[du(t),s]);let a=Td([pI(t),s]),c=t.inputBytes??a;if(o.requiresInputBytes&&t.inputBytes===void 0)throw new Error("Byte-bounded batch sessions require inputBytes");if(!Number.isSafeInteger(c)||c<a)throw new RangeError("Batch inputBytes must cover options and context buffers");let u=new fu,l=TD(e),f=!1,d=!1,h=!1,m=Promise.resolve(),b=new Error("Worker batch job failed"),g=()=>{!d&&!h&&(h=!0,_D(l))},y=()=>{f||(f=!0,u.close())},x=_=>{f||(f=!0,u.enqueue(b),u.close())},T=await o.startJob(t.jobName||r.name,(_,v,I)=>{if(!(_.isCancelled&&v!=="done"&&v!=="error"))switch(v){case"progress":hI(_,t,I);break;case"input-request":m=m.then(async()=>{if(!_.isRunning)return;let k=await l.next();if(_.isRunning)if(k.done)d=!0,_.postMessage("input-done",{});else{if(yg(t,k.value),t.inputBytes!==void 0&&Td(k.value)+a>c)throw new RangeError("Worker batch exceeds reserved inputBytes");_.postMessage("input-batch",{input:k.value},t.inputOwnership==="copy"||t.inputOwnership==="share"?[]:void 0)}}).catch(k=>{_.isCancelled||_.abort(k)});break;case"output-batch":u.push(I.result);break;case"done":_.done(I),y();break;case"error":{let k=new Error(I.error||"Worker batch processing failed");k.name=I.errorName||"Error",_.error(k),x(k);break}case"process":dI(n,t,_,v,I);break;default:{let k=new Error(`Unexpected worker batch message: ${v}`);_.error(k),x(k);break}}},void 0,t.signal,{inputBytes:c,priority:t.priority,admission:t.admission,sharedState:t.sharedState?new fo(t.sharedState):void 0,cancellationMode:t.cancellationMode,cancellationTimeout:t.cancellationTimeout}).catch(_=>{throw g(),_});T.result.catch(_=>{x(_),g()});try{let _=du(t);T.isRunning&&T.postMessage("process-in-batches",{options:va(_),context:va(s)},t.inputOwnership==="copy"||t.inputOwnership==="share"?[]:void 0);try{for await(let v of u)yield v,T.isRunning&&T.postMessage("output-ack",{})}catch(v){throw v===b&&await T.result,v}await T.result}finally{T.isRunning&&!T.isCancelled&&T.abort(lI("Worker batch iterator was closed")),g()}}function cI(r){if(r?.aborted)throw uI(r)}function uI(r){return r?r.reason:lI("Worker job was aborted")}function lI(r){let e=new Error(r);return e.name="AbortError",e}function TD(r){return Symbol.asyncIterator in r?r[Symbol.asyncIterator]():(async function*(){yield*r})()}function _D(r){try{Promise.resolve(r.return?.()).catch(()=>{})}catch{}}function fI(r,e,t){if(e.source)return{name:t,source:e.source,workerType:e.workerType};let n=hg(r,e);return n?{name:t,url:n,workerType:e.workerType}:zt&&r.loadWorker?{name:t,workerType:e.workerType,loadWorker:r.loadWorker,getUrl:()=>pg(r,e),urlKey:mg(r)}:{name:t,url:pg(r,e),workerType:e.workerType}}async function dI(r,e,t,n,s){if(!(t.isCancelled&&n!=="done"&&n!=="error"))switch(n){case"progress":hI(t,e,s);break;case"done":t.done(s);break;case"error":let i=new Error(s.error);i.name=s.errorName||"Error",t.error(i);break;case"process":let{id:o,input:a,options:c}=s;try{if(!r.process){t.postMessage("error",{id:o,error:"Worker not set up to process on main thread"});return}let u=await r.process(a,{...c,signal:e.signal,onProgress:e.onProgress},void 0,s.context||{});t.postMessage("done",{id:o,result:u})}catch(u){let l=u instanceof Error?u.message:"unknown error";t.postMessage("error",{id:o,error:l})}break;default:console.warn(`process-on-worker: unknown message ${n}`)}}function hI(r,e,t){if(!(!r.isRunning||r.isCancelled||!t.progress))try{e.onProgress?.(t.progress)}catch(n){r.abort(n)}}function du(r){let{signal:e,onProgress:t,onMetrics:n,workerPool:s,admission:i,workerType:o,...a}=r;return a}function yg(r,e){if(r.inputOwnership==="share"&&yt(e).length)throw new Error("Share ownership requires SharedArrayBuffer storage; ordinary transferables are not allowed")}function pI(r){let{sharedState:e,...t}=du(r);return t}var mI=p(()=>{eI();Zv();nI();xd();iI();_a();oI();aI()});var AD,Tg,TQ,_d=p(()=>{fg();mI();xd();AD={},Tg=typeof __filename=="string"?__filename.replace(/\\/g,"/"):"",TQ=Tg?`file://${Tg.startsWith("/")?"":"/"}${encodeURI(Tg).replace(/#/g,"%23").replace(/\?/g,"%3F")}`:AD.url});function gI(r,e){if(!r.preload)return Promise.resolve();let t=_g.get(r);return t||(t=Promise.resolve().then(()=>r.preload()).then(()=>{bI.add(r)}),_g.set(r,t),t.catch(()=>_g.delete(r))),vD(t,e)}function yI(r){return!r.preload||bI.has(r)}function vD(r,e){return e?new Promise((t,n)=>{let s=()=>{e.removeEventListener("abort",s),n(e.reason)};e.addEventListener("abort",s,{once:!0}),e.aborted&&s(),r.then(i=>{e.removeEventListener("abort",s),t(i)},i=>{e.removeEventListener("abort",s),n(i)})}):r}var _g,bI,Ag=p(()=>{_g=new WeakMap,bI=new WeakSet});var hu,Ad,vg=p(()=>{hu=class extends Error{},Ad=class{constructor(e){this.options=e,this.nextId=1,this.pending=new Map,this.incoming=new Map}request(e,t,n,s=[]){if(this.failure)return Promise.reject(this.failure.reason);if(n?.aborted)return Promise.reject(n.reason);let i=this.nextId++;return new Promise((o,a)=>{let c=()=>{let u=this.pending.get(i);u&&(this.pending.delete(i),u.cleanup(),a(n?.reason),this.send({source:"math.gl/tasks",kind:"cancel",id:i}))};this.pending.set(i,{resolve:o,reject:a,cleanup:()=>n?.removeEventListener("abort",c)}),n?.addEventListener("abort",c,{once:!0}),this.send({source:"math.gl/tasks",kind:"request",id:i,operation:e,value:t},s)})}emit(e,t,n=[]){if(this.failure)throw this.failure.reason;this.send({source:"math.gl/tasks",kind:"event",id:0,operation:e,value:t},n)}receive(e){if(!(this.failure||e?.source!=="math.gl/tasks")){if(e.kind==="failure"){let t=new Error(e.error?.message??"Task channel failed");this.close(t),this.options.onFailure?.(t)}else if(e.kind==="result"||e.kind==="error"){let t=this.pending.get(e.id);if(!t)return;if(this.pending.delete(e.id),t.cleanup(),e.kind==="result")t.resolve(e.value);else{let n=new hu(e.error?.message??"Task request failed");n.name=e.error?.name??"Error",t.reject(n)}}else if(e.kind==="cancel")this.incoming.get(e.id)?.abort(new DOMException("Task request cancelled","AbortError"));else if(e.kind==="event")try{this.options.handleEvent?.(e.operation,e.value)}catch(t){this.fail(t)}else if(e.kind==="request"){if(this.incoming.has(e.id)){this.fail(new Error("Duplicate task request identifier"));return}let t=new AbortController;this.incoming.set(e.id,t),Promise.resolve().then(()=>(t.signal.throwIfAborted(),this.options.handleRequest(e.operation,e.value,t.signal))).then(n=>{!t.signal.aborted&&!this.failure&&this.send({source:"math.gl/tasks",kind:"result",id:e.id,value:n},this.options.getResultTransferList?.(n,e.value))}).catch(n=>{!t.signal.aborted&&!this.failure&&this.send({source:"math.gl/tasks",kind:"error",id:e.id,error:{name:n instanceof Error?n.name:"Error",message:n instanceof Error?n.message:String(n)}})}).finally(()=>this.incoming.delete(e.id))}}}close(e=new Error("Task channel closed")){if(!this.failure){this.failure={reason:e};for(let t of this.pending.values())t.cleanup(),t.reject(e);this.pending.clear();for(let t of this.incoming.values())t.abort(e);this.incoming.clear()}}send(e,t=[]){if(!this.failure)try{this.options.send(e,t)}catch(n){this.fail(n)}}fail(e){if(!this.failure){this.close(e);try{this.options.send({source:"math.gl/tasks",kind:"failure",id:0,error:{name:e instanceof Error?e.name:"Error",message:e instanceof Error?e.message:String(e)}},[])}catch{}this.options.onFailure?.(e)}}}});function yn(r){if(!r||typeof r!="object"||Object.getPrototypeOf(r)!==Object.prototype)throw new TypeError("Task payloads must be plain objects with named fields")}function wt(r,e="copy"){if(yn(r),!["copy","transfer","share"].includes(e))throw new TypeError("Invalid input ownership");let t=yt(r);if(e==="share"&&t.length)throw new TypeError("Share requires shared storage");return structuredClone(r,{transfer:e==="transfer"?t:[]})}function pu(r,e={}){let t=e.signal??new AbortController().signal;return{state:r,signal:t,requestHost:async(n,s,i)=>{if(t.throwIfAborted(),!e.requestHost)throw new Error("No host request handler configured");return e.requestHost(n,s,i)},emitHost:(n,s)=>{t.throwIfAborted(),e.emitHost?.(n,s)},throwIfAborted:()=>{t.throwIfAborted(),e.throwIfAborted?.()},reportProgress:n=>e.reportProgress?.({...n,phase:n.phase??"process",unit:n.unit??"items"})}}function Id(r){return{signal:r.signal,reportProgress:e=>r.onProgress?.(e)}}var vd,Ig=p(()=>{_d();Ag();vd=class{constructor(e){this.task=e,this.initialized=!1}async initialize(e,t={}){if(this.initialized)throw new Error("Task is already initialized");return yn(e),await gI(this.task,t.signal),t.signal?.throwIfAborted(),this.state=await this.task.initialize?.(e,pu(void 0,t)),this.initialized=!0,{}}async destroy(){if(this.initialized){this.initialized=!1;let e=this.state;this.state=void 0,this.task.initialize&&await this.task.destroy?.(e)}return{}}async process(e,t,n={}){if(!this.initialized)throw new Error("Task is not initialized");if(!this.task.process)throw new Error("Task has no atomic processor");yn(e);let s=await this.task.process(e,t,pu(this.state,n));return yn(s),s}async*stream(e,t,n={}){if(!this.initialized)throw new Error("Task is not initialized");if(!this.task.processInBatches)throw new Error("Task has no streaming processor");for await(let s of this.task.processInBatches(e,t,pu(this.state,n)))yn(s),yield s}}});function wI(r,e,t={}){if(!yI(r))throw new Error("Preload task on the main thread before runTaskSync");if("execution"in t)throw new TypeError("runTaskSync always runs on the calling thread");if(!r.process)throw new TypeError("Task has no atomic processor");for(let f of[r.initialize,r.process,r.destroy])if(f&&Object.prototype.toString.call(f)==="[object AsyncFunction]")throw new TypeError("runTaskSync requires synchronous lifecycle hooks");if(t.outputOwnership&&!["copy","transfer"].includes(t.outputOwnership))throw new TypeError("Invalid output ownership");let n=pu(void 0,Id(t));n.throwIfAborted();let s=t.options??{};if(t.inputOwnership==="transfer"){let f=new Set(yt(s));if(yt(e).some(d=>f.has(d)))throw new Error("Transferred input aliases reusable options; use inputOwnership: copy")}let i=wt(s),o=wt(t.initialization??{},t.initializationOwnership),a=!1,c,u=!1,l;try{let f=r.initialize?.(o,n);if(Sg(f))throw Promise.resolve(f).then(m=>r.destroy?.(m)).catch(()=>{}),new TypeError("runTaskSync initialize returned a promise");n.state=f,a=!0,n.throwIfAborted();let d=wt(e,t.inputOwnership),h=r.process(d,i,n);if(Sg(h))throw a=!1,Promise.resolve(h).catch(()=>{}).then(()=>{if(r.initialize)return r.destroy?.(n.state)}).catch(()=>{}),new TypeError("runTaskSync process returned a promise");yn(h),n.throwIfAborted(),l=wt(h,t.outputOwnership??"transfer")}catch(f){u=!0,c=f}finally{if(a&&r.initialize)try{let f=r.destroy?.(n.state);if(Sg(f))throw Promise.resolve(f).catch(()=>{}),new TypeError("runTaskSync destroy returned a promise")}catch(f){throw u?new AggregateError([c,f],"Task processing and destruction failed"):f}}if(u)throw c;return l}function Sg(r){return!!(r&&(typeof r=="object"||typeof r=="function")&&typeof r.then=="function")}var xI=p(()=>{Ag();_d();Ig()});var Sd,TI=p(()=>{Sd=class{constructor(e){if(this.maxConcurrency=e,this.pending=[],this.active=0,this.exclusive=!1,this.closed=!1,this.idleWaiters=new Set,!Number.isSafeInteger(e)||e<1)throw new RangeError("maxConcurrency must be a positive safe integer")}run(e,t,n){return this.closed?Promise.reject(new Error("Task operation queue is closed")):e!=="parallel"&&e!=="exclusive"?Promise.reject(new TypeError("Invalid operation mode")):n?.aborted?Promise.reject(n.reason):new Promise((s,i)=>{let o=()=>{let c=this.pending.indexOf(a);c>=0&&(this.pending.splice(c,1),a.cancel(n?.reason),this.pump())},a={mode:e,cancel:c=>{n?.removeEventListener("abort",o),i(c)},start:()=>{n?.removeEventListener("abort",o),this.active++,e==="exclusive"&&(this.exclusive=!0),Promise.resolve().then(()=>(n?.throwIfAborted(),t())).then(s,i).finally(()=>{this.active--,e==="exclusive"&&(this.exclusive=!1),this.pump()})}};this.pending.push(a),n?.addEventListener("abort",o,{once:!0}),n?.aborted?o():this.pump()})}cancelPending(e){this.closed=!0;for(let t of this.pending.splice(0))t.cancel(e);this.pump()}close(){return this.closed=!0,this.whenIdle()}whenIdle(){return!this.active&&!this.pending.length?Promise.resolve():new Promise(e=>this.idleWaiters.add(e))}pump(){for(;!this.exclusive&&this.pending.length&&this.active<this.maxConcurrency;){let e=this.pending[0];if(e.mode==="exclusive"&&this.active||(this.pending.shift(),e.start(),e.mode==="exclusive"))break}if(!this.active&&!this.pending.length){for(let e of this.idleWaiters)e();this.idleWaiters.clear()}}}});var Ed,_I=p(()=>{lu();vg();Ed=class{constructor(e,t,n){this.thread=new Fr({name:e,url:t.url?.toString(),loadWorker:t.create,workerType:"module"}),this.channel=new Ad({...n,send:(s,i)=>this.thread.postMessage({source:"loaders.gl/tasks",type:"task-channel",payload:s},i)}),this.thread.onMessage=s=>{s?.type==="task-channel"&&this.channel.receive(s.payload)},this.thread.onError=s=>{this.channel.close(s),n.onFailure?.(s)}}async destroy(e){this.channel.close(e),await this.thread.destroy()}}});async function ID(r,e){let t;try{t=await e()}catch(n){try{await r.close()}catch(s){throw new AggregateError([n,s],"Task processing and destruction failed")}throw n}return await r.close(),t}async function*Lg(r,e){let t=Symbol.asyncIterator in r?r[Symbol.asyncIterator]():r[Symbol.iterator](),n=!1,s=!1;try{for(;;){let i=await new Promise((o,a)=>{let c=()=>e?.removeEventListener("abort",u),u=()=>{c(),a(e?.reason)};if(e?.addEventListener("abort",u,{once:!0}),e?.aborted){u();return}try{s=!0,Promise.resolve(t.next()).then(l=>{s=!1,c(),o(l)},l=>{s=!1,c(),a(l)})}catch(l){s=!1,c(),a(l)}});if(i.done){n=!0;return}yield i.value}}finally{if(!n)if(s)try{Promise.resolve(t.return?.()).catch(()=>{})}catch{}else await t.return?.()}}function AI(r,e,t){if(t==="transfer"){let n=new Set(yt(e));if(yt(r).some(s=>n.has(s)))throw new Error("Transferred input aliases reusable options; use inputOwnership: copy")}}var Eg,mu,vI=p(()=>{_d();Ig();xI();TI();_I();vg();Eg=class{constructor(e,t,n){this.task=e,this.release=t,this.initializationControls=n,this.nextProgressId=1,this.progressCallbacks=new Map,this.callbackFailures=new Map,this.closed=!1,this.finalized=!1,this.streams=new Set,this.invalid=!1,this.controller=new AbortController;let s=n;this.runtime=new vd(e);let i=s.operationConcurrency??1,o=e.concurrency?.maxConcurrency??1;if(!Number.isSafeInteger(o)||o<1||!Number.isSafeInteger(i)||i<1||i>o)throw new RangeError("Task concurrency must be between 1 and the task maximum");this.operationQueue=new Sd(i),this.concurrent=i>1;let a=s.execution??"auto";if(!["auto","main-thread","worker"].includes(a))throw new TypeError("Invalid execution mode");if(a==="worker"&&!e.worker)throw new Error("Task has no worker");if(a!=="main-thread"&&e.worker){let c=e.worker;if(!!c.url==!!c.create)throw new Error("Supply exactly one worker URL or factory");if(this.concurrent||s.onRequest||s.onEvent){this.workerChannel=new Ed(e.id,c,{handleRequest:async(u,l,f)=>{if(u==="task:next-input"){if(!this.channelInputs)throw new Error("No active task stream");return this.channelInputs.next()}if(!s.onRequest)throw new Error("No host request handler configured");let d=l;if(u!=="task:host-request")throw new Error("Unknown host request");return s.onRequest(d.operation,d.payload,f)},getResultTransferList:(u,l)=>l.outputOwnership==="transfer"?yt(u):[],handleEvent:(u,l)=>{let{id:f}=l;try{if(u==="task:progress"){let d=l;(this.progressCallbacks.get(d.id)??this.streamProgress)?.(d.progress)}else if(u==="task:host-event"){let d=l;s.onEvent?.(d.operation,d.payload)}}catch(d){(this.progressCallbacks.has(f)||this.streamProgressId===f)&&(this.callbackFailures.has(f)||this.callbackFailures.set(f,{reason:d}))}},onFailure:u=>{this.invalid=!0,this.operationQueue.cancelPending(u),this.controller.abort(u)}});return}this.pool=new oi({name:e.id,url:c.url?.toString(),loadWorker:c.create,workerType:"module",maxConcurrency:1,maxMobileConcurrency:1}),this.descriptor={id:e.id,name:e.id,module:"tasks",version:"prototype",options:{},worker:c.url?.toString()??!0,loadWorker:c.create,workerInBatches:c.capabilities.streaming}}}async initialize(e,t){try{yn(e),await this.enqueue(()=>this.invoke("initialize",e,{},t))}catch(n){throw await this.terminate(n),n}}runTask(e,...t){if(this.invalid)return Promise.reject(new Error("Initialized task is invalid; initialize a new instance"));if(this.closed)return Promise.reject(new Error("Initialized task is closed"));let n=t[0]?.timeout;if(n!==void 0&&(!Number.isSafeInteger(n)||n<0||n>4294967295))return Promise.reject(new RangeError("Invalid task timeout"));let s=n===void 0?void 0:AbortSignal.timeout(n),i=s&&t[0]?.signal?AbortSignal.any([s,t[0].signal]):s??t[0]?.signal,o={...t[0],signal:i},a=this.task.concurrency?.getSchedulingMode?.(e)??"exclusive";return this.operationQueue.run(a,async()=>{i?.throwIfAborted(),this.checkCapability("atomic");let c=()=>{this.concurrent&&(this.invalid=!0,this.operationQueue.cancelPending(i?.reason),this.controller.abort(i?.reason))};i?.addEventListener("abort",c,{once:!0});try{return await this.invoke("process",e,t[0]?.options??{},o)}finally{i?.removeEventListener("abort",c)}},i)}runTasks(e,...t){return this.serialStream(async function*(n){n.checkCapability("atomic");for await(let s of Lg(e,n.controls(t[0]).signal))yield await n.invoke("process",s,t[0]?.options??{},t[0])},t[0]?.signal)}runTaskInBatches(e,...t){return this.serialStream(async function*(n){n.checkCapability("streaming");let s=n.controls(t[0]),i=wt(t[0]?.options??{});async function*o(){for await(let c of Lg(e,s.signal))s.signal?.throwIfAborted(),AI(c,t[0]?.options??{},s.inputOwnership),yield wt(c,s.inputOwnership)}let a=!1;try{if(n.workerChannel){n.channelInputs=o()[Symbol.asyncIterator](),n.streamProgress=s.onProgress;try{for(await n.invoke("stream-open",{},i,s);;){let c=await n.invoke("stream-next",{},{},s);if(c.done)break;yield c.value}}finally{try{n.invalid||await n.invoke("stream-close",{},{},s)}finally{await n.channelInputs.return?.(),n.channelInputs=void 0,n.streamProgress=void 0,n.streamProgressId!==void 0&&n.callbackFailures.delete(n.streamProgressId),n.streamProgressId=void 0}}}else if(n.pool)await n.invoke("stream-options",{},i,s),yield*xg(n.descriptor,o(),{...n.workerOptions(s),inputOwnership:"transfer",workerInBatches:!0});else for await(let c of n.runtime.stream(o(),i,n.runtimeContext(s)))s.signal?.throwIfAborted(),yield wt(c,s.outputOwnership??"transfer");a=!0}catch(c){throw n.workerChannel&&(n.invalid=!0,n.operationQueue.cancelPending(c),n.controller.abort(c),await n.workerChannel.destroy(c)),n.pool&&(n.invalid=!0,await n.pool.destroy(c)),c}finally{if(n.pool&&!a&&(n.invalid=!0),n.workerChannel&&!a&&!n.invalid){let c=new Error("Worker stream ended before completion");n.invalid=!0,n.operationQueue.cancelPending(c),n.controller.abort(c),await n.workerChannel.destroy(c)}}},t[0]?.signal)}get state(){return this.invalid?"invalid":this.finalized?"closed":this.closed?"closing":"ready"}close(){return this.closing||(this.closed=!0,this.closing=(async()=>{try{await this.operationQueue.close(),this.invalid?!this.pool&&!this.workerChannel&&await this.runtime.destroy():await this.invoke("destroy",{},{})}finally{try{await this.pool?.destroy(),await this.workerChannel?.destroy()}finally{this.finalized=!0,this.release()}}})()),this.closing}async terminate(e=new Error("Task terminated")){this.operationQueue.cancelPending(e),this.controller.abort(e),this.workerChannel&&(this.invalid=!0,await this.workerChannel.destroy(e)),this.pool&&(this.invalid=!0,await this.pool.destroy(e)),await Promise.allSettled([...this.streams].map(t=>t())),await this.close()}checkCapability(e){if(this.pool||this.workerChannel?!this.task.worker?.capabilities[e]:!(e==="atomic"?this.task.process:this.task.processInBatches))throw new Error(`Task has no ${e} processor for this execution route`)}controls(e={}){if(e.outputOwnership&&!["copy","transfer"].includes(e.outputOwnership))throw new TypeError("Invalid output ownership");return{...e,signal:e.signal?AbortSignal.any([e.signal,this.controller.signal]):this.controller.signal}}workerOptions(e){return{workerPool:this.pool,workerType:"module",inputOwnership:e.inputOwnership??"copy",outputOwnership:e.outputOwnership??"transfer",signal:e.signal,onProgress:e.onProgress,cancellationMode:"terminate"}}async invoke(e,t,n,s={}){if(this.invalid)throw new Error("Initialized task is invalid; initialize a new instance");let i=e==="destroy"?{}:this.controls(s);i.signal?.throwIfAborted(),yn(t),AI(t,n,i.inputOwnership);let o=wt(n);if(this.workerChannel){let l=this.nextProgressId++,f={input:wt(t,i.inputOwnership),options:o,outputOwnership:i.outputOwnership??"transfer",progressId:l};e==="stream-open"&&(this.streamProgressId=l),this.progressCallbacks.set(l,i.onProgress);let d;try{let h=await this.workerChannel.channel.request(e,f,i.signal,yt(f));if(d=this.callbackFailures.get(l)??(e.startsWith("stream-")&&this.streamProgressId!==void 0?this.callbackFailures.get(this.streamProgressId):void 0),d)throw d.reason;return h}catch(h){throw e==="process"&&!i.signal?.aborted&&(h instanceof hu||d)||(this.invalid=!0,this.operationQueue.cancelPending(h),this.controller.abort(h),await this.workerChannel.destroy(h)),h}finally{this.progressCallbacks.delete(l),this.streamProgressId!==l&&this.callbackFailures.delete(l)}}if(this.pool)try{return await wg(this.descriptor,{operation:e,input:wt(t,i.inputOwnership),options:o},this.workerOptions({...i,inputOwnership:"transfer"}))}catch(l){throw this.invalid=!0,await this.pool.destroy(l),l}if(e==="destroy")return this.runtime.destroy();let a=wt(t,i.inputOwnership),c=this.runtimeContext(i);if(e==="initialize"){let l=await this.runtime.initialize(a,c);return i.signal?.throwIfAborted(),l}let u=await this.runtime.process(a,o,c);return i.signal?.throwIfAborted(),wt(u,i.outputOwnership??"transfer")}runtimeContext(e){return{...Id(e),requestHost:async(t,n,s={})=>{let i=e.signal??this.controller.signal;i.throwIfAborted();let o=this.initializationControls.onRequest;if(!o)throw new Error("No host request handler configured");let a=await o(t,wt(n,s.inputOwnership),i);return i.throwIfAborted(),structuredClone(a,{transfer:s.outputOwnership==="transfer"?yt(a):[]})},emitHost:(t,n)=>this.initializationControls.onEvent?.(t,structuredClone(n))}}enqueue(e){return this.closed?Promise.reject(new Error("Initialized task is closed")):this.operationQueue.run("exclusive",e)}serialStream(e,t){let n=new AbortController,s=AbortSignal.any([n.signal,this.controller.signal,t].filter(c=>!!c)),i=!1,o=this.acquireStream(e,s,()=>{i=!0}),a=()=>{i||n.abort(new Error("Stream returned before execution"))};return{[Symbol.asyncIterator](){return this},next:()=>o.next(),return:async()=>(a(),o.return(void 0)),throw:async c=>(a(),o.throw(c))}}async*acquireStream(e,t,n){if(this.closed)throw new Error("Initialized task is closed");let s,i=new Promise(d=>{s=d}),o,a=new Promise(d=>{o=d}),c=this.operationQueue.run("exclusive",async()=>{s(),await a},t);if(await Promise.race([i,c]),t.aborted)throw o(),t.reason;n();let u=e(this)[Symbol.asyncIterator](),l,f=()=>(l??(l=(async()=>{try{await u.return?.()}finally{this.streams.delete(f),o()}})()),l);this.streams.add(f);try{for(;;){this.controller.signal.throwIfAborted();let d=await u.next();if(d.done)return;yield d.value}}finally{await f()}}},mu=class{constructor(e={}){if(this.active=new Set,this.count=0,this.waiters=[],this.closed=!1,this.initializing=new Set,this.iterations=new Set,this.maxConcurrency=e.maxConcurrency??1,!Number.isSafeInteger(this.maxConcurrency)||this.maxConcurrency<1)throw new RangeError("maxConcurrency must be a positive safe integer")}runTaskSync(e,t,...n){if(this.closed)throw new Error("Task runner is closed");if(this.count>=this.maxConcurrency)throw new Error("Task runner has no synchronous capacity");this.count++;try{return wI(e,t,n[0])}finally{let s=this.waiters.shift();s?s.resolve():this.count--}}initializeTask(e,t,n={}){let s=this.open(e,t,n);return this.initializing.add(s),s.then(()=>this.initializing.delete(s),()=>this.initializing.delete(s)),s}async runTask(e,t,...n){let s=n[0]??{},i=await this.initializeTask(e,s.initialization??{},{...s,inputOwnership:s.initializationOwnership??"copy"});return ID(i,()=>i.runTask(t,s))}async*runTasks(e,t,...n){let s=n[0]??{};if(this.closed)throw new Error("Task runner is closed");if(s.initializationOwnership==="transfer")throw new TypeError("runTasks initialization is a reusable template; use copy or share");let i=s.concurrency??1;if(!Number.isSafeInteger(i)||i<1||i>this.maxConcurrency)throw new RangeError("concurrency must be between 1 and maxConcurrency");let o=[],a=new Set,c=[],u=new AbortController;this.iterations.add(u);let l=s.signal?AbortSignal.any([s.signal,u.signal]):u.signal,f=Lg(t,l)[Symbol.asyncIterator](),d=!1,h;try{for(;!d||c.length;){l.throwIfAborted(),!d&&!h&&c.length<i&&(h=f.next().then(y=>({kind:"input",next:y})));let m=await Promise.race([...c.length?[c[0]]:[],...h?[h]:[]]);if(m.kind==="result"){if(c.shift(),a.delete(m.handle),m.failed)throw m.error;yield m.value;continue}if(h=void 0,m.next.done){d=!0;continue}let b=o.find(y=>!a.has(y));if(!b&&(o.length===0||this.count<this.maxConcurrency)&&(b=await this.initializeTask(e,wt(s.initialization??{},s.initializationOwnership),{...s,signal:l,inputOwnership:s.initializationOwnership??"copy"}),o.push(b)),!b){let y=await c.shift();if(a.delete(y.handle),y.failed)throw y.error;yield y.value,b=y.handle}a.add(b);let g=b;c.push(b.runTask(m.next.value,{...s,signal:l}).then(y=>({kind:"result",handle:g,value:y}),y=>({kind:"result",handle:g,failed:!0,error:y})))}}finally{this.iterations.delete(u),u.abort(new Error("Task iteration closed"));try{h&&await h.catch(()=>{}),d||await f.return?.()}finally{await Promise.all(c),await Promise.all(o.map(m=>m.close()))}}}async*runTaskInBatches(e,t,...n){let s=n[0]??{},i=await this.initializeTask(e,s.initialization??{},{...s,inputOwnership:s.initializationOwnership??"copy"});try{yield*i.runTaskInBatches(t,s)}finally{await i.close()}}close(){if(!this.closing){this.closed=!0;for(let e of this.waiters.splice(0))e.reject(new Error("Task runner is closed"));this.closing=(async()=>{await Promise.allSettled(this.initializing);let t=(await Promise.allSettled([...this.active].map(n=>n.close()))).find(n=>n.status==="rejected");if(t?.status==="rejected")throw t.reason})()}return this.closing}async terminate(e=new Error("Task runner terminated")){for(let n of this.iterations)n.abort(e);let t=this.close();await Promise.allSettled([...this.active].map(n=>n.terminate(e))),await t}async open(e,t,n){if(this.closed)throw new Error("Task runner is closed");n.signal?.throwIfAborted(),this.count>=this.maxConcurrency?await new Promise((a,c)=>{let u={resolve:()=>{f(),a()},reject:d=>{f(),c(d)}},l=()=>{this.waiters=this.waiters.filter(d=>d!==u),u.reject(n.signal?.reason)},f=()=>n.signal?.removeEventListener("abort",l);this.waiters.push(u),n.signal?.addEventListener("abort",l,{once:!0}),n.signal?.aborted&&l()}):this.count++;let s,i=!1,o=()=>{if(i)return;i=!0,s&&this.active.delete(s);let a=this.waiters.shift();a?a.resolve():this.count--};try{if(this.closed)throw new Error("Task runner is closed");return s=new Eg(e,o,n),this.active.add(s),await s.initialize(t,n),s}catch(a){throw o(),a}}}});var II=p(()=>{vI()});var SI=p(()=>{II()});function Bg(r,e={}){let t=He?r.workerFile||`${r.id}-worker.js`:r.workerNode||`${r.id}-worker-node.js`,n=Fg(r,e),s=e._workerType||e?.core?._workerType;if(!n&&s==="test")if(He)n=`modules/${r.module}/dist/${t}`;else{let i=r.module==="core"&&r.workerNode?.startsWith("worker-utils/")?"worker-utils/workers":"workers",o=r.workerSourceNode||`${i}/${r.id}-worker-node.ts`;n=`modules/${r.module}/src/${o}`}return n||null}function Fg(r,e={}){return(e[r.id]||{}).workerUrl||(r.id==="compression"?e.workerUrl:null)||null}function LI(r,e={}){let t=Bg(r,e),n=typeof r.worker=="string"?r.worker:null,s=t||n||SD(r,!0);return gd(s),s}function SD(r,e=!1){let t=He?r.workerFile||`${r.id}-worker.js`:r.workerNode||`${r.id}-worker-node.js`,n=r.version;n==="latest"&&(n=ng);let s=n?`@${n}`:"",i=`https://unpkg.com/@loaders.gl/${r.module}${s}/dist/${t}`;return e&&ED(r,i),i}function ED(r,e){if(r.version!=="latest")return;let t=`${r.module}:${r.id}`;EI.has(t)||(EI.add(t),Ta.warn(`loaders.gl: ${r.name} loader worker version is "latest" because __VERSION__ was not injected. Fetching ${e} from CDN.`)())}var EI,BI=p(()=>{"use strict";bd();sg();cu();Uv();EI=new Set});function FI(r){return{...r,phase:r.phase??"process",unit:r.unit??"items"}}var OI=p(()=>{"use strict"});function Og(r,e=!0,t){let n=t||new Set;if(r){if(MI(r))n.add(r);else if(MI(r.buffer))n.add(r.buffer);else if(!ArrayBuffer.isView(r)){if(e&&typeof r=="object")for(let s in r)Og(r[s],e,n)}}return t===void 0?Array.from(n):[]}function MI(r){return r?r instanceof ArrayBuffer||typeof MessagePort<"u"&&r instanceof MessagePort||typeof ImageBitmap<"u"&&r instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&r instanceof OffscreenCanvas:!1}function Mg(r){if(r===null)return{};let e=Object.assign({},r);return Object.keys(e).forEach(t=>{r[t]!==null&&typeof r[t]=="object"&&!ArrayBuffer.isView(r[t])&&!(r[t]instanceof Array)?e[t]=Mg(r[t]):typeof e[t]=="function"||e[t]instanceof RegExp?e[t]={}:e[t]=r[t]}),e}var RI=p(()=>{"use strict"});function Rg(r,e={}){return!!((He?typeof Worker<"u":!!e._nodeWorkers)&&e.worker&&(r.worker||r.loadWorker||Fg(r,e)))}async function*Dg(r,e,t={},n={},s={}){let i=OD(e),o;try{o=await FD(r,t,n,s);for await(let a of o.handle.runTaskInBatches(i,{...CI(t),options:BD(t)}))yield a.value}finally{i.return?.()?.catch(()=>{}),await o?.close()}}function LD(r,e){if(e.source||e.core?.source)throw new Error("Inline legacy worker source is unsupported; use a TaskRunner worker URL or factory");let t=!Bg(r,e)&&He?r.loadWorker:void 0,n=LI(r,e);return{id:`${r.module}:${r.id}`,initialize:s=>s,worker:{...t?{create:()=>t()??MD(n)}:{url:n},capabilities:{atomic:!0,streaming:!0}}}}function CI(r){return{execution:"worker",signal:r.signal,inputOwnership:r.inputOwnership??"transfer",outputOwnership:r.outputOwnership??"transfer",onProgress:r.onProgress?e=>r.onProgress?.(FI(e)):void 0}}function BD(r){let{signal:e,onProgress:t,parserOptions:n,...s}=r;return Mg(n??s)}async function FD(r,e,t,n){e.signal?.throwIfAborted();let s=LD(r,e),i=DI.get(r);i||(i={runner:new mu({maxConcurrency:Gv?e.maxMobileConcurrency??1:e.maxConcurrency??3}),requests:0},DI.set(r,i));let o=i,a=t.process?new MessageChannel:void 0,c=new AbortController,u=!1,l=()=>c.abort(e.signal?.reason);e.signal?.addEventListener("abort",l,{once:!0});let f=()=>{u=!0,e.signal?.removeEventListener("abort",l),c.abort(),a?.port1.close(),a?.port2.close()};a&&(a.port1.onmessage=async({data:b})=>{try{let g=await t.process(b.input,b.options,{signal:c.signal,throwIfAborted:()=>c.signal.throwIfAborted()},b.context);!u&&!c.signal.aborted&&a.port1.postMessage({identifier:b.identifier,value:g},Og(g))}catch(g){if(u||c.signal.aborted)return;a.port1.postMessage({identifier:b.identifier,error:{name:g instanceof Error?g.name:"Error",message:g instanceof Error?g.message:String(g)}})}},a.port1.start()),o.requests++,NI.add(o);let d=!1,h=()=>{d||(d=!0,o.requests--,o.requests||NI.delete(o))},m;try{m=await o.runner.initializeTask(s,{context:structuredClone(n),...a?{port:a.port2}:{}},{...CI(e),inputOwnership:"transfer"})}catch(b){throw h(),f(),b}return{handle:m,async close(){try{await m.close()}finally{f(),h()}}}}function OD(r){let e=Symbol.asyncIterator in r?r[Symbol.asyncIterator]():r[Symbol.iterator](),t=!1;return{[Symbol.asyncIterator](){return this},async next(){if(t)return{done:!0,value:void 0};let n=await e.next();return n.done||t?(t=!0,{done:!0,value:void 0}):{done:!1,value:{value:n.value}}},async return(){return t||(t=!0,await e.return?.()),{done:!0,value:void 0}}}}function MD(r){let e=new URL(r,globalThis.document?.baseURI??globalThis.location.href),t=e.href;if(/^https?:$/.test(e.protocol)&&e.origin!==globalThis.location.origin){let n=kI.get(e.href);n||(n=URL.createObjectURL(new Blob([`import ${JSON.stringify(e.href)};`],{type:"application/javascript"})),kI.set(e.href,n)),t=n}return new Worker(t,{type:"module"})}var DI,NI,kI,UI=p(()=>{"use strict";SI();BI();OI();RI();cu();DI=new WeakMap,NI=new Set,kI=new Map});function wn(r={}){let e=r.useLocalLibraries??r.core?.useLocalLibraries,t=RD(r.CDN,r.core?.CDN),n=r.modules;return{...e!==void 0?{useLocalLibraries:e}:{},...t!==void 0?{CDN:t}:{},...n!==void 0?{modules:n}:{}}}function RD(r,e){if(typeof r=="string"||r===null)return r;if(typeof e=="string"||e===null)return e}async function Sa(r,e=null,t={},n=null,s=null){let i=r;if(e){let a=n||r,c=t.modules?.[a];if(c!==void 0&&typeof c!="string")return c;r=kg(r,e,t,n),i=s&&(!(typeof c=="string")||typeof t.modules?.[s]=="string")?kg(s,e,t,s):r}let o=DD(r,i,uo);return Ng[o]=Ng[o]||ND(r,i),await Ng[o]}function DD(r,e,t){return t?JSON.stringify([r,e]):r}function kg(r,e,t={},n=null){if(t?.core)throw new Error("loadLibrary: options.core must be pre-normalized");n=n||r;let s=t.modules||{};if(typeof s[n]=="string")return s[n];if(!t.useLocalLibraries&&r.startsWith("http"))return r;if(!He)return`modules/${e}/dist/libs/${n}`;if(t.CDN){if(typeof t.CDN!="string")throw new Error("loadLibrary: options.CDN must be a string or null");return gd(t.CDN.startsWith("http")),`${t.CDN}/${e}@${Pv}/dist/libs/${n}`}return uo?n.endsWith(".mjs")?`./libs/${n}`:`../src/libs/${n}`:`modules/${e}/src/libs/${n}`}async function ND(r,e){if(r.endsWith("wasm"))return await UD(r);if(!He){let{requireFromFile:n}=globalThis.loaders||{};try{let s=await n?.(r);return s||!r.includes("/dist/libs/")?s:await n?.(r.replace("/dist/libs/","/src/libs/"))}catch(s){if(r.includes("/dist/libs/"))try{return await n?.(r.replace("/dist/libs/","/src/libs/"))}catch{}return Ta.error(String(s))(),null}}if(uo)return kD(r,e);let t=await PD(r);return CD(t,r)}async function kD(r,e=r){try{importScripts()}catch{let n=await import(new URL(e,globalThis.location.href).href);return n.default??n}return importScripts(r)}function CD(r,e){let t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(r))}catch{t.text=r}return document.body.appendChild(t),null}async function UD(r){let{readFileAsArrayBuffer:e}=globalThis.loaders||{};if(He||!e||r.startsWith("http"))return await(await fetch(r)).arrayBuffer();try{return await e(r)}catch{if(r.includes("/dist/libs/"))return await e(r.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load ArrayBuffer from ${r}`)}}async function PD(r){let{readFileAsText:e}=globalThis.loaders||{};if(He||!e||r.startsWith("http"))return await(await fetch(r)).text();try{return await e(r)}catch{if(r.includes("/dist/libs/"))return await e(r.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load text from ${r}`)}}var Ng,PI=p(()=>{"use strict";bd();cu();sg();Vv();Ng={}});var ai=p(()=>{"use strict";cu();UI();PI()});function Cg(r,e){let t=e?._nodeWorkers??e?.core?._nodeWorkers,n=e?.worker??e?.core?.worker;return!Kn&&!t?!1:Rg({...r,options:r.options||{}},{worker:!!n,_nodeWorkers:!!t})}var VI=p(()=>{"use strict";ai();Ub()});function GI(r,e=5){return typeof r=="string"?r.slice(0,e):ArrayBuffer.isView(r)?jI(r.buffer,r.byteOffset,e):r instanceof ArrayBuffer?jI(r,0,e):""}function jI(r,e,t){if(r.byteLength<=e+t)return"";let n=new DataView(r),s="";for(let i=0;i<t;i++)s+=String.fromCharCode(n.getUint8(e+i));return s}var zI=p(()=>{"use strict"});function Ug(r){try{return JSON.parse(r)}catch{throw new Error(`Failed to parse JSON from data starting with "${GI(r)}"`)}}var WI=p(()=>{"use strict";zI()});function Pg(...r){return $I(r)}function $I(r){let e=r.map(i=>i instanceof ArrayBuffer?new Uint8Array(i):i),t=e.reduce((i,o)=>i+o.byteLength,0),n=new Uint8Array(t),s=0;for(let i of e)n.set(i,s),s+=i.byteLength;return n.buffer}function ho(r,e,t){let n=t!==void 0?new Uint8Array(r).subarray(e,e+t):new Uint8Array(r).subarray(e);return new Uint8Array(n).buffer}var Vg=p(()=>{"use strict"});function _e(r,e){return dr(r>=0),dr(e>0),r+(e-1)&~(e-1)}function po(r,e,t){let n;if(r instanceof ArrayBuffer)n=new Uint8Array(r);else{let s=r.byteOffset,i=r.byteLength;n=new Uint8Array(r.buffer||r.arrayBuffer,s,i)}return e.set(n,t),t+_e(n.byteLength,4)}var jg=p(()=>{"use strict";Cb()});function bu(r,e,t,n){let s=_e(t.byteLength,n),i=s-t.byteLength;if(r){let o=new Uint8Array(r.buffer,r.byteOffset+e,t.byteLength),a=new Uint8Array(t);o.set(a);for(let c=0;c<i;++c)r.setUint8(e+t.byteLength+c,32)}return e+=s,e}function Ld(r,e,t,n){let i=new TextEncoder().encode(t);return e=bu(r,e,i,n),e}var qI=p(()=>{"use strict";jg()});function Gg(r){let e=new Uint8Array(r),t=[],n=3*4096;for(let s=0;s<e.length;s+=n)t.push(btoa(String.fromCharCode(...e.subarray(s,s+n))));return t.join("")}var KI=p(()=>{"use strict"});async function*zg(r,e={}){let t=new TextDecoder(void 0,e);for await(let n of r)yield typeof n=="string"?n:t.decode(n,{stream:!0})}async function*Wg(r){let e="";for await(let t of r){e+=t;let n;for(n=e.indexOf(`
37
+ `);n>=0;){let s=e.slice(0,n+1);e=e.slice(n+1),yield s,n=e.indexOf(`
38
+ `)}}e.length>0&&(yield e)}var HI=p(()=>{"use strict"});async function $g(r){let e=[];for await(let t of r)e.push(VD(t));return Pg(...e)}function VD(r){if(r instanceof ArrayBuffer)return r;if(ArrayBuffer.isView(r)){let{buffer:e,byteOffset:t,byteLength:n}=r;return XI(e,t,n)}return XI(r)}function XI(r,e=0,t=r.byteLength-e){let n=new Uint8Array(r,e,t),s=new Uint8Array(n.length);return s.set(n),s.buffer}var JI=p(()=>{"use strict";Vg()});function mo(r){if(r instanceof ArrayBuffer)return r;if(Rv(r))return qg(r);let{buffer:e,byteOffset:t,byteLength:n}=r;return e instanceof ArrayBuffer&&t===0&&n===e.byteLength?e:qg(e,t,n)}function qg(r,e=0,t=r.byteLength-e){let n=new Uint8Array(r,e,t),s=new Uint8Array(n.length);return s.set(n),s.buffer}var YI=p(()=>{"use strict";Dv()});function Kg(r){return{...r,batchType:"data",length:r.data.numRows}}var QI=p(()=>{"use strict"});var Be=p(()=>{"use strict";_v();Cb();Ub();bd();Nv();rg();rg();VI();WI();Vg();jg();qI();KI();HI();JI();YI();QI()});function Bd(r,e={}){let t={};for(let s in e)s!=="value"&&(t[s]=JSON.stringify(e[s]));let n=[];for(let s in r){let i=r[s],o=jD(s,i);n.push(o)}return{fields:n,metadata:t}}function jD(r,e){let t={};for(let i in e)i!=="value"&&(t[i]=JSON.stringify(e[i]));let{type:n}=Yc(e.value);return e.size===1||e.size===void 0||(n={type:"fixed-size-list",listSize:e.size,children:[{name:"values",type:n}]}),{name:r,type:n,nullable:!1,metadata:t}}var Hg=p(()=>{"use strict";Xr()});function eS(r){let e=new Yg;r.indexOf(`\r
39
+ `)!==-1&&(r=r.replace(/\r\n/g,`
40
+ `)),r.indexOf(`\\
41
+ `)!==-1&&(r=r.replace(/\\\n/g,""));let t=r.split(`
42
+ `),n="",s="",i=0,o=[],a=typeof"".trimLeft=="function";for(let l=0,f=t.length;l<f;l++)if(n=t[l],n=a?n.trimLeft():n.trim(),i=n.length,i!==0&&(s=n.charAt(0),s!=="#"))if(s==="v"){let d=n.split(/\s+/);switch(d[0]){case"v":e.vertices.push(parseFloat(d[1]),parseFloat(d[2]),parseFloat(d[3])),d.length>=7&&e.colors.push(parseFloat(d[4]),parseFloat(d[5]),parseFloat(d[6]));break;case"vn":e.normals.push(parseFloat(d[1]),parseFloat(d[2]),parseFloat(d[3]));break;case"vt":e.uvs.push(parseFloat(d[1]),parseFloat(d[2]));break;default:}}else if(s==="f"){let h=n.substr(1).trim().split(/\s+/),m=[];for(let g=0,y=h.length;g<y;g++){let x=h[g];if(x.length>0){let T=x.split("/");m.push(T)}}let b=m[0];for(let g=1,y=m.length-1;g<y;g++){let x=m[g],T=m[g+1];e.addFace(b[0],x[0],T[0],b[1],x[1],T[1],b[2],x[2],T[2])}}else if(s==="l"){let d=n.substring(1).trim().split(" "),h,m=[];if(n.indexOf("/")===-1)h=d;else{h=[];for(let b=0,g=d.length;b<g;b++){let y=d[b].split("/");y[0]!==""&&h.push(y[0]),y[1]!==""&&m.push(y[1])}}e.addLineGeometry(h,m)}else if(s==="p"){let h=n.substr(1).trim().split(" ");e.addPointGeometry(h)}else if(ZI.test(n)){o=ZI.exec(n)||[];let d=(" "+o[0].substr(1).trim()).substr(1);e.startObject(d)}else if(zD.test(n))e.object.startMaterial(n.substring(7).trim(),e.materialLibraries);else if(GD.test(n))e.materialLibraries.push(n.substring(7).trim());else if(s==="s"){if(o=n.split(" "),o.length>1){let h=o[1].trim().toLowerCase();e.object.smooth=h!=="0"&&h!=="off"}else e.object.smooth=!0;let d=e.object.currentMaterial();d&&(d.smooth=e.object.smooth)}else{if(n==="\0")continue;throw new Error(`Unexpected line: "${n}"`)}e.finalize();let c=[],u=[];for(let l of e.objects){let{geometry:f}=l;if(f.vertices.length===0)continue;let d={header:{vertexCount:f.vertices.length/3},attributes:{}};switch(f.type){case"Points":d.mode=0;break;case"Line":d.mode=1;break;default:d.mode=4;break}d.attributes.POSITION={value:new Float32Array(f.vertices),size:3},f.normals.length>0&&(d.attributes.NORMAL={value:new Float32Array(f.normals),size:3}),f.colors.length>0&&(d.attributes.COLOR_0={value:new Float32Array(f.colors),size:3}),f.uvs.length>0&&(d.attributes.TEXCOORD_0={value:new Float32Array(f.uvs),size:2}),d.materials=[];for(let h of l.materials){let m={name:h.name,flatShading:!h.smooth};d.materials.push(m),u.push(m)}d.name=l.name,c.push(d)}return{meshes:c,materials:u}}var ZI,GD,zD,Xg,Jg,Yg,tS=p(()=>{"use strict";ZI=/^[og]\s*(.+)?/,GD=/^mtllib /,zD=/^usemtl /,Xg=class r{constructor({index:e,name:t="",mtllib:n,smooth:s,groupStart:i}){this.index=e,this.name=t,this.mtllib=n,this.smooth=s,this.groupStart=i,this.groupEnd=-1,this.groupCount=-1,this.inherited=!1}clone(e=this.index){return new r({index:e,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0})}},Jg=class{constructor(e=""){this.name=e,this.geometry={vertices:[],normals:[],colors:[],uvs:[]},this.materials=[],this.smooth=!0,this.fromDeclaration=null}startMaterial(e,t){let n=this._finalize(!1);n&&(n.inherited||n.groupCount<=0)&&this.materials.splice(n.index,1);let s=new Xg({index:this.materials.length,name:e,mtllib:Array.isArray(t)&&t.length>0?t[t.length-1]:"",smooth:n!==void 0?n.smooth:this.smooth,groupStart:n!==void 0?n.groupEnd:0});return this.materials.push(s),s}currentMaterial(){if(this.materials.length>0)return this.materials[this.materials.length-1]}_finalize(e){let t=this.currentMaterial();if(t&&t.groupEnd===-1&&(t.groupEnd=this.geometry.vertices.length/3,t.groupCount=t.groupEnd-t.groupStart,t.inherited=!1),e&&this.materials.length>1)for(let n=this.materials.length-1;n>=0;n--)this.materials[n].groupCount<=0&&this.materials.splice(n,1);return e&&this.materials.length===0&&this.materials.push({name:"",smooth:this.smooth}),t}},Yg=class{constructor(){this.objects=[],this.object=null,this.vertices=[],this.normals=[],this.colors=[],this.uvs=[],this.materialLibraries=[],this.startObject("",!1)}startObject(e,t=!0){if(this.object&&!this.object.fromDeclaration){this.object.name=e,this.object.fromDeclaration=t;return}let n=this.object&&typeof this.object.currentMaterial=="function"?this.object.currentMaterial():void 0;if(this.object&&typeof this.object._finalize=="function"&&this.object._finalize(!0),this.object=new Jg(e),this.object.fromDeclaration=t,n&&n.name&&typeof n.clone=="function"){let s=n.clone(0);s.inherited=!0,this.object.materials.push(s)}this.objects.push(this.object)}finalize(){this.object&&typeof this.object._finalize=="function"&&this.object._finalize(!0)}parseVertexIndex(e,t){let n=parseInt(e);return(n>=0?n-1:n+t/3)*3}parseNormalIndex(e,t){let n=parseInt(e);return(n>=0?n-1:n+t/3)*3}parseUVIndex(e,t){let n=parseInt(e);return(n>=0?n-1:n+t/2)*2}addVertex(e,t,n){let s=this.vertices,i=this.object.geometry.vertices;i.push(s[e+0],s[e+1],s[e+2]),i.push(s[t+0],s[t+1],s[t+2]),i.push(s[n+0],s[n+1],s[n+2])}addVertexPoint(e){let t=this.vertices;this.object.geometry.vertices.push(t[e+0],t[e+1],t[e+2])}addVertexLine(e){let t=this.vertices;this.object.geometry.vertices.push(t[e+0],t[e+1],t[e+2])}addNormal(e,t,n){let s=this.normals,i=this.object.geometry.normals;i.push(s[e+0],s[e+1],s[e+2]),i.push(s[t+0],s[t+1],s[t+2]),i.push(s[n+0],s[n+1],s[n+2])}addColor(e,t,n){let s=this.colors,i=this.object.geometry.colors;i.push(s[e+0],s[e+1],s[e+2]),i.push(s[t+0],s[t+1],s[t+2]),i.push(s[n+0],s[n+1],s[n+2])}addUV(e,t,n){let s=this.uvs,i=this.object.geometry.uvs;i.push(s[e+0],s[e+1]),i.push(s[t+0],s[t+1]),i.push(s[n+0],s[n+1])}addUVLine(e){let t=this.uvs;this.object.geometry.uvs.push(t[e+0],t[e+1])}addFace(e,t,n,s,i,o,a,c,u){let l=this.vertices.length,f=this.parseVertexIndex(e,l),d=this.parseVertexIndex(t,l),h=this.parseVertexIndex(n,l);if(this.addVertex(f,d,h),s!==void 0&&s!==""){let m=this.uvs.length;f=this.parseUVIndex(s,m),d=this.parseUVIndex(i,m),h=this.parseUVIndex(o,m),this.addUV(f,d,h)}if(a!==void 0&&a!==""){let m=this.normals.length;f=this.parseNormalIndex(a,m),d=a===c?f:this.parseNormalIndex(c,m),h=a===u?f:this.parseNormalIndex(u,m),this.addNormal(f,d,h)}this.colors.length>0&&this.addColor(f,d,h)}addPointGeometry(e){this.object.geometry.type="Points";let t=this.vertices.length;for(let n of e)this.addVertexPoint(this.parseVertexIndex(n,t))}addLineGeometry(e,t){this.object.geometry.type="Line";let n=this.vertices.length,s=this.uvs.length;for(let i of e)this.addVertexLine(this.parseVertexIndex(i,n));for(let i of t)this.addUVLine(this.parseUVIndex(i,s))}}});function Fd(r,e){let{meshes:t}=eS(r),n=t.reduce((a,c)=>a+c.header.vertexCount,0),s=WD(t,n),i={vertexCount:n,boundingBox:fr(s)??void 0},o=Bd(s,{mode:4,boundingBox:i.boundingBox});return{loaderData:{header:{}},schema:o,header:i,mode:4,topology:"point-list",attributes:s}}function WD(r,e){let t=new Float32Array(e*3),n,s,i,o=0;for(let c of r){let{POSITION:u,NORMAL:l,COLOR_0:f,TEXCOORD_0:d}=c.attributes;t.set(u.value,o*3),l&&(n=n||new Float32Array(e*3),n.set(l.value,o*3)),f&&(s=s||new Float32Array(e*3),s.set(f.value,o*3)),d&&(i=i||new Float32Array(e*2),i.set(d.value,o*2)),o+=u.value.length/3}let a={};return a.POSITION={value:t,size:3},n&&(a.NORMAL={value:n,size:3}),s&&(a.COLOR_0={value:s,size:3}),i&&(a.TEXCOORD_0={value:i,size:2}),a}var rS=p(()=>{"use strict";Xr();tS();Hg()});function nS(r,e){let t=ri(r);return e?.obj?.shape==="mesh"?pn(t):t}function qD(r){let e=r?.core?.batchSize;return typeof e=="number"?e:void 0}function KD(r){return r.split(/\r?\n/).some(e=>{let t=e.trimStart();return t.startsWith("f ")||t.startsWith("l ")})}function*HD(r,e,t){let n=r.split(/\r?\n/).filter(s=>s.trimStart().startsWith("v "));yield*JD(n,e,t)}async function*XD(r,e,t){let n=t||1e3,s=[];for await(let i of r)i.trimStart().startsWith("v ")&&(s.push(i),s.length>=n&&(yield Od(Zg(s),e),s=[]));s.length>0&&(yield Od(Zg(s),e))}function*JD(r,e,t){let n=t||r.length||1;for(let s=0;s<r.length;s+=n){let i=Zg(r.slice(s,s+n));yield Od(i,e)}}function Zg(r){let e=new Float32Array(r.length*3);for(let s=0;s<r.length;s++){let i=r[s].trim().split(/\s+/);e[s*3+0]=Number(i[1]),e[s*3+1]=Number(i[2]),e[s*3+2]=Number(i[3])}let t={POSITION:{value:e,size:3}},n=fr(t);return{loaderData:{header:{}},schema:Bd(t,{mode:0,boundingBox:n??void 0}),header:{vertexCount:r.length,boundingBox:n??void 0},mode:0,topology:"point-list",attributes:t}}function Od(r,e){let t=ri(r);if(e?.obj?.shape==="mesh"){let n=pn(t);return{shape:"mesh",batchType:"data",data:n,length:n.header?.vertexCount||0}}return Kg(t)}function YD(r,e){let t=Df(r);return e?.obj?.shape==="mesh"?pn(t):t}function QD(r,e){let t=Df(r);return e?.obj?.shape!=="mesh"?t:{shape:"mesh",batchType:"data",data:pn(t),length:t.length}}async function*ZD(r,e){let t=qD(e);if(e?.obj?.pointCloud){let i=zg(r),o=Wg(i);yield*XD(o,e,t);return}let n=await $g(r),s=new TextDecoder().decode(n);if(KD(s)){yield Od(Fd(s,e),e);return}yield*HD(s,e,t)}function Qg(r){return"shape"in r&&r.shape==="arrow-table"?r.data:r}var $ee,$D,bo,eN,sS=p(()=>{"use strict";Xr();Be();fa();Xr();Hg();rS();iS();({preload:$ee,...$D}=Md);bo={...$D,dataType:null,batchType:null,parse:async(r,e)=>nS(Fd(new TextDecoder().decode(r),e),e),parseTextSync:(r,e)=>nS(Fd(r,e),e),parseInBatches:(r,e)=>Eb(ZD(r,e)),serializeWorkerResult:no,deserializeWorkerResult:YD,serializeWorkerBatch:no,deserializeWorkerBatch:QD};eN={...bo,dataType:Md.dataType,batchType:Md.batchType,parse:async(r,e)=>Qg(await bo.parse(r,e)),parseTextSync:(r,e)=>Qg(bo.parseTextSync(r,e)),async*parseInBatches(r,e){for await(let t of bo.parseInBatches(r,e))"shape"in t&&t.shape==="arrow-table"?t.data.batches.length?yield*t.data.batches:yield sd(t.data.schema):yield t},deserializeWorkerResult:(r,e)=>Qg(bo.deserializeWorkerResult(r,e)),deserializeWorkerBatch(r,e){let t=bo.deserializeWorkerBatch(r,e);return"shape"in t&&t.shape==="arrow-table"?t.data.batches[0]??sd(t.data.schema):t}}});var ey={};Y(ey,{OBJColumnLoader:()=>bo,OBJLoaderWithParser:()=>eN});var ty=p(()=>{"use strict";sS()});async function rN(){let{OBJLoaderWithParser:r}=await Promise.resolve().then(()=>(ty(),ey));return r}function nN(r){return r[0]==="v"}var tN,Md,iS=p(()=>{"use strict";bT();fa();tN="5.0.0-beta.10";Md={defaultShape:"arrow",supportsNativeArrow:!0,...mT,dataType:null,batchType:null,version:tN,worker:!0,workerInBatches:!0,serializeWorkerResult:no,text:!0,testText:nN,options:{obj:{shape:"arrow"}},preload:rN}});var oS,aS=p(()=>{"use strict";oS={name:"MTL",id:"mtl",module:"mtl",encoding:"text",format:"mtl",extensions:["mtl"],mimeTypes:["text/plain"]}});function ry(r,e){let t=[],n={name:"placeholder"},s=r.split(`
43
+ `);for(let i of s){if(i=i.trim(),i.length===0||i.charAt(0)==="#")continue;let o=i.indexOf(" "),a=o>=0?i.substring(0,o):i;a=a.toLowerCase();let c=o>=0?i.substring(o+1):"";switch(c=c.trim(),a){case"newmtl":n={name:c},t.push(n);break;case"ka":n.ambientColor=Rd(c);break;case"kd":n.diffuseColor=Rd(c);break;case"map_kd":n.diffuseTextureUrl=c;break;case"ks":n.specularColor=Rd(c);break;case"map_ks":n.specularTextureUrl=c;break;case"ke":n.emissiveColor=Rd(c);break;case"map_ke":n.emissiveTextureUrl=c;break;case"ns":n.shininess=parseFloat(c);break;case"map_ns":break;case"ni":n.refraction=parseFloat(c);break;case"illum":n.illumination=parseFloat(c);break;default:break}}return t}function Rd(r,e){let t=r.split(sN,3);return[parseFloat(t[0]),parseFloat(t[1]),parseFloat(t[2])]}var sN,cS=p(()=>{"use strict";sN=/\s+/});var rte,iN,nte,oN,aN,cN,uS=p(()=>{"use strict";cS();ny();ny();({preload:rte,...iN}=Dd),{preload:nte,...oN}=Dd,aN={...iN},cN={...oN,parse:async(r,e)=>ry(new TextDecoder().decode(r),e?.mtl),parseTextSync:(r,e)=>ry(r,e?.mtl)}});var sy={};Y(sy,{MTLLoaderWithParser:()=>cN,MTLWorkerLoaderWithParser:()=>aN});var iy=p(()=>{"use strict";uS()});async function lN(){let{MTLLoaderWithParser:r}=await Promise.resolve().then(()=>(iy(),sy));return r}var uN,Dd,ny=p(()=>{"use strict";aS();uN="5.0.0-beta.10";Dd={...oS,dataType:null,batchType:null,version:uN,worker:!0,text:!0,testText:r=>r.includes("newmtl"),options:{mtl:{}},preload:lN}});var Nd,oy=p(()=>{"use strict";Nd="5.0.0-beta.10"});var lS,fS,ay=p(()=>{"use strict";lS={name:"glTF",id:"gltf",module:"scene",encoding:"binary",format:"gltf",extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"]},fS={name:"GLB",id:"glb",module:"scene",encoding:"binary",format:"glb",extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,tests:["glTF"]}});function dS(r){return!pN(r,"ftyp",4)||(r[8]&96)===0?null:fN(r)}function fN(r){switch(dN(r,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function dN(r,e,t){return String.fromCharCode(...r.slice(e,t))}function hN(r){return[...r].map(e=>e.charCodeAt(0))}function pN(r,e,t=0){let n=hN(e);for(let s=0;s<n.length;++s)if(n[s]!==r[s+t])return!1;return!0}var hS=p(()=>{"use strict"});function Xn(r){let e=yu(r);return bN(e)||wN(e)||gN(e)||yN(e)||mN(e)}function mN(r){let e=new Uint8Array(r instanceof DataView?r.buffer:r),t=dS(e);return t?{mimeType:t.mimeType,width:0,height:0}:null}function bN(r){let e=yu(r);return e.byteLength>=33&&e.getUint32(0,hr)===2303741511&&e.getUint32(4,hr)===218765834&&e.getUint32(8,hr)===13&&e.getUint32(12,hr)===1229472850?{mimeType:"image/png",width:e.getUint32(16,hr),height:e.getUint32(20,hr)}:null}function gN(r){let e=yu(r);return e.byteLength>=10&&e.getUint32(0,hr)===1195984440?{mimeType:"image/gif",width:e.getUint16(6,gu),height:e.getUint16(8,gu)}:null}function yN(r){let e=yu(r);return e.byteLength>=14&&e.getUint16(0,hr)===16973&&e.getUint32(2,gu)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,gu),height:e.getUint32(22,gu)}:null}function wN(r){let e=yu(r);if(!(e.byteLength>=3&&e.getUint16(0,hr)===65496&&e.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:s}=xN(),i=2;for(;i+9<e.byteLength;){let o=e.getUint16(i,hr);if(s.has(o))return{mimeType:"image/jpeg",height:e.getUint16(i+5,hr),width:e.getUint16(i+7,hr)};if(!n.has(o))return null;i+=2,i+=e.getUint16(i,hr)}return null}function xN(){let r=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)r.add(t);return{tableMarkers:r,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function yu(r){if(r instanceof DataView)return r;if(ArrayBuffer.isView(r))return new DataView(r.buffer);if(r instanceof ArrayBuffer)return new DataView(r);throw new Error("toDataView")}var hr,gu,kd=p(()=>{"use strict";hS();hr=!1,gu=!0});var TN,_N,AN,pS,mS=p(()=>{"use strict";kd();TN=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],_N=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],AN={id:"image",module:"images",name:"Images",encoding:"image",format:"image",mimeTypes:_N,extensions:TN,tests:[r=>!!Xn(new DataView(r))]},pS={...AN,id:"imagebitmap",name:"ImageBitmap",format:"image-bitmap"}});var Cd,cy=p(()=>{"use strict";Cd="5.0.0-beta.10"});function Ea(r){if(!r)return!1;if(vN.test(r))return!0;for(let e=r.indexOf(".svg");e>=0;e=r.indexOf(".svg",e+4)){let t=r[e+4];if(t===void 0||t==="?"||t==="#")return!0}return!1}function bS(r,e){if(Ea(e)){let n=new TextDecoder().decode(r);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(i){throw new Error(i.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return uy(r,e)}function uy(r,e){if(Ea(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(r)])}var vN,Ud=p(()=>{"use strict";vN=/^data:image\/svg\+xml/});async function gS(r,e){let t=bS(r,e),n=self.URL||self.webkitURL,s=typeof t!="string"&&n.createObjectURL(t);try{return await IN(s||t)}finally{s&&n.revokeObjectURL(s)}}async function IN(r){let e=new Image;return e.src=r,await new Promise((t,n)=>{try{e.onload=()=>t(e),e.onerror=s=>{let i=s instanceof Error?s.message:"error";n(new Error(i))}}catch(s){n(s)}})}var yS=p(()=>{"use strict";Ud()});async function xS(r,e,t){let n;Ea(t)?n=await gS(r,t):n=uy(r,t);let s=e&&e.imagebitmap;return await _S(n,s,Jr(e))}async function TS(r,e){let t=e&&e.imagebitmap;return await _S(r,t,Jr(e))}async function _S(r,e=null,t=Jr()){if((SN(e)||!wS)&&(e=null),e)try{return await createImageBitmap(r,e)}catch(n){t.warn(String(n))(),wS=!1}return await createImageBitmap(r)}function SN(r){if(!r)return!0;for(let e in r)if(Object.prototype.hasOwnProperty.call(r,e))return!1;return!0}var wS,AS=p(()=>{"use strict";Be();Ud();yS();wS=!0});async function vS(r,e){let{mimeType:t}=Xn(r)||{},n=globalThis.loaders?.parseImageNode;dr(n);let s=globalThis.loaders?.createImageBitmapNode;if(!s)throw new Error("Install '@loaders.gl/core/polyfills' to parse images under Node.js");let i=await n(r,t);return s(i)}var IS=p(()=>{"use strict";Be();kd()});async function ly(r,e,t){e=e||{},LS(e);let n=!!globalThis.loaders?.parseImageNode;if(!Kn||n)return await vS(r,e);if(typeof ImageBitmap>"u"||typeof createImageBitmap!="function")throw new Error(SS);return await xS(r,e,t?.url)}async function ES(r,e,t){e=e||{},LS(e);let n=!!globalThis.loaders?.parseImageNode;if(!Kn||n||Ea(t?.url)||r.type.startsWith("image/svg+xml"))return await ly(await r.arrayBuffer(),e,t);if(typeof ImageBitmap>"u"||typeof createImageBitmap!="function")throw new Error(SS);return await TS(r,e)}function LS(r){let e=r.image?.type;if(e&&e!=="imagebitmap")throw new Error(EN)}var EN,SS,BS=p(()=>{"use strict";Be();AS();Ud();IS();EN="@loaders.gl/images: ImageLoader only accepts options.image.type='imagebitmap'. Remove legacy image/data/auto values and call getImageData(image) if you need raw pixels.",SS="@loaders.gl/images: ImageLoader requires browser ImageBitmap support. Use a browser with createImageBitmap support or load images under Node.js with @loaders.gl/core/polyfills."});var FS={};Y(FS,{ImageLoaderWithParser:()=>BN});var Rte,LN,BN,OS=p(()=>{"use strict";BS();fy();({preload:Rte,...LN}=wu),BN={...LN,parse:ly,parseBlob:ES}});async function ON(){let{ImageLoaderWithParser:r}=await Promise.resolve().then(()=>(OS(),FS));return r}var FN,wu,fy=p(()=>{"use strict";cy();mS();FN={image:{}};wu={dataType:null,batchType:null,...pS,version:Cd,options:FN,preload:ON}});function RS(r){let e=NN(r);if(!e)throw new Error("Not an image");return e}function xu(r){switch(RS(r)){case"data":return r;case"imagebitmap":return MN(r)?RN(r):MS(r);case"image":return MS(r);default:throw new Error("getImageData")}}function MN(r){let e=globalThis.loaders?.isImageBitmapNode;return!!e?.(r)}function RN(r){let e=globalThis.loaders?.getImageBitmapDataNode;if(!e)throw new Error("getImageData");return e(r)}function MS(r){let e=DN(r.width,r.height),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=r.width,e.height=r.height,t.drawImage(r,0,0),t.getImageData(0,0,r.width,r.height)}function DN(r,e){if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(r,e);if(typeof document<"u"){let t=document.createElement("canvas");return t.width=r,t.height=e,t}throw new Error("getImageData")}function NN(r){return typeof ImageBitmap<"u"&&r instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&r instanceof Image?"image":r&&typeof r=="object"&&r.data&&r.width&&r.height?"data":null}var DS=p(()=>{"use strict"});async function hy(){return Pd?await Pd:(Pd=CN(),await Pd)}async function CN(){let r=new Set;for(let e of kN)(Kn?await VN(e):NS(e))&&r.add(e);return r}function py(r){if(dy[r]===void 0){let e=Kn?UN(r):NS(r);dy[r]=e}return dy[r]}function NS(r){let e=["image/png","image/jpeg","image/gif"],t=globalThis.loaders?.imageFormatsNode||e;return!!globalThis.loaders?.parseImageNode&&t.includes(r)}function UN(r){switch(r){case"image/avif":case"image/webp":return jN(r);default:return!0}}async function VN(r){let e=PN[r];return e?await GN(e):!0}function jN(r){try{return document.createElement("canvas").toDataURL(r).indexOf(`data:${r}`)===0}catch{return!1}}async function GN(r){return new Promise(e=>{let t=new Image;t.src=r,t.onload=()=>e(t.height>0),t.onerror=()=>e(!1)})}var kN,Pd,dy,PN,my=p(()=>{"use strict";Be();kN=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/tiff","image/svg","image/svg+xml","image/bmp","image/vnd.microsoft.icon"],Pd=null;dy={};PN={"image/avif":"data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=","image/webp":"data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"}});var kS,CS=p(()=>{"use strict";kS={name:"Basis",id:"basis",module:"images",encoding:"image",format:"basis",extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],binary:!0,tests:["sB"]}});function PS(r){if(!Vd){r=r||WN()||void 0,Vd=new Set;for(let e of zN)for(let t in US)if(r&&r.getExtension(`${e}${t}`))for(let n of US[t])Vd.add(n)}return Vd}function WN(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var zN,US,Vd,VS=p(()=>{"use strict";zN=["","WEBKIT_","MOZ_"],US={WEBGL_compressed_texture_s3tc:["bc1-rgb-unorm-webgl","bc1-rgba-unorm","bc2-rgba-unorm","bc3-rgba-unorm"],WEBGL_compressed_texture_s3tc_srgb:["bc1-rgb-unorm-srgb-webgl","bc1-rgba-unorm-srgb","bc2-rgba-unorm-srgb","bc3-rgba-unorm-srgb"],EXT_texture_compression_rgtc:["bc4-r-unorm","bc4-r-snorm","bc5-rg-unorm","bc5-rg-snorm"],EXT_texture_compression_bptc:["bc6h-rgb-ufloat","bc6h-rgb-float","bc7-rgba-unorm","bc7-rgba-unorm-srgb"],WEBGL_compressed_texture_etc1:["etc1-rgb-unorm-webgl"],WEBGL_compressed_texture_etc:["etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm"],WEBGL_compressed_texture_pvrtc:["pvrtc-rgb4unorm-webgl","pvrtc-rgba4unorm-webgl","pvrtc-rgb2unorm-webgl","pvrtc-rgba2unorm-webgl"],WEBGL_compressed_texture_atc:["atc-rgb-unorm-webgl","atc-rgba-unorm-webgl","atc-rgbai-unorm-webgl"],WEBGL_compressed_texture_astc:["astc-4x4-unorm","astc-4x4-unorm-srgb","astc-5x4-unorm","astc-5x4-unorm-srgb","astc-5x5-unorm","astc-5x5-unorm-srgb","astc-6x5-unorm","astc-6x5-unorm-srgb","astc-6x6-unorm","astc-6x6-unorm-srgb","astc-8x5-unorm","astc-8x5-unorm-srgb","astc-8x6-unorm","astc-8x6-unorm-srgb","astc-8x8-unorm","astc-8x8-unorm-srgb","astc-10x5-unorm","astc-10x5-unorm-srgb","astc-10x6-unorm","astc-10x6-unorm-srgb","astc-10x8-unorm","astc-10x8-unorm-srgb","astc-10x10-unorm","astc-10x10-unorm-srgb","astc-12x10-unorm","astc-12x10-unorm-srgb","astc-12x12-unorm","astc-12x12-unorm-srgb"]},Vd=null});function GS(r=PS(),e,t={}){let n=new Set(r);if(!e)return qN(n);if(e.isHDR){let s=jS(e);return t.astcHDR&&(s==="astc-4x4"||s==="astc-6x6")&&jd(n,s.slice(5))?s==="astc-4x4"?"astc-hdr-4x4":"astc-hdr-6x6":n.has("bc6h-rgb-ufloat")?"bc6h":"rgba16f"}if(e.codec==="xubc7")return gy(n)?"bc7":"rgba32";if(e.codec.startsWith("xuastc-ldr-")||e.codec.startsWith("astc-ldr-")){let s=jS(e);return s&&jd(n,s.slice(5))?s:by(n,e,["bc7","bc","etc2","atc"])}return e.codec==="uastc-ldr-4x4"?jd(n,"4x4")?"astc-4x4":by(n,e,["bc7","bc","etc2","etc1","pvrtc","atc"]):by(n,e,["etc2","etc1","bc7","bc","pvrtc","atc"])}function qN(r){return jd(r,"4x4")?"astc-4x4":gy(r)?"bc7":zS(r)?{alpha:"bc3",noAlpha:"bc1"}:WS(r)?"etc2":r.has("etc1-rgb-unorm-webgl")?{alpha:"rgba32",noAlpha:"etc1"}:$S(r)?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:qS(r)?{alpha:"atc-rgba-interpolated-alpha",noAlpha:"atc-rgb"}:{alpha:"rgba32",noAlpha:"rgb565"}}function by(r,e,t){for(let n of t)switch(n){case"bc7":if(gy(r))return"bc7";break;case"bc":if(zS(r))return e.hasAlpha?"bc3":"bc1";break;case"etc2":if(WS(r))return"etc2";break;case"etc1":if(!e.hasAlpha&&r.has("etc1-rgb-unorm-webgl"))return"etc1";break;case"pvrtc":if($S(r))return e.hasAlpha?"pvrtc1-4-rgba":"pvrtc1-4-rgb";break;case"atc":if(qS(r))return e.hasAlpha?"atc-rgba-interpolated-alpha":"atc-rgb";break;default:break}return e.hasAlpha?"rgba32":"rgb565"}function jS(r){let e=`${r.blockWidth}x${r.blockHeight}`;return $N.includes(e)?`astc-${e}`:null}function jd(r,e){return La(r,[`astc-${e}-unorm`,`astc-${e}-unorm-srgb`])}function gy(r){return La(r,["bc7-rgba-unorm","bc7-rgba-unorm-srgb"])}function zS(r){return La(r,["bc1-rgb-unorm-webgl","bc1-rgb-unorm-srgb-webgl","bc1-rgba-unorm","bc1-rgba-unorm-srgb","bc3-rgba-unorm","bc3-rgba-unorm-srgb"])}function WS(r){return La(r,["etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb"])}function $S(r){return La(r,["pvrtc-rgb4unorm-webgl","pvrtc-rgba4unorm-webgl","pvrtc-rgb2unorm-webgl","pvrtc-rgba2unorm-webgl"])}function qS(r){return La(r,["atc-rgb-unorm-webgl","atc-rgba-unorm-webgl","atc-rgbai-unorm-webgl"])}function La(r,e){return e.some(t=>r.has(t))}var $N,KS=p(()=>{"use strict";VS();$N=["4x4","5x4","5x5","6x5","6x6","8x5","8x6","8x8","10x5","10x6","10x8","10x10","12x10","12x12"]});async function JS(r){eg(r.modules);let e=tg("basis");return e||(XS||=KN(r),await XS)}async function KN(r){let e=null,t=null;return[e,t]=await Promise.all([await Sa(HS.TRANSCODER,"images",r,null,"basis_transcoder.mjs"),await Sa(HS.TRANSCODER_WASM,"images",r)]),e=e||globalThis.BASIS,await HN(e,t)}function HN(r,e){let t={};return e&&(t.wasmBinary=e),co(()=>r(t),n=>{let{BasisFile:s,KTX2File:i,getBasisTexFormatBlockHeight:o,getBasisTexFormatBlockWidth:a,initializeBasis:c,isFormatSupported:u}=n;return c(),{BasisFile:s,KTX2File:i,getBasisTexFormatBlockHeight:o,getBasisTexFormatBlockWidth:a,isFormatSupported:u}})}var HS,XS,YS=p(()=>{"use strict";Be();ai();HS={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"}});function QS(r){if(r.byteLength<yy.byteLength)return!1;let e=new Uint8Array(r,0,yy.byteLength);return yy.every((t,n)=>e[n]===t)}var yy,ZS=p(()=>{"use strict";yy=new Uint8Array([171,75,84,88,32,50,48,187,13,10,26,10])});async function QN(r){let e=eE,t;eE=new Promise(n=>{t=n}),await e;try{return await r()}finally{t()}}async function rE(r,e={}){return await QN(async()=>{let t=await JS(wn({core:e?.core,modules:e?.modules})),n=e.basis?.containerFormat||"auto";if(n==="ktx2"||n==="auto"&&QS(r)){if(!t.KTX2File)throw new Error("The injected Basis transcoder module does not provide KTX2File");return ek(t,r,e)}return ZN(t,r,e)})}function ZN(r,e,t){let n=new r.BasisFile(new Uint8Array(e));try{let s=sE(n,!1);if(!n.startTranscoding())throw new Error("Failed to start Basis transcoding");let i=[];for(let o=0;o<n.getNumImages();o++){let a=[];for(let c=0;c<n.getNumLevels(o);c++){let u=n.getImageWidth(o,c),l=n.getImageHeight(o,c);a.push(nE(n,s,u,l,t,f=>n.getImageTranscodedSizeInBytes(o,c,f),(f,d)=>n.transcodeImage(f,o,c,d,0,0)))}i.push(a)}return i}finally{n.close(),n.delete()}}function ek(r,e,t){let n=new r.KTX2File(new Uint8Array(e));try{if(!n.isValid())throw new Error("Invalid KTX2 texture");if(n.getHeader().pixelDepth>0)throw new Error("BasisLoader does not support 3D KTX2 textures");let i=sE(n,!0);if(!n.startTranscoding())throw new Error("Failed to start KTX2 transcoding");let o=Math.max(1,n.getLayers()),a=Math.max(1,n.getFaces()),c=[];for(let u=0;u<o;u++)for(let l=0;l<a;l++){let f=[];for(let d=0;d<n.getLevels();d++){let h=n.getImageLevelInfo(d,u,l);f.push(nE(n,{...i,hasAlpha:!!h.alphaFlag},h.width,h.height,t,m=>n.getImageTranscodedSizeInBytes(d,u,l,m),(m,b)=>n.transcodeImage(m,d,u,l,b,0,-1,-1)))}c.push(f)}return c}finally{n.close(),n.delete()}}function nE(r,e,t,n,s,i,o){let a=rk(s,e);tk(e,wy(s,e));let c=i(a.basisFormat),u=sk(c,a.dataType);if(!o(u,a.basisFormat))throw new Error(`Failed to transcode Basis texture to ${wy(s,e)}`);let l=e.isSRGB&&a.srgbTextureFormat;return{shape:"texture-level",width:t,height:n,data:u,compressed:a.compressed,format:l&&a.srgbFormat||a.format,textureFormat:l?a.srgbTextureFormat:a.textureFormat,levelSize:c,hasAlpha:e.hasAlpha}}function tk(r,e){let t=e==="bc6h"||e==="rgba16f"||e==="rgb9e5"||e.startsWith("astc-hdr-");if(r.isHDR!==t)throw new Error(`Basis source codec ${r.codec} cannot be transcoded to ${e}`);if(r.codec==="xubc7"&&e!=="bc7"&&e!=="rgba32")throw new Error(`Basis source codec ${r.codec} cannot be transcoded to ${e}`)}function rk(r,e){let t=wy(r,e),n=tE[t];if(!n)throw new Error(`Unknown Basis format ${t}`);return n}function wy(r,e){let t=r.basis?.format||"auto";return t==="auto"&&(t=GS(r.basis?.supportedTextureFormats,e,r.basis?.supportedTextureFeatures)),typeof t=="object"&&(t=e.hasAlpha?t.alpha:t.noAlpha),t.toLowerCase()}function sE(r,e){let t=r.getBasisTexFormat(),n=nk[t];if(!n)throw new Error(`Unsupported Basis source texture format ${t}`);return{codec:n,isHDR:!!r.isHDR(),isSRGB:e?!!r.isSRGB():!1,hasAlpha:!!r.getHasAlpha(),blockWidth:r.getBlockWidth(),blockHeight:r.getBlockHeight()}}function sk(r,e){return e==="uint16"?new Uint16Array(r/Uint16Array.BYTES_PER_ELEMENT):e==="uint32"?new Uint32Array(r/Uint32Array.BYTES_PER_ELEMENT):new Uint8Array(r)}function it(r,e,t){return{basisFormat:r,compressed:!0,format:e,textureFormat:t}}function Ba(r,e,t,n,s){return{basisFormat:r,compressed:!1,format:e,textureFormat:t,srgbFormat:n,srgbTextureFormat:s}}function $t(r,e,t,n){return{...it(r,e,`astc-${n}-unorm`),srgbFormat:t,srgbTextureFormat:`astc-${n}-unorm-srgb`}}var Wt,tE,Kre,eE,nk,iE=p(()=>{"use strict";ai();KS();YS();ZS();Wt={"4x4":$t(10,37808,37840,"4x4"),"5x4":$t(28,37809,37841,"5x4"),"5x5":$t(29,37810,37842,"5x5"),"6x5":$t(30,37811,37843,"6x5"),"6x6":$t(31,37812,37844,"6x6"),"8x5":$t(32,37813,37845,"8x5"),"8x6":$t(33,37814,37846,"8x6"),"8x8":$t(36,37815,37847,"8x8"),"10x5":$t(34,37816,37848,"10x5"),"10x6":$t(35,37817,37849,"10x6"),"10x8":$t(37,37818,37850,"10x8"),"10x10":$t(38,37819,37851,"10x10"),"12x10":$t(39,37820,37852,"12x10"),"12x12":$t(40,37821,37853,"12x12")},tE={etc1:it(0,36196,"etc1-rgb-unorm-webgl"),etc2:{...it(1,37493,"etc2-rgba8unorm"),srgbFormat:37495,srgbTextureFormat:"etc2-rgba8unorm-srgb"},bc1:{...it(2,33776,"bc1-rgb-unorm-webgl"),srgbFormat:35916,srgbTextureFormat:"bc1-rgb-unorm-srgb-webgl"},bc3:{...it(3,33779,"bc3-rgba-unorm"),srgbFormat:35919,srgbTextureFormat:"bc3-rgba-unorm-srgb"},bc4:it(4,36283,"bc4-r-unorm"),bc5:it(5,36285,"bc5-rg-unorm"),bc7:{...it(6,36492,"bc7-rgba-unorm"),srgbFormat:36493,srgbTextureFormat:"bc7-rgba-unorm-srgb"},"pvrtc1-4-rgb":it(8,35840,"pvrtc-rgb4unorm-webgl"),"pvrtc1-4-rgba":it(9,35842,"pvrtc-rgba4unorm-webgl"),"astc-4x4":Wt["4x4"],"astc-5x4":Wt["5x4"],"astc-5x5":Wt["5x5"],"astc-6x5":Wt["6x5"],"astc-6x6":Wt["6x6"],"astc-8x5":Wt["8x5"],"astc-8x6":Wt["8x6"],"astc-8x8":Wt["8x8"],"astc-10x5":Wt["10x5"],"astc-10x6":Wt["10x6"],"astc-10x8":Wt["10x8"],"astc-10x10":Wt["10x10"],"astc-12x10":Wt["12x10"],"astc-12x12":Wt["12x12"],"atc-rgb":it(11,35986,"atc-rgb-unorm-webgl"),"atc-rgba-interpolated-alpha":it(12,34798,"atc-rgbai-unorm-webgl"),rgba32:Ba(13,32856,"rgba8unorm",35907,"rgba8unorm-srgb"),rgb565:Ba(14,36194,"rgb565unorm-webgl"),bgr565:Ba(15,36194,"rgb565unorm-webgl"),rgba4444:Ba(16,32854,"rgba4unorm-webgl"),"eac-r11":it(20,37488,"eac-r11unorm"),"eac-rg11":it(21,37490,"eac-rg11unorm"),bc6h:it(22,36495,"bc6h-rgb-ufloat"),"astc-hdr-4x4":it(23,37808,"astc-4x4-unorm"),rgba16f:{...Ba(25,34842,"rgba16float"),dataType:"uint16"},rgb9e5:{...Ba(26,35901,"rgb9e5ufloat"),dataType:"uint32"},"astc-hdr-6x6":it(27,37812,"astc-6x6-unorm")},Kre=Object.freeze(Object.keys(tE)),eE=Promise.resolve();nk={0:"etc1s",1:"uastc-ldr-4x4",2:"uastc-hdr-4x4",3:"astc-hdr-6x6",4:"uastc-hdr-6x6",5:"xuastc-ldr-4x4",6:"xuastc-ldr-5x4",7:"xuastc-ldr-5x5",8:"xuastc-ldr-6x5",9:"xuastc-ldr-6x6",10:"xuastc-ldr-8x5",11:"xuastc-ldr-8x6",12:"xuastc-ldr-10x5",13:"xuastc-ldr-10x6",14:"xuastc-ldr-8x8",15:"xuastc-ldr-10x8",16:"xuastc-ldr-10x10",17:"xuastc-ldr-12x10",18:"xuastc-ldr-12x12",19:"astc-ldr-4x4",20:"astc-ldr-5x4",21:"astc-ldr-5x5",22:"astc-ldr-6x5",23:"astc-ldr-6x6",24:"astc-ldr-8x5",25:"astc-ldr-8x6",26:"astc-ldr-10x5",27:"astc-ldr-10x6",28:"astc-ldr-8x8",29:"astc-ldr-10x8",30:"astc-ldr-10x10",31:"astc-ldr-12x10",32:"astc-ldr-12x12",33:"xubc7"}});var oE={};Y(oE,{BasisLoaderWithParser:()=>ck,BasisWorkerLoaderWithParser:()=>ak});var Qre,ik,Zre,ok,ak,ck,aE=p(()=>{"use strict";iE();Gd();Gd();({preload:Qre,...ik}=go),{preload:Zre,...ok}=go,ak={...ik},ck={...ok,parse:rE}});async function uk(){let{BasisLoaderWithParser:r}=await Promise.resolve().then(()=>(aE(),oE));return r}var go,Gd=p(()=>{"use strict";CS();cy();go={...kS,dataType:null,batchType:null,name:"Basis",id:"basis",module:"images",version:Cd,worker:!0,workerNode:"basis-worker-node.cjs",extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",containerFormat:"auto"}},preload:uk}});var Jn=p(()=>{"use strict";fy();kd();DS();my();my();Gd()});function J(r,e){if(!r)throw new Error(e||"assert failed: gltf")}var yo=p(()=>{"use strict"});function mk(r,e=0){return`${String.fromCharCode(r.getUint8(e+0))}${String.fromCharCode(r.getUint8(e+1))}${String.fromCharCode(r.getUint8(e+2))}${String.fromCharCode(r.getUint8(e+3))}`}function fE(r,e=0,t={}){let n=new DataView(r),{magic:s=cE}=t,i=n.getUint32(e,!1);return i===s||i===cE}function $d(r,e,t=0,n={}){let s=new DataView(e),i=mk(s,t+0),o=s.getUint32(t+4,ci),a=o===3?hE(s,t+8,"GLB byte length"):s.getUint32(t+8,ci);switch(Object.assign(r,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:i,version:o,json:{},jsonChunkIndex:-1,binChunks:[]}),r.version){case 1:return bk(r,s,t+zd);case 2:return gk(r,s,t+zd,n);case 3:return yk(r,s,t+lE,n);default:throw new Error(`Invalid GLB version ${r.version}. Only supports versions 1, 2 and 3.`)}}function bk(r,e,t){dr(r.header.byteLength>zd+Wd);let n=r.header.byteOffset+r.header.byteLength;dr(n<=e.byteLength);let s=e.getUint32(t+0,ci),i=e.getUint32(t+4,ci);if(t+=Wd,dr(i===dk),t+s>n)throw new Error("GLB JSON content extends beyond the declared file length.");xy(r,e,t,s,0),t+=s;let o=n-t;return o>0&&Ty(r,e,t,o,1),n}function gk(r,e,t,n){return dr(r.header.byteLength>zd+Wd),dE(r,e,t,Wd,n),r.header.byteOffset+r.header.byteLength}function yk(r,e,t,n){return dr(r.header.byteLength>=lE+uE),dE(r,e,t,uE,n),r.header.byteOffset+r.header.byteLength}function dE(r,e,t,n,s){let i=r.header.byteOffset+r.header.byteLength;dr(i<=e.byteLength);let o=0;for(;t+n<=i;){let a=r.version===3,c=e.getUint32(t+(a?0:4),ci),u=a?e.getUint32(t+4,ci):0,l=a?hE(e,t+8,"GLB chunk length"):e.getUint32(t+0,ci);if(t+=n,u!==0)throw new Error(`Unsupported GLB chunk encoding ${u}.`);if(t+l>i)throw new Error("GLB chunk extends beyond the declared file length.");switch(c){case lk:(r.version!==3||r.jsonChunkIndex===-1)&&xy(r,e,t,l,o);break;case fk:Ty(r,e,t,l,o);break;case hk:s.strict||xy(r,e,t,l,o);break;case pk:s.strict||Ty(r,e,t,l,o);break;default:break}t+=_y(l),o++}return t}function xy(r,e,t,n,s){let i=new Uint8Array(e.buffer,t,n),a=new TextDecoder("utf8").decode(i);return r.json=JSON.parse(a),r.jsonChunkIndex=s,_y(n)}function Ty(r,e,t,n,s){return r.header.hasBinChunk=!0,r.binChunks.push({chunkIndex:s,byteOffset:t,byteLength:n,arrayBuffer:e.buffer}),_y(n)}function hE(r,e,t){let n=r.getBigUint64(e,ci);if(n>BigInt(Number.MAX_SAFE_INTEGER))throw new Error(`${t} exceeds JavaScript's safe integer range.`);return Number(n)}function _y(r){return Math.ceil(r/4)*4}var ci,cE,zd,lE,Wd,uE,lk,fk,dk,hk,pk,Ay=p(()=>{"use strict";Be();ci=!0,cE=1735152710,zd=12,lE=16,Wd=8,uE=16,lk=1313821514,fk=5130562,dk=0,hk=0,pk=1});function Yn(r,e,t){if(r.startsWith("data:")||r.startsWith("http:")||r.startsWith("https:"))return qd(r);let s=t?.baseUrl||wk(e?.core?.baseUrl);if(!s)throw new Error(`'baseUrl' must be provided to resolve relative url ${r}`);let i=s.endsWith("/")?`${s}${r}`:`${s}/${r}`;return qd(i)}function qd(r){try{return new URL(r).href}catch{return r}}function wk(r){if(!r)return;if(r.endsWith("/"))return r;let e=r.lastIndexOf("/");return e>=0?r.slice(0,e+1):""}var Tu=p(()=>{"use strict"});var Kd,_u,vy=p(()=>{"use strict";Kd={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},_u={5120:1,5121:1,5122:2,5123:2,5124:4,5125:4,5126:4,5130:8,5131:2,5134:8,5135:8}});function Fa(r){return pE[r-1]||pE[0]}function Qn(r){let e=Tk.get(r.constructor);if(!e)throw new Error("Illegal typed array");return e}function Au(r,e){let t=vk[r.componentType],n=_k[r.type],s=Ak[r.componentType],i=r.count*n,o=r.count*n*s;J(o>=0&&o<=e.byteLength);let a=_u[r.componentType],c=Kd[r.type];return{ArrayType:t,length:i,byteLength:o,componentByteSize:a,numberOfComponentsInElement:c}}var pE,xk,Tk,_k,Ak,vk,ui=p(()=>{"use strict";yo();vy();pE=["SCALAR","VEC2","VEC3","VEC4"],xk=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Int32Array,5124],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130],[BigInt64Array,5134],[BigUint64Array,5135]],Tk=new Map(xk),_k={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Ak={5120:1,5121:1,5122:2,5123:2,5124:4,5125:4,5126:4,5130:8,5131:2,5134:8,5135:8},vk={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5124:Int32Array,5125:Uint32Array,5126:Float32Array,5130:Float64Array,5131:Uint16Array,5134:BigInt64Array,5135:BigUint64Array}});function pr(r,e,t){let n=typeof t=="number"?r.bufferViews[t]:t;J(n);let s=n.buffer,i=e[s];J(i),J((n.byteOffset||0)>=0&&n.byteLength>=0),J((n.byteOffset||0)+n.byteLength<=i.byteLength),J(i.byteOffset>=0&&i.byteOffset+i.byteLength<=i.arrayBuffer.byteLength);let o=(n.byteOffset||0)+i.byteOffset;return new Uint8Array(i.arrayBuffer,o,n.byteLength)}function mE(r,e,t){let n=r.images[t];return pr(r,e,n.bufferView)}function Hd(r,e,t){let n=typeof t=="number"?r.accessors?.[t]:t;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(t)}`);J(Number.isSafeInteger(n.count)&&n.count>=0);let{ArrayType:s,length:i,numberOfComponentsInElement:o}=Au(n,{byteLength:1/0}),a=n.value,c;ArrayBuffer.isView(a)?(J(a.length===i),c=a):n.bufferView===void 0?c=new s(i):c=Iy(r,e,n);let u=n.sparse;if(!u)return c;let l=new s(i);new Uint8Array(l.buffer).set(new Uint8Array(c.buffer,c.byteOffset,c.byteLength)),J(u.count>=0&&u.count<=n.count),J([5121,5123,5125].includes(u.indices.componentType));let f=Iy(r,e,{bufferView:u.indices.bufferView,byteOffset:u.indices.byteOffset,componentType:u.indices.componentType,count:u.count,type:"SCALAR"}),d=Iy(r,e,{bufferView:u.values.bufferView,byteOffset:u.values.byteOffset,componentType:n.componentType,count:u.count,type:n.type}),h=-1,m=new Uint8Array(l.buffer),b=o*s.BYTES_PER_ELEMENT,g=new Uint8Array(d.buffer,d.byteOffset,d.byteLength);for(let y=0;y<u.count;y++){let x=Number(f[y]);J(x>h&&x<n.count),m.set(g.subarray(y*b,(y+1)*b),x*b),h=x}return l}function Iy(r,e,t){let n=r.bufferViews?.[t.bufferView];if(!n)throw new Error(`No gltf buffer view for accessor ${n}`);let s=e[n.buffer];J(s);let{arrayBuffer:i,byteOffset:o}=s;J((n.byteOffset||0)>=0&&n.byteLength>=0),J((n.byteOffset||0)+n.byteLength<=s.byteLength),J(o>=0&&o+s.byteLength<=i.byteLength),J((t.byteOffset||0)>=0);let a=(o||0)+(t.byteOffset||0)+(n.byteOffset||0),{ArrayType:c,length:u,componentByteSize:l,numberOfComponentsInElement:f}=Au(t,n),d=l*f,h=t.type.startsWith("MAT")?Number(t.type.slice(3)):1,m=_e(h*l,4),b=h>1?h*m:d,g=n.byteStride??b,y=h>1?(h-1)*m+h*l:d;if(J(g>=b),J((t.byteOffset||0)+(t.count===0?0:(t.count-1)*g+y)<=n.byteLength),t.count===0)return new c(0);if(h>1&&m!==h*l){let _=n.byteStride??h*m,v=(h-1)*m+h*l;J((t.byteOffset||0)+(t.count-1)*_+v<=n.byteLength);let I=new c(u),k=new Uint8Array(I.buffer,I.byteOffset,I.byteLength);for(let K=0;K<t.count;K++)for(let ie=0;ie<h;ie++){let be=new Uint8Array(i,a+K*_+ie*m,h*l);k.set(be,K*d+ie*h*l)}return I}let x=n.byteStride||d;if(typeof n.byteStride>"u"||n.byteStride===d){if(a%l!==0){let v=new Uint8Array(i,a,u*l),I=new Uint8Array(v.byteLength);return I.set(v),new c(I.buffer,0,u)}return new c(i,a,u)}let T=new c(u);for(let _=0;_<t.count;_++){let v=a+_*x,I;if(v%l!==0){let k=new Uint8Array(i,v,d),K=new Uint8Array(d);K.set(k),I=new c(K.buffer,0,f)}else I=new c(i,v,f);T.set(I,_*f)}return T}var wo=p(()=>{"use strict";yo();Be();ui()});function Sy(r,e){let t=r.json.files||[],n=[];for(let s=0;s<t.length;s++){let i=t[s];(i.name===e||i.uri===e)&&n.push(s)}return J(n.length<=1,`glTF package file reference ${e} is ambiguous.`),n[0]??-1}async function Xd(r,e,t,n){let s=r.json.files||[],i=typeof e=="number"?e:Sy(r,e);J(Number.isInteger(i)&&i>=0&&i<s.length),r.files=r.files||new Array(s.length).fill(null);let o=r.files[i];if(o)return o;let a=s[i];J(a.mimeType,`glTF file ${i} must define mimeType.`);let c=a.uri!==void 0,u=a.bufferView!==void 0;J(c!==u,`glTF file ${i} must define exactly one of uri or bufferView.`);let l;if(a.uri!==void 0){let f=Yn(a.uri,t,n),d=await n.fetch(f);J(d?.ok,`Failed to fetch glTF file ${a.uri}: HTTP ${d?.status}.`);let h=await d.arrayBuffer();l={arrayBuffer:h,byteOffset:0,byteLength:h.byteLength,mimeType:a.mimeType,name:a.name,url:f}}else{let f=pr(r.json,r.buffers,a.bufferView);l={arrayBuffer:f.buffer,byteOffset:f.byteOffset,byteLength:f.byteLength,mimeType:a.mimeType,name:a.name}}return r.files[i]=l,l}var bE=p(()=>{"use strict";wo();Tu();yo()});var Ey={};Y(Ey,{name:()=>xo,preprocess:()=>Ik});function Ik(r){let{json:e}=r;if(!(!e.extensionsUsed?.includes(xo)&&!e.extensionsRequired?.includes(xo))){if(!e.extensionsUsed?.includes(xo)||!e.extensionsRequired?.includes(xo))throw new Error(`${xo}: must be declared in extensionsUsed and extensionsRequired.`);for(let[t,n]of(e.accessors||[]).entries())if(n.componentType===5130&&n.normalized)throw new Error(`${xo}: accessor ${t} must not be normalized.`)}}var xo,gE=p(()=>{"use strict";xo="KHR_accessor_float64"});function Sk(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var xn,vu=p(()=>{"use strict";Jn();Be();yo();ui();wo();xn=class{gltf;sourceBuffers;byteLength;constructor(e){this.gltf={json:e?.json||Sk(),buffers:e?.buffers||[],images:e?.images||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=_e(this.gltf.buffers[0].byteLength,4),this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}hasExtension(e){let t=this.getUsedExtensions().find(s=>s===e),n=this.getRequiredExtensions().find(s=>s===e);return typeof t=="string"||typeof n=="string"}getExtension(e){let t=this.getUsedExtensions().find(s=>s===e),n=this.json.extensions||{};return t?n[e]:null}getRequiredExtension(e){return this.getRequiredExtensions().find(n=>n===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if(typeof t=="object")return t;let n=this.json[e]&&this.json[e][t];if(!n)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return n}getTypedArrayForBufferView(e){return pr(this.gltf.json,this.gltf.buffers,e)}getTypedArrayForAccessor(e){return Hd(this.gltf.json,this.gltf.buffers,e)}getTypedArrayForImageData(e){e=this.getAccessor(e);let t=this.getBufferView(e.bufferView),s=this.getBuffer(t.buffer).data,i=t.byteOffset||0;return new Uint8Array(s,i,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,n){return e.extensions=e.extensions||{},e.extensions[t]=n,this.registerUsedExtension(t),this}setObjectExtension(e,t,n){let s=e.extensions||{};s[t]=n}removeObjectExtension(e,t){let n=e?.extensions||{};if(n[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let s=this.json.extensionsRemoved;s.includes(t)||s.push(t)}delete n[t]}addExtension(e,t={}){return J(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return J(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){if(this.json.extensions?.[e]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let t=this.json.extensionsRemoved;t.includes(e)||t.push(e)}this.json.extensions&&delete this.json.extensions[e],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e)}setDefaultScene(e){this.json.scene=e}addScene(e){let{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){let{meshIndex:t,matrix:n}=e;this.json.nodes=this.json.nodes||[];let s={mesh:t};return n&&(s.matrix=n),this.json.nodes.push(s),this.json.nodes.length-1}addMesh(e){let{attributes:t,indices:n,material:s,mode:i=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:i}]};if(n){let c=this._addIndices(n);a.primitives[0].indices=c}return Number.isFinite(s)&&(a.primitives[0].material=s),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){let n={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(e,t){let n=Xn(e),s=t||n?.mimeType,o={bufferView:this.addBufferView(e),mimeType:s};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e,t=0,n=this.byteLength){let s=e.byteLength;J(Number.isFinite(s)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);let i={buffer:t,byteOffset:n,byteLength:s};return this.byteLength+=_e(s,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){let n=t.normalized,s={bufferView:e,...n===void 0?{}:{normalized:n},type:Fa(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(s),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){let n=this.addBufferView(e),s={min:t.min,max:t.max};(!s.min||!s.max)&&(s=this._getAccessorMinMax(e,t.size));let i={size:t.size,componentType:Qn(e),count:Math.round(e.length/t.size),min:s.min,max:s.max};return this.addAccessor(n,Object.assign(i,t))}addTexture(e){let{imageIndex:t,samplerIndex:n}=e,s={source:t,...n===void 0?{}:{sampler:n}};return this.json.textures=this.json.textures||[],this.json.textures.push(s),this.json.textures.length-1}addSampler(e){return this.json.samplers=this.json.samplers||[],this.json.samplers.push({...e}),this.json.samplers.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){if(this.byteLength===0&&!this.json.buffers?.length){delete this.json.buffers,delete this.gltf.binary,this.sourceBuffers=[],this.gltf.buffers=[];return}let e=[0],t=this.byteLength;for(let o=1;o<this.gltf.buffers.length;o++){let a=this.gltf.buffers[o];a&&(e[o]=_e(t,8),t=e[o]+_e(a.byteLength,4))}let n=new ArrayBuffer(t),s=new Uint8Array(n),i=0;for(let o of this.sourceBuffers||[])i=po(o,s,i);for(let o=1;o<this.gltf.buffers.length;o++){let a=this.gltf.buffers[o];a&&po(a,s,e[o])}for(let o of this.json.bufferViews||[]){let a=e[o.buffer];J(a!==void 0),o.byteOffset=a+(o.byteOffset||0),o.buffer=0;for(let c of["EXT_meshopt_compression","KHR_meshopt_compression"]){let u=o.extensions?.[c];if(u){let l=e[u.buffer];J(l!==void 0),u.byteOffset=l+(u.byteOffset||0),u.buffer=0}}}this.byteLength=t,this.json.buffers=[{byteLength:t}],this.gltf.binary=n,this.sourceBuffers=[n],this.gltf.buffers=[{arrayBuffer:n,byteOffset:0,byteLength:n.byteLength}]}_removeStringFromArray(e,t){let n=!0;for(;n;){let s=e.indexOf(t);s>-1?e.splice(s,1):n=!1}}_addAttributes(e={}){let t={};for(let n in e){let s=e[n],i=this._getGltfAttributeName(n),o=s.value,a=o.BYTES_PER_ELEMENT*s.size,c=_e(a,4),u;if(c===a)u=this.addBinaryBuffer(o,s);else{let l=o.length/s.size,f=new Uint8Array(l*c),d=new Uint8Array(o.buffer,o.byteOffset,o.byteLength);for(let m=0;m<l;m++)f.set(d.subarray(m*a,(m+1)*a),m*c);let h=this.addBufferView(f);this.json.bufferViews[h].byteStride=c,u=this.addAccessor(h,{...this._getAccessorMinMax(o,s.size),...s,componentType:Qn(o),count:l})}t[i]=u}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){let n={min:null,max:null};if(e.length<t)return n;n.min=[],n.max=[];let s=e.subarray(0,t);for(let i of s)n.min.push(i),n.max.push(i);for(let i=t;i<e.length;i+=t)for(let o=0;o<t;o++)n.min[0+o]=Math.min(n.min[0+o],e[i+o]),n.max[0+o]=Math.max(n.max[0+o],e[i+o]);return n}}});function Ek(r){switch(r.type){case"accessor":return{get bufferView(){return r.bufferView?.data}};case"animation":return{get channels(){return To(r.channels)},get samplers(){return To(r.samplers)}};case"animationChannel":return{get sampler(){return r.sampler.data},get target(){return r.target.data}};case"animationChannelTarget":return{get node(){return r.node?.data}};case"animationSampler":return{get input(){return r.input.data},get output(){return r.output.data}};case"bufferView":return{get buffer(){return r.buffer.data}};case"externalAsset":return{get file(){return r.file.data}};case"file":case"image":return{get bufferView(){return r.bufferView?.data}};case"material":return{get baseColorTexture(){return r.baseColorTexture?.data},get metallicRoughnessTexture(){return r.metallicRoughnessTexture?.data},get normalTexture(){return r.normalTexture?.data},get occlusionTexture(){return r.occlusionTexture?.data},get emissiveTexture(){return r.emissiveTexture?.data},get textures(){return To(r.textures)}};case"textureInfo":return{get texture(){return r.texture.data}};case"mesh":return{get primitives(){return To(r.primitives)}};case"primitive":return{get attributes(){return yE(r.attributes)},get indices(){return r.indices?.data},get material(){return r.material?.data},get targets(){return r.targets.map(yE)}};case"node":return{get camera(){return r.camera?.data},get children(){return To(r.children)},get skin(){return r.skin?.data},get mesh(){return r.mesh?.data},get externalAsset(){return r.externalAsset?.data}};case"scene":return{get nodes(){return To(r.nodes)}};case"skin":return{get inverseBindMatrices(){return r.inverseBindMatrices?.data},get skeleton(){return r.skeleton?.data},get joints(){return To(r.joints)}};case"texture":return{get sampler(){return r.sampler?.data},get source(){return r.source?.data}};default:return{}}}function _o(r,e){return(function*(){for(let n=0;n<r.length;n++)yield e(r[n],n)})()}function To(r){return(function*(){for(let t of r)yield t.data})()}function yE(r){return new Map(Array.from(r,([e,t])=>[e,t.data]))}function Lk(r){switch(r){case"bufferView":return"bufferViews";case"externalAsset":return"externalAssets";case"mesh":return"meshes";default:return`${r}s`}}function wE(r,e){if(r)for(let t=r.length-1;t>=0;t--)r[t]===e&&r.splice(t,1)}var Je,li,Ly,By,Fy,Oy,Jd,My,Ry,Dy,Ny,ky,Cy,Uy,Py,Vy,jy,Gy,zy,Wy,$y,qy,ae,Xe=p(()=>{"use strict";wo();ui();Je=class{gltf;type;index;data;path;iterator;constructor(e,t,n,s,i){this.iterator=e,this.gltf=e.gltf,this.type=t,this.index=n,this.data=s,this.path=i}},li=class extends Je{parent;constructor(e,t,n,s,i,o){super(e,t,n,s,i),this.parent=o}},Ly=class extends Je{get bufferView(){return this.data.bufferView===void 0?void 0:this.iterator.resolveBufferView(this.data.bufferView,`${this.path}.bufferView`)}},By=class extends Je{get channels(){return _o(this.data.channels,(e,t)=>this.iterator.getOrCreateNested(e,()=>new Fy(this.iterator,"animationChannel",t,e,`${this.path}.channels[${t}]`,this)))}get samplers(){return _o(this.data.samplers,(e,t)=>this.iterator.getOrCreateNested(e,()=>new Jd(this.iterator,"animationSampler",t,e,`${this.path}.samplers[${t}]`,this)))}},Fy=class extends li{get sampler(){let t=this.parent.data.samplers[this.data.sampler];if(!t)throw new Error(`Invalid glTF reference at ${this.path}.sampler: animation sampler index ${this.data.sampler} is out of range`);return this.iterator.getOrCreateNested(t,()=>new Jd(this.iterator,"animationSampler",this.data.sampler,t,`${this.parent.path}.samplers[${this.data.sampler}]`,this.parent))}get target(){return this.iterator.getOrCreateNested(this.data.target,()=>new Oy(this.iterator,"animationChannelTarget",0,this.data.target,`${this.path}.target`,this))}},Oy=class extends li{get node(){return this.data.node===void 0?void 0:this.iterator.resolveNode(this.data.node,`${this.path}.node`)}},Jd=class extends li{get input(){return this.iterator.resolveAccessor(this.data.input,`${this.path}.input`)}get output(){return this.iterator.resolveAccessor(this.data.output,`${this.path}.output`)}},My=class extends Je{get loadedBuffer(){return this.gltf.buffers[this.index]}},Ry=class extends Je{get buffer(){return this.iterator.resolveBuffer(this.data.buffer,`${this.path}.buffer`)}get loadedBufferView(){let e=this.buffer.loadedBuffer;if(!e)return;let t=e.byteOffset+(this.data.byteOffset||0);return new Uint8Array(e.arrayBuffer,t,this.data.byteLength)}},Dy=class extends Je{},Ny=class extends Je{get file(){return this.iterator.resolveFile(this.data.file,`${this.path}.file`)}get loadedAsset(){return this.gltf.externalAssets?.[this.index]}},ky=class extends Je{get bufferView(){return this.data.bufferView===void 0?void 0:this.iterator.resolveBufferView(this.data.bufferView,`${this.path}.bufferView`)}get loadedFile(){return this.gltf.files?.[this.index]}},Cy=class extends Je{get bufferView(){return this.data.bufferView===void 0?void 0:this.iterator.resolveBufferView(this.data.bufferView,`${this.path}.bufferView`)}get loadedImage(){return this.gltf.images?.[this.index]}},Uy=class extends Je{get baseColorTexture(){return this.getTextureInfo(this.data.pbrMetallicRoughness?.baseColorTexture,0,"pbrMetallicRoughness.baseColorTexture")}get metallicRoughnessTexture(){return this.getTextureInfo(this.data.pbrMetallicRoughness?.metallicRoughnessTexture,1,"pbrMetallicRoughness.metallicRoughnessTexture")}get normalTexture(){return this.getTextureInfo(this.data.normalTexture,2,"normalTexture")}get occlusionTexture(){return this.getTextureInfo(this.data.occlusionTexture,3,"occlusionTexture")}get emissiveTexture(){return this.getTextureInfo(this.data.emissiveTexture,4,"emissiveTexture")}get textures(){return[this.baseColorTexture,this.metallicRoughnessTexture,this.normalTexture,this.occlusionTexture,this.emissiveTexture].filter(t=>!!t).values()}getTextureInfo(e,t,n){return e?this.iterator.getOrCreateNested(e,()=>new Py(this.iterator,"textureInfo",t,e,`${this.path}.${n}`,this)):void 0}},Py=class extends li{get texture(){return this.iterator.resolveTexture(this.data.index,`${this.path}.index`)}},Vy=class extends Je{get primitives(){return _o(this.data.primitives,(e,t)=>this.iterator.getOrCreateNested(e,()=>new jy(this.iterator,"primitive",t,e,`${this.path}.primitives[${t}]`,this)))}},jy=class extends li{get attributes(){return new Map(Object.entries(this.data.attributes).map(([e,t])=>[e,this.iterator.resolveAccessor(t,`${this.path}.attributes.${e}`)]))}get indices(){return this.data.indices===void 0?void 0:this.iterator.resolveAccessor(this.data.indices,`${this.path}.indices`)}get material(){return this.data.material===void 0?void 0:this.iterator.resolveMaterial(this.data.material,`${this.path}.material`)}get targets(){return(this.data.targets||[]).map((e,t)=>new Map(Object.entries(e).map(([n,s])=>[n,this.iterator.resolveAccessor(s,`${this.path}.targets[${t}].${n}`)])))}},Gy=class extends Je{get camera(){return this.data.camera===void 0?void 0:this.iterator.resolveCamera(this.data.camera,`${this.path}.camera`)}get children(){return _o(this.data.children||[],(e,t)=>this.iterator.resolveNode(e,`${this.path}.children[${t}]`))}get skin(){return this.data.skin===void 0?void 0:this.iterator.resolveSkin(this.data.skin,`${this.path}.skin`)}get mesh(){return this.data.mesh===void 0?void 0:this.iterator.resolveMesh(this.data.mesh,`${this.path}.mesh`)}get externalAsset(){return this.data.externalAsset===void 0?void 0:this.iterator.resolveExternalAsset(this.data.externalAsset,`${this.path}.externalAsset`)}},zy=class extends Je{},Wy=class extends Je{get nodes(){return _o(this.data.nodes||[],(e,t)=>this.iterator.resolveNode(e,`${this.path}.nodes[${t}]`))}},$y=class extends Je{get inverseBindMatrices(){return this.data.inverseBindMatrices===void 0?void 0:this.iterator.resolveAccessor(this.data.inverseBindMatrices,`${this.path}.inverseBindMatrices`)}get skeleton(){return this.data.skeleton===void 0?void 0:this.iterator.resolveNode(this.data.skeleton,`${this.path}.skeleton`)}get joints(){return _o(this.data.joints,(e,t)=>this.iterator.resolveNode(e,`${this.path}.joints[${t}]`))}},qy=class extends Je{get sampler(){return this.data.sampler===void 0?void 0:this.iterator.resolveSampler(this.data.sampler,`${this.path}.sampler`)}get source(){return this.data.source===void 0?void 0:this.iterator.resolveImage(this.data.source,`${this.path}.source`)}},ae=class{gltf;objectCache=new WeakMap;referencesCache=new WeakMap;constructor(e){this.gltf=e}get data(){return this.gltf.json}getTypedArrayForBufferView(e){return pr(this.data,this.gltf.buffers,e)}getTypedArrayForAccessor(e){return Hd(this.data,this.gltf.buffers,e)}getTypedArrayForImageData(e){return mE(this.data,this.gltf.buffers,e)}getLoadedBuffer(e){let t=this.getMetadata(e);return this.gltf.buffers[t.index]}getLoadedBufferView(e){let t=this.getReferences(e).buffer,n=this.getLoadedBuffer(t);if(!n)return;let s=n.byteOffset+(e.byteOffset||0);return new Uint8Array(n.arrayBuffer,s,e.byteLength)}getLoadedImage(e){return this.gltf.images?.[this.getMetadata(e).index]}getLoadedFile(e){return this.gltf.files?.[this.getMetadata(e).index]}getLoadedExternalAsset(e){return this.gltf.externalAssets?.[this.getMetadata(e).index]}addBuffer(e){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);return this.gltf.buffers.push({arrayBuffer:t,byteOffset:0,byteLength:e.byteLength}),this.data.buffers||=[],this.data.buffers.push({byteLength:e.byteLength}),this.data.buffers.length-1}addBufferView(e,t,n=0){return this.data.bufferViews||=[],this.data.bufferViews.push({buffer:e,byteOffset:n,byteLength:t}),this.data.bufferViews.length-1}addAccessor(e,t){return this.data.accessors||=[],this.data.accessors.push({bufferView:e,type:Fa(t.size),componentType:t.componentType,count:t.count,min:t.min,max:t.max}),this.data.accessors.length-1}getReferences(e){let t=this.referencesCache.get(e);if(t)return t;let n=this.getObjectIterator(e),s=Ek(n);return this.referencesCache.set(e,s),s}getMetadata(e){let t=this.getObjectIterator(e),n=t instanceof li?t.parent.data:void 0;return{gltf:this.gltf,type:t.type,index:t.index,parent:n,path:t.path}}get scene(){return this.data.scene===void 0?void 0:this.resolveScene(this.data.scene,"scene").data}get thumbnail(){return this.data.asset.thumbnail===void 0?void 0:this.resolveImage(this.data.asset.thumbnail,"asset.thumbnail").data}get accessors(){return this.iterateCollectionData("accessor")}get animations(){return this.iterateCollectionData("animation")}get buffers(){return this.iterateCollectionData("buffer")}get bufferViews(){return this.iterateCollectionData("bufferView")}get cameras(){return this.iterateCollectionData("camera")}get externalAssets(){return this.iterateCollectionData("externalAsset")}get files(){return this.iterateCollectionData("file")}get images(){return this.iterateCollectionData("image")}get materials(){return this.iterateCollectionData("material")}get meshes(){return this.iterateCollectionData("mesh")}get nodes(){return this.iterateCollectionData("node")}get samplers(){return this.iterateCollectionData("sampler")}get scenes(){return this.iterateCollectionData("scene")}get skins(){return this.iterateCollectionData("skin")}get textures(){return this.iterateCollectionData("texture")}hasExtension(e){return!!this.data.extensionsUsed?.includes(e)||!!this.data.extensionsRequired?.includes(e)}isExtensionRequired(e){return!!this.data.extensionsRequired?.includes(e)}getExtension(e,t){let n=typeof e=="string"?this.data:e,s=typeof e=="string"?e:t;return n.extensions?.[s]}setExtension(e,t,n){let s=typeof e=="string",i=s?this.data:e,o=s?e:t,a=s?t:n,c=s?!!n:!1;i.extensions||={},i.extensions[o]=a,this.registerUsedExtension(o),c&&this.registerRequiredExtension(o)}registerUsedExtension(e){this.data.extensionsUsed||=[],this.data.extensionsUsed.includes(e)||this.data.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.data.extensionsRequired||=[],this.data.extensionsRequired.includes(e)||this.data.extensionsRequired.push(e)}removeExtension(e,t){let n=typeof e=="string",s=n?this.data:e,i=n?e:t;s.extensions?.[i]!==void 0&&(this.recordRemovedExtension(i),delete s.extensions[i]),n&&(wE(this.data.extensionsUsed,i),wE(this.data.extensionsRequired,i))}recordRemovedExtension(e){let t=this.data;t.extensionsRemoved||=[],t.extensionsRemoved.includes(e)||t.extensionsRemoved.push(e)}resolveAccessor(e,t){return this.resolveCollectionObject("accessor",e,t)}resolveBuffer(e,t){return this.resolveCollectionObject("buffer",e,t)}resolveBufferView(e,t){return this.resolveCollectionObject("bufferView",e,t)}resolveCamera(e,t){return this.resolveCollectionObject("camera",e,t)}resolveExternalAsset(e,t){return this.resolveCollectionObject("externalAsset",e,t)}resolveFile(e,t){return this.resolveCollectionObject("file",e,t)}resolveImage(e,t){return this.resolveCollectionObject("image",e,t)}resolveMaterial(e,t){return this.resolveCollectionObject("material",e,t)}resolveMesh(e,t){return this.resolveCollectionObject("mesh",e,t)}resolveNode(e,t){return this.resolveCollectionObject("node",e,t)}resolveSampler(e,t){return this.resolveCollectionObject("sampler",e,t)}resolveScene(e,t){return this.resolveCollectionObject("scene",e,t)}resolveSkin(e,t){return this.resolveCollectionObject("skin",e,t)}resolveTexture(e,t){return this.resolveCollectionObject("texture",e,t)}getOrCreateNested(e,t){return this.getOrCreate(e,t)}iterateCollection(e){let t=this.getCollection(e);return _o(t,(n,s)=>this.resolveCollectionObject(e,s,e))}iterateCollectionData(e){return(function*(n){for(let s of n.iterateCollection(e))yield s.data})(this)}getObjectIterator(e){let t=this.objectCache.get(e);if(!t)throw new Error("glTF object is not registered with this iterator");return t}resolveCollectionObject(e,t,n){let i=this.getCollection(e)[t];if(!i)throw new Error(`Invalid glTF reference at ${n}: ${e} index ${t} is out of range`);return this.getOrCreate(i,()=>this.createCollectionObject(e,t,i))}getCollection(e){switch(e){case"accessor":return this.data.accessors||[];case"animation":return this.data.animations||[];case"buffer":return this.data.buffers||[];case"bufferView":return this.data.bufferViews||[];case"camera":return this.data.cameras||[];case"externalAsset":return this.data.externalAssets||[];case"file":return this.data.files||[];case"image":return this.data.images||[];case"material":return this.data.materials||[];case"mesh":return this.data.meshes||[];case"node":return this.data.nodes||[];case"sampler":return this.data.samplers||[];case"scene":return this.data.scenes||[];case"skin":return this.data.skins||[];case"texture":return this.data.textures||[]}}createCollectionObject(e,t,n){let s=`${Lk(e)}[${t}]`;switch(e){case"accessor":return new Ly(this,e,t,n,s);case"animation":return new By(this,e,t,n,s);case"buffer":return new My(this,e,t,n,s);case"bufferView":return new Ry(this,e,t,n,s);case"camera":return new Dy(this,e,t,n,s);case"externalAsset":return new Ny(this,e,t,n,s);case"file":return new ky(this,e,t,n,s);case"image":return new Cy(this,e,t,n,s);case"material":return new Uy(this,e,t,n,s);case"mesh":return new Vy(this,e,t,n,s);case"node":return new Gy(this,e,t,n,s);case"sampler":return new zy(this,e,t,n,s);case"scene":return new Wy(this,e,t,n,s);case"skin":return new $y(this,e,t,n,s);case"texture":return new qy(this,e,t,n,s)}}getOrCreate(e,t){let n=this.objectCache.get(e);if(n)return n;let s=t();return this.objectCache.set(e,s),s}}});function xE(r){return(r%1+1)%1}function Iu(r,e){return _E[e]*TE[r]}function Oa(r,e,t,n){if(t!=="UINT8"&&t!=="UINT16"&&t!=="UINT32"&&t!=="UINT64")return null;let s=r.getTypedArrayForBufferView(e),i=Ma(s,"SCALAR",t,n+1);if(i instanceof BigInt64Array||i instanceof BigUint64Array){let o=new Float64Array(i.length),a=BigInt(Number.MAX_SAFE_INTEGER);for(let c=0;c<i.length;c++){let u=i[c];if(u<0n||u>a)throw new Error("EXT_structural_metadata: UINT64 offset exceeds the safe integer range");o[c]=Number(u)}return o}return i}function Ma(r,e,t,n=1){let s=TE[e],i=Bk[t],o=_E[t],a=n*s,c=a*o,u=r.buffer,l=r.byteOffset;return l%o!==0&&(u=new Uint8Array(u).slice(l,l+c).buffer,l=0),new i(mo(u),l,a)}function Ra(r,e,t){let n=`TEXCOORD_${e.texCoord||0}`,s=t.attributes[n],i=r.getTypedArrayForAccessor(s),o=r.gltf.json,a=e.index,c=o.textures?.[a]?.source;if(typeof c<"u"){let u=o.images?.[c]?.mimeType,l=r.gltf.images?.[c];if(l&&typeof l.width<"u"&&!("compressed"in l&&l.compressed)){let f=[];for(let d=0;d<i.length;d+=2){let h=Fk(l,u,i,d,e.channels);f.push(h)}return f}}return[]}function Yd(r,e,t,n,s){if(!t?.length)return;let i=[];for(let f of t){let d=n.findIndex(h=>h===f);d===-1&&(d=n.push(f)-1),i.push(d)}let o=new Uint32Array(i),a=r instanceof ae?r:new ae(r.gltf),c=a.addBuffer(o),u=a.addBufferView(c,o.byteLength),l=a.addAccessor(u,{size:1,componentType:Qn(o),count:o.length});s.attributes[e]=l}function Fk(r,e,t,n,s=[0]){let i={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},o=t[n],a=t[n+1],c=1;e&&(e.indexOf("image/jpeg")!==-1||e.indexOf("image/png")!==-1)&&(c=4);let u=Ok(o,a,r,c),l=0;for(let f of s){let d=typeof f=="number"?Object.values(i)[f]:i[f],h=u+d.offset,m=xu(r);if(m.data.length<=h)throw new Error(`${m.data.length} <= ${h}`);let b=m.data[h];l|=b<<d.shift}return l}function Ok(r,e,t,n=1){let s=t.width,i=xE(r)*(s-1),o=Math.round(i),a=t.height,c=xE(e)*(a-1),u=Math.round(c),l=t.components?t.components:n;return(u*s+o)*l}function Su(r,e,t,n=1){let s=[];for(let i=0;i<e;i++){let o=Number(t[i]),a=Number(t[i+1])-o;if(!Number.isInteger(o)||!Number.isInteger(a)||o<0||a<0||(o+a)*n>r.length)break;let c=o*n,u=a*n;s.push(r.slice(c,c+u))}return s}function Eu(r,e,t,n=1){let s=[],i=t*n;for(let o=0;o<e;o++){let a=o*i;s.push(r.slice(a,a+i))}return s}function Qd(r,e,t,n,s){let i=new TextDecoder("utf8");if(t){if(!n)throw new Error("stringOffsets is required for variable-length string arrays");let o=[];for(let a=0;a<r;a++){let c=t[a],u=t[a+1],l=[];for(let f=c;f<u;f++){let d=n[f],h=n[f+1],m=e.subarray(d,h);l.push(i.decode(m))}o.push(l)}return o}if(n){let o=[],a=r*(s||1);for(let c=0;c<a;c++){let u=Number(n[c]),l=Number(n[c+1]);u>=0&&l>=u&&l<=e.length&&o.push(i.decode(e.subarray(u,l)))}return s?Array.from({length:r},(c,u)=>o.slice(u*s,(u+1)*s)):o}return[]}var TE,Bk,_E,Zd=p(()=>{"use strict";Xe();ui();Jn();Be();TE={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},Bk={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},_E={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8}});var Ky={};Y(Ky,{createExtMeshFeatures:()=>Uk,decode:()=>Rk,encode:()=>Dk,name:()=>Mk});async function Rk(r,e){let t=new ae(r);Nk(t,e)}function Dk(r,e){let t=new xn(r);return Ck(t,e),t.createBinaryChunk(),t.gltf}function Nk(r,e){for(let t of r.meshes)for(let n of r.getReferences(t).primitives)kk(r,n,e)}function kk(r,e,t){let s=r.getExtension(e,Da)?.featureIds||[];if(s)for(let i of s){let o;if(typeof i.attribute<"u"){if(!t?.gltf?.loadBuffers)continue;let a=`_FEATURE_ID_${i.attribute}`,c=e.attributes[a];o=r.getTypedArrayForAccessor(c)}else if(typeof i.texture<"u"){if(!t?.gltf?.loadImages)continue;o=Ra(r,i.texture,e)}else{let a=e.attributes.POSITION,c=typeof a=="number"?r.data.accessors?.[a]?.count:a?.count;if(typeof c!="number"||!Number.isInteger(c)||c<0)throw new Error("EXT_mesh_features: implicit feature IDs require a POSITION accessor");if(i.featureCount!==c)throw new Error(`EXT_mesh_features: implicit featureCount ${i.featureCount} does not match vertex count ${c}`);delete i.data,Object.defineProperty(i,"implicit",{configurable:!0,enumerable:!1,writable:!0,value:{start:0,count:c}})}o&&(i.data=o,delete i.implicit)}}function Ck(r,e){let t=r.gltf.json.meshes;if(t)for(let n of t)for(let s of n.primitives)Pk(r,s)}function Uk(r,e,t,n){e.extensions||(e.extensions={});let s=e.extensions[Da];s||(s={featureIds:[]},e.extensions[Da]=s);let{featureIds:i}=s,o={featureCount:t.length,propertyTable:n,data:t};i.push(o),r.addObjectExtension(e,Da,s)}function Pk(r,e){let t=e.extensions?.[Da];if(!t)return;let n=t.featureIds;n.forEach((s,i)=>{if(s.data){let{accessorKey:o,index:a}=Vk(e.attributes),c=new Uint32Array(s.data);n[i]={featureCount:c.length,propertyTable:s.propertyTable,attribute:a};let u=r.addBufferView(c),l=r.addAccessor(u,{size:1,componentType:Qn(c),count:c.length});e.attributes[o]=l}})}function Vk(r){let e="_FEATURE_ID_",t=Object.keys(r).filter(i=>i.indexOf(e)===0),n=-1;for(let i of t){let o=Number(i.substring(e.length));o>n&&(n=o)}return n++,{accessorKey:`${e}${n}`,index:n}}var Da,Mk,AE=p(()=>{"use strict";vu();Xe();Zd();ui();Da="EXT_mesh_features",Mk=Da});var Yy={};Y(Yy,{createExtStructuralMetadata:()=>fC,decode:()=>Gk,encode:()=>zk,name:()=>jk});async function Gk(r,e,t){let n=new ae(r),s=n.getExtension(Ao);if(e.gltf?.loadBuffers&&s?.schemaUri&&!s.schema){if(!t?.fetch)throw new Error("EXT_structural_metadata: a loader context is required to load schemaUri");let i=Yn(s.schemaUri,e,t),o=await t.fetch(i);if(!o.ok)throw new Error(`EXT_structural_metadata: failed to load schemaUri ${i} (${o.status})`);s.schema=await o.json()}Wk(n,e)}function zk(r,e){let t=new xn(r);return uC(t,e),t.createBinaryChunk(),t.gltf}function Wk(r,e){if(!e.gltf?.loadBuffers)return;let t=r.getExtension(Ao);t&&(e.gltf?.loadImages&&$k(r,t),qk(r,t))}function $k(r,e){let t=e.propertyTextures,n=r.data;if(t&&n.meshes)for(let s of n.meshes)for(let i of s.primitives)Kk(r,t,i,e)}function qk(r,e){let t=e.schema;if(!t)return;let n=t.classes,s=e.propertyTables;if(n&&s)for(let i of s)i.class&&n[i.class]&&Xk(r,t,i)}function Kk(r,e,t,n){if(!e)return;let i=t.extensions?.[Ao]?.propertyTextures;if(i)for(let o of i){let a=e[o];Hk(r,a,t,n)}}function Hk(r,e,t,n){if(!e.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let s=e.class;for(let i in e.properties){let o=`${s}_${i}`,a=e.properties?.[i];if(!a)continue;a.data||(a.data=[]);let c=a.data,u=Ra(r,a,t);u!==null&&(Yd(r,o,u,c,t),a.data=c,n.dataAttributeNames.push(o))}}function Xk(r,e,t){let n=e.classes?.[t.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${t.class}`);let s=t.count;for(let i in n.properties){let o=n.properties[i],a=t.properties?.[i];if(a){let c={},u=Jk(r,e,o,s,a,c);a.data=u,c.value!==void 0&&Object.defineProperty(a,"rawData",{value:c.value,configurable:!0,enumerable:!1,writable:!0})}}}function Jk(r,e,t,n,s,i){let o=[],a=s.values,c=r.getTypedArrayForBufferView(a),u=Qk(r,t,s,n),l=Zk(r,t,s,n,u);switch(t.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{let f=eC(t,s,n,c,u);o=f.data,i&&(i.value=f.rawData);break}case"BOOLEAN":{o=Yk(t,n,c,u);break}case"STRING":{o=Qd(n,c,u,l,t.array?t.count:void 0);break}case"ENUM":{o=sC(e,t,n,c,u);break}default:throw new Error(`Unknown classProperty type ${t.type}`)}return o}function Yk(r,e,t,n){return r.array?n?Array.from({length:e},(s,i)=>{let o=Number(n[i]),a=Number(n[i+1]);if(!Number.isInteger(o)||!Number.isInteger(a)||o<0||a<o)throw new Error("EXT_structural_metadata: invalid BOOLEAN array offsets");return Hy(t,o,a-o)}):r.count===void 0?[]:Array.from({length:e},(s,i)=>Hy(t,i*r.count,r.count)):Hy(t,0,e)}function Hy(r,e,t){if(e+t>r.byteLength*8)throw new Error("EXT_structural_metadata: BOOLEAN values exceed their buffer view");return Array.from({length:t},(n,s)=>{let i=e+s;return!!(r[Math.floor(i/8)]&1<<i%8)})}function Qk(r,e,t,n){return e.array&&typeof e.count>"u"&&typeof t.arrayOffsets<"u"?Oa(r,t.arrayOffsets,t.arrayOffsetType||"UINT32",n):null}function Zk(r,e,t,n,s){if(typeof t.stringOffsets<"u"){let i=s?Number(s[n]):n*(e.array&&e.count||1);return Oa(r,t.stringOffsets,t.stringOffsetType||"UINT32",i)}return null}function eC(r,e,t,n,s){let i=r.array,o=r.count,a={VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16}[r.type]||1,c=Iu(r.type,r.componentType),u=n.byteLength/c,l;r.componentType?l=Ma(n,r.type,r.componentType,u):l=n;let f=l,d=e.offset??r.offset,h=e.scale??r.scale,m=r.normalized||d!==void 0||h!==void 0?tC(f,r.componentType,r.type,r.normalized,d,h):f;return i?s?{data:Su(m,t,s,a),rawData:Su(f,t,s,a)}:o?{data:Eu(m,t,o,a),rawData:Eu(f,t,o,a)}:{data:[],rawData:[]}:{data:m,rawData:f}}function tC(r,e,t,n,s,i){let o=nC(e),a=!!(n&&o!==void 0);if(!a&&s===void 0&&i===void 0)return r;let c=rC(t),u=new Float64Array(r.length);for(let l=0;l<r.length;l++){let f=Number(r[l]);a&&(f=e?.startsWith("INT")?Math.max(f/o,-1):f/o);let d=l%c,h=Array.isArray(s)?s[d]??0:s??0,m=Array.isArray(i)?i[d]??1:i??1;u[l]=f*m+h}return u}function rC(r){switch(r){case"VEC2":return 2;case"VEC3":return 3;case"VEC4":return 4;case"MAT2":return 4;case"MAT3":return 9;case"MAT4":return 16;default:return 1}}function nC(r){switch(r){case"INT8":return 127;case"UINT8":return 255;case"INT16":return 32767;case"UINT16":return 65535;case"INT32":return 2147483647;case"UINT32":return 4294967295;case"INT64":return 2**63-1;case"UINT64":return 2**64-1;default:return}}function sC(r,e,t,n,s){let i=e.enumType;if(!i)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let o=r.enums?.[i];if(!o)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${i}`);let a=o.valueType||"UINT16",c=Iu(e.type,a),u=n.byteLength/c,l=Ma(n,e.type,a,u);if(l||(l=n),e.array){if(s)return iC({valuesData:l,numberOfElements:t,arrayOffsets:s,enumEntry:o});let f=e.count;return f?oC(l,t,f,o):[]}return Jy(l,0,t,o)}function iC(r){let{valuesData:e,numberOfElements:t,arrayOffsets:n,enumEntry:s}=r,i=[];for(let o=0;o<t;o++){let a=Number(n[o]),c=Number(n[o+1])-a;if(!Number.isInteger(a)||!Number.isInteger(c)||a<0||c<0||a+c>e.length)break;let u=Jy(e,a,c,s);i.push(u)}return i}function oC(r,e,t,n){let s=[];for(let i=0;i<e;i++){let o=t*i,a=Jy(r,o,t,n);s.push(a)}return s}function Jy(r,e,t,n){let s=[];for(let i=0;i<t;i++){let o=r[e+i],a=aC(n,o);a?s.push(a.name):s.push("")}return s}function aC(r,e){for(let t of r.values)if(typeof e=="bigint"?Number.isSafeInteger(t.value)&&BigInt(t.value)===e:t.value===e)return t;return null}function uC(r,e){let t=r.getExtension(Ao);if(t&&t.propertyTables)for(let n of t.propertyTables){let s=n.class,i=t.schema?.classes?.[s];n.properties&&i&&lC(n,i,r)}}function lC(r,e,t){for(let n in r.properties){let s=r.properties[n].data;if(s){let i=e.properties[n];if(i){let o=pC(s,i,t);r.properties[n]=o}}}}function fC(r,e,t=cC){let n=r.getExtension(Ao);n||(n=r.addExtension(Ao)),n.schema=dC(e,t,n.schema);let s=hC(e,t,n.schema);return n.propertyTables||(n.propertyTables=[]),n.propertyTables.push(s)-1}function dC(r,e,t){let n=t??{id:"schema_id"},s={properties:{}};for(let i of r){let o={type:i.elementType,componentType:i.componentType};s.properties[i.name]=o}return n.classes={},n.classes[e]=s,n}function hC(r,e,t){let n={class:e,count:0},s=0,i=t.classes?.[e];for(let o of r){if(s===0&&(s=o.values.length),s!==o.values.length&&o.values.length)throw new Error("Illegal values in attributes");i?.properties[o.name]&&(n.properties||(n.properties={}),n.properties[o.name]={values:0,data:o.values})}return n.count=s,n}function pC(r,e,t){let n={values:0};if(e.type==="STRING"){let{stringData:s,stringOffsets:i}=gC(r);n.stringOffsets=Xy(i,t),n.values=Xy(s,t)}else if(e.type==="SCALAR"&&e.componentType){let s=bC(r,e.componentType);n.values=Xy(s,t)}return n}function bC(r,e){let t=[];for(let s of r)t.push(Number(s));let n=mC[e];if(!n)throw new Error("Illegal component type");return new n(t)}function gC(r){let e=new TextEncoder,t=[],n=0;for(let c of r){let u=e.encode(c);n+=u.length,t.push(u)}let s=new Uint8Array(n),i=[],o=0;for(let c of t)s.set(c,o),i.push(o),o+=c.length;i.push(o);let a=new Uint32Array(i);return{stringData:s,stringOffsets:a}}function Xy(r,e){return e.addBufferView(r)}var Ao,jk,cC,mC,vE=p(()=>{"use strict";vu();Xe();Zd();Tu();Ao="EXT_structural_metadata",jk=Ao;cC="schemaClassId";mC={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:Int32Array,UINT64:Uint32Array,FLOAT32:Float32Array,FLOAT64:Float64Array}});var Zy={};Y(Zy,{SPZ_COMPRESSION_EXTENSION_NAME:()=>Lu,decode:()=>wC,getGaussianSplatPrimitives:()=>IE,name:()=>Qy});async function wC(r,e,t){let n=t?.loaders?.find(o=>o.extensions?.includes("spz")),s=IE(r),i=new ae(r);for(let[o,a]of(r.json.meshes||[]).entries())for(let[c,u]of a.primitives.entries()){let l=u.extensions?.[Qy];if(!l)continue;let f=s.find(b=>b.meshIndex===o&&b.primitiveIndex===c),d=e?.gltf?.legacyGaussianSplatColorSpace,h=d&&l.extensions?.[Lu]?{...l,kernel:l.kernel??"ellipse",colorSpace:l.colorSpace??d}:l;f&&(f.extension=h),TC(r.json,u,h,o,c,i);let m=l.extensions?.[Lu];if(m&&f){let b=e?.gltf?.splatDecoder,g=r.json.bufferViews?.[m.bufferView];if(g&&r.buffers[g.buffer])f.compressedBytes=xC(r,m.bufferView);else if(b||n)throw new Error(`KHR_gaussian_splatting: bufferView ${m.bufferView} is not loaded for SPZ2 decoding.`);n&&t&&f.compressedBytes?f.decoded=await ni(f.compressedBytes.buffer,n,{...e,splats:{...e.splats,sourceCoordinateSystem:"LUF"}},t):b&&f.compressedBytes&&(f.decoded=await b(f.compressedBytes.buffer,{sourceCoordinateSystem:"LUF"}))}}s.length&&(r.gaussianSplatPrimitives=s)}function xC(r,e){let t=r.json.bufferViews?.[e];if(!t)throw new Error(`KHR_gaussian_splatting: bufferView ${e} is not defined.`);let n=r.buffers[t.buffer];if(!n)throw new Error(`KHR_gaussian_splatting: buffer ${t.buffer} is not loaded for SPZ2 payload.`);let s=n.byteOffset+(t.byteOffset||0);return new Uint8Array(n.arrayBuffer,s,t.byteLength).slice()}function IE(r){let e="json"in r?r.json:r,t=[];for(let[n,s]of(e.meshes||[]).entries())for(let[i,o]of s.primitives.entries()){let a=o.extensions?.[Qy];if(!a)continue;let c=a.extensions?.[Lu]?.bufferView;t.push({meshIndex:n,primitiveIndex:i,attributes:{...o.attributes},extension:a,compressedBufferView:c})}return t}function TC(r,e,t,n,s,i){if((e.mode??4)!==0)throw new Error(`KHR_gaussian_splatting: mesh ${n} primitive ${s} must use POINTS mode.`);if(typeof t.kernel!="string"||t.kernel.length===0)throw new Error(`KHR_gaussian_splatting: mesh ${n} primitive ${s} is missing kernel.`);if(typeof t.colorSpace!="string"||t.colorSpace.length===0)throw new Error(`KHR_gaussian_splatting: mesh ${n} primitive ${s} is missing colorSpace.`);let o=t.extensions?.[Lu]?.bufferView;if(o!==void 0){if(!Number.isInteger(o)||o<0||o>=(r.bufferViews||[]).length)throw new Error(`KHR_gaussian_splatting: mesh ${n} primitive ${s} has an invalid SPZ bufferView.`)}else for(let a of yC)if(e.attributes[a]===void 0)throw new Error(`KHR_gaussian_splatting: mesh ${n} primitive ${s} is missing ${a}.`);for(let[a,c]of Object.entries(e.attributes))if(!Number.isInteger(c)||c<0||c>=(r.accessors||[]).length)throw new Error(`KHR_gaussian_splatting: mesh ${n} primitive ${s} has invalid accessor ${a}.`);_C(r,e,i,n,s);for(let a=1;a<=3;a++){let c=a*2+1,u=Array.from({length:c},(l,f)=>e.attributes[`KHR_gaussian_splatting:SH_DEGREE_${a}_COEF_${f}`]!==void 0);if(u.some(Boolean)&&!u.every(Boolean))throw new Error(`KHR_gaussian_splatting: mesh ${n} primitive ${s} has incomplete SH degree ${a}.`);if(u.some(Boolean)&&a>1){let l=a-1,f=l*2+1;for(let d=0;d<f;d++)if(e.attributes[`KHR_gaussian_splatting:SH_DEGREE_${l}_COEF_${d}`]===void 0)throw new Error(`KHR_gaussian_splatting: mesh ${n} primitive ${s} skips SH degree ${l}.`)}}}function _C(r,e,t,n,s){let i=e.attributes["KHR_gaussian_splatting:SCALE"],o=e.attributes["KHR_gaussian_splatting:OPACITY"];for(let[a,c,u]of[["KHR_gaussian_splatting:SCALE",i,l=>l>=0],["KHR_gaussian_splatting:OPACITY",o,l=>l>=0&&l<=1]]){if(c===void 0||!AC(r,t,c))continue;let l=t.getTypedArrayForAccessor(c);for(let f=0;f<l.length;f++)if(!u(Number(l[f])))throw new Error(`KHR_gaussian_splatting: mesh ${n} primitive ${s} has an invalid ${a} value.`)}}function AC(r,e,t){let n=r.accessors?.[t],s=n?.bufferView===void 0?void 0:r.bufferViews?.[n.bufferView];return!!(s&&e.gltf.buffers[s.buffer])}var Qy,Lu,yC,SE=p(()=>{"use strict";Be();Xe();Qy="KHR_gaussian_splatting",Lu="KHR_gaussian_splatting_compression_spz_2",yC=["POSITION","KHR_gaussian_splatting:ROTATION","KHR_gaussian_splatting:SCALE","KHR_gaussian_splatting:OPACITY","KHR_gaussian_splatting:SH_DEGREE_0_COEF_0"]});var tw={};Y(tw,{decode:()=>vC,getVoxelPrimitives:()=>IC,name:()=>ew});async function vC(r){for(let[e,t]of(r.json.meshes||[]).entries())for(let[n,s]of t.primitives.entries()){let i=s.extensions?.[ew];i&&SC(r.json,s,i,e,n)}}function IC(r){let e="json"in r?r.json:r,t=[];for(let[n,s]of(e.meshes||[]).entries())for(let[i,o]of s.primitives.entries()){let a=o.extensions?.[ew];a&&t.push({meshIndex:n,primitiveIndex:i,attributes:{...o.attributes},extension:a})}return t}function SC(r,e,t,n,s){if(!Number.isInteger(t.shape)||t.shape<0)throw new Error(`EXT_primitive_voxels: mesh ${n} primitive ${s} has invalid shape.`);if(!Array.isArray(t.dimensions)||t.dimensions.length!==3||t.dimensions.some(i=>!Number.isInteger(i)||i<=0))throw new Error(`EXT_primitive_voxels: mesh ${n} primitive ${s} must provide three positive dimensions.`);if(e.mode!==void 0&&e.mode!==2147483647)throw new Error(`EXT_primitive_voxels: mesh ${n} primitive ${s} must use voxel mode.`);for(let i of Object.keys(e.attributes)){let o=e.attributes[i];if(!Number.isInteger(o)||o<0||o>=(r.accessors||[]).length)throw new Error(`EXT_primitive_voxels: mesh ${n} primitive ${s} has invalid accessor ${i}.`)}}var ew,EE=p(()=>{"use strict";ew="EXT_primitive_voxels"});var rw={};Y(rw,{decode:()=>LC,getPrimitiveRestartRanges:()=>eh,name:()=>fi});async function LC(r,e){if(!r.json.extensionsUsed?.includes(fi))return;if(!r.json.extensionsRequired?.includes(fi))throw new Error(`${fi} must be declared in extensionsRequired`);if(!e.gltf?.loadBuffers)return;let t=new ae(r);for(let n of t.meshes)for(let s of t.getReferences(n).primitives)BC(t,s)}function BC(r,e){if(e.indices===void 0)return;let t=e.indices,n=typeof t=="number"?r.data.accessors?.[t]:t;if(!n)throw new Error(`${fi}: primitive references missing indices accessor ${e.indices}`);let s=FC(n),i=r.getTypedArrayForAccessor(e.indices),o=Array.prototype.includes.call(i,s);if(!EC.has(e.mode??4)){if(o)throw new Error(`${fi}: primitive restart is not valid for mode ${e.mode??4}`);return}Object.defineProperty(e,"primitiveRestart",{configurable:!0,enumerable:!1,writable:!0,value:{restartIndex:s,ranges:eh(i,s)}})}function FC(r){if(r.type!=="SCALAR")throw new Error(`${fi}: indices accessor must have SCALAR type`);switch(r.componentType){case 5121:return 255;case 5123:return 65535;case 5125:return 4294967295;default:throw new Error(`${fi}: indices accessor must use an unsigned integer component type`)}}function eh(r,e){let t=[],n=0;for(let s=0;s<=r.length;s++)(s===r.length||r[s]===e)&&(s>n&&t.push({offset:n,count:s-n}),n=s+1);return t}var fi,EC,nw=p(()=>{"use strict";Xe();fi="KHR_mesh_primitive_restart",EC=new Set([2,3,5,6])});var sw={};Y(sw,{decode:()=>OC,name:()=>qt});async function OC(r,e){if(!e.gltf?.loadBuffers)return;let t=new ae(r);for(let n of t.meshes)for(let s of t.getReferences(n).primitives){let i=t.getExtension(s,qt);i&&Object.defineProperty(i,"data",{configurable:!0,enumerable:!1,writable:!0,value:MC(t,s,i)})}}function MC(r,e,t){if(!Number.isInteger(t.count)||t.count<1)throw new Error(`${qt}: count must be a positive integer`);if((e.mode??4)!==4||e.indices===void 0)throw new Error(`${qt}: primitive must use TRIANGLES mode with indices`);let n=th(r,e.indices,"indices"),s=th(r,t.indicesOffsets,"indicesOffsets",t.count),i=th(r,t.loopIndices,"loopIndices"),o=th(r,t.loopIndicesOffsets,"loopIndicesOffsets",t.count),a=r.data.accessors?.[t.loopIndices],c=RC(a.componentType);LE(s,n.length,"indicesOffsets"),LE(o,i.length,"loopIndicesOffsets");let u=[];for(let l=0;l<t.count;l++){let f=Number(s[l]),d=l+1<t.count?Number(s[l+1]):n.length,h=Number(o[l]),m=l+1<t.count?Number(o[l+1]):i.length,b=Array.from(i).slice(h,m),g=eh(b,c).map(y=>({offset:y.offset+h,count:y.count}));if((d-f)%3!==0)throw new Error(`${qt}: polygon ${l} triangle range must contain complete triangles`);if(g.length===0)throw new Error(`${qt}: polygon ${l} must contain at least one loop`);if(g.some(y=>y.count<3))throw new Error(`${qt}: polygon ${l} loops must contain at least three indices`);u.push({triangleRange:{offset:f,count:d-f},loopRanges:g})}return{indicesOffsets:s,loopIndices:i,loopIndicesOffsets:o,polygons:u}}function th(r,e,t,n){if(typeof e=="number"&&(!Number.isInteger(e)||e<0))throw new Error(`${qt}: ${t} must reference an accessor`);let s=typeof e=="number"?r.data.accessors?.[e]:e;if(!s)throw new Error(`${qt}: ${t} references missing accessor ${e}`);if(s.type!=="SCALAR"||![5121,5123,5125].includes(s.componentType))throw new Error(`${qt}: ${t} must be an unsigned integer SCALAR accessor`);if(n!==void 0&&s.count!==n)throw new Error(`${qt}: ${t} count must equal polygon count ${n}`);return r.getTypedArrayForAccessor(e)}function LE(r,e,t){if(Number(r[0])!==0)throw new Error(`${qt}: ${t} must begin at zero`);let n=-1;for(let s=0;s<r.length;s++){let i=Number(r[s]);if(!Number.isInteger(i)||i<0||i>=e||i<=n)throw new Error(`${qt}: ${t} must contain increasing in-bounds offsets`);n=i}}function RC(r){switch(r){case 5121:return 255;case 5123:return 65535;case 5125:return 4294967295;default:throw new Error(`${qt}: unsupported loop index component type ${r}`)}}var qt,BE=p(()=>{"use strict";Xe();nw();qt="EXT_mesh_polygon"});var iw={};Y(iw,{decode:()=>DC,getSpatialAudio:()=>FE,name:()=>Na});function FE(r){let e="asset"in r?r:r.json,t=[],n=e.extensions?.[Na];n&&t.push({nodeIndex:null,extension:n});for(let[s,i]of(e.nodes||[]).entries()){let o=i.extensions?.[Na];o&&t.push({nodeIndex:s,extension:o})}return t}async function DC(r){let e=FE(r);for(let{extension:t,nodeIndex:n}of e){let s=n===null?"root":`node ${n}`;for(let i of t.sources||[]){if(!Array.isArray(i.accessors)||i.accessors.length===0)throw new Error(`${Na}: ${s} source ${i.id} requires audio accessors.`);for(let o of i.accessors)if(!Number.isInteger(o)||o<0||!r.json.accessors?.[o])throw new Error(`${Na}: ${s} source ${i.id} has invalid accessor ${o}.`);if(i.reverbFeedGain&&i.reverbFeedGain.length!==(i.reverbFeed?.length||0))throw new Error(`${Na}: ${s} source ${i.id} has mismatched reverb feed gains.`)}}e.length&&(r.spatialAudio=e)}var Na,OE=p(()=>{"use strict";Na="MPEG_audio_spatial"});var ow={};Y(ow,{decode:()=>NC,name:()=>Kt});async function NC(r,e,t){let n=r.json.extensions?.[Kt],s=(n?.audio||[]).map(c=>({audio:c})),i=n?.sources||[],o=n?.emitters||[];for(let c of i)c.audio!==void 0&&rh(s,c.audio,"audio");for(let c of o){if(c.type!=="global"&&c.type!=="positional")throw new Error(`${Kt}: invalid emitter type ${c.type}.`);if(c.type==="global"&&c.positional!==void 0)throw new Error(`${Kt}: global emitters cannot have positional settings.`);for(let u of c.sources||[])rh(i,u,"source")}let a=[];for(let c of["nodes","scenes"])for(let[u,l]of(r.json[c]||[]).entries()){let f=l.extensions?.[Kt];if(f){if(!Array.isArray(f.emitters)||!f.emitters.length)throw new Error(`${Kt}: ${c} ${u} requires emitters.`);for(let d of f.emitters){let h=rh(o,d,"emitter");if(c==="scenes"&&h.type!=="global")throw new Error(`${Kt}: scenes may only reference global emitters.`);a.push({emitterIndex:d,nodeIndex:c==="nodes"?u:null,sceneIndex:c==="scenes"?u:null,emitter:h,sources:(h.sources||[]).map(m=>{let b=i[m];return{sourceIndex:m,source:b,clip:b.audio===void 0?void 0:s[b.audio]}})})}}}if(n){for(let c of s)kC(r,c);e.gltf?.loadAudio!==!1&&await Promise.all(s.map(c=>CC(r,c,e,t))),r.audioClips=s,r.audioEmitters=a}}function rh(r,e,t){if(!Number.isInteger(e)||e<0||!r[e])throw new Error(`${Kt}: invalid ${t} index ${e}.`);return r[e]}function kC(r,e){let{audio:t}=e;if(t.bufferView!==void 0){if(rh(r.json.bufferViews||[],t.bufferView,"bufferView"),!t.mimeType)throw new Error(`${Kt}: buffer-view audio requires mimeType.`)}else if(!t.uri)throw new Error(`${Kt}: audio requires a uri or bufferView.`)}async function CC(r,e,t,n){let{audio:s}=e;if(s.bufferView!==void 0){let a=r.json.bufferViews[s.bufferView],c=r.buffers[a.buffer];if(!c){if(t.gltf?.loadBuffers===!1)return;throw new Error(`${Kt}: audio buffer ${a.buffer} is not loaded.`)}let u=a.byteOffset??0,l=a.byteLength;if(!Number.isSafeInteger(u)||u<0||!Number.isSafeInteger(l)||l<0||u+l>c.byteLength||c.byteOffset+u+l>c.arrayBuffer.byteLength)throw new Error(`${Kt}: audio bufferView exceeds its buffer.`);e.data=new Uint8Array(c.arrayBuffer,c.byteOffset+u,l);return}if(!n?.fetch)throw new Error(`${Kt}: a loader context is required to load audio.`);let i=Yn(s.uri,t,n),o=await n.fetch(i);if(!o.ok)throw new Error(`${Kt}: failed to load audio ${i} (${o.status}).`);e.url=i,e.data=new Uint8Array(await o.arrayBuffer())}var Kt,ME=p(()=>{"use strict";Tu();Kt="KHR_audio_emitter"});var RE={};Y(RE,{MeshoptDecoder:()=>UC});var UC,DE=p(()=>{"use strict";UC=(function(){var r="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuixkbeeeddddillviebeoweuecj:Gdkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WboY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbrl79IV9Rbwq;X8:kdbk:kYi5ud9:du8Jjjjjbcjq9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxcj;abad9Uc;WFbGcjdadca0EhmaialfgPar9Rgoadfhsavaoadz:jjjjbgzceVhHcbhOdndninaeaO9nmeaPax9RaD6mdamaeaO9RaOamfgoae6EgAcsfglc9WGhCaAcethXaxaDfhiaOaeaoaeao6E9RhQalcl4cifcd4hLazcjdfaAfhKcbhYabaOad2fg8AhEaHh3incbh5dnawTmbaxaYcd4fRbbh5kcbh8Eazcjdfhqinaih8Fdndndndna5a8Ecet4ciGgoc9:fPdebdkaPa8F9RaA6mrazcjdfa8EaA2fa8FaAz:jjjjb8Aa8FaAfhixdkazcjdfa8EaA2fcbaAz:kjjjb8Aa8FhixekaPa8F9RaL6mva8FaLfhidnaCTmbaPai9RcK6mbaocdtc:q:G:cjbfcj:G:cjbawEhaczhrcbhlinargoc9Wfghaqfhrdndndndndndnaaa8Fahco4fRbbalcoG4ciGcdtfydbPDbedvivvvlvkar9cb83bwar9cb83bbxlkarcbaiRbdai8Xbb9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbaqaofgrcGfcbaicdfa8J9c8N1:NfghRbbag9cjjjjjw:dg8J9qE86bbarcVfcbaha8J9c8M1:NfghRbbag9cjjjjjl:dg8J9qE86bbarc7fcbaha8J9c8L1:NfghRbbag9cjjjjjd:dg8J9qE86bbarctfcbaha8J9c8K1:NfghRbbag9cjjjjje:dg8J9qE86bbarc91fcbaha8J9c8J1:NfghRbbag9cjjjj;ab:dg8J9qE86bbarc4fcbaha8J9cg1:NfghRbbag9cjjjja:dg8J9qE86bbarc93fcbaha8J9ch1:NfghRbbag9cjjjjz:dgg9qE86bbarc94fcbahag9ca1:NfghRbbai8Xbe9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbarc95fcbaha8J9c8N1:NfgiRbbag9cjjjjjw:dg8J9qE86bbarc96fcbaia8J9c8M1:NfgiRbbag9cjjjjjl:dg8J9qE86bbarc97fcbaia8J9c8L1:NfgiRbbag9cjjjjjd:dg8J9qE86bbarc98fcbaia8J9c8K1:NfgiRbbag9cjjjjje:dg8J9qE86bbarc99fcbaia8J9c8J1:NfgiRbbag9cjjjj;ab:dg8J9qE86bbarc9:fcbaia8J9cg1:NfgiRbbag9cjjjja:dg8J9qE86bbarcufcbaia8J9ch1:NfgiRbbag9cjjjjz:dgg9qE86bbaiag9ca1:NfhixikaraiRblaiRbbghco4g8Ka8KciSg8KE86bbaqaofgrcGfaiclfa8Kfg8KRbbahcl4ciGg8La8LciSg8LE86bbarcVfa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc7fa8Ka8Lfg8KRbbahciGghahciSghE86bbarctfa8Kahfg8KRbbaiRbeghco4g8La8LciSg8LE86bbarc91fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc4fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc93fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc94fa8Kahfg8KRbbaiRbdghco4g8La8LciSg8LE86bbarc95fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc96fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc97fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc98fa8KahfghRbbaiRbigico4g8Ka8KciSg8KE86bbarc99faha8KfghRbbaicl4ciGg8Ka8KciSg8KE86bbarc9:faha8KfghRbbaicd4ciGg8Ka8KciSg8KE86bbarcufaha8KfgrRbbaiciGgiaiciSgiE86bbaraifhixdkaraiRbwaiRbbghcl4g8Ka8KcsSg8KE86bbaqaofgrcGfaicwfa8Kfg8KRbbahcsGghahcsSghE86bbarcVfa8KahfghRbbaiRbeg8Kcl4g8La8LcsSg8LE86bbarc7faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarctfaha8KfghRbbaiRbdg8Kcl4g8La8LcsSg8LE86bbarc91faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc4faha8KfghRbbaiRbig8Kcl4g8La8LcsSg8LE86bbarc93faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc94faha8KfghRbbaiRblg8Kcl4g8La8LcsSg8LE86bbarc95faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc96faha8KfghRbbaiRbvg8Kcl4g8La8LcsSg8LE86bbarc97faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc98faha8KfghRbbaiRbog8Kcl4g8La8LcsSg8LE86bbarc99faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc9:faha8KfghRbbaiRbrgicl4g8Ka8KcsSg8KE86bbarcufaha8KfgrRbbaicsGgiaicsSgiE86bbaraifhixekarai8Pbw83bwarai8Pbb83bbaiczfhikdnaoaC9pmbalcdfhlaoczfhraPai9RcL0mekkaoaC6moaimexokaCmva8FTmvkaqaAfhqa8Ecefg8Ecl9hmbkdndndndnawTmbasaYcd4fRbbgociGPlbedrbkaATmdazaYfh8Fazcjdfhhcbh8EaEhaina8FRbbhraahocbhlinaoahalfRbbgqce4cbaqceG9R7arfgr86bbaoadfhoaAalcefgl9hmbkaacefhaa8Fcefh8FahaAfhha8Ecefg8Ecl9hmbxikkaATmeazaYfhaazcjdfhhcbhoceh8EaKh8FinaEaofhlaa8Vbbhrcbhoinala8FaofRbbcwtahaofRbbgqVc;:FiGce4cbaqceG9R7arfgr87bbaladfhlaQaocefgofmbka8FaXfh8FcdhoaacdfhaahaXfhha8EceGhlcbh8EalmbxdkkaATmbaocl4h8EazaYfRbbhqcwhoa3hlinalRbbaotaqVhqalcefhlaocwfgoca9hmbkcbhhaEh8FaKhainazcjdfahfRbbhrcwhoaahlinalRbbaotarVhralaAfhlaocwfgoca9hmbkara8E94aq7hqcbhoa8Fhlinalaqao486bbalcefhlaocwfgoca9hmbka8Fadfh8FaacefhaahcefghaA9hmbkkaEclfhEa3clfh3aYclfgYad6mbkaza8AaAcufad2fadz:jjjjb8AaAaOfhOaihxaimbkc9:hoxdkcbc99aPax9RakSEhoxekc9:hokavcjqf8Kjjjjbaok:bsesu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnalaeci9UgrcHf6mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecjez:kjjjb8Aav9cu83iUav9cu83i8Wav9cu83iyav9cu83iaav9cu83iKav9cu83izav9cu83iwav9cu83ibaialfc9WfhDaicefgiarfhqdndnaeci9pmbaqhexekcmcsawceSEhkcbhxcbhmaqhecbhlcbhoindndnaiRbbgrc;Ve0mbavc;abfaoarcu7gPcl4fcsGcitfgwydlhsawydbhzdndnarcsGgwak9pmbavalaPfcsGcdtfydbaxawEhraxawTgHfhxxekdnaeaD9nmbc9:hoxokdndnawcsSmbcehHamawcetfcWfhrxekaecefhrae8SbbgwcFeGhPdndnawcu9mmbarhexekaecvfheaPcFbGhPcrhwdninar8SbbgHcFbGawtaPVhPaHcu9kmearcefhrawcrfgwc8J9hmbxdkkarcefhekcehHaPce4cbaPceG9R7amfhrkarhmkavc;abfaocitfgwarBdbawasBdlavalcdtfarBdbavc;abfaocefcsGcitfgwazBdbawarBdlaocdfhoaHalfhldnadcd9hmbabar87elabas87edabaz87ebabcofhbxdkabarBdwabasBdlabazBdbabcxfhbxekdnarcpe0mbavalaDarcsGfRbbgwcl4gP9RcsGcdtfydbaxcefgsaPEhravalaw9RcsGcdtfydbasaPTgzfgsawcsGgPEhwaPThPdndnadcd9hmbabaw87elabar87edabax87ebcohHxekabawBdwabarBdlabaxBdbcxhHkavalcdtfaxBdbavc;abfaocitfgOarBdbaOaxBdlavalcefglcsGcdtfarBdbavc;abfaocefcsGcitfgOawBdbaOarBdlavalazfglcsGcdtfawBdbavc;abfaocdfcsGcitfgraxBdbarawBdlaocifhoabaHfhbalaPfhlasaPfhxxekdnaeaD9nmbc9:hoxlkaxcbaeRbbgwEgHarc;:eSgrfhsawcsGhOdndnawcl4gAmbascefhzxekashzavalaA9RcsGcdtfydbhskdndnaOmbazcefhxxekazhxavalaw9RcsGcdtfydbhzkdndnarTmbaecefhrxekaecdfhrae8SbegPcFeGhwdnaPcu9kmbaecofhHawcFbGhwcrhedninar8SbbgPcFbGaetawVhwaPcu9kmearcefhraecrfgec8J9hmbkaHhrxekarcefhrkawce4cbawceG9R7amfgmhHkdndnaAcsSmbarhwxekarcefhwar8SbbgecFeGhPdnaecu9kmbarcvfhsaPcFbGhPcrhedninaw8SbbgrcFbGaetaPVhParcu9kmeawcefhwaecrfgec8J9hmbkashwxekawcefhwkaPce4cbaPceG9R7amfgmhskdndnaOcsSmbawhexekawcefheaw8SbbgrcFeGhPdnarcu9kmbawcvfhzaPcFbGhPcrhrdninae8SbbgwcFbGartaPVhPawcu9kmeaecefhearcrfgrc8J9hmbkazhexekaecefhekaPce4cbaPceG9R7amfgmhzkdndnadcd9hmbabaz87elabas87edabaH87ebcohrxekabazBdwabasBdlabaHBdbcxhrkavc;abfaocitfgwasBdbawaHBdlavalcdtfaHBdbavc;abfaocefcsGcitfgwazBdbawasBdlavalcefglcsGcdtfasBdbavc;abfaocdfcsGcitfgwaHBdbawazBdlavalaATaAcsSVfglcsGcdtfazBdbalaOTaOcsSVfhlaocifhoabarfhbkaocsGhoalcsGhlaicefgiaq6mbkkcbc99aeaDSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnalaecvf9pmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk:4ioiue99dud99dud99dnaeTmbcbhiabhlindndnal8Uebgv:YgoJ:ji:1Salcof8UebgrciVgw:Y:vgDNJbbbZJbbb:;avcu9kEMgq:lJbbb9p9DTmbaq:Ohkxekcjjjj94hkkalclf8Uebhvalcdf8UebhxalarcefciGcetfak87ebdndnax:YgqaDNJbbbZJbbb:;axcu9kEMgm:lJbbb9p9DTmbam:Ohxxekcjjjj94hxkabaiarciGgkfcd7cetfax87ebdndnav:YgmaDNJbbbZJbbb:;avcu9kEMgP:lJbbb9p9DTmbaP:Ohvxekcjjjj94hvkalarcufciGcetfav87ebdndnawaw2:ZgPaPMaoaoN:taqaqN:tamamN:tgoJbbbbaoJbbbb9GE:raDNJbbbZMgD:lJbbb9p9DTmbaD:Ohrxekcjjjj94hrkalakcetfar87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk:Tvirud99eudndnadcl9hmbaeTmeindndnabRbbgiabcefgl8Sbbgvabcdfgo8Sbbgrf9R:YJbbuJabcifgwRbbgdce4adVgDcd4aDVgDcl4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax86bbdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao86bbdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai86bbdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad86bbabclfhbaecufgembxdkkaeTmbindndnab8Vebgiabcdfgl8Uebgvabclfgo8Uebgrf9R:YJbFu9habcofgw8Vebgdce4adVgDcd4aDVgDcl4aDVgDcw4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax87ebdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao87ebdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai87ebdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad87ebabcwfhbaecufgembkkk9teiucbcbyd:K:G:cjbgeabcifc98GfgbBd:K:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkk83dbcj:Gdk8Kbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbc:K:Gdkl8W:qbb",e="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuixkbbebeeddddilve9Weeeviebeoweuecj:Gdkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WbwY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbDl79IV9Rbqq:I9Dklbzik94evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaeai86b:q:W:cjbaecitab8Piw83i:q:G:cjbaecefgecjd9hmbkk:SBlEud97dur978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaialfgxar9RhodnadTgmmbavaoad;8qbbkaicefhPcj;abad9Uc;WFbGcjdadca0EhsdndndnadTmbaoadfhzcbhHinaeaH9nmdaxaP9RaD6miabaHad2fgOavcjdfasaeaH9RaHasfae6EgAaAcsfgoc9WGgCSEhXaPaDfhQaocl4cifcd4hLavcj;cbfaCcetfhKavcj;cbfaCci2fhYavcj;cbfaCfh8AcbhEaoc;ab6h3incbh5dnawTmbaPaEcd4fRbbh5kcbh8Eavcj;cbfh8Findndndndna5a8Ecet4ciGgoc9:fPdebdkaxaQ9RaC6mwdnaCTmbavcj;cbfa8EaC2faQaC;8qbbkaQaAfhQxdkaCTmeavcj;cbfa8EaC2fcbaC;8kbxekaxaQ9RaL6moaoclVcbawEhraQaLfhocbhidna3mbaxao9Rc;Gb6mbcbhlina8FalfhidndndndndndnaQalco4fRbbgqciGarfPDbedibledibkaipxbbbbbbbbbbbbbbbbpklbxlkaiaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaoclffa8JRb:q:W:cjbfhoxikaiaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaocwffa8JRb:q:W:cjbfhoxdkaiaopbbbpklbaoczfhoxekaiaopbbdaoRbbggcitpbi:q:G:cjbagRb:q:W:cjbggpsaoRbeg8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbagaocdffa8JRb:q:W:cjbfhokdndndndndndnaqcd4ciGarfPDbedibledibkaiczfpxbbbbbbbbbbbbbbbbpklbxlkaiczfaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaoclffa8JRb:q:W:cjbfhoxikaiczfaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaocwffa8JRb:q:W:cjbfhoxdkaiczfaopbbbpklbaoczfhoxekaiczfaopbbdaoRbbggcitpbi:q:G:cjbagRb:q:W:cjbggpsaoRbeg8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbagaocdffa8JRb:q:W:cjbfhokdndndndndndnaqcl4ciGarfPDbedibledibkaicafpxbbbbbbbbbbbbbbbbpklbxlkaicafaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaoclffa8JRb:q:W:cjbfhoxikaicafaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaocwffa8JRb:q:W:cjbfhoxdkaicafaopbbbpklbaoczfhoxekaicafaopbbdaoRbbggcitpbi:q:G:cjbagRb:q:W:cjbggpsaoRbeg8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbagaocdffa8JRb:q:W:cjbfhokdndndndndndnaqco4arfPDbedibledibkaic8Wfpxbbbbbbbbbbbbbbbbpklbxlkaic8Wfaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Ngicitpbi:q:G:cjbaiRb:q:W:cjbgipsaap5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbaiaoclffaqRb:q:W:cjbfhoxikaic8Wfaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Ngicitpbi:q:G:cjbaiRb:q:W:cjbgipsaap5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbaiaocwffaqRb:q:W:cjbfhoxdkaic8Wfaopbbbpklbaoczfhoxekaic8WfaopbbdaoRbbgicitpbi:q:G:cjbaiRb:q:W:cjbgipsaoRbegqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbaiaocdffaqRb:q:W:cjbfhokalc;abfhialcjefaC0meaihlaxao9Rc;Fb0mbkkdnaiaC9pmbaici4hlinaxao9RcK6mwa8FaifhqdndndndndndnaQaico4fRbbalcoG4ciGarfPDbedibledibkaqpxbbbbbbbbbbbbbbbbpkbbxlkaqaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spkbbagaoclffa8JRb:q:W:cjbfhoxikaqaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spkbbagaocwffa8JRb:q:W:cjbfhoxdkaqaopbbbpkbbaoczfhoxekaqaopbbdaoRbbggcitpbi:q:G:cjbagRb:q:W:cjbggpsaoRbeg8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpkbbagaocdffa8JRb:q:W:cjbfhokalcdfhlaiczfgiaC6mbkkaohQaoTmoka8FaCfh8Fa8Ecefg8Ecl9hmbkdndndndnawTmbazaEcd4fRbbglciGPlbedwbkaCTmdaXaEfhlavaEfpbdbh8Kcbhoinalavcj;cbfaofpblbg8La8Aaofpblbg8MpmbzeHdOiAlCvXoQrLg8NaKaofpblbgyaYaofpblbg8PpmbzeHdOiAlCvXoQrLgIpmbezHdiOAlvCXorQLgacep9Taapxeeeeeeeeeeeeeeeeghp9op9Hp9rgaa8Kp9Ug8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp9Ug8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp9Ug8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp9Ug8Kp9Abbbaladfgla8Ka8NaIpmwDKYqk8AExm35Ps8E8Fgacep9Taaahp9op9Hp9rgap9Ug8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp9Ug8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp9Ug8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp9Ug8Kp9Abbbaladfgla8Ka8La8MpmwKDYq8AkEx3m5P8Es8Fg8Laya8PpmwKDYq8AkEx3m5P8Es8Fg8MpmbezHdiOAlvCXorQLgacep9Taaahp9op9Hp9rgap9Ug8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp9Ug8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp9Ug8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp9Ug8Kp9Abbbaladfgla8Ka8La8MpmwDKYqk8AExm35Ps8E8Fgacep9Taaahp9op9Hp9rgap9Ughp9Abbbaladfglahaaaapmlvorlvorlvorlvorp9Ughp9AbbbaladfglahaaaapmwDqkwDqkwDqkwDqkp9Ughp9AbbbaladfglahaaaapmxmPsxmPsxmPsxmPsp9Ug8Kp9AbbbaladfhlaoczfgoaC6mbxikkaCTmeaXaEfhlavaEfpbdbh8Kcbhoinalavcj;cbfaofpblbg8La8Aaofpblbg8MpmbzeHdOiAlCvXoQrLg8NaKaofpblbgyaYaofpblbg8PpmbzeHdOiAlCvXoQrLgIpmbezHdiOAlvCXorQLgacep:neaapxebebebebebebebebghp9op:bep9rgaa8Kp:oeg8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp:oeg8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp:oeg8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp:oeg8Kp9Abbbaladfgla8Ka8NaIpmwDKYqk8AExm35Ps8E8Fgacep:neaaahp9op:bep9rgap:oeg8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp:oeg8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp:oeg8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp:oeg8Kp9Abbbaladfgla8Ka8La8MpmwKDYq8AkEx3m5P8Es8Fg8Laya8PpmwKDYq8AkEx3m5P8Es8Fg8MpmbezHdiOAlvCXorQLgacep:neaaahp9op:bep9rgap:oeg8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp:oeg8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp:oeg8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp:oeg8Kp9Abbbaladfgla8Ka8La8MpmwDKYqk8AExm35Ps8E8Fgacep:neaaahp9op:bep9rgap:oeghp9Abbbaladfglahaaaapmlvorlvorlvorlvorp:oeghp9AbbbaladfglahaaaapmwDqkwDqkwDqkwDqkp:oeghp9AbbbaladfglahaaaapmxmPsxmPsxmPsxmPsp:oeg8Kp9AbbbaladfhlaoczfgoaC6mbxdkkaCTmbaXaEfhrcbhocbalcl4gl9Rc8FGhiavaEfpbdbhhinaravcj;cbfaofpblbg8Ka8Aaofpblbg8LpmbzeHdOiAlCvXoQrLg8MaKaofpblbg8NaYaofpblbgypmbzeHdOiAlCvXoQrLg8PpmbezHdiOAlvCXorQLgaaip:Reaaalp:Tep9qgaahp9rghp9Abbbaradfgrahaaaapmlvorlvorlvorlvorp9rghp9AbbbaradfgrahaaaapmwDqkwDqkwDqkwDqkp9rghp9AbbbaradfgrahaaaapmxmPsxmPsxmPsxmPsp9rghp9Abbbaradfgraha8Ma8PpmwDKYqk8AExm35Ps8E8Fgaaip:Reaaalp:Tep9qgap9rghp9Abbbaradfgrahaaaapmlvorlvorlvorlvorp9rghp9AbbbaradfgrahaaaapmwDqkwDqkwDqkwDqkp9rghp9AbbbaradfgrahaaaapmxmPsxmPsxmPsxmPsp9rghp9Abbbaradfgraha8Ka8LpmwKDYq8AkEx3m5P8Es8Fg8Ka8NaypmwKDYq8AkEx3m5P8Es8Fg8LpmbezHdiOAlvCXorQLgaaip:Reaaalp:Tep9qgap9rghp9Abbbaradfgrahaaaapmlvorlvorlvorlvorp9rghp9AbbbaradfgrahaaaapmwDqkwDqkwDqkwDqkp9rghp9AbbbaradfgrahaaaapmxmPsxmPsxmPsxmPsp9rghp9Abbbaradfgraha8Ka8LpmwDKYqk8AExm35Ps8E8Fgaaip:Reaaalp:Tep9qgap9rghp9Abbbaradfgrahaaaapmlvorlvorlvorlvorp9rghp9AbbbaradfgrahaaaapmwDqkwDqkwDqkwDqkp9rghp9AbbbaradfgrahaaaapmxmPsxmPsxmPsxmPsp9rghp9AbbbaradfhraoczfgoaC6mbkkaEclfgEad6mbkdnaXavcjdf9hmbaAad2goTmbaOavcjdfao;8qbbkdnammbavaXaAcufad2fad;8qbbkaAaHfhHc9:hoaQhPaQmbxlkkaeTmbaDalfhrcbhocuhlinaralaD9RglfaD6mdasaeao9Raoasfae6Eaofgoae6mbkaial9RhPkcbc99axaP9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaokwbz:bjjjbkpPesu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnalaeci9UgrcHf6mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecje;8kbav9cu83iUav9cu83i8Wav9cu83iyav9cu83iaav9cu83iKav9cu83izav9cu83iwav9cu83ibaialfc9WfhDaicefgiarfhqdndnaeci9pmbaqhexekcmcsawceSEhkcbhxcbhmaqhecbhlcbhoindndnaiRbbgrc;Ve0mbavc;abfaoarcu7gPcl4fcsGcitfgwydlhsawydbhzdndnarcsGgwak9pmbavalaPfcsGcdtfydbaxawEhraxawTgHfhxxekdnaeaD9nmbc9:hoxokdndnawcsSmbcehHamawcetfcWfhrxekaecefhrae8SbbgwcFeGhPdndnawcu9mmbarhexekaecvfheaPcFbGhPcrhwdninar8SbbgHcFbGawtaPVhPaHcu9kmearcefhrawcrfgwc8J9hmbxdkkarcefhekcehHaPce4cbaPceG9R7amfhrkarhmkavc;abfaocitfgwarBdbawasBdlavalcdtfarBdbavc;abfaocefcsGcitfgwazBdbawarBdlaocdfhoaHalfhldnadcd9hmbabar87elabas87edabaz87ebabcofhbxdkabarBdwabasBdlabazBdbabcxfhbxekdnarcpe0mbavalaDarcsGfRbbgwcl4gP9RcsGcdtfydbaxcefgsaPEhravalaw9RcsGcdtfydbasaPTgzfgsawcsGgPEhwaPThPdndnadcd9hmbabaw87elabar87edabax87ebcohHxekabawBdwabarBdlabaxBdbcxhHkavalcdtfaxBdbavc;abfaocitfgOarBdbaOaxBdlavalcefglcsGcdtfarBdbavc;abfaocefcsGcitfgOawBdbaOarBdlavalazfglcsGcdtfawBdbavc;abfaocdfcsGcitfgraxBdbarawBdlaocifhoabaHfhbalaPfhlasaPfhxxekdnaeaD9nmbc9:hoxlkaxcbaeRbbgwEgHarc;:eSgrfhsawcsGhOdndnawcl4gAmbascefhzxekashzavalaA9RcsGcdtfydbhskdndnaOmbazcefhxxekazhxavalaw9RcsGcdtfydbhzkdndnarTmbaecefhrxekaecdfhrae8SbegPcFeGhwdnaPcu9kmbaecofhHawcFbGhwcrhedninar8SbbgPcFbGaetawVhwaPcu9kmearcefhraecrfgec8J9hmbkaHhrxekarcefhrkawce4cbawceG9R7amfgmhHkdndnaAcsSmbarhwxekarcefhwar8SbbgecFeGhPdnaecu9kmbarcvfhsaPcFbGhPcrhedninaw8SbbgrcFbGaetaPVhParcu9kmeawcefhwaecrfgec8J9hmbkashwxekawcefhwkaPce4cbaPceG9R7amfgmhskdndnaOcsSmbawhexekawcefheaw8SbbgrcFeGhPdnarcu9kmbawcvfhzaPcFbGhPcrhrdninae8SbbgwcFbGartaPVhPawcu9kmeaecefhearcrfgrc8J9hmbkazhexekaecefhekaPce4cbaPceG9R7amfgmhzkdndnadcd9hmbabaz87elabas87edabaH87ebcohrxekabazBdwabasBdlabaHBdbcxhrkavc;abfaocitfgwasBdbawaHBdlavalcdtfaHBdbavc;abfaocefcsGcitfgwazBdbawasBdlavalcefglcsGcdtfasBdbavc;abfaocdfcsGcitfgwaHBdbawazBdlavalaATaAcsSVfglcsGcdtfazBdbalaOTaOcsSVfhlaocifhoabarfhbkaocsGhoalcsGhlaicefgiaq6mbkkcbc99aeaDSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnalaecvf9pmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk;Toio97eue97aec98Ghedndnadcl9hmbaeTmecbhdinababpbbbgicKp:RecKp:Sep;6eglaicwp:RecKp:Sep;6ealp;Geaiczp:RecKp:Sep;6egvp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egralpxbbbjbbbjbbbjbbbjgwp9op9rp;Keglpxbb;:9cbb;:9cbb;:9cbb;:9calalp;Meaoaop;Meavaravawp9op9rp;Keglalp;Mep;Kep;Kep;Jep;Negvp;Mepxbbn0bbn0bbn0bbn0grp;KepxFbbbFbbbFbbbFbbbp9oaipxbbbFbbbFbbbFbbbFp9op9qalavp;Mearp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaoavp;Mearp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbabczfhbadclfgdae6mbxdkkaeTmbcbhdinabczfgDaDpbbbgipxbbbbbbFFbbbbbbFFgwp9oabpbbbgoaipmbediwDqkzHOAKY8AEgvczp:Reczp:Sep;6eglaoaipmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eavczp:Sep;6egvp;Gealp;Gep;Kep;Legipxbbbbbbbbbbbbbbbbp:2egralpxbbbjbbbjbbbjbbbjgqp9op9rp;Keglpxb;:FSb;:FSb;:FSb;:FSalalp;Meaiaip;Meavaravaqp9op9rp;Keglalp;Mep;Kep;Kep;Jep;Negvp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbp9oaiavp;Mearp;Keczp:Rep9qgialavp;Mearp;KepxFFbbFFbbFFbbFFbbp9oglpmwDKYqk8AExm35Ps8E8Fp9qpkbbabaoawp9oaialpmbezHdiOAlvCXorQLp9qpkbbabcafhbadclfgdae6mbkkk;2ileue97euo97dnaec98GgiTmbcbheinabcKfpx:ji:1S:ji:1S:ji:1S:ji:1SabpbbbglabczfgvpbbbgopmlvorxmPsCXQL358E8Fgrczp:Segwpxibbbibbbibbbibbbp9qp;6egDp;NegqaDaDp;MegDaDp;KealaopmbediwDqkzHOAKY8AEgDczp:Reczp:Sep;6eglalp;MeaDczp:Sep;6egoaop;Mearczp:Reczp:Sep;6egrarp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jep;Mepxbbn0bbn0bbn0bbn0gDp;KepxFFbbFFbbFFbbFFbbgkp9oaqaop;MeaDp;Keczp:Rep9qgoaqalp;MeaDp;Keakp9oaqarp;MeaDp;Keczp:Rep9qgDpmwDKYqk8AExm35Ps8E8Fglp5eawclp:RegqpEi:T:j83ibavalp5baqpEd:T:j83ibabcwfaoaDpmbezHdiOAlvCXorQLgDp5eaqpEe:T:j83ibabaDp5baqpEb:T:j83ibabcafhbaeclfgeai6mbkkkuee97dnadcd4ae2c98GgeTmbcbhdinababpbbbgicwp:Recwp:Sep;6eaicep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbabczfhbadclfgdae6mbkkk:Sodw97euaec98Ghedndnadcl9hmbaeTmecbhdinabpxbbuJbbuJbbuJbbuJabpbbbgicKp:TeglaicYp:Tep9qgvcdp:Teavp9qgvclp:Teavp9qgop;6ep;Negvaicwp:RecKp:SegraipxFbbbFbbbFbbbFbbbgwp9ogDp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oavaDarp:Xeaiczp:RecKp:Segip:Uep;6ep;Meaqp;Keawp9op9qavaDaraip:Uep:Xep;6ep;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qavaoalcep:Rep9oalpxebbbebbbebbbebbbp9op9qp;6ep;Meaqp;KecKp:Rep9qpkbbabczfhbadclfgdae6mbxdkkaeTmbcbhdinabczfgkpxbFu9hbFu9hbFu9hbFu9habpbbbglakpbbbgrpmlvorxmPsCXQL358E8Fgvczp:TegqavcHp:Tep9qgicdp:Teaip9qgiclp:Teaip9qgicwp:Teaip9qgop;6ep;NegialarpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbglp9ograDczp:Segwp:Ueavczp:Reczp:SegDp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gvp;Kealp9oaiarawaDp:Uep:Xep;6ep;Meavp;Keczp:Rep9qgwaiaoaqcep:Rep9oaqpxebbbebbbebbbebbbp9op9qp;6ep;Meavp;Keczp:ReaiaDarp:Uep;6ep;Meavp;Kealp9op9qgipmwDKYqk8AExm35Ps8E8FpkbbabawaipmbezHdiOAlvCXorQLpkbbabcafhbadclfgdae6mbkkk9teiucbcbydj:G:cjbgeabcifc98GfgbBdj:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkxebcj:Gdklz:zbb",t=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),n=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var s=WebAssembly.validate(t)?a(e):a(r),i,o=WebAssembly.instantiate(s,{}).then(function(y){i=y.instance,i.exports.__wasm_call_ctors()});function a(y){for(var x=new Uint8Array(y.length),T=0;T<y.length;++T){var _=y.charCodeAt(T);x[T]=_>96?_-97:_>64?_-39:_+4}for(var v=0,T=0;T<y.length;++T)x[v++]=x[T]<60?n[x[T]]:(x[T]-60)*64+x[++T];return x.buffer.slice(0,v)}function c(y,x,T,_,v,I,k){var K=y.exports.sbrk,ie=_+3&-4,be=K(ie*v),Ne=K(I.length),ke=new Uint8Array(y.exports.memory.buffer);ke.set(I,Ne);var de=x(be,_,v,Ne,I.length);if(de==0&&k&&k(be,ie,v),T.set(ke.subarray(be,be+_*v)),K(be-K(0)),de!=0)throw new Error("Malformed buffer data: "+de)}var u={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp",COLOR:"meshopt_decodeFilterColor"},l={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},f=[],d=0;function h(y){var x={object:new Worker(y),pending:0,requests:{}};return x.object.onmessage=function(T){var _=T.data;x.pending-=_.count,x.requests[_.id][_.action](_.value),delete x.requests[_.id]},x}function m(y){for(var x="self.ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(s)+"]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = "+g.name+";"+c.toString()+g.toString(),T=new Blob([x],{type:"text/javascript"}),_=URL.createObjectURL(T),v=f.length;v<y;++v)f[v]=h(_);for(var v=y;v<f.length;++v)f[v].object.postMessage({});f.length=y,URL.revokeObjectURL(_)}function b(y,x,T,_,v){for(var I=f[0],k=1;k<f.length;++k)f[k].pending<I.pending&&(I=f[k]);return new Promise(function(K,ie){var be=new Uint8Array(T),Ne=++d;I.pending+=y,I.requests[Ne]={resolve:K,reject:ie},I.object.postMessage({id:Ne,count:y,size:x,source:be,mode:_,filter:v},[be.buffer])})}function g(y){var x=y.data;self.ready.then(function(T){if(!x.id)return self.close();try{var _=new Uint8Array(x.count*x.size);c(T,T.exports[x.mode],_,x.count,x.size,x.source,T.exports[x.filter]),self.postMessage({id:x.id,count:x.count,action:"resolve",value:_},[_.buffer])}catch(v){self.postMessage({id:x.id,count:x.count,action:"reject",value:v})}})}return{ready:o,supported:!0,useWorkers:function(y){m(y)},decodeVertexBuffer:function(y,x,T,_,v){c(i,i.exports.meshopt_decodeVertexBuffer,y,x,T,_,i.exports[u[v]])},decodeIndexBuffer:function(y,x,T,_){c(i,i.exports.meshopt_decodeIndexBuffer,y,x,T,_)},decodeIndexSequence:function(y,x,T,_){c(i,i.exports.meshopt_decodeIndexSequence,y,x,T,_)},decodeGltfBuffer:function(y,x,T,_,v,I){c(i,i.exports[l[v]],y,x,T,_,i.exports[u[I]])},decodeGltfBufferAsync:function(y,x,T,_,v){return f.length>0?b(y,x,T,l[_],u[v]):o.then(function(){var I=new Uint8Array(y*x);return c(i,i.exports[l[_]],I,y,x,T,i.exports[u[v]]),I})}}})()});function NE(){return Promise.resolve().then(()=>(DE(),RE))}var kE=p(()=>{"use strict"});async function PC(){return nh||(nh=NE().then(async({MeshoptDecoder:r})=>(await r.ready,r),r=>{throw nh=void 0,new Error("Failed to load the packaged meshopt decoder.",{cause:r})})),nh}function VC(r){return typeof r=="string"?r:["NONE","OCTAHEDRAL","QUATERNION","EXPONENTIAL","COLOR"][r]}async function CE(r,e,t,n,s,i="NONE"){(await PC()).decodeGltfBuffer(r,e,t,n,s,VC(i))}var nh,UE=p(()=>{"use strict";kE()});async function sh(r,e,t){if(!e.gltf?.decompressMeshes&&e.gltf?.decompressBufferViewIndices===void 0||!e.gltf?.loadBuffers)return;jC(r.json);let n=new ae(r),s=e.gltf.decompressBufferViewIndices,i=s?new Set(typeof s=="function"?s(r.json):s):void 0,o=Array.from(n.bufferViews),a=o.map((c,u)=>i?.has(u)===!1?Promise.resolve():GC(n,c,t));if(await Promise.all(a),i){for(let c of i){let u=o[c];u&&n.removeExtension(u,t)}return}for(let c of o)n.removeExtension(c,t);for(let c of n.buffers)n.removeExtension(c,t);n.removeExtension(t)}function jC(r){let e=r.bufferViews||[];for(let n=0;n<e.length;n++){let s=e[n].extensions;if(s?.KHR_meshopt_compression&&s.EXT_meshopt_compression)throw new Error(`glTF bufferView ${n} cannot use both KHR_meshopt_compression and EXT_meshopt_compression.`)}let t=r.buffers||[];for(let n=0;n<t.length;n++){let s=t[n].extensions;if(s?.KHR_meshopt_compression&&s.EXT_meshopt_compression)throw new Error(`glTF buffer ${n} cannot use both KHR_meshopt_compression and EXT_meshopt_compression.`)}}async function GC(r,e,t){let n=r.getExtension(e,t);if(!n)return;let{byteOffset:s=0,byteLength:i,byteStride:o,count:a,mode:c,filter:u="NONE",buffer:l}=n,f=r.gltf.buffers[l],d=r.gltf.buffers[e.buffer],h=new Uint8Array(f.arrayBuffer,f.byteOffset+s,i),m=new Uint8Array(d.arrayBuffer,d.byteOffset+(e.byteOffset||0),e.byteLength);await CE(m,a,o,h,c,u)}var aw=p(()=>{"use strict";Xe();UE()});var cw={};Y(cw,{decode:()=>zC,name:()=>PE});async function zC(r,e){await sh(r,e,PE)}var PE,VE=p(()=>{"use strict";aw();PE="EXT_meshopt_compression"});var uw={};Y(uw,{decode:()=>WC,name:()=>jE});async function WC(r,e){await sh(r,e,jE)}var jE,GE=p(()=>{"use strict";aw();jE="KHR_meshopt_compression"});var lw={};Y(lw,{name:()=>$C,preprocess:()=>qC});function qC(r,e){let t=new ae(r);if(t.hasExtension(vo)){if(!py("image/webp")){if(t.isExtensionRequired(vo))throw new Error(`gltf: Required extension ${vo} not supported by browser`);return}for(let n of t.textures){let s=t.getExtension(n,vo);s&&(n.source=s.source),t.removeExtension(n,vo)}t.removeExtension(vo)}}var vo,$C,zE=p(()=>{"use strict";Jn();Xe();vo="EXT_texture_webp",$C=vo});var fw={};Y(fw,{name:()=>KC,preprocess:()=>HC});async function HC(r,e){let t=new ae(r);if(!t.hasExtension(Io))return;if(!(await hy()).has("image/avif")){if(t.isExtensionRequired(Io))throw new Error(`gltf: Required extension ${Io} not supported by browser`);return}for(let s of t.textures){let i=t.getExtension(s,Io);i&&(s.source=i.source),t.removeExtension(s,Io)}t.removeExtension(Io)}var Io,KC,WE=p(()=>{"use strict";Jn();Xe();Io="EXT_texture_avif",KC=Io});var dw={};Y(dw,{decode:()=>JC,getDDSLoader:()=>Bu,name:()=>So,preprocess:()=>XC});function Bu(r){return r?.loaders?.find(e=>e.extensions?.includes("dds")||e.mimeTypes?.includes("image/vnd-ms.dds"))}function XC(r,e,t){let n=new ae(r);if(n.hasExtension(So)){if(!Bu(t)){if(n.isExtensionRequired(So))throw new Error("gltf: Required extension MSFT_texture_dds needs a DDS parser");return}for(let s of n.textures){let i=n.getExtension(s,So);i&&(s.source=i.source)}}}async function JC(r,e,t){if(!Bu(t)||e.gltf?.loadImages===!1)return;let n=new ae(r);if(n.hasExtension(So)){for(let s of n.textures)n.removeExtension(s,So);n.removeExtension(So)}}var So,hw=p(()=>{"use strict";Xe();So="MSFT_texture_dds"});var pw={};Y(pw,{name:()=>YC,preprocess:()=>QC});function QC(r,e){let t=new ae(r);for(let n of t.textures){let s=t.getExtension(n,ih);s&&(n.source=s.source,t.removeExtension(n,ih))}t.removeExtension(ih)}var ih,YC,$E=p(()=>{"use strict";Xe();ih="KHR_texture_basisu",YC=ih});var Fu,mw=p(()=>{"use strict";Fu="5.0.0-beta.10"});var Ou,bw=p(()=>{"use strict";Ou={name:"Draco",id:"draco",module:"scene",encoding:"binary",format:"draco",extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"]}});var qE,KE=p(()=>{"use strict";qE={backend:typeof WebAssembly=="object"?"wasm":"javascript",extraAttributes:{},attributeNameEntry:void 0,shape:"arrow",decoderProfile:"full"}});async function Eo(r,e=null,t={},n=null,s=null){if(He&&t.useLocalLibraries&&!t.CDN&&n&&t.modules?.[n]===void 0){let i=uo?"./libs":`modules/${e}/dist/libs`;t={...t,modules:{[n]:`${i}/${n}`,...s?{[s]:`${i}/${s}`}:{},...t.modules}}}return await Sa(r,e,t,n,s)}var HE=p(()=>{"use strict";ai()});var ZC,e3,Mu,XE,Ae,Lo,JE=p(()=>{"use strict";ZC="1.5.7",e3="8786740086a9f4d83f44aa83badfbea4dce7a1b5",Mu=`https://www.gstatic.com/draco/versioned/decoders/${ZC}`,XE=`https://cdn.jsdelivr.net/gh/google/draco@${e3}/javascript`,Ae={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",GLTF_DECODER:"draco_wasm_wrapper_gltf.js",GLTF_DECODER_WASM:"draco_decoder_gltf.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js",ENCODER_WASM:"draco_encoder.wasm"},Lo={[Ae.DECODER]:`${Mu}/${Ae.DECODER}`,[Ae.DECODER_WASM]:`${Mu}/${Ae.DECODER_WASM}`,[Ae.GLTF_DECODER]:`${Mu}/${Ae.GLTF_DECODER}`,[Ae.GLTF_DECODER_WASM]:`${Mu}/${Ae.GLTF_DECODER_WASM}`,[Ae.FALLBACK_DECODER]:`${Mu}/${Ae.FALLBACK_DECODER}`,[Ae.ENCODER]:`${XE}/${Ae.ENCODER}`,[Ae.ENCODER_WASM]:`${XE}/${Ae.ENCODER_WASM}`}});async function oh(r={},e,t="full"){let n=iL(r);return n?await ww(n):await t3(r,e==="js"?"javascript":e,t)}async function t3(r={},e,t="full"){let n=oL(`${e}:${t}`,r),s=YE.get(n);return s||(s=r3(r,e,t),YE.set(n,s)),await s}async function ww(r){let e=i3(r),t=ZE.get(e);return t||(t=co(()=>e.createDecoderModule({}),n=>({draco:n})),ZE.set(e,t)),await t}async function xw(r={}){let e=iL(r);if(e){let s=o3(e),i=eL.get(s);return i||(i=co(()=>s.createEncoderModule({}),o=>({draco:o})),eL.set(s,i)),await i}let t=oL("encoder",r),n=QE.get(t);return n||(n=s3(r),QE.set(t,n)),await n}async function r3(r,e,t){try{return await rL(r,e,t)}catch(n){if(e==="javascript")throw n;try{return await rL(r,"javascript","full")}catch(s){throw new AggregateError([n,s],"Draco decoder could not load either the WebAssembly or JavaScript backend")}}}async function rL(r,e,t){let n=tL.then(()=>n3(r,e,t));return tL=n.then(()=>{},()=>{}),await n}async function n3(r,e,t){if(e==="javascript"){let o;try{o=await Eo(Lo[Ae.FALLBACK_DECODER],"scene",r,Ae.FALLBACK_DECODER,"draco_decoder.mjs")}catch(c){if(He||r.useLocalLibraries)throw c;o=await Eo(Lo[Ae.FALLBACK_DECODER],"scene",{...r,useLocalLibraries:!0},Ae.FALLBACK_DECODER,"draco_decoder.mjs")}let a=yw(o,"DracoDecoderModule")||globalThis.DracoDecoderModule;return await gw(a)}let n,s;try{[n,s]=await nL(r,t)}catch(o){if(He||r.useLocalLibraries)throw o;[n,s]=await nL({...r,useLocalLibraries:!0},t)}let i=yw(n,"DracoDecoderModule")||globalThis.DracoDecoderModule;return await gw(i,s)}async function nL(r,e){let t=e==="gltf"?Ae.GLTF_DECODER:Ae.DECODER,n=e==="gltf"?Ae.GLTF_DECODER_WASM:Ae.DECODER_WASM;return await Promise.all([Eo(Lo[t],"scene",r,t,e==="gltf"?"draco_wasm_wrapper_gltf.mjs":"draco_wasm_wrapper.mjs"),Eo(Lo[n],"scene",r,n)])}async function s3(r){let e,t;try{[e,t]=await sL(r)}catch(s){if(He||r.useLocalLibraries)throw s;[e,t]=await sL({...r,useLocalLibraries:!0})}let n=yw(e,"DracoEncoderModule")||globalThis.DracoEncoderModule;return await gw(n,t)}async function sL(r){return await Promise.all([Eo(Lo[Ae.ENCODER],"scene",r,Ae.ENCODER,"draco_encoder.mjs"),Eo(Lo[Ae.ENCODER_WASM],"scene",r,Ae.ENCODER_WASM)])}function gw(r,e){if(typeof r!="function")throw new Error("Draco module initializer could not be loaded");return co(t=>r({...e?{wasmBinary:e}:{},onModuleLoaded:t}),t=>({draco:t}))}function yw(r,e){if(typeof r=="function")return r;if(r&&typeof r=="object"){let t=r,n=t[e]||t.default;return typeof n=="function"?n:void 0}}function iL(r){let e=r.modules?.draco3d;if(e){if(typeof e!="object"&&typeof e!="function")throw new Error("Invalid draco3d module");return e}}function i3(r){let e=r;if(typeof e?.createDecoderModule!="function")throw new Error("Invalid draco3d decoder module");return e}function o3(r){let e=r;if(typeof e?.createEncoderModule!="function")throw new Error("Invalid draco3d encoder module");return e}function oL(r,e){let t=Object.entries(e.modules||{}).filter(([n])=>n!=="draco3d").map(([n,s])=>`${n}:${String(s)}`).sort().join("|");return[r,e.useLocalLibraries?"local":"remote",e.CDN||"",t].join("|")}var YE,QE,ZE,eL,tL,Ru=p(()=>{"use strict";Be();HE();JE();YE=new Map,QE=new Map,ZE=new WeakMap,eL=new WeakMap;tL=Promise.resolve()});function cL(r,e,t){let n=uL(e.metadata),s=[],i=a3(e.attributes);for(let o in r){let a=r[o],c=aL(o,a,i[o]);s.push(c)}if(t){let o=aL("indices",t);s.push(o)}return{fields:s,metadata:n}}function a3(r){let e={};for(let t in r){let n=r[t];e[n.name||"undefined"]=n}return e}function aL(r,e,t){let n={...ad(e),...t?uL(t.metadata):{}};return od(r,e,n)}function uL(r){Object.entries(r);let e={};for(let t in r)e[`${t}.string`]=JSON.stringify(r[t]);return e}var lL=p(()=>{"use strict";Xr()});function f3(r,e){switch(e){case Float32Array:return r.DT_FLOAT32;case Int8Array:return r.DT_INT8;case Int16Array:return r.DT_INT16;case Int32Array:return r.DT_INT32;case Uint8Array:return r.DT_UINT8;case Uint16Array:return r.DT_UINT16;case Uint32Array:return r.DT_UINT32;default:return r.DT_INVALID}}function d3(r){let e=r.size(),t=new Int32Array(e);for(let n=0;n<e;n++)t[n]=r.GetValue(n);return t}function h3(r){let e=r.size(),t=new Uint32Array(e);for(let n=0;n<e;n++)t[n]=r.GetValue(n);return t}function p3(r,e){if(!Object.prototype.hasOwnProperty.call(e,r))return r;let t=/^(.*)_([0-9]+)$/.exec(r),n=t?t[1]:r,s=t?BigInt(t[2])+1n:1n;for(;Object.prototype.hasOwnProperty.call(e,`${n}_${s}`);)s++;return`${n}_${s}`}function m3(r){if(r.quantization_transform){let{quantization_bits:e,min_values:t,range:n}=r.quantization_transform;if(e!==void 0&&t&&n!==void 0)return{type:"quantization",bits:e,origin:Array.from(t),range:n}}if(r.octahedron_transform?.quantization_bits!==void 0)return{type:"octahedron",bits:r.octahedron_transform.quantization_bits}}function b3(r){if(r.includeAttributes&&r.excludeAttributes)throw new Error("DracoLoader: includeAttributes and excludeAttributes cannot be combined")}function g3(r,e){for(let t of r.includeAttributes||r.excludeAttributes||[])if(!e.includes(t))throw new Error(`DracoLoader: selected attribute "${t}" does not exist`)}function y3(r){let e=fr(r);if(!e)throw new Error("Decoded mesh is missing positions");let t=r.POSITION;if(t?.transform?.type!=="quantization")return e;let{bits:n,origin:s,range:i}=t.transform,o=i/(2**n-1);return e.map(a=>a.map((c,u)=>s[u]+c*o))}var fL,c3,u3,l3,Du,dL=p(()=>{"use strict";Be();Xr();lL();fL={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},c3={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},u3=2,l3=4,Du=class{logger;draco;decoder;metadataQuerier;constructor(e,t=Jr()){this.logger=t,this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){b3(t);let n=ArrayBuffer.isView(e)?new Int8Array(e.buffer,e.byteOffset,e.byteLength):new Int8Array(e);this._disableAttributeTransforms(t);let s=this.decoder.GetEncodedGeometryType(n),i=s===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud,o=null;try{switch(s){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeArrayToMesh(n,n.byteLength,i);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeArrayToPointCloud(n,n.byteLength,i);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!i.ptr){let d=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(d)}let a=this._getDracoLoaderData(i,s,t),c=this._getMeshData(i,a,t),u=y3(c.attributes),l=cL(c.attributes,a,c.indices);return{loader:"draco",loaderData:a,header:{vertexCount:i.num_points(),boundingBox:u},...c,schema:l}}finally{o&&this.draco.destroy(o),i&&this.draco.destroy(i)}}_getDracoLoaderData(e,t,n){let s=this._getTopLevelMetadata(e),i=this._getDracoAttributes(e,n);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:s,attributes:i}}_getDracoAttributes(e,t){let n={};for(let s=0;s<e.num_attributes();s++){let i=this.decoder.GetAttribute(e,s),o=this._getAttributeMetadata(e,s);n[i.unique_id()]={unique_id:i.unique_id(),attribute_type:i.attribute_type(),data_type:i.data_type(),num_components:i.num_components(),byte_offset:i.byte_offset(),byte_stride:i.byte_stride(),normalized:i.normalized(),attribute_index:s,metadata:o};let a=this._getQuantizationTransform(i,t);a&&(n[i.unique_id()].quantization_transform=a);let c=this._getOctahedronTransform(i,t);c&&(n[i.unique_id()].octahedron_transform=c)}return n}_getMeshData(e,t,n){let s=this._getMeshAttributes(t,e,n);if(!s.POSITION)throw new Error("DRACO: No position attribute found.");return e instanceof this.draco.Mesh?n.topology==="triangle-strip"?{topology:"triangle-strip",mode:5,attributes:s,indices:{value:this._getTriangleStripIndices(e),size:1}}:{topology:"triangle-list",mode:4,attributes:s,indices:{value:this._getTriangleListIndices(e),size:1}}:{topology:"point-list",mode:0,attributes:s}}_getMeshAttributes(e,t,n){let s={},i={},a=Object.values(e.attributes).sort((c,u)=>c.attribute_index-u.attribute_index).map(c=>{let u=this._deduceAttributeName(c,n),l=p3(u,i);return i[l]=!0,c.name=l,{attributeName:l,loaderAttribute:c}});g3(n,Object.keys(i));for(let{attributeName:c,loaderAttribute:u}of a){if(!this._shouldExtractAttribute(c,u,n))continue;let l=this._getAttributeValues(t,u);if(l){let{value:f,size:d}=l;s[c]={value:f,size:d,byteOffset:u.byte_offset,byteStride:u.byte_stride,normalized:u.normalized,transform:m3(u)}}}return s}_shouldExtractAttribute(e,t,n){if(t.attribute_type===this.draco.POSITION){if(n.excludeAttributes?.includes(e))throw new Error(`DracoLoader: position attribute "${e}" cannot be excluded`);return!0}return n.includeAttributes&&!n.includeAttributes.includes(e)?!1:!n.excludeAttributes?.includes(e)}_getTriangleListIndices(e){let n=e.num_faces()*3,s=e.num_points()<=65536,i=n*(s?u3:l3),o=this.draco._malloc(i);try{if(s){if(!this.decoder.GetTrianglesUInt16Array(e,i,o))throw new Error("DRACO: Failed to decode triangle indices.");return new Uint16Array(this.draco.HEAPU8.buffer,o,n).slice()}if(!this.decoder.GetTrianglesUInt32Array(e,i,o))throw new Error("DRACO: Failed to decode triangle indices.");return new Uint32Array(this.draco.HEAPU8.buffer,o,n).slice()}finally{this.draco._free(o)}}_getTriangleStripIndices(e){let t=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(e,t),h3(t)}finally{this.draco.destroy(t)}}_getAttributeValues(e,t){let n=c3[t.data_type];if(!n)return this.logger.warn(`DRACO: Unsupported attribute type ${t.data_type}`)(),null;let s=t.num_components,o=e.num_points()*s,a=o*n.BYTES_PER_ELEMENT,c=f3(this.draco,n),u,l=this.draco._malloc(a);try{let f=this.decoder.GetAttribute(e,t.attribute_index);if(!this.decoder.GetAttributeDataArrayForAllPoints(e,f,c,a,l))throw new Error(`DRACO: Failed to decode attribute ${t.unique_id}.`);u=new n(this.draco.HEAPU8.buffer,l,o).slice()}finally{this.draco._free(l)}return{value:u,size:s}}_deduceAttributeName(e,t){let n=e.unique_id;for(let[o,a]of Object.entries(t.extraAttributes||{}))if(a===n)return o;let s=t.attributeNameEntry||"name";if(e.metadata[s]){let o=e.metadata[s].string;return o==="COLOR"?"COLOR_0":o==="TEX_COORD"?"TEXCOORD_0":o}let i=e.attribute_type;for(let o in fL)if(this.draco[o]===i)return fL[o];return`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(e){let t=this.decoder.GetMetadata(e);return this._getDracoMetadata(t)}_getAttributeMetadata(e,t){let n=this.decoder.GetAttributeMetadata(e,t);return this._getDracoMetadata(n)}_getDracoMetadata(e){if(!e||!e.ptr)return{};let t={},n=this.metadataQuerier.NumEntries(e);for(let s=0;s<n;s++){let i=this.metadataQuerier.GetEntryName(e,s);t[i]=this._getDracoMetadataField(e,i)}return t}_getDracoMetadataField(e,t){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(e,t,n);let s=d3(n);return{int:this.metadataQuerier.GetIntEntry(e,t),string:this.metadataQuerier.GetStringEntry(e,t),double:this.metadataQuerier.GetDoubleEntry(e,t),intArray:s}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(e){let{quantizedAttributes:t=[],octahedronAttributes:n=[]}=e,s=[...t,...n];for(let i of s)this.decoder.SkipAttributeTransform(this.draco[i])}_getQuantizationTransform(e,t){let{quantizedAttributes:n=[]}=t,s=e.attribute_type();if(n.map(o=>this.draco[o]).includes(s)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:Float32Array.from({length:e.num_components()},(a,c)=>o.min_value(c))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){let{octahedronAttributes:n=[]}=t,s=e.attribute_type();if(n.map(o=>this.draco[o]).includes(s)){let o=new this.draco.AttributeOctahedronTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}});async function ka(r,e,t,n){let s=n?.reportProgress||e?.onProgress;s?.({phase:"decode",completed:0,total:1,unit:"tasks"});let{draco:i}=await t();(e?.signal||n?.signal)?.throwIfAborted();let o=new Du(i,Jr(e));try{let a=o.parseSync(r,e?.draco);return s?.({phase:"decode",completed:1,total:1,unit:"tasks"}),e?.draco?.shape==="arrow"?ri(a).data:a}finally{o.destroy()}}var ah=p(()=>{"use strict";Be();Xr();dL()});var Vse,w3,x3,hL=p(()=>{"use strict";ai();Ru();ah();Nu();({preload:Vse,...w3}=Zn),x3={...w3,parse:async(r,e,t)=>await ka(r,e,async()=>await oh(wn({core:e?.core,modules:e?.modules}),"wasm",e?.draco?.decoderProfile),t)}});var Tw={};Y(Tw,{DracoWASMLoaderWithParser:()=>x3});var _w=p(()=>{"use strict";hL()});var Kse,T3,_3,pL=p(()=>{"use strict";ai();Ru();ah();Nu();({preload:Kse,...T3}=Zn),_3={...T3,parse:async(r,e,t)=>await ka(r,e,async()=>await oh(wn({core:e?.core,modules:e?.modules}),"js"),t)}});var Aw={};Y(Aw,{DracoJavaScriptLoaderWithParser:()=>_3});var vw=p(()=>{"use strict";pL()});function I3(r){let e=r?.modules?.draco3d;if(!e)throw new Error('DracoLoader: backend "draco3d" requires options.modules.draco3d');return e}var Zse,A3,v3,mL=p(()=>{"use strict";Ru();ah();Nu();({preload:Zse,...A3}=Zn),v3={...A3,parse:async(r,e,t)=>await ka(r,e,async()=>await ww(I3(e)),t)}});var Iw={};Y(Iw,{Draco3DLoaderWithParser:()=>v3});var Sw=p(()=>{"use strict";mL()});async function S3(r,e){let t=e;switch(E3(t)){case"wasm":{let{DracoWASMLoaderWithParser:n}=await Promise.resolve().then(()=>(_w(),Tw));return n}case"javascript":{let{DracoJavaScriptLoaderWithParser:n}=await Promise.resolve().then(()=>(vw(),Aw));return n}case"draco3d":{let{Draco3DLoaderWithParser:n}=await Promise.resolve().then(()=>(Sw(),Iw));return n}default:throw new Error(`DracoLoader: unsupported backend "${t?.draco?.backend}"`)}}function E3(r){return r?.draco?.backend?r.draco.backend==="js"?"javascript":r.draco.backend:Zn.options.draco.backend}var Zn,Nu=p(()=>{"use strict";fa();mw();bw();KE();Zn={defaultShape:"arrow",supportsNativeArrow:!0,dataType:null,batchType:null,...Ou,version:Fu,worker:!0,workerSourceNode:"draco/workers/draco-worker-node.ts",serializeWorkerResult:Nf,deserializeWorkerResult:kf,options:{draco:qE},preload:S3}});var bL=p(()=>{"use strict";Nu()});function gL(r){let e={};for(let t in r){let n=r[t];if(t!=="indices"){let s=Ew(n);e[t]=s}}return e}function Ew(r){let{buffer:e,size:t,count:n}=L3(r);return{value:e,size:t,byteOffset:0,count:n,type:Fa(t),componentType:Qn(e)}}function L3(r){let e=r,t=1,n=0;return r&&r.value&&(e=r.value,t=r.size||1),e&&(ArrayBuffer.isView(e)||(e=B3(e,Float32Array)),n=e.length/t),{buffer:e,size:t,count:n}}function B3(r,e,t=!1){return r?Array.isArray(r)?new e(r):t&&!(r instanceof e)?new e(r):r:null}var yL=p(()=>{"use strict";ui()});var Lw={};Y(Lw,{decode:()=>M3,name:()=>F3,preprocess:()=>O3});function O3(r,e,t){let n=new ae(r);for(let s of n.meshes)for(let i of n.getReferences(s).primitives)n.getExtension(i,Ca)}async function M3(r,e,t){if(!e?.gltf?.decompressMeshes)return;let n=new ae(r),s=[];for(let i of n.meshes)for(let o of n.getReferences(i).primitives)n.getExtension(o,Ca)&&s.push(R3(n,o,e,t));await Promise.all(s),n.removeExtension(Ca)}async function R3(r,e,t,n){let s=r.getExtension(e,Ca);if(!s)return;let i=pr(r.data,r.gltf.buffers,s.bufferView),o=ho(i.buffer,i.byteOffset,i.byteLength),a={...t,draco:{...t.draco,shape:"mesh",topology:"triangle-list",decoderProfile:t.draco?.decoderProfile||"gltf",extraAttributes:s.attributes}};delete a["3d-tiles"];let c=await ni(o,Zn,a,n),u=gL(c.attributes);for(let l of Object.keys(s.attributes))if(!Object.hasOwn(u,l))throw new Error(`glTF: Draco decompression did not produce attribute ${l}`);for(let[l,f]of Object.entries(u))if(l in e.attributes){let d=e.attributes[l],h=r.data.accessors?.[d];h?.normalized!==void 0&&(f.normalized=h.normalized),h?.min&&h?.max&&(f.min=h.min,f.max=h.max)}e.attributes={...e.attributes,...u},c.indices&&(e.indices=Ew(c.indices),e.mode=4),r.removeExtension(e,Ca),D3(e)}function D3(r){if(!r.attributes||Object.keys(r.attributes).length===0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}var Ca,F3,wL=p(()=>{"use strict";Be();bL();Xe();yL();wo();Ca="KHR_draco_mesh_compression",F3=Ca});var Fw={};Y(Fw,{decode:()=>U3,name:()=>N3});async function U3(r,e){let t=new ae(r);if(!t.hasExtension(Ua)||!e.gltf?.loadBuffers)return;let s=r.json.materials||[];for(let i=0;i<s.length;i++)P3(i,r,t);s.some(i=>Bw(i).length>0)||t.removeExtension(Ua)}function P3(r,e,t){let n=e.json.materials?.[r],s=Bw(n),i=new Map,o=j3(e);for(let a of s){let c=a.extensions?.[Ua];if(c){let u=c.texCoord??a.texCoord??0,l=G3(u,c),f=i.get(l);if(!f){if(f={sourceTexCoord:u,texCoord:o,matrix:q3(c)},!z3(e,r,f))continue;o++,i.set(l,f)}a.texCoord=f.texCoord,V3(t,a,Ua),a.extensions&&Object.keys(a.extensions).length===0&&delete a.extensions}}}function V3(r,e,t){e.extensions?.[t]!==void 0&&(r.recordRemovedExtension(t),delete e.extensions[t])}function Bw(r){if(!r||typeof r!="object")return[];let e=r,t=[],n=e.extensions;Number.isFinite(e.index)&&n?.[Ua]&&t.push(e);for(let[s,i]of Object.entries(e))s!=="extras"&&t.push(...Bw(i));return t}function j3(r){let e=-1;for(let t of r.json.meshes||[])for(let n of t.primitives)for(let s of Object.keys(n.attributes)){let i=/^TEXCOORD_(\d+)$/.exec(s);i&&(e=Math.max(e,Number(i[1])))}return e+1}function G3(r,e){let{offset:t=[0,0],rotation:n=0,scale:s=[1,1]}=e;return JSON.stringify([r,t,n,s])}function z3(r,e,t){let n=[],s=r.json.meshes||[];for(let i of s)for(let o of i.primitives){let a=o.material;Number.isFinite(a)&&e===a&&n.push(o)}if(n.length===0||n.some(i=>!W3(r,i,t.sourceTexCoord)))return!1;for(let i of n)$3(r,i,t);return!0}function W3(r,e,t){let n=e.attributes[`TEXCOORD_${t}`],s=n;if(ArrayBuffer.isView(s?.value))return!0;if(!Number.isFinite(n))return!1;let i=r.json.accessors?.[n];if(!i||i.bufferView===void 0||i.sparse)return!1;let o=r.json.bufferViews?.[i.bufferView];return!!(o&&r.buffers[o.buffer])}function $3(r,e,t){let{sourceTexCoord:n,texCoord:s,matrix:i}=t,o=e.attributes[`TEXCOORD_${n}`],a=o;if(ArrayBuffer.isView(a?.value)){let c=new Float32Array(a.count*2);for(let u=0;u<a.count;u++)xL(a.value.subarray(u*2,u*2+2),a,i,c,u*2);TL(s,a,e,r,c);return}if(Number.isFinite(o)){let c=r.json.accessors?.[o];if(c&&c.bufferView!==void 0){let u=r.json.bufferViews?.[c.bufferView];if(u){let{arrayBuffer:l,byteOffset:f}=r.buffers[u.buffer],d=(f||0)+(c.byteOffset||0)+(u.byteOffset||0),{ArrayType:h,length:m}=Au(c,u),b=_u[c.componentType],g=Kd[c.type],y=u.byteStride||b*g,x=new Float32Array(m);for(let T=0;T<c.count;T++){let _=new h(l,d+T*y,2);xL(_,c,i,x,T*g)}TL(s,c,e,r,x)}}}}function xL(r,e,t,n,s){let i=e.componentType===5120||e.componentType===5122,o=2**(_u[e.componentType]*8-(i?1:0))-1;ch.set(e.normalized?Math.max(r[0]/o,-1):r[0],e.normalized?Math.max(r[1]/o,-1):r[1],1),ch.transformByMatrix3(t),n.set([ch[0],ch[1]],s)}function TL(r,e,t,n,s){n.buffers.push({arrayBuffer:mo(s.buffer),byteOffset:0,byteLength:s.buffer.byteLength}),n.json.bufferViews=n.json.bufferViews||[];let i=n.json.bufferViews;i.push({buffer:n.buffers.length-1,byteLength:s.buffer.byteLength,byteOffset:0});let o=n.json.accessors;o&&(o.push({bufferView:i?.length-1,byteOffset:0,componentType:5126,count:e.count,type:"VEC2"}),t.attributes[`TEXCOORD_${r}`]=o.length-1)}function q3(r){let{offset:e=[0,0],rotation:t=0,scale:n=[1,1]}=r,s=new $n().set(1,0,0,0,1,0,e[0],e[1],1),i=k3.set(Math.cos(t),Math.sin(t),0,-Math.sin(t),Math.cos(t),0,0,0,1),o=C3.set(n[0],0,0,0,n[1],0,0,0,1);return s.multiplyRight(i).multiplyRight(o)}var Ua,N3,ch,k3,C3,_L=p(()=>{"use strict";ed();ui();vy();Xe();Be();Ua="KHR_texture_transform",N3=Ua,ch=new Xc,k3=new $n,C3=new $n});var Ow={};Y(Ow,{decode:()=>H3,encode:()=>X3,name:()=>K3});async function H3(r){let e=new ae(r),t=e.getExtension(Bo);t&&(e.data.lights=t.lights,e.removeExtension(Bo));for(let n of e.nodes){let s=e.getExtension(n,Bo);s&&(n.light=s.light),e.removeExtension(n,Bo)}}async function X3(r){let e=new xn(r),{json:t}=e;if(t.lights){let n=e.addExtension(Bo);J(!n.lights),n.lights=t.lights,delete t.lights}if(e.json.lights){for(let n of e.json.lights){let s=n.node;e.addObjectExtension(s,Bo,n)}delete e.json.lights}}var Bo,K3,AL=p(()=>{"use strict";yo();Xe();vu();Bo="KHR_lights_punctual",K3=Bo});var Mw={};Y(Mw,{decode:()=>Y3,encode:()=>Q3,name:()=>J3});async function Y3(r){let e=new ae(r);for(let t of e.materials)e.getExtension(t,Pa)&&(t.unlit=!0),e.removeExtension(t,Pa);e.removeExtension(Pa)}function Q3(r){let e=new xn(r);for(let t of r.json.materials||[]){let n=t;n.unlit&&(delete n.unlit,e.addObjectExtension(t,Pa,{}),e.registerRequiredExtension(Pa))}for(let t of["extensionsUsed","extensionsRequired"])r.json[t]?.length===0&&delete r.json[t]}var Pa,J3,vL=p(()=>{"use strict";Xe();vu();Pa="KHR_materials_unlit",J3=Pa});var Rw={};Y(Rw,{decode:()=>e8,encode:()=>t8,name:()=>Z3});async function e8(r){let e=new ae(r),t=e.getExtension(ku);if(t){let n=r8(t,e);for(let s of e.materials){let i=e.getExtension(s,ku);i&&(s.technique=Object.assign({},i,n[i.technique]),s.technique.values=n8(s.technique,e)),e.removeExtension(s,ku)}e.removeExtension(ku)}}async function t8(r,e){}function r8(r,e){let{programs:t=[],shaders:n=[],techniques:s=[]}=r,i=new TextDecoder;return n.forEach(o=>{if(Number.isFinite(o.bufferView))o.code=i.decode(pr(e.data,e.gltf.buffers,o.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),t.forEach(o=>{o.fragmentShader=n[o.fragmentShader],o.vertexShader=n[o.vertexShader]}),s.forEach(o=>{o.program=t[o.program]}),s}function n8(r,e){let t=Object.assign({},r.values);return Object.keys(r.uniforms||{}).forEach(n=>{r.uniforms[n].value&&!(n in t)&&(t[n]=r.uniforms[n].value)}),Object.keys(t).forEach(n=>{typeof t[n]=="object"&&t[n].index!==void 0&&(t[n].texture=e.resolveTexture(t[n].index,`technique.values.${n}.index`))}),t}var ku,Z3,IL=p(()=>{"use strict";Xe();wo();ku="KHR_techniques_webgl",Z3=ku});var Dw={};Y(Dw,{decode:()=>i8,name:()=>s8});async function i8(r,e){let t=new ae(r);o8(t,e)}function o8(r,e){if(!e.gltf?.loadBuffers)return;let t=r.getExtension(SL);t&&(e.gltf?.loadImages&&a8(r,t),c8(r,t))}function a8(r,e){let t=e.schema;if(!t)return;let n=t.classes,{featureTextures:s}=e;if(n&&s)for(let i in n){let o=n[i],a=l8(s,i);a&&d8(r,a,o)}}function c8(r,e){let t=e.schema;if(!t)return;let n=t.classes,s=e.featureTables;if(n&&s)for(let i in n){let o=u8(s,i);o&&f8(r,t,o)}}function u8(r,e){for(let t in r){let n=r[t];if(n.class===e)return n}return null}function l8(r,e){for(let t in r){let n=r[t];if(n.class===e)return n}return null}function f8(r,e,t){if(!t.class)return;let n=e.classes?.[t.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${t.class}`);let s=t.count;for(let i in n.properties){let o=n.properties[i],a=t.properties?.[i];if(a){let c=h8(r,e,o,s,a);a.data=c}}}function d8(r,e,t){let n=e.class;for(let s in t.properties){let i=e?.properties?.[s];if(i){let o=y8(r,i,n);i.data=o}}}function h8(r,e,t,n,s){let i=[],o=s.bufferView,a=r.getTypedArrayForBufferView(o),c=p8(r,t,s,n),u=m8(r,t,s,n,c);return t.type==="STRING"||t.componentType==="STRING"?i=Qd(n,a,c,u,t.type==="ARRAY"?t.componentCount:void 0):b8(t)&&(i=g8(t,n,a,c)),i}function p8(r,e,t,n){return e.type==="ARRAY"&&typeof e.componentCount>"u"&&typeof t.arrayOffsetBufferView<"u"?Oa(r,t.arrayOffsetBufferView,t.offsetType||"UINT32",n):null}function m8(r,e,t,n,s){if(typeof t.stringOffsetBufferView<"u"){let i=s?Number(s[n]):n*(e.type==="ARRAY"&&e.componentCount||1);return Oa(r,t.stringOffsetBufferView,t.offsetType||"UINT32",i)}return null}function b8(r){let e=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return e.includes(r.type)||typeof r.componentType<"u"&&e.includes(r.componentType)}function g8(r,e,t,n){let s=r.type==="ARRAY",i=r.componentCount,o="SCALAR",a=r.componentType||r.type,c=Iu(o,a),u=t.byteLength/c,l=Ma(t,o,a,u);return s?n?Su(l,e,n):i?Eu(l,e,i):[]:l}function y8(r,e,t){let n=r.data;if(!n.meshes)return[];let s=[];for(let i of n.meshes)for(let o of i.primitives)w8(r,t,e,s,o);return s}function w8(r,e,t,n,s){let i={channels:t.channels,...t.texture},o=Ra(r,i,s);o&&Yd(r,e,o,n,s)}var SL,s8,EL=p(()=>{"use strict";Xe();Zd();SL="EXT_feature_metadata",s8=SL});async function BL(r,e={},t){let n=LL.filter(s=>OL(s.name,e));for(let s of n)await s.preprocess?.(r,e,t)}async function FL(r,e={},t){let n=LL.filter(s=>OL(s.name,e));for(let s of n)await s.decode?.(r,e,t)}function OL(r,e){let t=e?.gltf?.excludeExtensions||{};return Array.isArray(t)?!t.includes(r):!(r in t&&!t[r])}var LL,ML=p(()=>{"use strict";gE();AE();vE();SE();EE();BE();OE();ME();VE();GE();zE();WE();hw();$E();wL();_L();nw();AL();vL();IL();EL();LL=[Ey,uw,cw,Lw,Yy,Ky,Zy,tw,rw,sw,iw,ow,lw,fw,dw,pw,Ow,Mw,Rw,Fw,Dw]});function RL(r){let e=new ae(r);for(let t of e.images){let n=e.getExtension(t,Nw);n&&(t.bufferView=n.bufferView,t.mimeType=n.mimeType,delete t.uri),e.removeExtension(t,Nw)}for(let t of e.data.buffers||[])t.id==="binary_glTF"&&delete t.uri;e.removeExtension(Nw)}var Nw,DL=p(()=>{"use strict";Xe();Nw="KHR_binary_glTF"});function kL(r,e){let t=r.accessors||[],n=r.bufferViews||[],s=T8(r),i=new Map;for(let[o,a]of t.entries()){let c=a.bufferView;if(c===void 0&&!a.byteStride){delete a.byteStride;continue}let u=n[c],l=s.get(o)||"unused",f=_8(a),d=a.byteStride===0?f:a.byteStride??f,h=a.byteOffset??0,m=u?.byteOffset??0,b=typeof a.componentType=="number"&&Object.hasOwn(uh,a.componentType)?uh[a.componentType]:0,g=l==="vertex",y=g?d>=f&&d>=4&&d<=252&&d%4===0&&h%4===0&&(m+h)%4===0:d===f;if(!u||!f||l==="mixed"||!Number.isInteger(d)||!y||g&&d>u.byteLength||!Number.isInteger(a.count)||a.count<1||!Number.isInteger(h)||h<0||!Number.isInteger(m)||m<0||h%b!==0||(m+h)%b!==0||a.type.startsWith("MAT")&&(m+h)%4!==0||!Number.isInteger(u.byteLength)||h+(a.count-1)*d+f>u.byteLength){e(o);continue}let x=`${c}:${l}:${g?d:0}`,T=i.get(x);if(T===void 0){let _={...u};delete _.id,delete _.byteStride,delete _.target,g?(_.byteStride=d,_.target=34962):l==="indices"&&(_.target=34963),T=n.length,n.push(_),i.set(x,T)}a.bufferView=T,delete a.byteStride}}function T8(r){let e=new Map,t=(n,s)=>{if(n===void 0)return;let i=e.get(n);e.set(n,i&&i!==s?"mixed":s)};for(let n of r.meshes||[])for(let s of n.primitives){for(let i of Object.values(s.attributes))t(i,"vertex");t(s.indices,"indices")}for(let n of r.animations||[])for(let s of n.samplers)t(s.input,"animation"),t(s.output,"animation");for(let n of r.skins||[])t(n.inverseBindMatrices,"inverseBind");return e}function _8(r){let e=typeof r.componentType=="number"&&Object.hasOwn(uh,r.componentType)?uh[r.componentType]:0,t=Object.hasOwn(NL,r.type)?NL[r.type]:0;if(!e||!t)return 0;let n=r.type==="MAT2"?2:r.type==="MAT3"?3:4;return r.type.startsWith("MAT")&&n*e%4!==0?0:(e||0)*t}var uh,NL,CL=p(()=>{"use strict";uh={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},NL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16}});function UL(r,e,t){let n=r.nodes||[],s=r.skins||[],i=s.length,o=!1;for(let a=0;a<i;a++){let c=s[a],u=c.jointNames;if(!Array.isArray(u)||u.length===0||u.some(m=>typeof m!="string"||!m)||new Set(u).size!==u.length){t(`skin ${a} has invalid joint names`),o=!0;continue}let l=n.flatMap((m,b)=>m.skin===a?[b]:[]),f=(l.length?l:[void 0]).map(m=>A8(n,u,m,e,b=>t(`skin ${a} ${b}`))),d=f.some(m=>!m);o||=d;let h=new Map;for(let m of f){if(!m)continue;let b=`${m.skeletonIndex}:${m.jointIndices.join(",")}`,g=h.get(b);if(g===void 0){let y={...c,joints:m.jointIndices,skeleton:m.skeletonIndex};delete y.jointNames,c.bindShapeMatrix!==void 0&&S8(c.bindShapeMatrix)&&delete y.bindShapeMatrix,!d&&h.size===0?(g=a,s[a]=y):(delete y.id,g=s.length,s.push(y)),h.set(b,g)}m.nodeIndex!==void 0&&(n[m.nodeIndex].skin=g,delete n[m.nodeIndex].skeletons)}}if(!o)for(let a of n)delete a.jointName}function A8(r,e,t,n,s){let i=t===void 0?void 0:r[t].skeletons;if(i!==void 0&&(!Array.isArray(i)||i.some(f=>typeof f!="string"||!f)||new Set(i).size!==i.length))return s("has invalid skeleton roots"),null;let o=(i||[]).map(n),a=o.length?v8(r,o):r.map((f,d)=>d);if(!a)return s("has invalid or overlapping skeleton subtrees"),null;let c=[],u=new Map;for(let f of a){let d=r[f].jointName;if(d===void 0)continue;let h=u.get(d)||[];h.push(f),u.set(d,h)}for(let f of e){let d=u.get(f)||[];if(d.length!==1)return s(`cannot uniquely resolve joint ${f}`),null;c.push(d[0])}let l=I8(r,[...c,...o]);return l===void 0?(s("joints have no unambiguous common hierarchy root"),null):{nodeIndex:t,jointIndices:c,skeletonIndex:o.length===1?o[0]:l}}function v8(r,e){let t=new Set,n=[...e];for(;n.length;){let s=n.pop();if(!Number.isSafeInteger(s)||!r[s]||t.has(s))return null;t.add(s),n.push(...r[s].children||[])}return Array.from(t)}function I8(r,e){let t=new Map;for(let[i,o]of r.entries())for(let a of o.children||[]){if(!Number.isSafeInteger(a)||!r[a]||t.has(a))return;t.set(a,i)}let n=e.map(i=>{let o=[],a=new Set,c=i;for(;c!==void 0;){if(a.has(c))return[];a.add(c),o.push(c),c=t.get(c)}return o}),s=n.map(i=>new Set(i));return n[0].find(i=>s.every(o=>o.has(i)))}function S8(r){return Array.isArray(r)&&r.length===16&&Array.from(r).every((e,t)=>e===(t%5===0?1:0))}var PL=p(()=>{"use strict"});function lh(r,e){if(!e.length)return;let t=new Map;for(let n of e){let s=t.get(n.bufferIndex)||[];s.push(n),t.set(n.bufferIndex,s)}r.buffers=[...r.buffers],r.json.bufferViews||=[];for(let[n,s]of t){let i=r.json.buffers[n],o=r.buffers[n],a=_e(i.byteLength,4),c=a+s.reduce((f,d)=>f+_e(d.bytes.byteLength,4),0),u=new ArrayBuffer(c),l=new Uint8Array(u);l.set(new Uint8Array(o.arrayBuffer,o.byteOffset,i.byteLength));for(let f of s){l.set(new Uint8Array(f.bytes),a);let d=r.json.bufferViews.length;r.json.bufferViews.push({buffer:n,byteOffset:a,byteLength:f.bytes.byteLength,...f.byteStride===void 0?{}:{byteStride:f.byteStride},...f.target===void 0?{}:{target:f.target}}),f.apply(d),a+=_e(f.bytes.byteLength,4)}i.byteLength=c,i.uri!==void 0&&(i.uri=`data:application/octet-stream;base64,${Gg(u)}`),r.buffers[n]={arrayBuffer:u,byteOffset:0,byteLength:c}}}var kw=p(()=>{"use strict";Be()});function VL(r,e){let t=new Map;for(let[n,s]of(r.json.skins||[]).entries()){if(s.bindShapeMatrix===void 0)continue;let i=s.bindShapeMatrix;if(!jL(i)){e(`skin ${n} non-identity bindShapeMatrix requires a finite affine matrix`);continue}let o=`${s.inverseBindMatrices}:${i.join(",")}`,a=t.get(o);if(a){if((s.joints||s.jointNames||[]).length>a.count){e(`skin ${n} non-identity bindShapeMatrix has too few inverse-bind matrices`);continue}a.skins.push(s);continue}let c=E8(r,s,i);if(typeof c=="string"){e(`skin ${n} non-identity bindShapeMatrix ${c}`);continue}t.set(o,c)}lh(r,Array.from(t.values(),n=>({bufferIndex:n.bufferIndex,bytes:n.matrixBytes,apply:s=>{r.json.accessors||=[];let i=r.json.accessors.length;r.json.accessors.push({bufferView:s,byteOffset:0,componentType:5126,count:n.count,type:"MAT4"});for(let o of n.skins)o.inverseBindMatrices=i,delete o.bindShapeMatrix}})))}function E8(r,e,t){let n=r.json.accessors?.[e.inverseBindMatrices],s=(e.joints||e.jointNames||[]).length;if(!n||n.componentType!==5126||n.type!=="MAT4"||n.normalized||n.sparse||n.extensions||Object.hasOwn(n,"byteStride")||!Number.isSafeInteger(n.count)||n.count<1)return"requires packed FLOAT MAT4 inverse-bind matrices";if(n.count<s)return"has too few inverse-bind matrices";let i=r.json.bufferViews?.[n.bufferView],o=i?.buffer,a=r.json.buffers?.[o],c=r.buffers[o];if(!i||o===void 0||!a||!c)return"requires a loaded inverse-bind buffer";if(i.extensions)return"does not support inverse-bind buffer-view extensions";let u=i.byteOffset??0,l=n.byteOffset??0,f=n.count*64;if(!(c.arrayBuffer instanceof ArrayBuffer)||!Number.isSafeInteger(a.byteLength)||a.byteLength<1||!Number.isSafeInteger(c.byteOffset)||c.byteOffset<0||!Number.isSafeInteger(c.byteLength)||c.byteLength<a.byteLength||c.byteOffset+c.byteLength>c.arrayBuffer.byteLength||!Number.isSafeInteger(u)||u<0||u%4!==0||!Number.isSafeInteger(i.byteLength)||i.byteLength<1||i.byteStride!==void 0||u+i.byteLength>a.byteLength||!Number.isSafeInteger(l)||l<0||l%4!==0||l+f>i.byteLength)return"has an invalid inverse-bind buffer layout";let d=new DataView(c.arrayBuffer),h=c.byteOffset+u+l,m=new ArrayBuffer(f),b=new DataView(m);for(let g=0;g<n.count;g++){let y=Array.from({length:16},(x,T)=>d.getFloat32(h+g*64+T*4,!0));if(!jL(y))return"requires finite affine inverse-bind matrices";for(let x=0;x<4;x++)for(let T=0;T<4;T++){let _=0;for(let v=0;v<4;v++)_+=y[v*4+T]*t[x*4+v];if(!Number.isFinite(Math.fround(_)))return"produces non-finite FLOAT matrix values";b.setFloat32(g*64+(x*4+T)*4,_,!0)}}return{bufferIndex:o,count:n.count,matrixBytes:m,skins:[e]}}function jL(r){if(!Array.isArray(r)||r.length!==16)return!1;for(let e=0;e<16;e++)if(!Number.isFinite(r[e]))return!1;return r[3]===0&&r[7]===0&&r[11]===0&&r[15]===1}var GL=p(()=>{"use strict";kw()});function WL(r){let e=r.accessors||[],t=new Map,n=new Map,s=Uw(r),i=(o,a)=>{if(!Number.isSafeInteger(o)||o<0||!Object.hasOwn(e,o))return o;let c=e[o];if(!c)return o;let u=t.get(o)||new Map,l=`${a.usage}:${a.mode}:${["unit","signed","direction"].includes(a.mode)?a.semantic?.split("_")[0]:""}:${a.hasOpaqueConsumer?"opaque":""}`,f=u.get(l);return f===void 0&&(f=u.size?e.length:o,u.size&&e.push({...c}),u.set(l,f),n.set(f,a),t.set(o,u)),f};for(let o of r.meshes||[])for(let a of o.primitives){for(let[c,u]of Object.entries(a.attributes)){let l=e[u],f=["NORMAL","TANGENT"].includes(c)&&l&&[5120,5121,5122,5123].includes(l.componentType)?"direction":/^JOINTS_\d+$/.test(c)?"joints":/^(COLOR|WEIGHTS|TEXCOORD)_\d+$/.test(c)&&l&&[5120,5122].includes(l.componentType)?"signed":/^(COLOR|WEIGHTS|TEXCOORD)_\d+$/.test(c)&&l&&[5121,5123].includes(l.componentType)&&!l.normalized?"unit":/^WEIGHTS_\d+$/.test(c)?"weights":"copy";a.attributes[c]=i(u,{usage:"vertex",mode:f,semantic:c,...["signed","direction"].includes(f)?{hasOpaqueConsumer:s}:{}})}a.indices!==void 0&&(a.indices=i(a.indices,{usage:"indices",mode:"copy",hasOpaqueConsumer:a.extensions!==void 0}))}for(let o of r.animations||[])for(let a of o.samplers)a.input=i(a.input,{usage:"animation",mode:"copy"}),a.output=i(a.output,{usage:"animation",mode:"copy"});for(let o of r.skins||[])o.inverseBindMatrices!==void 0&&(o.inverseBindMatrices=i(o.inverseBindMatrices,{usage:"inverseBind",mode:"copy"}));for(let o=0;o<e.length;o++)n.has(o)||n.set(o,{usage:"unused",mode:"copy"});return n}function $L(r,e,t,n,s){let i=[],o=[];for(let[a,c]of e){let u=r.json.accessors[a],l=c.mode==="joints"||c.mode==="weights"||c.semantic?.startsWith("WEIGHTS_"),f=!!(l&&["SCALAR","VEC2","VEC3"].includes(u.type)),d=c.mode==="weights"&&(u.type!=="VEC4"||![5121,5123,5126].includes(u.componentType)||u.componentType===5126&&u.normalized),h=c.mode==="signed",m=c.mode==="direction",b=h||m,g=c.mode==="joints"&&(![5121,5123].includes(u.componentType)||u.normalized||u.type!=="VEC4");if(!t.has(a)&&!g&&!d&&!b&&!f&&c.usage!=="indices"&&c.mode!=="unit")continue;let y=Cu(r,a);if(typeof y=="string"){n(`accessor ${a} layout requires binary repacking: ${y}`);continue}if(l&&!["SCALAR","VEC2","VEC3","VEC4"].includes(u.type)){n(`accessor ${a} skin influences require scalar/vector data`);continue}if(c.mode==="weights"&&(![5121,5123,5126].includes(u.componentType)||u.componentType===5126&&u.normalized||u.componentType!==5126&&!u.normalized)){n(`accessor ${a} weights require FLOAT or normalized unsigned data`);continue}let x=u.componentType,T=u.normalized;if(b){if(c.hasOpaqueConsumer){n(`accessor ${a} integer conversion cannot interpret opaque extension consumers`);continue}if(!(m?[c.semantic==="NORMAL"?"VEC3":"VEC4"]:c.semantic?.startsWith("COLOR_")?["VEC3","VEC4"]:c.semantic?.startsWith("WEIGHTS_")?["SCALAR","VEC2","VEC3","VEC4"]:["VEC2"]).includes(u.type)||T!==void 0&&typeof T!="boolean"){n(`accessor ${a} integer ${c.semantic} has incompatible shape or normalization`);continue}let ce=!0;for(let xe=0;xe<u.count;xe++)if(m){let Dt=Math.hypot(Math.fround(Va(y,xe,0)),Math.fround(Va(y,xe,1)),Math.fround(Va(y,xe,2)));(Math.abs(Dt-1)>1e-5||c.semantic==="TANGENT"&&![-1,1].includes(Va(y,xe,3)))&&(ce=!1)}else if(!c.semantic?.startsWith("TEXCOORD_"))for(let Dt=0;Dt<y.rows;Dt++){let br=Va(y,xe,Dt);(br<0||br>1)&&(ce=!1)}if(!ce){n(m?`accessor ${a} integer ${c.semantic} requires unit directions and tangent handedness of +/-1; values are not repaired`:`accessor ${a} signed ${c.semantic} values must remain in [0, 1]`);continue}x=5126,T=!1}if(c.usage==="indices"){if(u.type!=="SCALAR"||![5121,5123,5125].includes(x)||T){n(`index accessor ${a} requires unnormalized unsigned SCALAR data`);continue}let de=0;for(let xe=0;xe<u.count;xe++)de=Math.max(de,Ht(y,xe,0));if(de===(x===5121?255:x===5123?65535:4294967295)){if(c.hasOpaqueConsumer){n(`index accessor ${a} cannot widen opaque primitive extension semantics`);continue}if(x===5125){n(`index accessor ${a} contains the unrepresentable uint32 restart value`);continue}x=x===5121?5123:5125}if(!t.has(a)&&x===u.componentType)continue}if(g||c.mode==="unit"){if(g&&u.normalized){n(`accessor ${a} joint indices require unnormalized scalar/vector data`);continue}if(c.mode==="unit"&&!(c.semantic?.startsWith("COLOR_")?["VEC3","VEC4"]:c.semantic?.startsWith("WEIGHTS_")?["SCALAR","VEC2","VEC3","VEC4"]:["VEC2"]).includes(u.type)){n(`accessor ${a} integer ${c.semantic} has an incompatible shape`);continue}let de=0,ce=!0;for(let xe=0;xe<u.count;xe++)for(let Dt=0;Dt<y.rows*y.columns;Dt++){let br=Ht(y,xe,Dt);(!Number.isInteger(br)||br<0||g&&br>65535)&&(ce=!1),de=Math.max(de,br)}if(!ce){n(`accessor ${a} joint indices require finite integers in [0, 65535]`);continue}if(g)x=de<=255?5121:5123,T=!1;else if(de<=1)x=5126,T=!1;else if(n(`accessor ${a} ambiguous integer attribute normalization; best effort assumes normalized unsigned values`),T=!0,!t.has(a)&&!f){o.push(()=>{u.normalized=!0});continue}}let _=f?4:y.rows,v=Cw[x],I=y.columns>1?_e(y.rows*v,4):_*v,k=I*y.columns,K=c.usage==="vertex"?_e(k,4):k,ie=new ArrayBuffer(u.count*K),be=new Uint8Array(ie),Ne=new Uint8Array(y.data.buffer),ke=new DataView(ie);for(let de=0;de<u.count;de++)for(let ce=0;ce<y.columns;ce++)if(x===u.componentType){let xe=y.byteOffset+de*y.byteStride+ce*y.rows*y.componentSize;be.set(Ne.subarray(xe,xe+y.rows*y.componentSize),de*K+ce*I)}else for(let xe=0;xe<y.rows;xe++){let Dt=(b?Va:Ht)(y,de,ce*y.rows+xe),br=de*K+ce*I+xe*v;x===5126?ke.setFloat32(br,Dt,!0):x===5121?ke.setUint8(br,Dt):x===5125?ke.setUint32(br,Dt,!0):ke.setUint16(br,Dt,!0)}i.push({bufferIndex:y.bufferIndex,bytes:ie,...c.usage==="vertex"?{byteStride:K,target:34962}:c.usage==="indices"?{target:34963}:{},apply:de=>{b&&s(`Converted ${h?"signed":"integer"} ${c.semantic} accessor ${a} to FLOAT, preserving ${y.accessor.normalized?"explicitly normalized":"literal"} values.`),c.usage==="indices"&&x!==u.componentType&&s(`Widened index accessor ${a} to preserve a glTF 1 index reserved by glTF 2.`),u.bufferView=de,u.byteOffset=0,delete u.byteStride,(x!==u.componentType||f)&&(delete u.min,delete u.max),u.componentType=x,f&&(u.type="VEC4"),T?u.normalized=!0:delete u.normalized}})}lh(r,i);for(let a of o)a()}function Va(r,e,t){let n=Ht(r,e,t);if(r.accessor.normalized!==!0)return n;let s=L8[r.accessor.componentType];return Math.max(n/s,-1)}function Uw(r){let e=[r],t=new Set;for(;e.length;){let n=e.pop();if(!(!n||typeof n!="object"||t.has(n))){t.add(n);for(let[s,i]of Object.entries(n))if(s!=="extras"){if(s==="extensions"&&i&&typeof i=="object"&&Object.keys(i).some(o=>!["KHR_materials_unlit","KHR_materials_common"].includes(o)))return!0;e.push(i)}}}return!1}function Cu(r,e){let t=r.json.accessors?.[e];if(!t||!Number.isSafeInteger(e)||e<0)return"invalid accessor reference";let n=typeof t.componentType=="number"&&Object.hasOwn(Cw,t.componentType)?Cw[t.componentType]:void 0,s=typeof t.type=="string"&&Object.hasOwn(zL,t.type)?zL[t.type]:void 0;if(!n||!s||!Number.isSafeInteger(t.count)||t.count<1)return"invalid component type, shape, or count";let[i,o]=s,a=r.json.bufferViews?.[t.bufferView],c=r.json.buffers?.[a?.buffer],u=r.buffers[a?.buffer];if(!a||!c||!u)return"requires a loaded accessor buffer";if(t.sparse||t.extensions||a.extensions)return"sparse or extension-bearing data is unsupported";let l=i*o*n,f=t.byteStride??a.byteStride??l,d=f===0?l:f,h=t.byteOffset??0,m=a.byteOffset??0;return!(u.arrayBuffer instanceof ArrayBuffer)||!Number.isSafeInteger(d)||d<l||t.byteStride!==void 0&&t.byteStride>255||!Number.isSafeInteger(h)||h<0||!Number.isSafeInteger(m)||m<0||!Number.isSafeInteger(a.byteLength)||a.byteLength<1||!Number.isSafeInteger(c.byteLength)||c.byteLength<1||m+a.byteLength>c.byteLength||h+(t.count-1)*d+l>a.byteLength||!Number.isSafeInteger(u.byteOffset)||u.byteOffset<0||!Number.isSafeInteger(u.byteLength)||u.byteLength<c.byteLength||u.byteOffset+u.byteLength>u.arrayBuffer.byteLength?"invalid source buffer span or stride":{accessor:t,bufferIndex:a.buffer,componentSize:n,rows:i,columns:o,byteStride:d,data:new DataView(u.arrayBuffer),byteOffset:u.byteOffset+m+h}}function Ht(r,e,t){let n=r.byteOffset+e*r.byteStride+t*r.componentSize;switch(r.accessor.componentType){case 5120:return r.data.getInt8(n);case 5121:return r.data.getUint8(n);case 5122:return r.data.getInt16(n,!0);case 5123:return r.data.getUint16(n,!0);case 5125:return r.data.getUint32(n,!0);default:return r.data.getFloat32(n,!0)}}var Cw,L8,zL,Uu=p(()=>{"use strict";Be();kw();Cw={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},L8={5120:127,5121:255,5122:32767,5123:65535},zL={SCALAR:[1,1],VEC2:[2,1],VEC3:[3,1],VEC4:[4,1],MAT2:[2,2],MAT3:[3,3],MAT4:[4,4]}});function KL(r,e){let t=r.asset;t.premultipliedAlpha&&e("asset premultipliedAlpha rendering"),qL(t,["profile","premultipliedAlpha"]);for(let[n,s]of(r.textures||[]).entries()){let i=s;for(let[o,a]of Object.entries({format:6408,internalFormat:6408,target:3553,type:5121}))i[o]!==void 0&&i[o]!==a&&e(`texture ${n} non-default ${o} rendering`);qL(i,["format","internalFormat","target","type"])}}function qL(r,e){let t={};for(let a of e)Object.hasOwn(r,a)&&(t[a]=r[a],delete r[a]);if(!Object.keys(t).length)return;let n=Pw(r.extras)?r.extras:r.extras===void 0?{}:{originalExtras:r.extras},s=Pw(n.gltf1)?n.gltf1:n.gltf1===void 0?{}:{originalExtras:n.gltf1},i=Pw(s.legacyFields)?s.legacyFields:s.legacyFields===void 0?{}:{originalExtras:s.legacyFields},o=Object.keys(t).some(a=>Object.hasOwn(i,a));r.extras={...n,gltf1:{...s,legacyFields:{...i,...t,...o?{originalExtras:i}:{}}}}}function Pw(r){return r!==null&&typeof r=="object"&&!Array.isArray(r)}function Vw(r){let e=/^(JOINTS?|WEIGHTS?|TEXCOORD|COLOR)(?:_(\d+))?$/.exec(r);if(e){let t=e[1].startsWith("JOINT")?"JOINTS":e[1].startsWith("WEIGHT")?"WEIGHTS":e[1],n=Number(e[2]||0);if(!Number.isSafeInteger(n)||n>999999999)throw new Error(`glTF v1: invalid attribute set index ${r}`);return`${t}_${n}`}return["POSITION","NORMAL","TANGENT"].includes(r)||r.startsWith("_")||r.includes(":")?r:`_${r}`}var HL=p(()=>{"use strict"});function XL(r,e,t){for(let[s,i]of(r.animations||[]).entries()){let f=function(d,h,m){try{let b=typeof d=="string"?e(d,h):d,g=h==="accessor"?r.accessors:r.nodes;if(typeof b=="number"&&Number.isSafeInteger(b)&&b>=0&&g?.[b])return b}catch{}return t(`animation ${s} ${m} unresolved ${h} reference`),d};var n=f;let o=i,a=o.parameters||{},c=new Map,u=i.samplers,l=Array.isArray(u)?u.map((d,h)=>[String(h),d]):Object.entries(u||{});i.samplers=l.map(([d,h],m)=>{c.set(d,m);for(let b of["input","output"]){let g=h[b],y=Object.hasOwn(a,g)?a[g]:g;h[b]=f(y,"accessor",`sampler ${d} ${b}`)}return h.interpolation??="LINEAR",h}),delete o.parameters;for(let[d,h]of(i.channels||[]).entries()){if(typeof h.sampler=="string"){let b=c.get(h.sampler);b===void 0?t(`animation ${s} channel ${d} unresolved sampler ${h.sampler}`):h.sampler=b}let m=h.target;m?.id!==void 0?(m.node=f(m.id,"node",`channel ${d} target`),delete m.id):typeof m?.node=="string"&&(m.node=f(m.node,"node",`channel ${d} target`))}}}var JL=p(()=>{"use strict"});function YL(r,e,t){let n=r.nodes||[],s=new Map;for(let[a,c]of n.entries())for(let u of c.children||[])s.set(u,s.has(u)?null:a);let i=[];for(let[a,c]of(r.scenes||[]).entries()){let u=o(c.nodes||[]);if(!u){e(`scene ${a} invalid node hierarchy`);continue}for(let l of Array.from(u)){let f=r.skins?.[n[l].skin];if(!Array.isArray(f?.joints)||!f.joints.length||f.skeleton===void 0||u.has(f.skeleton)&&f.joints.every(b=>u.has(b)))continue;let d=f.skeleton,h=new Set;for(;!h.has(d)&&typeof s.get(d)=="number";)h.add(d),d=s.get(d);let m=o([d]);if(h.has(d)||s.get(d)===null||!m||!f.joints.every(b=>m.has(b))||Array.from(m).some(b=>u.has(b)||n[b].mesh!==void 0||n[b].camera!==void 0||n[b].extensions!==void 0)){e(`scene ${a} skin ${n[l].skin} cannot safely attach detached skeleton`);continue}for(let b of m)u.add(b);i.push(()=>{c.nodes||=[],c.nodes.push(d),t(`Attached detached skeleton root ${d} to scene ${a}.`)})}}for(let a of i)a();function o(a){let c=new Set,u=[...a];for(;u.length;){let l=u.pop();if(!Number.isSafeInteger(l)||!n[l]||c.has(l)||s.get(l)===null)return null;c.add(l),u.push(...n[l].children||[])}return c}}var QL=p(()=>{"use strict"});function ZL(r,e){for(let[t,n]of(r.cameras||[]).entries()){let s=n.perspective,i=n.orthographic;(n.type==="perspective"?s&&Pu(s.yfov)&&Pu(s.znear)&&(s.aspectRatio===void 0||Pu(s.aspectRatio))&&(s.zfar===void 0||Pu(s.zfar)&&s.zfar>s.znear):n.type==="orthographic"&&i&&Number.isFinite(i.xmag)&&i.xmag!==0&&Number.isFinite(i.ymag)&&i.ymag!==0&&Number.isFinite(i.znear)&&i.znear>=0&&Pu(i.zfar)&&i.zfar>i.znear)||e(`camera ${t} invalid projection parameters`)}}function Pu(r){return Number.isFinite(r)&&r>0}var eB=p(()=>{"use strict"});function tB(r,e,t){let n=new Map,s=new Set;for(let[i,o]of(r.json.meshes||[]).entries())for(let[a,c]of o.primitives.entries()){let u=`mesh ${i} primitive ${a}`;for(let b of["TEXCOORD","COLOR","JOINTS","WEIGHTS"])Object.keys(c.attributes).filter(y=>y.startsWith(`${b}_`)).map(y=>Number(y.slice(b.length+1))).sort((y,x)=>y-x).some((y,x)=>y!==x)&&t(`${u} ${b} sets must be contiguous starting at zero`);for(let[b,g]of Object.entries(c.attributes)){let y=b.split("_")[0];if(!["NORMAL","TANGENT","COLOR","TEXCOORD","JOINTS","WEIGHTS"].includes(y))continue;let x=`${y}:${g}`;if(s.has(x))continue;s.add(x);let T=e(g,`${b} accessor ${g}`);T&&B8(T,y,`${b} accessor ${g}`,t)}let l=Object.values(c.attributes).map(b=>(Number.isSafeInteger(b)?r.json.accessors?.[b]:void 0)?.count);if(!l.length||l.some(b=>!Number.isSafeInteger(b)||b<1)){t(`${u} requires valid vertex attribute accessors`);continue}l.some(b=>b!==l[0])&&t(`${u} vertex attribute counts do not match`);let f=c.indices===void 0?l[0]:r.json.accessors?.[c.indices]?.count,d=c.mode===void 0?4:c.mode;if(!Number.isInteger(d)||d<0||d>6?t(`${u} requires a primitive mode in [0, 6]`):(!c.extensions||!Object.keys(c.extensions).length)&&(!Number.isSafeInteger(f)||f<1||d===1&&f%2!==0||[2,3].includes(d)&&f<2||d===4&&f%3!==0||[5,6].includes(d)&&f<3)&&t(`${u} draw count ${f} is incompatible with primitive mode ${d}`),c.indices===void 0)continue;let h=e(c.indices,`${u} indices`);if(!h)continue;if(h.accessor.type!=="SCALAR"||![5121,5123,5125].includes(h.accessor.componentType)||h.accessor.normalized){t(`${u} indices require unnormalized unsigned SCALAR data`);continue}let m=n.get(c.indices);if(m===void 0){m=0;for(let b=0;b<h.accessor.count;b++)m=Math.max(m,Ht(h,b,0));n.set(c.indices,m)}l.some(b=>m>=b)&&t(`${u} index ${m} is outside its vertex attribute counts`)}}function B8(r,e,t,n){let s=r.accessor,i=s.componentType===5126&&!s.normalized,o=[5121,5123].includes(s.componentType)&&s.normalized===!0,a=s.normalized===void 0||typeof s.normalized=="boolean",c=e==="NORMAL"?s.type==="VEC3"&&i:e==="TANGENT"?s.type==="VEC4"&&i:e==="JOINTS"?s.type==="VEC4"&&[5121,5123].includes(s.componentType)&&!s.normalized:e==="COLOR"?["VEC3","VEC4"].includes(s.type)&&(i||o):s.type===(e==="TEXCOORD"?"VEC2":"VEC4")&&(i||o);if(!a||!c){n(`${t} has incompatible core attribute shape, component type, or normalization`);return}for(let u=0;u<s.count;u++){let l=Array.from({length:r.rows},(f,d)=>Ht(r,u,d));if(l.some(f=>!Number.isFinite(f))||["NORMAL","TANGENT"].includes(e)&&Math.abs(Math.hypot(...l.slice(0,3))-1)>1e-5||e==="TANGENT"&&l[3]!==1&&l[3]!==-1||["COLOR","WEIGHTS"].includes(e)&&i&&l.some(f=>f<0||f>1)){n(`${t} requires finite core values, unit directions, tangent handedness \xB11, and colors/weights in [0, 1]`);return}}}var rB=p(()=>{"use strict";Uu()});function nB(r,e,t){let n=new Map,s=new Set,i=[],o=(f,d)=>{let h=n.get(f);return h===void 0&&(h=Cu(r,f),n.set(f,h)),typeof h=="string"?(s.has(f)||(s.add(f),e(`${d}: ${h}`)),null):h},a=new Set;for(let f of r.json.meshes||[])for(let d of f.primitives)d.attributes.POSITION!==void 0&&a.add(d.attributes.POSITION);for(let f of a){let d=o(f,`POSITION accessor ${f}`);if(d){if(!fh(d,"VEC3")){e(`POSITION accessor ${f} requires unnormalized FLOAT VEC3 data`);continue}u(d,f)}}l(),c(),F8(r,o,e),tB(r,o,e);for(let f of i)f();function c(){for(let[f,d]of(r.json.skins||[]).entries()){if(d.inverseBindMatrices===void 0)continue;let h=`skin ${f} inverse-bind matrices`,m=o(d.inverseBindMatrices,h);if(m){if(!fh(m,"MAT4")||m.accessor.count<(d.joints?.length||0)){e(`${h} require FLOAT MAT4 data with at least one matrix per joint`);continue}for(let b=0;b<m.accessor.count;b++){let g=Array.from({length:16},(y,x)=>Ht(m,b,x));if(g.some(y=>!Number.isFinite(y))||g[3]!==0||g[7]!==0||g[11]!==0||g[15]!==1){e(`${h} require finite affine matrices`);break}}}}}function u(f,d){let h=new Array(f.rows).fill(1/0),m=new Array(f.rows).fill(-1/0);for(let b=0;b<f.accessor.count;b++)for(let g=0;g<f.rows;g++){let y=Ht(f,b,g);if(!Number.isFinite(y))return e(`accessor ${d} non-finite values cannot supply required bounds`),!1;h[g]=Math.min(h[g],y),m[g]=Math.max(m[g],y)}return(JSON.stringify(f.accessor.min)!==JSON.stringify(h)||JSON.stringify(f.accessor.max)!==JSON.stringify(m))&&i.push(()=>{f.accessor.min=h,f.accessor.max=m,t(`Calculated required bounds for accessor ${d}.`)}),!0}function l(){let f=new Set,d=new Set;for(let[h,m]of(r.json.animations||[]).entries()){let b=new Set;(!m.samplers.length||!m.channels?.length)&&e(`animation ${h} requires samplers and channels`);for(let[g,y]of m.samplers.entries()){let x=`animation ${h} sampler ${g}`;if(["LINEAR","STEP"].includes(y.interpolation??"LINEAR")||e(`${x} unsupported interpolation ${y.interpolation}`),!f.has(y.input)){f.add(y.input);let T=o(y.input,`${x} input`);if(T)if(!fh(T,"SCALAR"))e(`${x} time input requires unnormalized FLOAT SCALAR data`);else{let _=-1/0,v=!0;for(let I=0;I<T.accessor.count;I++){let k=Ht(T,I,0);(!Number.isFinite(k)||k<0||k<=_)&&(v=!1),_=k}v?u(T,y.input):e(`${x} times must be finite, nonnegative, and strictly increasing`)}}}for(let[g,y]of(m.channels||[]).entries()){let x=`animation ${h} channel ${g}`,T=Number.isSafeInteger(y.sampler)?m.samplers[y.sampler]:void 0,_=y.target,v=Number.isSafeInteger(_?.node)?r.json.nodes?.[_.node]:void 0;if(!T||!v||!["translation","rotation","scale"].includes(_?.path)){e(`${x} invalid sampler, node, or TRS target`);continue}v.matrix!==void 0&&e(`${x} matrix node requires TRS decomposition`);let I=`${_.node}:${_.path}`;if(b.has(I)&&e(`${x} duplicate node/path target`),b.add(I),!["LINEAR","STEP"].includes(T.interpolation??"LINEAR"))continue;let k=r.json.accessors?.[T.input],K=o(T.output,`${x} output`);if(!K)continue;if(!fh(K,_.path==="rotation"?"VEC4":"VEC3")||K.accessor.count!==k?.count){e(`${x} output shape, type, or count does not match its target and keys`);continue}let ie=`${T.output}:${_.path}`;if(!d.has(ie)){d.add(ie);for(let be=0;be<K.accessor.count;be++){let Ne=Array.from({length:K.rows},(ke,de)=>Ht(K,be,de));if(Ne.some(ke=>!Number.isFinite(ke))||_.path==="rotation"&&Math.abs(Math.hypot(...Ne)-1)>1e-5){e(`${x} output requires finite values and unit rotation quaternions`);break}}}}}}}function fh(r,e){return r.accessor.componentType===5126&&!r.accessor.normalized&&r.accessor.type===e}function F8(r,e,t){let n=new Set;for(let s of r.json.nodes||[]){let i=r.json.skins?.[s.skin],o=r.json.meshes?.[s.mesh];if(!Array.isArray(i?.joints)||!i.joints.length||!o)continue;let a=`${s.mesh}:${s.skin}`;if(!n.has(a)){n.add(a);for(let[c,u]of o.primitives.entries()){let l=`mesh ${s.mesh} primitive ${c} skin ${s.skin}`,f=Object.keys(u.attributes).filter(b=>/^JOINTS_\d+$/.test(b)).map(b=>Number(b.slice(7))).sort((b,g)=>b-g),d=Object.keys(u.attributes).filter(b=>/^WEIGHTS_\d+$/.test(b)).map(b=>Number(b.slice(8))).sort((b,g)=>b-g);if(!f.length&&!d.length){t(`${l} requires JOINTS_0 and WEIGHTS_0 skin influences`);continue}if(JSON.stringify(f)!==JSON.stringify(d)||f.some((b,g)=>b!==g)){t(`${l} requires matching contiguous joint/weight sets starting at zero`);continue}let h=r.json.accessors?.[u.attributes.POSITION]?.count,m=f.map(b=>({joints:e(u.attributes[`JOINTS_${b}`],`${l} joint set ${b}`),weights:e(u.attributes[`WEIGHTS_${b}`],`${l} weight set ${b}`)}));if(!m.some(({joints:b,weights:g})=>!b||!g)){if(m.some(({joints:b,weights:g})=>b.accessor.type!=="VEC4"||g.accessor.type!=="VEC4"||![5121,5123].includes(b.accessor.componentType)||b.accessor.normalized||!(g.accessor.componentType===5126&&!g.accessor.normalized||[5121,5123].includes(g.accessor.componentType)&&g.accessor.normalized)||b.accessor.count!==g.accessor.count||h!==void 0&&b.accessor.count!==h||b.accessor.count!==m[0].joints.accessor.count)){t(`${l} incompatible influence accessor types or vertex counts`);continue}for(let b=0;b<m[0].joints.accessor.count;b++){let g=0,y=0,x=!0,T=new Set;for(let{joints:_,weights:v}of m){let I=v.accessor.normalized?v.accessor.componentType===5121?255:65535:1;for(let k=0;k<4;k++){let K=Ht(_,b,k),ie=Ht(v,b,k)/I;(K>=i.joints.length||!Number.isFinite(ie)||ie<0||ie>1)&&(x=!1),ie>0&&(T.has(K)&&(x=!1),T.add(K),y++),g+=ie}}if(!x||Math.abs(g-1)>2e-7*Math.max(y,1)){t(`${l} invalid palette index, repeated weighted joint, or weights not summing to one at vertex ${b}`);break}}}}}}}var sB=p(()=>{"use strict";Uu();rB()});function iB(r,e,t,n){let s=new Map,i=new Map,o=new Map;for(let[c,u]of(r.json.buffers||[]).entries()){let l=`buffer ${c}`,f=r.buffers[c],d=!!(f&&f.arrayBuffer instanceof ArrayBuffer&&Number.isSafeInteger(f.byteOffset)&&f.byteOffset>=0&&Number.isSafeInteger(f.byteLength)&&f.byteLength>=0&&Number.isSafeInteger(f.byteOffset+f.byteLength)&&f.byteOffset+f.byteLength<=f.arrayBuffer.byteLength);f&&!d&&t(`${l} invalid borrowed payload span`);let h=u.byteLength;if(h===void 0&&e.has(c)&&!u.extensions&&d&&f.byteLength>0&&(h=f.byteLength,i.set(c,h)),!Number.isSafeInteger(h)||h<1){t(`${l} requires a positive byteLength; missing lengths require unambiguous loaded URI data`);continue}s.set(c,h),d&&f.byteLength<h&&t(`${l} declared byteLength exceeds its loaded payload`)}let a=Uw(r.json);for(let[c,u]of(r.json.bufferViews||[]).entries()){let l=u.byteOffset===void 0?0:u.byteOffset,f=s.get(u.buffer),d=u.byteLength===void 0&&!a&&f!==void 0?O8(r,c,s):u.byteLength;u.byteLength===void 0&&d!==void 0&&o.set(c,d),(!Number.isSafeInteger(u.buffer)||u.buffer<0||f===void 0||!Number.isSafeInteger(l)||l<0||!Number.isSafeInteger(d)||(d??0)<1||!Number.isSafeInteger(l+(d??0))||l+(d??0)>f)&&t(`bufferView ${c} requires a valid buffer reference and contained positive byte span`)}for(let[c,u]of o)r.json.bufferViews[c].byteLength=u,n(`Inferred bufferView ${c} byteLength from its dense accessor spans.`);for(let[c,u]of i)r.json.buffers[c].byteLength=u,n(`Inferred buffer ${c} byteLength from its loaded URI payload.`)}function O8(r,e,t){let n=r.json.bufferViews[e];if(n.byteOffset!==void 0&&(!Number.isSafeInteger(n.byteOffset)||n.byteOffset<0)||n.byteStride!==void 0&&(!Number.isSafeInteger(n.byteStride)||n.byteStride<0)||r.json.images?.some(a=>a.bufferView===e)||r.json.accessors?.some(a=>!!a.sparse))return;let s=t.get(n.buffer)-(n.byteOffset??0),i={...r,json:{...r.json,buffers:r.json.buffers.map((a,c)=>({...a,byteLength:t.get(c)})),bufferViews:r.json.bufferViews.map((a,c)=>c===e?{...a,byteLength:s}:a)}},o=0;for(let[a,c]of(r.json.accessors||[]).entries()){if(c.bufferView!==e)continue;let u=c;for(let d of[u.byteOffset,u.byteStride])if(d!==void 0&&(!Number.isSafeInteger(d)||d<0))return;let l=Cu(i,a);if(typeof l=="string")return;let f=(c.byteOffset??0)+(c.count-1)*l.byteStride+l.rows*l.columns*l.componentSize;o=Math.max(o,f)}return o>0?o:void 0}var oB=p(()=>{"use strict";Uu()});function aB(r,e,t){let n=new Map;for(let i of r.animations||[])for(let o of i.channels||[]){let a=o.target?.node;if(!Number.isSafeInteger(a))continue;let c=n.get(a)||new Set;c.add(o.target.path),n.set(a,c)}let s=[];for(let[i,o]of n){let a=r.nodes?.[i];if(a?.matrix===void 0)continue;let c=`animated matrix node ${i}`;if(o.size!==1||!o.has("translation")){e(`${c} rotation or scale animation requires an unambiguous TRS basis`);continue}if(a.translation!==void 0||a.rotation!==void 0||a.scale!==void 0||a.extensions!==void 0){e(`${c} has conflicting TRS fields or opaque extensions`);continue}let u=M8(a.matrix);if(!u){e(`${c} requires a finite affine, nonsingular matrix without shear`);continue}s.push(()=>{Object.assign(a,u),delete a.matrix,t(`Decomposed translation-only animated matrix node ${i}, preserving its linear transform.`)})}for(let i of s)i()}function M8(r){if(!Array.isArray(r)||r.length!==16||Array.from(r).some(a=>!Number.isFinite(a))||r[3]!==0||r[7]!==0||r[11]!==0||r[15]!==1)return null;let e=[0,1,2].map(a=>Math.hypot(...r.slice(a*4,a*4+3)));if(e.some(a=>!Number.isFinite(a)||a===0))return null;let t=e.map((a,c)=>r.slice(c*4,c*4+3).map(u=>u/a));for(let a=0;a<3;a++)for(let c=a+1;c<3;c++)if(Math.abs(t[a].reduce((u,l,f)=>u+l*t[c][f],0))>1e-6)return null;let n=t[0][0]*(t[1][1]*t[2][2]-t[1][2]*t[2][1])-t[1][0]*(t[0][1]*t[2][2]-t[0][2]*t[2][1])+t[2][0]*(t[0][1]*t[1][2]-t[0][2]*t[1][1]);if(Math.abs(Math.abs(n)-1)>1e-6)return null;n<0&&(e[0]=-e[0],t[0]=t[0].map(a=>-a));let s=Array.from(new Jc().fromMatrix3(t.flat()).normalize()),i=r.slice(12,15),o=new ei().translate(i).multiplyRight(new ei().fromQuaternion(s)).scale(e);return Array.from(o).some((a,c)=>!Number.isFinite(a)||Math.abs(a-r[c])>1e-6*Math.max(1,Math.abs(r[c])))?null:{translation:i,rotation:s,scale:e}}var cB=p(()=>{"use strict";ed()});function dB(r,e,t){let n=new Set,s=r.extensionsRequired?.includes(Yr)||!1;for(let[o,a]of(r.materials||[]).entries()){let c=a,u=a.extensions?.[Yr];if(u===void 0){R8(c,r,e,t);continue}mB(c,u);let l=`material ${o}`;if(!mr(u)||typeof u.technique!="string"||!["CONSTANT","LAMBERT","PHONG","BLINN"].includes(u.technique)){e(`${l} unknown ${Yr} technique`);continue}if(u.values!==void 0&&!mr(u.values)){e(`${l} common material values must be an object`);continue}let f=u.values||{},d=Object.keys(u).filter(I=>!["technique","values","doubleSided","transparent","jointCount"].includes(I)),h=Object.keys(f).filter(I=>!["ambient","diffuse","emission","specular","shininess","transparency","doubleSided","transparent"].includes(I));(d.length||h.length)&&e(`${l} unrecognized common material fields ${[...d,...h].join(", ")}`),u.jointCount!==void 0&&(!Number.isSafeInteger(u.jointCount)||Number(u.jointCount)<0)&&e(`${l} invalid common material jointCount`);let m=uB(f.emission,r,`${l} emission`,e),b=u.technique==="CONSTANT",g=b?m:uB(f.diffuse,r,`${l} diffuse`,e),y=f.transparency===void 0?1:f.transparency,x=typeof y=="number"&&Number.isFinite(y)&&y>=0&&y<=1;x||e(`${l} common material transparency must be in [0, 1]`);let T=lB(u,f,"transparent",l,e),_=lB(u,f,"doubleSided",l,e);f.ambient!==void 0&&!fB(f.ambient)&&e(`${l} ambient lighting`),["PHONG","BLINN"].includes(String(u.technique))&&(f.specular!==void 0&&!fB(f.specular)&&e(`${l} specular/shininess lighting`),f.shininess!==void 0&&(typeof f.shininess!="number"||!Number.isFinite(f.shininess)||f.shininess<0)&&e(`${l} invalid common material shininess`)),a.pbrMetallicRoughness||={};let v=a.pbrMetallicRoughness;if(v.metallicFactor??=0,v.roughnessFactor??=1,g){let I=[...g.factor];I[3]*=x?y:1,v.baseColorFactor??=I,g.texture&&(v.baseColorTexture??=g.texture)}a.doubleSided??=_,a.alphaMode??=T?"BLEND":"OPAQUE",b?(a.extensions[jw]??={},D8(r,jw,s),t(`Converted ${l} CONSTANT emission to an unlit material.`)):(m&&(a.emissiveFactor??=m.factor.slice(0,3),m.texture&&(a.emissiveTexture??=m.texture)),t(`Approximated ${l} ${String(u.technique)} lighting with rough non-metallic PBR factors.`)),typeof c.technique=="string"?n.add(c.technique):c.technique!==void 0&&e(`${l} invalid fallback technique ID`),delete c.technique,delete c.values,delete a.extensions[Yr],Object.keys(a.extensions).length||delete a.extensions}let i=bB(r);return(r.extensions?.[Yr]!==void 0||(r.nodes||[]).some(o=>o.extensions?.[Yr]!==void 0))&&e(`${Yr} lights or scene payloads`),i.has(Yr)||(r.extensionsUsed=r.extensionsUsed?.filter(o=>o!==Yr),r.extensionsRequired=r.extensionsRequired?.filter(o=>o!==Yr)),n}function hB(r,e){if(!e.size||[...bB(r)].some(c=>![Yr,jw].includes(c))||(r.materials||[]).some(c=>c.technique!==void 0||c.values!==void 0))return!1;let t=r;if(["techniques","programs","shaders"].some(c=>t[c]!==void 0&&!mr(t[c])))return!1;let n=mr(t.techniques)?t.techniques:{},s=mr(t.programs)?t.programs:{},i=mr(t.shaders)?t.shaders:{},o=new Set,a=new Set;if(Object.keys(n).some(c=>!e.has(c)))return!1;for(let c of Object.values(n))mr(c)&&typeof c.program=="string"&&o.add(c.program);if(Object.keys(s).some(c=>!o.has(c)))return!1;for(let c of Object.values(s))if(mr(c))for(let u of["vertexShader","fragmentShader"])typeof c[u]=="string"&&a.add(c[u]);return Object.keys(i).every(c=>a.has(c))}function R8(r,e,t,n){mB(r);let s=mr(r.values)?r.values:{},i=s.tex||s.texture2d_0||s.diffuseTex||s.diffuse,o=pB(e,i),a=Gw(s.diffuse)?s.diffuse:void 0;if(o!==-1||a){let c=a?[...a]:[1,1,1,1],u=s.transparency;typeof u=="number"&&u>=0&&u<=1&&(c[3]*=u),r.pbrMetallicRoughness||={},r.pbrMetallicRoughness.metallicFactor??=0,r.pbrMetallicRoughness.roughnessFactor??=1,r.pbrMetallicRoughness.baseColorFactor??=c,o!==-1&&(r.pbrMetallicRoughness.baseColorTexture??={index:o}),r.pbrMetallicRoughness.baseColorFactor[3]<1&&(r.alphaMode||="BLEND"),n("Approximated glTF v1 diffuse material values with PBR material factors.")}(r.technique||r.values)&&t(`material technique ${r.technique||"<unnamed>"}`)}function uB(r,e,t,n){if(r===void 0)return{factor:[0,0,0,1]};if(Gw(r))return{factor:[...r]};let s=pB(e,r);return s!==-1?{factor:[1,1,1,1],texture:{index:s}}:(n(`${t} requires an RGBA factor in [0, 1] or a resolved texture ID`),null)}function pB(r,e){return typeof e!="string"?-1:(r.textures||[]).findIndex(t=>t.id===e)}function lB(r,e,t,n,s){r[t]!==void 0&&e[t]!==void 0&&r[t]!==e[t]&&s(`${n} conflicting common material ${t}`);let i=e[t]!==void 0?e[t]:r[t]!==void 0?r[t]:!1;return typeof i=="boolean"?i:(s(`${n} common material ${t} must be boolean`),!1)}function mB(r,e){let t=mr(r.extras)?r.extras:r.extras===void 0?{}:{originalExtras:r.extras},n=mr(t.gltf1)?t.gltf1:t.gltf1===void 0?{}:{originalExtras:t.gltf1},s={technique:r.technique,values:r.values,...e===void 0?{}:{commonMaterial:e}},i=Object.keys(s).some(o=>Object.hasOwn(n,o));r.extras={...t,gltf1:{...n,...s,...i?{originalExtras:n}:{}}}}function D8(r,e,t){r.extensionsUsed=[...new Set([...r.extensionsUsed||[],e])],t&&(r.extensionsRequired=[...new Set([...r.extensionsRequired||[],e])])}function bB(r){let e=new Set,t=[r],n=new Set;for(;t.length;){let s=t.pop();if(!(!s||typeof s!="object"||n.has(s))){if(n.add(s),mr(s)&&mr(s.extensions))for(let i of Object.keys(s.extensions))e.add(i);for(let[i,o]of Object.entries(s))i!=="extras"&&t.push(o)}}return e}function Gw(r){return Array.isArray(r)&&r.length===4&&r.every(e=>typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1)}function fB(r){return Gw(r)&&r.slice(0,3).every(e=>e===0)}function mr(r){return r!==null&&typeof r=="object"&&!Array.isArray(r)}var Yr,jw,gB=p(()=>{"use strict";Yr="KHR_materials_common",jw="KHR_materials_unlit"});function yB(r,e={}){let t=new Ww;return t.normalize(r,e,!0),()=>t.finishNormalization(r)}var zw,N8,Ww,wB=p(()=>{"use strict";DL();CL();PL();GL();Uu();HL();JL();QL();eB();sB();oB();cB();gB();zw={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",cameras:"camera",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},N8={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",camera:"cameras",inverseBindMatrices:"accessors",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},Ww=class r{idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},cameras:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}};json;report={converted:!1,mutated:!1,unsupported:[],warnings:[]};strict=!1;log;finished=!1;pendingAccessors=new Set;accessorConversions=new Map;uriBufferIndices=new Set;normalize(e,t={},n=!1){if(t.mutate===!1){let o={...e,json:JSON.parse(JSON.stringify(e.json))},a=new r().normalize(o,{...t,mutate:!0});return a.mutated=!1,a}this.strict=t.normalize==="strict",this.log=t.log,this.json=e.json;let s=e.json;switch(s.asset&&s.asset.version){case"2.0":case"2.1":return this.report;case void 0:case"1.0":break;default:return this._warning(`Unknown glTF version ${s.asset.version}`),this.report}if(!t.normalize)throw new Error("glTF v1 is not supported.");this.report.converted=!0,this.report.mutated=!0,this.log?.log(1,"glTF: Converting glTF v1 to glTF v2 using experimental normalization.")(),this._addAsset(s),this._orderBinaryBufferPayloads(e),this._convertTopLevelObjectsToArrays(s),RL(e),this._convertObjectIdsToArrayIndices(s),this._updateObjects(s);for(let[o,a]of(s.buffers||[]).entries())typeof a.uri=="string"&&this.uriBufferIndices.add(o);let i=dB(s,o=>this._unsupported(o),o=>this._warning(o));return XL(s,(o,a)=>this._convertIdToIndex(o,a),o=>this._unsupported(o)),ZL(s,o=>this._unsupported(o)),aB(s,o=>this._unsupported(o),o=>this._warning(o)),KL(s,o=>this._unsupported(o)),this.accessorConversions=WL(s),kL(s,o=>this.pendingAccessors.add(o)),UL(s,o=>this._convertIdToIndex(o,"node"),o=>this._unsupported(o)),this._updateNodes(s),YL(s,o=>this._unsupported(o),o=>this._warning(o)),this._preserveLegacyResources(s,i),this._removeEmptyCollections(s),n?this.report:this.finishNormalization(e)}finishNormalization(e){return this.report.converted&&!this.finished&&(iB(e,this.uriBufferIndices,t=>this._unsupported(t),t=>this._warning(t)),$L(e,this.accessorConversions,this.pendingAccessors,t=>this._unsupported(t),t=>this._warning(t)),VL(e,t=>this._unsupported(t)),nB(e,t=>this._unsupported(t),t=>this._warning(t)),this._finishReport(),this.log?.log(1,`glTF: Completed glTF v1 normalization (${this.report.unsupported.length} unsupported features).`)(),this.finished=!0),this.report}_unsupported(e){if(this.report.unsupported.push(e),this.log?.warn(`glTF v1 normalization does not support ${e}`)(),this.strict)throw new Error(`glTF v1 normalization does not support ${e}`)}_warning(e){this.report.warnings.push(e),this.log?.warn(`glTF: ${e}`)()}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_orderBinaryBufferPayloads(e){let t=this.json.buffers;if(!t||Array.isArray(t)||!t.binary_glTF)return;let s=Object.keys(t).indexOf("binary_glTF");s>0&&e.buffers?.length&&(e.buffers=[e.buffers[s],...e.buffers.filter((i,o)=>o!==s)])}_convertTopLevelObjectsToArrays(e){for(let t in zw)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){let n=e[t];if(!n||Array.isArray(n))return;e[t]=[];let s=Object.keys(n),i=t==="buffers"&&s.includes("binary_glTF")?["binary_glTF",...s.filter(o=>o!=="binary_glTF")]:s;for(let o of i){let a=n[o];a.id=a.id||o;let c=e[t].length;e[t].push(a),this.idToIndexMap[t][o]=c}}_convertObjectIdsToArrayIndices(e){for(let t in zw)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(let t of e.textures)this._convertTextureIds(t);for(let t of e.meshes)this._convertMeshIds(t);for(let t of e.nodes)this._convertNodeIds(t);for(let t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(let t of e.primitives){let{attributes:n,indices:s,material:i}=t,o=new Map;for(let a in n){let c=Vw(a),u=o.get(c);if(u!==void 0&&n[u]!==n[a])throw new Error(`glTF v1: conflicting attribute aliases ${u} and ${a}`);o.set(c,a)}t.attributes=Object.fromEntries(Object.entries(n).map(([a,c])=>[Vw(a),this._convertIdToIndex(c,"accessor")])),s&&(t.indices=this._convertIdToIndex(s,"accessor")),i&&(t.material=this._convertIdToIndex(i,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(e[t]=[]);for(let n of e[t])for(let s in n){let i=n[s],o=this._convertIdToIndex(i,s);n[s]=o}}_convertIdToIndex(e,t){let n=N8[t];if(n in this.idToIndexMap){let s=this.idToIndexMap[n][e];if(!Number.isFinite(s))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return s}return e}_updateObjects(e){for(let t of this.json.buffers)delete t.type}_updateNodes(e){let t=e.nodes||[];for(let n=0;n<t.length;n++){let s=t[n];if(!Array.isArray(s.meshes))continue;let i=s.meshes;delete s.meshes,s.mesh=i.shift();for(let o of i){let a={...s,mesh:o,children:void 0};delete a.id,delete a.matrix,delete a.translation,delete a.rotation,delete a.scale,t.push(a),s.children||=[],s.children.push(t.length-1)}}}_preserveLegacyResources(e,t){let n=hB(e,t),s={};for(let i of["techniques","programs","shaders"])e[i]&&(s[i]=e[i],delete e[i],n||this._unsupported(`legacy ${i}`));Object.keys(s).length&&(e.extras={...e.extras,gltf1Resources:s},n&&this._warning("Preserved shader resources overridden by converted common materials."))}_removeEmptyCollections(e){for(let t of e.nodes||[])Array.isArray(t.children)&&t.children.length===0&&delete t.children;for(let t of e.scenes||[])Array.isArray(t.nodes)&&t.nodes.length===0&&delete t.nodes;for(let t of[...Object.keys(zw),"extensionsUsed","extensionsRequired"])Array.isArray(e[t])&&e[t].length===0&&delete e[t]}_finishReport(){this.report.unsupported.length&&this.report.warnings.push(`Converted glTF v1 with unsupported features: ${this.report.unsupported.join(", ")}`)}}});function k8(r,e){let t=r.basis;return{...r,core:{...r.core,mimeType:e},basis:{...t,format:t?.format||"auto"}}}async function xB(r,e,t=0,n,s){return await TB(r,e,t,n,s)}async function TB(r,e,t,n,s,i){C8(r,e,t,n);let o=yB(r,{normalize:n?.gltf?.normalize,log:Jr(n)});return await BL(r,n,s),n?.gltf?.loadBuffers&&r.json.buffers&&await q8(r,n,s,n.gltf.loadBufferIndices),o(),n?.gltf?.loadFiles&&r.json.files&&await $8(r,n,s),n?.gltf?.loadExternalAssets&&r.json.externalAssets&&await P8(r,n,s,i),n?.gltf?.loadImages&&await K8(r,n,s),await FL(r,n,s),r}function C8(r,e,t,n){if(n.core?.baseUrl&&(r.baseUri=n.core?.baseUrl),e instanceof ArrayBuffer&&!fE(e,t,n.glb)&&(e=new TextDecoder().decode(e)),typeof e=="string")r.json=Ug(e);else if(e instanceof ArrayBuffer){let l={};t=$d(l,e,t,n.glb),J(l.type==="glTF",`Invalid GLB magic string ${l.type}`),r._glb=l,r.json=l.json}else e&&typeof e=="object"?r.json=e:J(!1,"GLTF: must be ArrayBuffer, string, or parsed JSON object");let s=r.json.buffers||[],i=Array.isArray(s)?s:[],o=Array.isArray(s)?[]:Object.keys(s);if(r.buffers=new Array(Array.isArray(s)?s.length:o.length).fill(null),r._glb){let{binChunks:l}=r._glb;for(let g=0;g<i.length;g++){let y=i[g];if(y.chunk===void 0)continue;J(r._glb.version===3,"glTF buffer.chunk requires a GLB v3 container."),J(y.uri===void 0,`glTF buffer ${g} cannot define both uri and chunk.`);let x=l.find(T=>T.chunkIndex===y.chunk);J(x,`glTF buffer ${g} references missing GLB BIN chunk ${y.chunk}.`),J(y.byteLength<=x.byteLength,`glTF buffer ${g} is larger than GLB BIN chunk ${y.chunk}.`),r.buffers[g]={arrayBuffer:x.arrayBuffer,byteOffset:x.byteOffset,byteLength:y.byteLength}}let f=i.map((g,y)=>g.uri===void 0?y:-1).filter(g=>g!==-1),d=l.find(g=>g.chunkIndex===1),h=r._glb.version<3||r._glb.jsonChunkIndex===0&&i[0]?.chunk===void 0&&f.length===1&&f[0]===0&&!!d,m=r._glb.version<3?l[0]:d,b=r._glb.version===1&&!Array.isArray(s)?o.indexOf("binary_glTF"):0;if(h&&m&&b>=0&&(r.buffers[b]={arrayBuffer:m.arrayBuffer,byteOffset:m.byteOffset,byteLength:m.byteLength}),r._glb.version===3)for(let g of f)J(r.buffers[g],`glTF buffer ${g} without a uri must define a valid GLB v3 chunk.`)}if(!r._glb){let l=i.findIndex(f=>f.chunk!==void 0);J(l===-1,`glTF buffer ${l} uses chunk outside a GLB.`)}let a=r.json.images||[];r.images=new Array(a.length).fill({});let c=r.json.files||[];r.files=new Array(c.length).fill(null);let u=r.json.externalAssets||[];r.externalAssets=new Array(u.length).fill(null)}async function P8(r,e,t,n){let s=r.json.externalAssets||[],i=new Set;for(let a of r.json.nodes||[])a.externalAsset!==void 0&&(J(a.externalAsset>=0&&a.externalAsset<s.length,`glTF node references missing external asset ${a.externalAsset}.`),i.add(a.externalAsset));let o=n||j8(t.url?new Set([qd(t.url)]):new Set);for(let a of i)await V8(r,a,e,t,o)}async function V8(r,e,t,n,s){let i=r.json.externalAssets?.[e];if(!i)throw new Error(`Missing glTF external asset ${e}.`);J(Number.isInteger(i.file)&&i.file>=0&&i.file<(r.json.files?.length||0),`glTF external asset ${e} references missing file ${i.file}.`);let o=await Xd(r,i.file,t,n),a=o.url;J(!a||!s.ancestors.has(a),`glTF external asset cycle detected at ${a}.`);let c=a?s.cache.get(a):void 0;if(!c){let u=G8(r,o,t,n,s),l={...s,ancestors:new Set(s.ancestors)};a&&l.ancestors.add(a);let f=ho(o.arrayBuffer,o.byteOffset,o.byteLength);c=TB({},f,0,t,u,l),a&&s.cache.set(a,c)}r.externalAssets=r.externalAssets||[],r.externalAssets[e]=await c}function j8(r){return{cache:new Map,ancestors:r,packageIds:{next:0}}}function G8(r,e,t,n,s){if(e.url&&!e.url.startsWith("data:"))return{...n,url:e.url,filename:W8(e.url),baseUrl:z8(e.url)};let i=`${U8}${s.packageIds.next++}`,o=`${i}/`;return{...n,url:e.name,filename:e.name,baseUrl:i,fetch:async(a,c)=>{let u=a;if(u.startsWith("data:"))return await n.fetch(a,c);let l=u.startsWith(o)?u.slice(o.length):u,f=Sy(r,l);J(f>=0,`glTF package does not contain file ${l}.`);let d=await Xd(r,f,t,n),h=ho(d.arrayBuffer,d.byteOffset,d.byteLength);return new Response(h,{headers:{"content-type":d.mimeType}})}}}function z8(r){let e=r.lastIndexOf("/");return e>=0?r.slice(0,e):""}function W8(r){let e=r.lastIndexOf("/");return e>=0?r.slice(e+1):r}async function $8(r,e,t){let n=r.json.files||[];await Promise.all(n.map((s,i)=>Xd(r,i,e,t)))}async function q8(r,e,t,n){let s=r.json.buffers||[],i=n?new Set(typeof n=="function"?n(r.json):n):void 0;for(let o=0;o<s.length;++o){if(i&&!i.has(o))continue;let a=s[o];if(a.uri){let{fetch:c}=t;J(c);let u=Yn(a.uri,e,t),f=await(await t?.fetch?.(u))?.arrayBuffer?.();r.buffers[o]={arrayBuffer:f,byteOffset:0,byteLength:f.byteLength},delete a.uri}else r.buffers[o]===null&&(r.buffers[o]={arrayBuffer:new ArrayBuffer(a.byteLength),byteOffset:0,byteLength:a.byteLength})}}async function K8(r,e,t){let n=H8(r),s=r.json.images||[],i=[];for(let o of n)i.push(X8(r,s[o],o,e,t));return await Promise.all(i)}function H8(r){let e=new Set;r.json.asset.thumbnail!==void 0&&e.add(r.json.asset.thumbnail);let t=r.json.textures||[];for(let n of t)n.source!==void 0&&e.add(n.source);return Array.from(e).sort()}async function X8(r,e,t,n,s){let i;if(e.uri&&!e.hasOwnProperty("bufferView")){let l=Yn(e.uri,n,s),{fetch:f}=s;i=await(await f(l)).arrayBuffer(),e.bufferView={data:i}}if(Number.isFinite(e.bufferView)){let l=pr(r.json,r.buffers,e.bufferView);i=ho(l.buffer,l.byteOffset,l.byteLength)}J(i,"glTF image has no data");let o=k8(n,e.mimeType),a=Bu(s);if(!!(a&&!n.gltf?.excludeExtensions?.includes("MSFT_texture_dds")&&r.json.textures?.some(l=>l.source===t&&l.extensions?.MSFT_texture_dds?.source===t))){let l=await ni(i,a,n,s);J(l.length>0,"MSFT_texture_dds parser returned no texture levels"),r.images=r.images||[],r.images[t]={compressed:!0,mipmaps:!0,width:l[0].width,height:l[0].height,data:l};return}let u=await ni(i,[wu,go],o,s);u&&u[0]&&(u={compressed:!0,mipmaps:!1,width:u[0].width,height:u[0].height,data:u[0]}),r.images=r.images||[],r.images[t]=u}var U8,_B=p(()=>{"use strict";Be();Be();Jn();Jn();yo();Ay();Tu();bE();wo();ML();hw();wB();U8="gltf-package://"});async function AB(r,e={},t){let n={...$w.options,...e};n.gltf={...$w.options.gltf,...n.gltf};let s=e?.glb?.byteOffset||0;return await xB({},r,s,n,t)}var Boe,J8,$w,vB=p(()=>{"use strict";_B();SB();({preload:Boe,...J8}=IB),$w={...J8,parse:AB}});var qw={};Y(qw,{GLTFLoaderWithParser:()=>$w,parse:()=>AB});var Kw=p(()=>{"use strict";vB()});async function Y8(){let{GLTFLoaderWithParser:r}=await Promise.resolve().then(()=>(Kw(),qw));return r}var IB,SB=p(()=>{"use strict";oy();ay();IB={dataType:null,batchType:null,...lS,version:Nd,preload:Y8,options:{gltf:{normalize:!0,loadBuffers:!0,loadFiles:!1,loadExternalAssets:!1,loadImages:!0,loadAudio:!0,decompressMeshes:!0}}}});async function eU(r,e){return EB(r,e)}function EB(r,e){let t={};return $d(t,r,e?.glb?.byteOffset||0,e?.glb),t}var Coe,Q8,Z8,LB=p(()=>{"use strict";Ay();FB();({preload:Coe,...Q8}=BB),Z8={...Q8,parse:eU,parseSync:EB}});var Hw={};Y(Hw,{GLBLoaderWithParser:()=>Z8});var Xw=p(()=>{"use strict";LB()});async function tU(){let{GLBLoaderWithParser:r}=await Promise.resolve().then(()=>(Xw(),Hw));return r}var BB,FB=p(()=>{"use strict";oy();ay();BB={dataType:null,batchType:null,...fS,version:Nd,preload:tU,options:{glb:{strict:!1}}}});function rU(r){return typeof r=="string"?r.charAt(0).toLowerCase()+r.slice(1):r}function dh(r){if(Array.isArray(r))return r.map(e=>dh(e));if(r&&typeof r=="object"){let e={};for(let[t,n]of Object.entries(r))Object.defineProperty(e,rU(t),{value:dh(n),enumerable:!0,configurable:!0,writable:!0});return e}return r}var OB=p(()=>{"use strict"});var MB,nU,sU,iU,Vu,Jw,oU,aU,ju,Yw,ja,RB=p(()=>{"use strict";MB={ontext:()=>{},onprocessinginstruction:()=>{},onsgmldeclaration:()=>{},ondoctype:()=>{},oncomment:()=>{},onopentagstart:()=>{},onattribute:()=>{},onopentag:()=>{},onclosetag:()=>{},onopencdata:()=>{},oncdata:()=>{},onclosecdata:()=>{},onerror:()=>{},onend:()=>{},onready:()=>{},onscript:()=>{},onopennamespace:()=>{},onclosenamespace:()=>{}},nU={...MB,strict:!1,MAX_BUFFER_LENGTH:64*1024,lowercase:!1,lowercasetags:!1,noscript:!1,strictEntities:!1,preserveCase:!1,caseInsensitiveTags:!1,processEntities:!0,xmlns:void 0,position:void 0,trim:void 0,normalize:void 0},sU=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],iU=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"],Vu=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,Jw=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,oU=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,aU=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,ju={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830};Object.keys(ju).forEach(r=>{let e=ju[r];ju[r]=typeof e=="number"?String.fromCharCode(e):e});Yw=class r{EVENTS=sU;ENTITIES={...ju};XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"};S=0;opt;trackPosition=!1;column=0;line=0;c="";error;q="";bufferCheckPosition;closed=!1;tags=[];looseCase="";closedRoot=!1;sawRoot=!1;strict=!1;tag;strictEntities;state;noscript=!1;attribList=[];ns;position=0;STATE={BEGIN:this.S++,BEGIN_WHITESPACE:this.S++,TEXT:this.S++,TEXT_ENTITY:this.S++,OPEN_WAKA:this.S++,SGML_DECL:this.S++,SGML_DECL_QUOTED:this.S++,DOCTYPE:this.S++,DOCTYPE_QUOTED:this.S++,DOCTYPE_DTD:this.S++,DOCTYPE_DTD_QUOTED:this.S++,COMMENT_STARTING:this.S++,COMMENT:this.S++,COMMENT_ENDING:this.S++,COMMENT_ENDED:this.S++,CDATA:this.S++,CDATA_ENDING:this.S++,CDATA_ENDING_2:this.S++,PROC_INST:this.S++,PROC_INST_BODY:this.S++,PROC_INST_ENDING:this.S++,OPEN_TAG:this.S++,OPEN_TAG_SLASH:this.S++,ATTRIB:this.S++,ATTRIB_NAME:this.S++,ATTRIB_NAME_SAW_WHITE:this.S++,ATTRIB_VALUE:this.S++,ATTRIB_VALUE_QUOTED:this.S++,ATTRIB_VALUE_CLOSED:this.S++,ATTRIB_VALUE_UNQUOTED:this.S++,ATTRIB_VALUE_ENTITY_Q:this.S++,ATTRIB_VALUE_ENTITY_U:this.S++,CLOSE_TAG:this.S++,CLOSE_TAG_SAW_WHITE:this.S++,SCRIPT:this.S++,SCRIPT_ENDING:this.S++};BUFFERS=iU;CDATA="[CDATA[";DOCTYPE="DOCTYPE";XML_NAMESPACE="http://www.w3.org/XML/1998/namespace";XMLNS_NAMESPACE="http://www.w3.org/2000/xmlns/";rootNS={xml:this.XML_NAMESPACE,xmlns:this.XMLNS_NAMESPACE};comment;sgmlDecl;textNode="";tagName;doctype;procInstName;procInstBody;entity="";attribName;attribValue;cdata="";script="";startTagPosition=0;constructor(){this.S=0;for(let e in this.STATE)this.STATE.hasOwnProperty(e)&&(this.STATE[this.STATE[e]]=e);this.S=this.STATE}static charAt(e,t){let n="";return t<e.length&&(n=e.charAt(t)),n}static isWhitespace(e){return e===" "||e===`
44
+ `||e==="\r"||e===" "}static isQuote(e){return e==='"'||e==="'"}static isAttribEnd(e){return e===">"||r.isWhitespace(e)}static isMatch(e,t){return e.test(t)}static notMatch(e,t){return!r.isMatch(e,t)}static qname(e,t){let s=e.indexOf(":")<0?["",e]:e.split(":"),i=s[0],o=s[1];return t&&e==="xmlns"&&(i="xmlns",o=""),{prefix:i,local:o}}write(e){if(this.error)throw this.error;if(this.closed)return this.errorFunction("Cannot write after close. Assign an onready handler.");if(e===null)return this.end();typeof e=="object"&&(e=e.toString());let t=0,n;for(;n=r.charAt(e,t++),this.c=n,!!n;)switch(this.trackPosition&&(this.position++,n===`
45
+ `?(this.line++,this.column=0):this.column++),this.state){case this.S.BEGIN:if(this.state=this.S.BEGIN_WHITESPACE,n==="\uFEFF")continue;this.beginWhiteSpace(n);continue;case this.S.BEGIN_WHITESPACE:this.beginWhiteSpace(n);continue;case this.S.TEXT:if(this.sawRoot&&!this.closedRoot){let o=t-1;for(;n&&n!=="<"&&n!=="&";)n=r.charAt(e,t++),n&&this.trackPosition&&(this.position++,n===`
46
+ `?(this.line++,this.column=0):this.column++);this.textNode+=e.substring(o,t-1)}n==="<"&&!(this.sawRoot&&this.closedRoot&&!this.strict)?(this.state=this.S.OPEN_WAKA,this.startTagPosition=this.position):(!r.isWhitespace(n)&&(!this.sawRoot||this.closedRoot)&&this.strictFail("Text data outside of root node."),n==="&"?this.state=this.S.TEXT_ENTITY:this.textNode+=n);continue;case this.S.SCRIPT:n==="<"?this.state=this.S.SCRIPT_ENDING:this.script+=n;continue;case this.S.SCRIPT_ENDING:n==="/"?this.state=this.S.CLOSE_TAG:(this.script+=`<${n}`,this.state=this.S.SCRIPT);continue;case this.S.OPEN_WAKA:if(n==="!")this.state=this.S.SGML_DECL,this.sgmlDecl="";else if(!r.isWhitespace(n))if(r.isMatch(Vu,n))this.state=this.S.OPEN_TAG,this.tagName=n;else if(n==="/")this.state=this.S.CLOSE_TAG,this.tagName="";else if(n==="?")this.state=this.S.PROC_INST,this.procInstName=this.procInstBody="";else{if(this.strictFail("Unencoded <"),this.startTagPosition+1<this.position){let o=this.position-this.startTagPosition;n=new Array(o).join(" ")+n}this.textNode+=`<${n}`,this.state=this.S.TEXT}continue;case this.S.SGML_DECL:(this.sgmlDecl+n).toUpperCase()===this.CDATA?(this.emitNode("onopencdata"),this.state=this.S.CDATA,this.sgmlDecl="",this.cdata=""):this.sgmlDecl+n==="--"?(this.state=this.S.COMMENT,this.comment="",this.sgmlDecl=""):(this.sgmlDecl+n).toUpperCase()===this.DOCTYPE?(this.state=this.S.DOCTYPE,(this.doctype||this.sawRoot)&&this.strictFail("Inappropriately located doctype declaration"),this.doctype="",this.sgmlDecl=""):n===">"?(this.emitNode("onsgmldeclaration",this.sgmlDecl),this.sgmlDecl="",this.state=this.S.TEXT):r.isQuote(n)?(this.state=this.S.SGML_DECL_QUOTED,this.sgmlDecl+=n):this.sgmlDecl+=n;continue;case this.S.SGML_DECL_QUOTED:n===this.q&&(this.state=this.S.SGML_DECL,this.q=""),this.sgmlDecl+=n;continue;case this.S.DOCTYPE:n===">"?(this.state=this.S.TEXT,this.emitNode("ondoctype",this.doctype),this.doctype=!0):(this.doctype+=n,n==="["?this.state=this.S.DOCTYPE_DTD:r.isQuote(n)&&(this.state=this.S.DOCTYPE_QUOTED,this.q=n));continue;case this.S.DOCTYPE_QUOTED:this.doctype+=n,n===this.q&&(this.q="",this.state=this.S.DOCTYPE);continue;case this.S.DOCTYPE_DTD:this.doctype+=n,n==="]"?this.state=this.S.DOCTYPE:r.isQuote(n)&&(this.state=this.S.DOCTYPE_DTD_QUOTED,this.q=n);continue;case this.S.DOCTYPE_DTD_QUOTED:this.doctype+=n,n===this.q&&(this.state=this.S.DOCTYPE_DTD,this.q="");continue;case this.S.COMMENT:n==="-"?this.state=this.S.COMMENT_ENDING:this.comment+=n;continue;case this.S.COMMENT_ENDING:n==="-"?(this.state=this.S.COMMENT_ENDED,this.comment=this.textApplyOptions(this.comment),this.comment&&this.emitNode("oncomment",this.comment),this.comment=""):(this.comment+=`-${n}`,this.state=this.S.COMMENT);continue;case this.S.COMMENT_ENDED:n!==">"?(this.strictFail("Malformed comment"),this.comment+=`--${n}`,this.state=this.S.COMMENT):this.state=this.S.TEXT;continue;case this.S.CDATA:n==="]"?this.state=this.S.CDATA_ENDING:this.cdata+=n;continue;case this.S.CDATA_ENDING:n==="]"?this.state=this.S.CDATA_ENDING_2:(this.cdata+=`]${n}`,this.state=this.S.CDATA);continue;case this.S.CDATA_ENDING_2:n===">"?(this.cdata&&this.emitNode("oncdata",this.cdata),this.emitNode("onclosecdata"),this.cdata="",this.state=this.S.TEXT):n==="]"?this.cdata+="]":(this.cdata+=`]]${n}`,this.state=this.S.CDATA);continue;case this.S.PROC_INST:n==="?"?this.state=this.S.PROC_INST_ENDING:r.isWhitespace(n)?this.state=this.S.PROC_INST_BODY:this.procInstName+=n;continue;case this.S.PROC_INST_BODY:if(!this.procInstBody&&r.isWhitespace(n))continue;n==="?"?this.state=this.S.PROC_INST_ENDING:this.procInstBody+=n;continue;case this.S.PROC_INST_ENDING:n===">"?(this.emitNode("onprocessinginstruction",{name:this.procInstName,body:this.procInstBody}),this.procInstName=this.procInstBody="",this.state=this.S.TEXT):(this.procInstBody+=`?${n}`,this.state=this.S.PROC_INST_BODY);continue;case this.S.OPEN_TAG:r.isMatch(Jw,n)?this.tagName+=n:(this.newTag(),n===">"?this.openTag():n==="/"?this.state=this.S.OPEN_TAG_SLASH:(r.isWhitespace(n)||this.strictFail("Invalid character in tag name"),this.state=this.S.ATTRIB));continue;case this.S.OPEN_TAG_SLASH:n===">"?(this.openTag(!0),this.closeTag()):(this.strictFail("Forward-slash in opening tag not followed by >"),this.state=this.S.ATTRIB);continue;case this.S.ATTRIB:if(r.isWhitespace(n))continue;n===">"?this.openTag():n==="/"?this.state=this.S.OPEN_TAG_SLASH:r.isMatch(Vu,n)?(this.attribName=n,this.attribValue="",this.state=this.S.ATTRIB_NAME):this.strictFail("Invalid attribute name");continue;case this.S.ATTRIB_NAME:n==="="?this.state=this.S.ATTRIB_VALUE:n===">"?(this.strictFail("Attribute without value"),this.attribValue=this.attribName,this.attrib(),this.openTag()):r.isWhitespace(n)?this.state=this.S.ATTRIB_NAME_SAW_WHITE:r.isMatch(Jw,n)?this.attribName+=n:this.strictFail("Invalid attribute name");continue;case this.S.ATTRIB_NAME_SAW_WHITE:if(n==="=")this.state=this.S.ATTRIB_VALUE;else{if(r.isWhitespace(n))continue;this.strictFail("Attribute without value"),Object.defineProperty(this.tag.attributes,this.attribName,{value:"",enumerable:!0,configurable:!0,writable:!0}),this.attribValue="",this.emitNode("onattribute",{name:this.attribName,value:""}),this.attribName="",n===">"?this.openTag():r.isMatch(Vu,n)?(this.attribName=n,this.state=this.S.ATTRIB_NAME):(this.strictFail("Invalid attribute name"),this.state=this.S.ATTRIB)}continue;case this.S.ATTRIB_VALUE:if(r.isWhitespace(n))continue;r.isQuote(n)?(this.q=n,this.state=this.S.ATTRIB_VALUE_QUOTED):(this.strictFail("Unquoted attribute value"),this.state=this.S.ATTRIB_VALUE_UNQUOTED,this.attribValue=n);continue;case this.S.ATTRIB_VALUE_QUOTED:if(n!==this.q){n==="&"?this.state=this.S.ATTRIB_VALUE_ENTITY_Q:this.attribValue+=n;continue}this.attrib(),this.q="",this.state=this.S.ATTRIB_VALUE_CLOSED;continue;case this.S.ATTRIB_VALUE_CLOSED:r.isWhitespace(n)?this.state=this.S.ATTRIB:n===">"?this.openTag():n==="/"?this.state=this.S.OPEN_TAG_SLASH:r.isMatch(Vu,n)?(this.strictFail("No whitespace between attributes"),this.attribName=n,this.attribValue="",this.state=this.S.ATTRIB_NAME):this.strictFail("Invalid attribute name");continue;case this.S.ATTRIB_VALUE_UNQUOTED:if(!r.isAttribEnd(n)){n==="&"?this.state=this.S.ATTRIB_VALUE_ENTITY_U:this.attribValue+=n;continue}this.attrib(),n===">"?this.openTag():this.state=this.S.ATTRIB;continue;case this.S.CLOSE_TAG:if(this.tagName)n===">"?this.closeTag():r.isMatch(Jw,n)?this.tagName+=n:this.script?(this.script+=`</${this.tagName}`,this.tagName="",this.state=this.S.SCRIPT):(r.isWhitespace(n)||this.strictFail("Invalid tagname in closing tag"),this.state=this.S.CLOSE_TAG_SAW_WHITE);else{if(r.isWhitespace(n))continue;r.notMatch(Vu,n)?this.script?(this.script+=`</${n}`,this.state=this.S.SCRIPT):this.strictFail("Invalid tagname in closing tag."):this.tagName=n}continue;case this.S.CLOSE_TAG_SAW_WHITE:if(r.isWhitespace(n))continue;n===">"?this.closeTag():this.strictFail("Invalid characters in closing tag");continue;case this.S.TEXT_ENTITY:case this.S.ATTRIB_VALUE_ENTITY_Q:case this.S.ATTRIB_VALUE_ENTITY_U:let s,i;switch(this.state){case this.S.TEXT_ENTITY:s=this.S.TEXT,i="textNode";break;case this.S.ATTRIB_VALUE_ENTITY_Q:s=this.S.ATTRIB_VALUE_QUOTED,i="attribValue";break;case this.S.ATTRIB_VALUE_ENTITY_U:s=this.S.ATTRIB_VALUE_UNQUOTED,i="attribValue";break;default:throw new Error(`Unknown state: ${this.state}`)}n===";"?(this[i]+=this.parseEntity(),this.entity="",this.state=s):r.isMatch(this.entity.length?aU:oU,n)?this.entity+=n:(this.strictFail("Invalid character in entity name"),this[i]+=`&${this.entity}${n}`,this.entity="",this.state=s);continue;default:throw new Error(`Unknown state: ${this.state}`)}return this.position>=this.bufferCheckPosition&&this.checkBufferLength(),this}emit(e,t){if(this.events.hasOwnProperty(e)){let n=e.replace(/^on/,"");this.events[e](t,n,this)}}clearBuffers(){for(let e=0,t=this.BUFFERS.length;e<t;e++)this[this[e]]=""}flushBuffers(){this.closeText(),this.cdata!==""&&(this.emitNode("oncdata",this.cdata),this.cdata=""),this.script!==""&&(this.emitNode("onscript",this.script),this.script="")}end(){return this.sawRoot&&!this.closedRoot&&this.strictFail("Unclosed root tag"),this.strict&&this.state!==this.S.BEGIN&&this.state!==this.S.BEGIN_WHITESPACE&&this.state!==this.S.TEXT&&this.errorFunction("Unexpected end"),this.closeText(),this.c="",this.closed=!0,this.emit("onend"),new ja(this.opt)}errorFunction(e){this.closeText(),this.trackPosition&&(e+=`
47
+ Line: ${this.line}
48
+ Column: ${this.column}
49
+ Char: ${this.c}`);let t=new Error(e);return this.error=t,this.emit("onerror",t),this}attrib(){if(!this.strict&&!this.opt.preserveCase&&(this.attribName=this.attribName[this.looseCase]()),this.attribList.indexOf(this.attribName)!==-1||Object.hasOwn(this.tag.attributes,this.attribName)){this.strictFail("Duplicate attribute"),this.attribName=this.attribValue="";return}if(this.opt.xmlns){let e=r.qname(this.attribName,!0),t=e.prefix,n=e.local;if(t==="xmlns")if(n==="xml"&&this.attribValue!==this.XML_NAMESPACE)this.strictFail(`xml: prefix must be bound to ${this.XML_NAMESPACE}
50
+ Actual: ${this.attribValue}`);else if(n==="xmlns"&&this.attribValue!==this.XMLNS_NAMESPACE)this.strictFail(`xmlns: prefix must be bound to ${this.XMLNS_NAMESPACE}
51
+ Actual: ${this.attribValue}`);else{let s=this.tag,i=this.tags[this.tags.length-1]||this;s.ns===i.ns&&(s.ns=Object.create(i.ns)),s.ns[n]=this.attribValue}this.attribList.push([this.attribName,this.attribValue])}else Object.defineProperty(this.tag.attributes,this.attribName,{value:this.attribValue,enumerable:!0,configurable:!0,writable:!0}),this.emitNode("onattribute",{name:this.attribName,value:this.attribValue});this.attribName=this.attribValue=""}newTag(){!this.strict&&!this.opt.preserveCase&&(this.tagName=this.tagName[this.looseCase]());let e=this.tags[this.tags.length-1]||this,t={name:this.tagName,attributes:{}};this.tag=t,this.opt.xmlns&&(t.ns=e.ns),this.attribList.length=0,this.emitNode("onopentagstart",t)}parseEntity(){let e=this.decodeEntity();return this.opt.processEntities===!1?`&${this.entity};`:e}decodeEntity(){let e=this.entity,t=e.toLowerCase(),n=NaN,s="";return typeof this.ENTITIES[e]=="string"||typeof this.ENTITIES[e]=="number"?this.ENTITIES[e]:typeof this.ENTITIES[t]=="string"||typeof this.ENTITIES[t]=="number"?this.ENTITIES[t]:(e=t,e.charAt(0)==="#"&&(e.charAt(1)==="x"?(e=e.slice(2),n=parseInt(e,16),s=n.toString(16)):(e=e.slice(1),n=parseInt(e,10),s=n.toString(10))),e=e.replace(/^0+/,""),Number.isNaN(n)||s.toLowerCase()!==e?(this.strictFail("Invalid character entity"),`&${this.entity};`):n<0||n>1114111||n>=55296&&n<=57343||n<32&&![9,10,13].includes(n)||n===65534||n===65535?(this.strictFail("Invalid character entity"),`&${this.entity};`):String.fromCodePoint(n))}beginWhiteSpace(e){e==="<"?(this.state=this.S.OPEN_WAKA,this.startTagPosition=this.position):r.isWhitespace(e)||(this.strictFail("Non-whitespace before first tag."),this.textNode=e,this.state=this.S.TEXT)}strictFail(e){if(typeof this!="object"||!(this instanceof ja))throw new Error("bad call to strictFail");this.strict&&this.errorFunction(e)}textApplyOptions(e){return this.opt.trim&&(e=e.trim()),this.opt.normalize&&(e=e.replace(/\s+/g," ")),e}emitNode(e,t){this.textNode&&this.closeText(),this.emit(e,t)}closeText(){this.textNode=this.textApplyOptions(this.textNode),this.textNode!==void 0&&this.textNode!==""&&this.textNode!=="undefined"&&this.emit("ontext",this.textNode),this.textNode=""}checkBufferLength(){let e=Math.max(this.opt.MAX_BUFFER_LENGTH,10),t=0;for(let s=0,i=this.BUFFERS.length;s<i;s++){let o=this[this.BUFFERS[s]]?.length||0;if(o>e)switch(this.BUFFERS[s]){case"textNode":this.closeText();break;case"cdata":this.emitNode("oncdata",this.cdata),this.cdata="";break;case"script":this.emitNode("onscript",this.script),this.script="";break;default:this.errorFunction(`Max buffer length exceeded: ${this.BUFFERS[s]}`)}t=Math.max(t,o)}let n=this.opt.MAX_BUFFER_LENGTH-t;this.bufferCheckPosition=n+this.position}openTag(e){if(this.opt.xmlns){let t=this.tag,n=r.qname(this.tagName);t.prefix=n.prefix,t.local=n.local,t.uri=t.ns[n.prefix]||"",t.prefix&&!t.uri&&(this.strictFail(`Unbound namespace prefix: ${JSON.stringify(this.tagName)}`),t.uri=n.prefix);let s=this.tags[this.tags.length-1]||this;if(t.ns&&s.ns!==t.ns){let i=this;Object.keys(t.ns).forEach(o=>{i.emitNode("onopennamespace",{prefix:o,uri:t.ns[o]})})}for(let i=0,o=this.attribList.length;i<o;i++){let a=this.attribList[i],c=a[0],u=a[1],l=r.qname(c,!0),f=l.prefix,d=l.local,h=f===""?"":t.ns[f]||"",m={name:c,value:u,prefix:f,local:d,uri:h};f&&f!=="xmlns"&&!h&&(this.strictFail(`Unbound namespace prefix: ${JSON.stringify(f)}`),m.uri=f),Object.defineProperty(this.tag.attributes,c,{value:m,enumerable:!0,configurable:!0,writable:!0}),this.emitNode("onattribute",m)}this.attribList.length=0}this.tag.isSelfClosing=!!e,this.sawRoot=!0,this.tags.push(this.tag),this.emitNode("onopentag",this.tag),e||(!this.noscript&&this.tagName.toLowerCase()==="script"?this.state=this.S.SCRIPT:this.state=this.S.TEXT,this.tag=null,this.tagName=""),this.attribName=this.attribValue="",this.attribList.length=0}closeTag(){if(!this.tagName){this.strictFail("Weird empty close tag."),this.textNode+="</>",this.state=this.S.TEXT;return}let e=!this.strict&&(this.opt.caseInsensitiveTags||!this.opt.preserveCase);if(this.script){if((e?this.tagName.toLowerCase():this.tagName)!=="script"){this.script+=`</${this.tagName}>`,this.tagName="",this.state=this.S.SCRIPT;return}this.emitNode("onscript",this.script),this.script=""}let t=this.tags.length,n=this.tagName,s=e?n.toLowerCase():n;for(;t--;){let o=this.tags[t];if((e?o.name.toLowerCase():o.name)!==s)this.strictFail("Unexpected close tag");else break}if(t<0){this.strictFail(`Unmatched closing tag: ${this.tagName}`),this.textNode+=`</${this.tagName}>`,this.state=this.S.TEXT;return}this.tagName=n;let i=this.tags.length;for(;i-- >t;){let o=this.tags.pop();this.tag=o,this.tagName=this.tag.name,this.emitNode("onclosetag",this.tagName);let a={};for(let u in o.ns)o.ns.hasOwnProperty(u)&&(a[u]=o.ns[u]);let c=this.tags[this.tags.length-1]||this;if(this.opt.xmlns&&o.ns!==c.ns){let u=this;Object.keys(o.ns).forEach(l=>{let f=o.ns[l];u.emitNode("onclosenamespace",{prefix:l,uri:f})})}}t===0&&(this.closedRoot=!0),this.tagName=this.attribValue=this.attribName="",this.attribList.length=0,this.state=this.S.TEXT}},ja=class extends Yw{static ENTITIES=ju;opt=nU;events=MB;constructor(e){super(),this.clearBuffers(),this.opt=e={...this.opt,...e},this.events={...this.events,...e},this.q=this.c="",this.opt.lowercase=this.opt.lowercase||this.opt.lowercasetags,this.bufferCheckPosition=this.opt.MAX_BUFFER_LENGTH,this.looseCase=this.opt.lowercase?"toLowerCase":"toUpperCase",this.tags=[],this.closed=this.closedRoot=this.sawRoot=!1,this.tag=this.error=null,this.strict=!!this.opt.strict,this.noscript=!!(this.opt.strict||this.opt.noscript),this.state=this.S.BEGIN,this.strictEntities=this.opt.strictEntities,this.ENTITIES=this.strictEntities?Object.create(this.XML_ENTITIES):Object.create(this.ENTITIES),this.attribList=[],this.opt.xmlns&&(this.ns=Object.create(this.rootNS)),this.trackPosition=this.opt.position!==!1,this.trackPosition&&(this.position=this.line=this.column=0),this.emit("onready")}resume(){return this.error=null,this}close(){return this.write(null)}flush(){this.flushBuffers()}}});function Ga(r,e,t){Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0})}function DB(r,e={}){if(e.strict!==!1&&/[^\u0009\u000a\u000d\u0020-\ud7ff\ue000-\ufffd\u{10000}-\u{10ffff}]/u.test(r))throw new Error("XML: invalid XML character");let t=e.maxDepth??256;if(!Number.isSafeInteger(t)||t<1||t>4096)throw new Error("XML: maxDepth must be an integer between 1 and 4096");let n=new Qw(e,t);if(new ja({strict:e.strict!==!1,strictEntities:!e.htmlEntities,preserveCase:!0,caseInsensitiveTags:e.strict===!1,processEntities:e.processEntities!==!1,onopentag:i=>n.openElement(i.name,i.attributes||{}),ontext:i=>n.addText(i),oncdata:i=>n.addText(i),onscript:i=>n.addText(i),onclosetag:()=>n.closeElement(),onerror:i=>{throw i}}).write(r).close(),e.strict===!1)for(;n.stack.length;)n.closeElement();if(n.result===void 0)throw new Error("XML: document requires a root element");return n.result}var Qw,NB=p(()=>{"use strict";RB();Qw=class{options;maximumDepth;stack=[];result;constructor(e,t){this.options=e,this.maximumDepth=t}openElement(e,t){if(this.stack.length>=this.maximumDepth)throw new Error("XML: maximum nesting depth exceeded");if(!this.stack.length&&this.result!==void 0&&this.options.strict!==!1)throw new Error("XML: document requires a single root element");let n=this.normalizeName(e),s=this.stack[this.stack.length-1];this.stack.push({name:n,path:s?`${s.path}.${n}`:n,attributes:this.normalizeAttributes(t),children:{},orderedChildren:[],text:""})}addText(e){let t=this.stack[this.stack.length-1];t&&(t.text+=e)}closeElement(){let e=this.stack.pop();if(!e)return;let t=this.finalizeElement(e),n=this.stack[this.stack.length-1];if(this.options.preserveOrder){n?n.orderedChildren.push(t):this.result=t;return}n?this.addChild(n.children,e.name,e.path,t):(this.result===void 0&&(this.result={}),this.addChild(this.result,e.name,e.path,t))}finalizeElement(e){let t=this.options.trimValues===!1?e.text:e.text.trim();if(this.options.preserveOrder)return{name:e.name,attributes:e.attributes,children:e.orderedChildren,text:t};let n=Object.keys(e.attributes).length>0;if(!n&&!Object.keys(e.children).length)return this.parseValue(t,this.options.parseTagValue!==!1);let s=e.children;if(t&&Ga(s,this.options.textNodeName??"value",this.parseValue(t,this.options.parseTagValue!==!1)),n&&this.options.attributesGroupName)Ga(s,this.options.attributesGroupName,e.attributes);else for(let[i,o]of Object.entries(e.attributes))Ga(s,i,o);return s}addChild(e,t,n,s){if(!Object.hasOwn(e,t))Ga(e,t,this.options.arrayPaths?.includes(n)?[s]:s);else{let i=e[t];Array.isArray(i)?i.push(s):Ga(e,t,[i,s])}}normalizeAttributes(e){let t={};if(this.options.ignoreAttributes)return t;for(let[n,s]of Object.entries(e)){if(this.options.removeNSPrefix&&(n==="xmlns"||n.startsWith("xmlns:")))continue;let i=this.options.trimValues===!1?s:s.trim();Ga(t,(this.options.attributeNamePrefix??"")+this.normalizeName(n),this.parseValue(i,this.options.parseAttributeValue===!0))}return t}normalizeName(e){return this.options.removeNSPrefix?e.slice(e.indexOf(":")+1):e}parseValue(e,t){return t?e==="true"||e==="false"?e==="true":e!==""&&e.trim()!==""&&Number.isFinite(Number(e))?Number(e):e:e}}});function Zw(r,e={}){if(Object.hasOwn(e,"_fastXML")||Object.hasOwn(e,"_sax"))throw new Error("XML: backend-specific options were removed; use native XML options");if(e._parser&&!["internal","sax"].includes(e._parser))throw new Error("XML: unsupported parser backend; use the native documents parser");let t=DB(r,e);return e.uncapitalizeKeys?dh(t):t}var kB=p(()=>{"use strict";OB();NB()});var CB=p(()=>{"use strict";kB()});function Gu(r){if(/<!DOCTYPE|<!ENTITY/i.test(r))throw new Error("MaterialX: document types and entity declarations are unsupported.");let e;try{e=Zw(r,{preserveOrder:!0,parseAttributeValue:!1,trimValues:!1})}catch(n){throw new Error("MaterialX: malformed XML.",{cause:n})}if(e.name!=="materialx")throw new Error("MaterialX: expected a materialx root element.");let t=e.attributes.version;if(!t||!/^1\.\d+$/.test(t))throw new Error("MaterialX: expected a MaterialX 1.x version.");return{version:t,root:UB(e,0)}}function UB(r,e){return{category:r.name,attributes:r.attributes,children:r.children.map(t=>UB(t,e+1))}}var PB=p(()=>{"use strict";CB()});var ex={};Y(ex,{MaterialXLoaderWithParser:()=>uU});var nae,cU,uU,tx=p(()=>{"use strict";jB();PB();({preload:nae,...cU}=VB),uU={...cU,parse:async r=>Gu(new TextDecoder().decode(r)),parseSync:r=>Gu(new TextDecoder().decode(r)),parseText:async r=>Gu(r),parseTextSync:Gu}});async function lU(){let{MaterialXLoaderWithParser:r}=await Promise.resolve().then(()=>(tx(),ex));return r}var VB,jB=p(()=>{"use strict";VB={name:"MaterialX",id:"materialx",module:"scene",version:"latest",extensions:["mtlx"],mimeTypes:["application/xml"],text:!0,dataType:null,batchType:null,options:{},preload:lU}});function rx(r){let e=new DataView(r),t=r.byteLength>=84&&84+e.getUint32(80,!0)*50===r.byteLength,n,s,i;if(t){let a=e.getUint32(80,!0);n=new Float32Array(a*9),s=new Float32Array(a*9),i=new TextDecoder().decode(r.slice(0,80));for(let c=0;c<a;c++){let u=84+c*50;for(let l=0;l<9;l++)n[c*9+l]=e.getFloat32(u+12+l*4,!0),s[c*9+l]=e.getFloat32(u+l%3*4,!0)}}else{let a=new TextDecoder().decode(r).trim().split(/\r?\n/).map(f=>f.trim()).filter(Boolean),c=[],u=[];i=a[0]||"";let l=0;for(;l<a.length;){if(!/^solid(?:\s|$)/i.test(a[l++]))throw new Error("STL: expected solid header or exact binary length");for(;l<a.length&&!/^endsolid(?:\s|$)/i.test(a[l]);){let f=GB(a[l++],"facet normal");if(!/^outer\s+loop$/i.test(a[l++]||""))throw new Error("STL: expected outer loop");for(let d=0;d<3;d++)c.push(...GB(a[l++],"vertex")),u.push(...f);if(!/^endloop$/i.test(a[l++]||"")||!/^endfacet$/i.test(a[l++]||""))throw new Error("STL: incomplete facet")}if(l>=a.length)throw new Error("STL: missing endsolid");l++}if(!a.length)throw new Error("STL: empty input");n=new Float32Array(c),s=new Float32Array(u)}if(!n.every(Number.isFinite)||!s.every(Number.isFinite))throw new Error("STL: non-finite coordinates");let o={POSITION:{value:n,size:3},NORMAL:{value:s,size:3}};return{topology:"triangle-list",mode:4,attributes:o,schema:kb(o),header:{vertexCount:n.length/3,boundingBox:fr(o)??void 0},loaderData:{header:i,format:t?"binary":"ascii"}}}function GB(r,e){let t=r?.split(/\s+/)||[],n=e.split(" "),s=t.slice(n.length);if(n.some((i,o)=>t[o]?.toLowerCase()!==i)||s.length!==3||s.some(i=>!/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i.test(i)))throw new Error(`STL: invalid ${e} record`);return s.map(Number)}var zB=p(()=>{"use strict";Xr()});var nx={};Y(nx,{STLLoaderWithParser:()=>dU});var uae,fU,dU,sx=p(()=>{"use strict";$B();zB();({preload:uae,...fU}=WB),dU={...fU,parse:async r=>rx(r),parseSync:rx}});async function pU(){let{STLLoaderWithParser:r}=await Promise.resolve().then(()=>(sx(),nx));return r}var hU,WB,$B=p(()=>{"use strict";hU="5.0.0-beta.10";WB={name:"STL",id:"stl",module:"scene",version:hU,extensions:["stl"],mimeTypes:["model/stl"],binary:!0,dataType:null,batchType:null,options:{},preload:pU}});function sF(r){let e=r.size(),t=new ArrayBuffer(e),n=new Int8Array(t);for(let s=0;s<e;++s)n[s]=r.GetValue(s);return t}function NU(r){return r instanceof Map?r.entries():Object.entries(r)}function $u(r){return ArrayBuffer.isView(r)?r:r&&typeof r=="object"&&"value"in r&&ArrayBuffer.isView(r.value)?r.value:null}function gh(r,e){return ArrayBuffer.isView(r)?e:r.size}function kU(r,e){for(let t of r)if(!Number.isInteger(t)||t<0||t>=e)throw new Error(`DracoWriter: triangle index ${t} is outside vertex range 0-${e-1}`)}function iF(r){return!!(r.attributeQuantization&&Object.keys(r.attributeQuantization).length)}function yh(r,e,t){if(!Number.isInteger(e)||e<1||e>30)throw new Error(`DracoWriter: quantization bits for "${r}" must be an integer from 1 to 30`);if(t==="NORMAL"&&(e<2||e>29))throw new Error(`DracoWriter: quantization bits for NORMAL attribute "${r}" must be an integer from 2 to 29`)}function CU(r,e,t){if(yh(r,t.bits),!Array.isArray(t.origin)||t.origin.length!==e)throw new Error(`DracoWriter: quantization origin for "${r}" must contain ${e} values`);if(!t.origin.every(Number.isFinite))throw new Error(`DracoWriter: quantization origin for "${r}" must be finite`);if(!Number.isFinite(t.range)||t.range<=0)throw new Error(`DracoWriter: quantization range for "${r}" must be positive`)}function oF(r,e){for(let t of["POSITION","NORMAL","COLOR","TEX_COORD","GENERIC"])if(r[t]===e)return t;return"GENERIC"}function UU(r){let e={gltf:{method:"MESH_EDGEBREAKER_ENCODING",speed:[5,5],quantization:{POSITION:14,NORMAL:10,TEX_COORD:12}},webgpu:{method:"MESH_SEQUENTIAL_ENCODING",speed:[5,5],quantization:{POSITION:14,NORMAL:10,TEX_COORD:12}},balanced:{method:"MESH_EDGEBREAKER_ENCODING",speed:[5,5],quantization:{POSITION:12,NORMAL:10,TEX_COORD:10}}},t=r.preset?e[r.preset]:{};return{...t,...r,quantization:{...t.quantization,...r.quantization}}}var DU,nF,Ka,aF=p(()=>{"use strict";DU={POSITION:"POSITION",NORMAL:"NORMAL",COLOR_0:"COLOR",TEXCOORD_0:"TEX_COORD"},nF=()=>{},Ka=class{draco;dracoEncoder;dracoMeshBuilder;dracoMetadataBuilder;log=nF;constructor(e){this.draco=e,this.dracoEncoder=new this.draco.Encoder,this.dracoMeshBuilder=new this.draco.MeshBuilder,this.dracoMetadataBuilder=new this.draco.MetadataBuilder}destroy(){this.destroyEncodedObject(this.dracoMeshBuilder),this.destroyEncodedObject(this.dracoEncoder),this.destroyEncodedObject(this.dracoMetadataBuilder)}destroyEncodedObject(e){e&&this.draco.destroy(e)}encodeSync(e,t={}){return this._encodeSync(e,t,!1).data}encodeSyncWithReport(e,t={}){return this._encodeSync(e,t,!0)}_encodeSync(e,t,n){return t=UU(t),this.log=t.log||nF,t.pointcloud?this._encodePointCloud(e,t,n):this._encodeMesh(e,t,n)}_getAttributesFromMesh(e){return{...e.indices?{indices:e.indices}:{},...e.attributes}}_encodePointCloud(e,t,n){let s=new this.draco.PointCloud,i=new this.draco.DracoInt8Array,o=null;try{t.metadata&&this._addGeometryMetadata(s,t.metadata);let a=this._getAttributesFromMesh(e),c=this._createDracoPointCloud(s,a,t),u=iF(t),l,f;if(u?(o=new this.draco.ExpertEncoder(s),this._setExpertOptions(o,c,t),f=o,n&&f.SetTrackEncodedProperties(!0),l=o.EncodeToDracoBuffer(t.deduplicateValues??!1,i)):(this._setOptions(t),f=this.dracoEncoder,n&&f.SetTrackEncodedProperties(!0),l=this.dracoEncoder.EncodePointCloudToDracoBuffer(s,t.deduplicateValues??!1,i)),!(l>0))throw new Error("Draco encoding failed.");this.log(`DRACO encoded ${s.num_points()} points
52
+ with ${s.num_attributes()} attributes into ${l} bytes`);let d=sF(i);return{data:d,report:this._getEncodingReport("point-cloud",d.byteLength,s,f,c,t,n)}}finally{this.destroyEncodedObject(o),this.destroyEncodedObject(i),this.destroyEncodedObject(s)}}_encodeMesh(e,t,n){let s=new this.draco.Mesh,i=new this.draco.DracoInt8Array,o=null;try{t.metadata&&this._addGeometryMetadata(s,t.metadata);let a=this._getAttributesFromMesh(e),c=this._createDracoMesh(s,a,t),u=iF(t),l,f;if(u?(o=new this.draco.ExpertEncoder(s),this._setExpertOptions(o,c,t),f=o,n&&f.SetTrackEncodedProperties(!0),l=o.EncodeToDracoBuffer(!1,i)):(this._setOptions(t),f=this.dracoEncoder,n&&f.SetTrackEncodedProperties(!0),l=this.dracoEncoder.EncodeMeshToDracoBuffer(s,i)),l<=0)throw new Error("Draco encoding failed.");this.log(`DRACO encoded ${s.num_points()} points
53
+ with ${s.num_attributes()} attributes into ${l} bytes`);let d=sF(i);return{data:d,report:this._getEncodingReport("mesh",d.byteLength,s,f,c,t,n)}}finally{this.destroyEncodedObject(o),this.destroyEncodedObject(i),this.destroyEncodedObject(s)}}_setOptions(e){if(e.speed&&this.dracoEncoder.SetSpeedOptions(...e.speed),e.method){let t=this.draco[e.method];this.dracoEncoder.SetEncodingMethod(t)}if(e.quantization)for(let t in e.quantization){let n=t,s=e.quantization[n];s!==void 0&&(yh(n,s,n),this.dracoEncoder.SetAttributeQuantization(this.draco[n],s))}}_setExpertOptions(e,t,n){n.speed&&e.SetSpeedOptions(...n.speed),n.method&&e.SetEncodingMethod(this.draco[n.method]);let s=this._getAttributeQuantization(t,n);for(let[i,o]of s){let a=t[i];typeof o=="number"?e.SetAttributeQuantization(a.attributeId,o):e.SetAttributeExplicitQuantization(a.attributeId,o.bits,a.componentCount,o.origin,o.range)}}_getAttributeQuantization(e,t){let n=new Map;for(let i of Object.keys(t.quantization||{})){let o=t.quantization?.[i];o!==void 0&&(yh(i,o,i),n.set(this.draco[i],o))}let s=new Map;for(let[i,o]of Object.entries(e)){let a=n.get(o.attributeType);a!==void 0&&s.set(i,a)}for(let[i,o]of Object.entries(t.attributeQuantization||{})){let a=e[i];if(!a)throw new Error(`DracoWriter: quantized attribute "${i}" does not exist`);if(typeof o=="number")yh(i,o,a.attributeTypeName);else{if(a.attributeTypeName==="NORMAL")throw new Error(`DracoWriter: explicit quantization transforms are not supported for NORMAL attribute "${i}"`);CU(i,e[i].componentCount,o)}s.set(i,o)}for(let i of s.keys())if(!e[i].supportsQuantization)throw new Error(`DracoWriter: quantization for "${i}" requires floating-point attribute data`);return s}_getEncodingReport(e,t,n,s,i,o,a){let c=this._getAttributeQuantization(i,o),u={};for(let[l,f]of Object.entries(i))u[l]={id:f.attributeId,type:f.attributeTypeName,componentCount:f.componentCount,...c.has(l)?{quantization:c.get(l)}:{}};return{geometryType:e,byteLength:t,pointCount:a?s.GetNumberOfEncodedPoints():n.num_points(),faceCount:a?s.GetNumberOfEncodedFaces():e==="mesh"&&typeof n.num_faces=="function"?n.num_faces():0,attributeCount:n.num_attributes(),...o.method?{method:o.method}:{},...o.speed?{speed:o.speed}:{},attributes:u}}_createDracoMesh(e,t,n){let s=n.attributesMetadata||{},i={},o=this._getVertexCount(t,n);for(let[a,c]of Object.entries(t)){let u=this._addAttributeToMesh(e,a,c,o,n);if(u!==-1){let l=$u(c),f=this._getDracoAttributeType(a,n.attributeTypes);i[a]={attributeId:u,attributeType:f,attributeTypeName:oF(this.draco,f),componentCount:gh(c,l.length/o),supportsQuantization:l instanceof Float32Array},this._addAttributeMetadata(e,u,{[n.attributeNameEntry||"name"]:a,...s[a]||{}})}}return i}_createDracoPointCloud(e,t,n){let s=n.attributesMetadata||{},i={},o=this._getVertexCount(t,n);for(let[a,c]of Object.entries(t)){let u=this._addAttributeToMesh(e,a,c,o,n);if(u!==-1){let l=$u(c),f=this._getDracoAttributeType(a,n.attributeTypes);i[a]={attributeId:u,attributeType:f,attributeTypeName:oF(this.draco,f),componentCount:gh(c,l.length/o),supportsQuantization:l instanceof Float32Array},this._addAttributeMetadata(e,u,{[n.attributeNameEntry||"name"]:a,...s[a]||{}})}}return i}_addAttributeToMesh(e,t,n,s,i={}){let o=$u(n);if(!o)throw new Error(`DracoWriter: attribute "${t}" must contain a typed array`);let a=this._getDracoAttributeType(t,i.attributeTypes),c=gh(n,o.length/s);if(a==="indices"){if(o.length%3!==0)throw new Error("DracoWriter: triangle indices length must be divisible by 3");kU(o,s);let f=o.length/3;this.log(`Adding attribute ${t}, size ${f}`);let d=o instanceof Uint16Array||o instanceof Uint32Array?o:Uint32Array.from(o);return this.dracoMeshBuilder.AddFacesToMesh(e,f,d),-1}if(!Number.isInteger(c)||c<=0||o.length!==s*c)throw new Error(`DracoWriter: attribute "${t}" has ${o.length} values, expected ${s*c}`);this.log(`Adding attribute ${t}, size ${c}`);let u=this.dracoMeshBuilder,l=-1;if(o instanceof Int8Array)l=u.AddInt8Attribute(e,a,s,c,o);else if(o instanceof Int16Array)l=u.AddInt16Attribute(e,a,s,c,o);else if(o instanceof Int32Array)l=u.AddInt32Attribute(e,a,s,c,o);else if(o instanceof Uint8Array)l=u.AddUInt8Attribute(e,a,s,c,o);else if(o instanceof Uint8ClampedArray){let f=new Uint8Array(o.buffer,o.byteOffset,o.byteLength);l=u.AddUInt8Attribute(e,a,s,c,f)}else if(o instanceof Uint16Array)l=u.AddUInt16Attribute(e,a,s,c,o);else if(o instanceof Uint32Array)l=u.AddUInt32Attribute(e,a,s,c,o);else if(o instanceof Float32Array)l=u.AddFloatAttribute(e,a,s,c,o);else throw new Error(`DracoWriter: attribute "${t}" uses unsupported ${o.constructor.name}`);return!ArrayBuffer.isView(n)&&n.normalized!==void 0&&u.SetNormalizedFlagForAttribute(e,l,n.normalized),l}_getDracoAttributeType(e,t={}){if(e.toLowerCase()==="indices")return"indices";let n=t[e];if(n)return this.draco[n];let s=DU[e];if(s)return this.draco[s];switch(e.toLowerCase()){case"position":case"positions":case"vertices":return this.draco.POSITION;case"normal":case"normals":return this.draco.NORMAL;case"color":case"colors":return this.draco.COLOR;case"texcoord":case"texcoords":return this.draco.TEX_COORD;default:return/^color_\d+$/i.test(e)?this.draco.COLOR:/^texcoord_\d+$/i.test(e)?this.draco.TEX_COORD:this.draco.GENERIC}}_getVertexCount(e,t){let n=this._getPositionAttribute(e,t.attributeTypes),s=n&&$u(n);if(!n||!s)throw new Error("DracoWriter: POSITION attribute is required");let i=gh(n,3);if(!Number.isInteger(i)||i<=0||s.length%i!==0)throw new Error("DracoWriter: POSITION attribute has an invalid size or value count");return s.length/i}_getPositionAttribute(e,t={}){for(let n in e){let s=e[n];if(this._getDracoAttributeType(n,t)===this.draco.POSITION&&$u(s))return s}return null}_addGeometryMetadata(e,t){let n=new this.draco.Metadata;this._populateDracoMetadata(n,t),this.dracoMeshBuilder.AddMetadata(e,n)}_addAttributeMetadata(e,t,n){let s=new this.draco.Metadata;this._populateDracoMetadata(s,n),this.dracoMeshBuilder.SetMetadataForAttribute(e,t,s)}_populateDracoMetadata(e,t){for(let[n,s]of NU(t))switch(typeof s){case"number":Math.trunc(s)===s?this.dracoMetadataBuilder.AddIntEntry(e,n,s):this.dracoMetadataBuilder.AddDoubleEntry(e,n,s);break;case"object":s instanceof Int32Array&&this.dracoMetadataBuilder.AddIntEntryArray(e,n,s,s.length);break;default:this.dracoMetadataBuilder.AddStringEntry(e,n,s)}}}});async function jU(r,e={}){return(await cF(r,e)).data}async function cF(r,e={}){let{draco:t}=await xw(wn(e)),n=new Ka(t);try{return n.encodeSyncWithReport(fF(r),e.draco)}finally{n.destroy()}}async function GU(r,e={}){lF(e.signal);let t=[],n=0;for await(let s of dx([r],e))t.push(s),n++,e.onProgress?.({completed:n,total:r.length});return t}function dx(r,e={}){let t=WU(r);if(Cg(fx,e)){let{onProgress:n,...s}=e;return Dg(fx,t,s)}return uF(t,e)}async function*zU(r,e={}){let t=(async function*(){for await(let n of r)yield[n]})();for await(let n of dx(t,e))yield n.data}async function*uF(r,e={}){let{draco:t}=await xw(wn(e)),n=new Ka(t);try{for await(let s of r)for(let i of s)lF(e.signal),yield n.encodeSyncWithReport(i,e.draco)}finally{n.destroy()}}async function*WU(r){for await(let e of r)yield e.map(fF)}function lF(r){if(!r?.aborted)return;if(r.reason!==void 0)throw r.reason;let e=new Error("Draco batch encoding aborted");throw e.name="AbortError",e}function fF(r){if($U(r)||ya(r))return pn(r);if(qU(r))return r;let{indices:e,...t}=r;return{attributes:t,...e?{indices:e}:{}}}function $U(r){return typeof r=="object"&&r!==null&&"shape"in r&&r.shape==="arrow-table"}function qU(r){return typeof r=="object"&&r!==null&&"attributes"in r&&typeof r.attributes=="object"&&r.attributes!==null&&!ArrayBuffer.isView(r.attributes)}var PU,fx,VU,dF=p(()=>{"use strict";Be();Xr();ai();aF();Ru();mw();bw();PU={pointcloud:!1,attributeNameEntry:"name"},fx={...Ou,id:"draco-writer",name:"Draco compressed geometry writer",module:"scene",version:Fu,worker:!0,workerNode:"draco-writer-worker-node.cjs",workerSourceNode:"draco/workers/draco-writer-worker-node.ts",options:{draco:{}}},VU={...Ou,name:"DRACO",version:Fu,options:{draco:PU},encode:jU,encodeInBatches:zU}});var hF={};Y(hF,{DracoWriter:()=>VU,DracoWriterWorker:()=>fx,encodeDraco:()=>cF,encodeDracoBatch:()=>GU,encodeDracoInBatches:()=>dx,encodeDracoInBatchesLocally:()=>uF});var pF=p(()=>{"use strict";dF()});var sV={};Y(sV,{DRACO_EXTERNAL_LIBRARIES:()=>xt,DRACO_EXTERNAL_LIBRARY_URLS:()=>NF,DracoFormat:()=>_h,DracoLoader:()=>Wx,FetchError:()=>A.FetchError,GLBFormat:()=>$a,GLBLoader:()=>BF,GLBWriter:()=>OF,GLTFFormat:()=>Wa,GLTFLoader:()=>YB,GLTFWriter:()=>LF,JSONLoader:()=>A.JSONLoader,MTLFormat:()=>hh,MTLLoader:()=>KB,MaterialXLoader:()=>kF,NullLoader:()=>A.NullLoader,OBJFormat:()=>za,OBJLoader:()=>qB,OBJWriter:()=>XB,RequestScheduler:()=>A.RequestScheduler,STLLoader:()=>CF,USDLoader:()=>Ya,_BrowserFileSystem:()=>A._BrowserFileSystem,_fetchProgress:()=>A._fetchProgress,_selectSource:()=>A._selectSource,_unregisterLoaders:()=>A._unregisterLoaders,assert:()=>A.assert,concatenateArrayBuffersAsync:()=>A.concatenateArrayBuffersAsync,coreApi:()=>A.coreApi,createDataSource:()=>A.createDataSource,createDataSourceSync:()=>A.createDataSourceSync,document:()=>A.document,encode:()=>A.encode,encodeInBatches:()=>A.encodeInBatches,encodeSync:()=>A.encodeSync,encodeTable:()=>A.encodeTable,encodeTableAsText:()=>A.encodeTableAsText,encodeTableInBatches:()=>A.encodeTableInBatches,encodeText:()=>A.encodeText,encodeTextSync:()=>A.encodeTextSync,encodeURLtoURL:()=>A.encodeURLtoURL,fetchFile:()=>A.fetchFile,forEach:()=>A.forEach,getLoaderOptions:()=>A.getLoaderOptions,getPathPrefix:()=>A.getPathPrefix,global:()=>A.global,isAsyncIterable:()=>A.isAsyncIterable,isBrowser:()=>A.isBrowser,isIterable:()=>A.isIterable,isIterator:()=>A.isIterator,isPromise:()=>A.isPromise,isPureObject:()=>A.isPureObject,isReadableStream:()=>A.isReadableStream,isResponse:()=>A.isResponse,isWorker:()=>A.isWorker,isWritableStream:()=>A.isWritableStream,load:()=>A.load,loadInBatches:()=>A.loadInBatches,makeIterator:()=>A.makeIterator,makeLineIterator:()=>A.makeLineIterator,makeNumberedLineIterator:()=>A.makeNumberedLineIterator,makeStream:()=>A.makeStream,makeTextDecoderIterator:()=>A.makeTextDecoderIterator,makeTextEncoderIterator:()=>A.makeTextEncoderIterator,parse:()=>A.parse,parseFile:()=>A.parseFile,parseInBatches:()=>A.parseInBatches,parseSync:()=>A.parseSync,preload:()=>A.preload,preloadSync:()=>A.preloadSync,readArrayBuffer:()=>A.readArrayBuffer,registerLoaders:()=>A.registerLoaders,resolvePath:()=>A.resolvePath,selectLoader:()=>A.selectLoader,selectLoaderSync:()=>A.selectLoaderSync,self:()=>A.self,setLoaderOptions:()=>A.setLoaderOptions,setPathPrefix:()=>A.setPathPrefix,window:()=>A.window});var A=WF(Kx(),1);Dh();var za={name:"OBJ",id:"obj",module:"scene",encoding:"text",format:"obj",extensions:["obj"],mimeTypes:["text/plain"]};fa();var mU=typeof __VERSION__<"u"?__VERSION__:"latest";async function bU(){let{OBJLoaderWithParser:r}=await Promise.resolve().then(()=>(ty(),ey));return r}var qB={defaultShape:"arrow",supportsNativeArrow:!0,...za,dataType:null,batchType:null,version:mU,worker:!0,workerInBatches:!0,serializeWorkerResult:no,text:!0,testText:gU,options:{obj:{shape:"arrow"}},preload:bU};function gU(r){return r[0]==="v"}var hh={name:"MTL",id:"mtl",module:"mtl",encoding:"text",format:"mtl",extensions:["mtl"],mimeTypes:["text/plain"]};var yU=typeof __VERSION__<"u"?__VERSION__:"latest";async function wU(){let{MTLLoaderWithParser:r}=await Promise.resolve().then(()=>(iy(),sy));return r}var KB={...hh,dataType:null,batchType:null,version:yU,worker:!0,text:!0,testText:r=>r.includes("newmtl"),options:{mtl:{}},preload:wU};Xr();var xU=typeof __VERSION__<"u"?__VERSION__:"latest",XB={...za,dataType:null,batchType:null,version:xU,options:{obj:{}},text:!0,encode:async(r,e)=>HB(r,e),encodeSync:HB,encodeTextSync:JB};function HB(r,e){let t=JB(r,e);return new TextEncoder().encode(t).buffer}function JB(r,e){let t=pn(TU(r)),n=_U(t,"POSITION"),s=t.attributes.NORMAL,i=t.attributes.TEXCOORD_0,o=t.attributes.COLOR_0,a=n.value.length/n.size,c=["# loaders.gl OBJ"];for(let l=0;l<a;l++){let f=[es(n,l,0),es(n,l,1),es(n,l,2)];o&&f.push(ix(o,l,0),ix(o,l,1),ix(o,l,2)),c.push(`v ${f.join(" ")}`)}if(i)for(let l=0;l<a;l++)c.push(`vt ${es(i,l,0)} ${es(i,l,1)}`);if(s)for(let l=0;l<a;l++)c.push(`vn ${es(s,l,0)} ${es(s,l,1)} ${es(s,l,2)}`);let u=AU(t,a);for(let l=0;l<u.length;l+=3){let f=[ox(u[l],!!i,!!s),ox(u[l+1],!!i,!!s),ox(u[l+2],!!i,!!s)];c.push(`f ${f.join(" ")}`)}return`${c.join(`
54
+ `)}
55
+ `}function TU(r){return"attributes"in r?ri(r):r}function _U(r,e){let t=r.attributes[e];if(!t)throw new Error(`OBJWriter: ${e} attribute is required`);return t}function es(r,e,t){return r.value[e*r.size+t]||0}function ix(r,e,t){let n=es(r,e,t);return r.normalized||n>1?n/255:n}function AU(r,e){if(r.indices?.value?.length)return Array.from(r.indices.value);if(r.mode!==4&&r.topology!=="triangle-list")return[];let t=[];for(let n=0;n+2<e;n+=3)t.push(n,n+1,n+2);return t}function ox(r,e,t){let n=r+1;return e&&t?`${n}/${n}/${n}`:e?`${n}/${n}`:t?`${n}//${n}`:String(n)}var di=typeof __VERSION__<"u"?__VERSION__:"latest";var Wa={name:"glTF",id:"gltf",module:"scene",encoding:"binary",format:"gltf",extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"]},$a={name:"GLB",id:"glb",module:"scene",encoding:"binary",format:"glb",extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,tests:["glTF"]};async function vU(){let{GLTFLoaderWithParser:r}=await Promise.resolve().then(()=>(Kw(),qw));return r}var YB={dataType:null,batchType:null,...Wa,version:di,preload:vU,options:{gltf:{normalize:!0,loadBuffers:!0,loadFiles:!1,loadExternalAssets:!1,loadImages:!0,loadAudio:!0,decompressMeshes:!0}}};Be();var IU=1179937895,QB=1313821514,ax=5130562,Rt=!0;function zu(r,e,t=0,n={}){let s=IU,i=n.version??("version"in r?r.version:2),o=r.json??{};if(i===3)return SU(r,e,t,s,o);if(i!==2)throw new Error(`Unsupported GLB writer version ${i}.`);let a="binChunks"in r?r.binary?new Uint8Array(r.binary):r.binChunks?.[0]&&mh(r.binChunks[0]):r.buffers?.[0]&&mh(r.buffers[0]),c=t;e&&(e.setUint32(t+0,s,Rt),e.setUint32(t+4,i,Rt),e.setUint32(t+8,0,Rt));let u=t+8;t+=12;let l=t;e&&(e.setUint32(t+0,0,Rt),e.setUint32(t+4,QB,Rt)),t+=8;let f=JSON.stringify(o);if(t=Ld(e,t,f,4),e){let d=t-l-8;e.setUint32(l+0,d,Rt)}if(a){let d=t;if(e&&(e.setUint32(t+0,0,Rt),e.setUint32(t+4,ax,Rt)),t+=8,t=bu(e,t,a,4),e){let h=t-d-8;e.setUint32(d+0,h,Rt)}}if(e){let d=t-c;e.setUint32(u,d,Rt)}return t}function SU(r,e,t,n,s){let i=t,o=[{type:QB,arrayBuffer:EU(s)},...("chunks"in r?r.chunks:[])??[],..."binChunks"in r?(r.binChunks??[]).map(a=>({type:ax,arrayBuffer:mh(a).slice().buffer})):(r.buffers??[]).map(a=>({type:ax,arrayBuffer:mh(a).slice().buffer}))];e&&(e.setUint32(t,n,Rt),e.setUint32(t+4,3,Rt),ph(e,t+8,0,"GLB file length")),t+=16;for(let a of o){let c=a.encoding??0;if(c!==0)throw new Error(`Unsupported GLB chunk encoding ${c}.`);let u=t;e&&(e.setUint32(t,a.type,Rt),e.setUint32(t+4,c,Rt),ph(e,t+8,0,"GLB chunk length")),t+=16,t=bu(e,t,new Uint8Array(a.arrayBuffer),4),e&&ph(e,u+8,t-u-16,"GLB chunk length")}return e&&ph(e,i+8,t-i,"GLB file length"),t}function mh(r){return new Uint8Array(r.arrayBuffer,r.byteOffset,r.byteLength)}function EU(r){let e=JSON.stringify(r),t=new TextEncoder().encode(e).byteLength,n=Math.ceil(t/4)*4,s=new ArrayBuffer(n),i=new DataView(s);return Ld(i,0,e,4),s}function ph(r,e,t,n){if(!Number.isSafeInteger(t)||t<0)throw new Error(`${n} is outside the safe integer range.`);r.setBigUint64(e,BigInt(t),Rt)}function cx(r,e,t,n){return LU(r),zu(r,e,t,n)}function LU(r){if(r.buffers&&r.buffers.length>1)throw new Error("encodeGLTF: multiple buffers not yet implemented")}function ve(r,e){if(!r)throw new Error(e||"assert failed: gltf")}Be();var ZB={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},eF={5120:1,5121:1,5122:2,5123:2,5124:4,5125:4,5126:4,5130:8,5131:2,5134:8,5135:8};var tF=["SCALAR","VEC2","VEC3","VEC4"],BU=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Int32Array,5124],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130],[BigInt64Array,5134],[BigUint64Array,5135]],FU=new Map(BU),OU={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},MU={5120:1,5121:1,5122:2,5123:2,5124:4,5125:4,5126:4,5130:8,5131:2,5134:8,5135:8},RU={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5124:Int32Array,5125:Uint32Array,5126:Float32Array,5130:Float64Array,5131:Uint16Array,5134:BigInt64Array,5135:BigUint64Array};function bh(r){return tF[r-1]||tF[0]}function Fo(r){let e=FU.get(r.constructor);if(!e)throw new Error("Illegal typed array");return e}function ux(r,e){let t=RU[r.componentType],n=OU[r.type],s=MU[r.componentType],i=r.count*n,o=r.count*n*s;ve(o>=0&&o<=e.byteLength);let a=eF[r.componentType],c=ZB[r.type];return{ArrayType:t,length:i,byteLength:o,componentByteSize:a,numberOfComponentsInElement:c}}function Wu(r,e,t){let n=typeof t=="number"?r.bufferViews[t]:t;ve(n);let s=n.buffer,i=e[s];ve(i),ve((n.byteOffset||0)>=0&&n.byteLength>=0),ve((n.byteOffset||0)+n.byteLength<=i.byteLength),ve(i.byteOffset>=0&&i.byteOffset+i.byteLength<=i.arrayBuffer.byteLength);let o=(n.byteOffset||0)+i.byteOffset;return new Uint8Array(i.arrayBuffer,o,n.byteLength)}function rF(r,e,t){let n=r.images[t];return Wu(r,e,n.bufferView)}function qa(r,e,t){let n=typeof t=="number"?r.accessors?.[t]:t;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(t)}`);ve(Number.isSafeInteger(n.count)&&n.count>=0);let{ArrayType:s,length:i,numberOfComponentsInElement:o}=ux(n,{byteLength:1/0}),a=n.value,c;ArrayBuffer.isView(a)?(ve(a.length===i),c=a):n.bufferView===void 0?c=new s(i):c=lx(r,e,n);let u=n.sparse;if(!u)return c;let l=new s(i);new Uint8Array(l.buffer).set(new Uint8Array(c.buffer,c.byteOffset,c.byteLength)),ve(u.count>=0&&u.count<=n.count),ve([5121,5123,5125].includes(u.indices.componentType));let f=lx(r,e,{bufferView:u.indices.bufferView,byteOffset:u.indices.byteOffset,componentType:u.indices.componentType,count:u.count,type:"SCALAR"}),d=lx(r,e,{bufferView:u.values.bufferView,byteOffset:u.values.byteOffset,componentType:n.componentType,count:u.count,type:n.type}),h=-1,m=new Uint8Array(l.buffer),b=o*s.BYTES_PER_ELEMENT,g=new Uint8Array(d.buffer,d.byteOffset,d.byteLength);for(let y=0;y<u.count;y++){let x=Number(f[y]);ve(x>h&&x<n.count),m.set(g.subarray(y*b,(y+1)*b),x*b),h=x}return l}function lx(r,e,t){let n=r.bufferViews?.[t.bufferView];if(!n)throw new Error(`No gltf buffer view for accessor ${n}`);let s=e[n.buffer];ve(s);let{arrayBuffer:i,byteOffset:o}=s;ve((n.byteOffset||0)>=0&&n.byteLength>=0),ve((n.byteOffset||0)+n.byteLength<=s.byteLength),ve(o>=0&&o+s.byteLength<=i.byteLength),ve((t.byteOffset||0)>=0);let a=(o||0)+(t.byteOffset||0)+(n.byteOffset||0),{ArrayType:c,length:u,componentByteSize:l,numberOfComponentsInElement:f}=ux(t,n),d=l*f,h=t.type.startsWith("MAT")?Number(t.type.slice(3)):1,m=_e(h*l,4),b=h>1?h*m:d,g=n.byteStride??b,y=h>1?(h-1)*m+h*l:d;if(ve(g>=b),ve((t.byteOffset||0)+(t.count===0?0:(t.count-1)*g+y)<=n.byteLength),t.count===0)return new c(0);if(h>1&&m!==h*l){let _=n.byteStride??h*m,v=(h-1)*m+h*l;ve((t.byteOffset||0)+(t.count-1)*_+v<=n.byteLength);let I=new c(u),k=new Uint8Array(I.buffer,I.byteOffset,I.byteLength);for(let K=0;K<t.count;K++)for(let ie=0;ie<h;ie++){let be=new Uint8Array(i,a+K*_+ie*m,h*l);k.set(be,K*d+ie*h*l)}return I}let x=n.byteStride||d;if(typeof n.byteStride>"u"||n.byteStride===d){if(a%l!==0){let v=new Uint8Array(i,a,u*l),I=new Uint8Array(v.byteLength);return I.set(v),new c(I.buffer,0,u)}return new c(i,a,u)}let T=new c(u);for(let _=0;_<t.count;_++){let v=a+_*x,I;if(v%l!==0){let k=new Uint8Array(i,v,d),K=new Uint8Array(d);K.set(k),I=new c(K.buffer,0,f)}else I=new c(i,v,f);T.set(I,_*f)}return T}var hx="KHR_draco_mesh_compression";async function bF(r,e={}){let t=e.gltf?.draco;if(!t?.enabled)return r;if((r.buffers?.length||0)>1)throw new Error("GLTF Draco writer requires a single buffer");let n=HU(r.json),s=XU(r.buffers||[]),i={...r,json:n,buffers:s},o=[];for(let d of n.meshes||[])for(let h of d.primitives||[]){let m=h.mode??4;if(m!==4){if(t.skipUnsupportedPrimitives??!0)continue;throw new Error(`GLTF Draco writer cannot compress primitive mode ${m}; only TRIANGLES (4) is supported`)}if(h.extensions?.[hx])throw new Error("GLTF Draco writer refuses to replace an existing Draco extension");let b=KU(r,h),{encodeDraco:g}=await Promise.resolve().then(()=>(pF(),hF)),y=await g(b,{core:e.core,modules:e.modules,draco:t});o.push({primitive:h,result:y})}if(o.length===0)return i;let a=JU(s),c=a.byteLength;for(let{result:d}of o)c=px(c)+d.data.byteLength;let u=new Uint8Array(c);u.set(a),n.bufferViews=n.bufferViews||[],n.buffers=n.buffers||[{byteLength:0}];let l=px(a.byteLength);for(let{primitive:d,result:h}of o){new Uint8Array(u.buffer,l,h.data.byteLength).set(new Uint8Array(h.data));let m=n.bufferViews.length;n.bufferViews.push({buffer:0,byteOffset:l,byteLength:h.data.byteLength}),d.extensions={...d.extensions||{},[hx]:{bufferView:m,attributes:Object.fromEntries(Object.entries(h.report.attributes).map(([b,g])=>[b,g.id]))}},l=px(l+h.data.byteLength)}let f=u;return i.buffers[0]={...i.buffers[0]||{byteOffset:0},arrayBuffer:f.buffer,byteOffset:0,byteLength:f.byteLength},n.buffers[0]={...n.buffers[0]||{},byteLength:f.byteLength},n.extensionsUsed=YU(n.extensionsUsed,hx),i}function KU(r,e){if(!e.attributes||e.attributes.POSITION===void 0)throw new Error("GLTF Draco writer requires a POSITION attribute");let t={};for(let[s,i]of Object.entries(e.attributes)){let o=r.json.accessors?.[i];if(!o)throw new Error(`GLTF Draco writer could not resolve accessor ${i}`);if(o.sparse)throw new Error(`GLTF Draco writer does not support sparse accessor ${i}`);let a=mF(r,i,o.componentType);t[s]={value:a,size:QU(o.type),...o.normalized===void 0?{}:{normalized:o.normalized}}}let n;if(e.indices!==void 0){let s=r.json.accessors?.[e.indices];if(!s)throw new Error(`GLTF Draco writer could not resolve index accessor ${e.indices}`);if(s.sparse)throw new Error(`GLTF Draco writer does not support sparse accessor ${e.indices}`);n=mF(r,e.indices,s.componentType)}else{let s=r.json.accessors?.[e.attributes.POSITION];if(!s||s.count%3!==0)throw new Error("GLTF Draco writer requires triangle-aligned POSITION data without indices");n=new Uint32Array(s.count);for(let i=0;i<n.length;i++)n[i]=i}return{attributes:t,indices:n}}function mF(r,e,t){let n=qa(r.json,r.buffers,e);if(n instanceof BigInt64Array||n instanceof BigUint64Array||n instanceof Float64Array)throw new Error(`GLTF Draco writer does not support 64-bit accessor ${e} (componentType ${t}); the official 1.5.7 encoder binding has no 64-bit attribute API`);return n}function HU(r){return JSON.parse(JSON.stringify(r))}function XU(r){return r.map(e=>({...e,arrayBuffer:e.arrayBuffer.slice(0)}))}function JU(r){let e=r[0]||{arrayBuffer:new ArrayBuffer(0),byteOffset:0,byteLength:0};return new Uint8Array(e.arrayBuffer,e.byteOffset||0,e.byteLength)}function px(r){return Math.ceil(r/4)*4}function YU(r,e){return r?.includes(e)?r:[...r||[],e]}function QU(r){switch(r){case"SCALAR":return 1;case"VEC2":return 2;case"VEC3":return 3;case"VEC4":return 4;case"MAT2":return 4;case"MAT3":return 9;case"MAT4":return 16;default:throw new Error(`GLTF Draco writer does not recognize accessor type ${r}`)}}var Ux={};Y(Ux,{createExtMeshFeatures:()=>fP,decode:()=>oP,encode:()=>aP,name:()=>iP});Jn();Be();function ZU(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var hi=class{gltf;sourceBuffers;byteLength;constructor(e){this.gltf={json:e?.json||ZU(),buffers:e?.buffers||[],images:e?.images||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=_e(this.gltf.buffers[0].byteLength,4),this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}hasExtension(e){let t=this.getUsedExtensions().find(s=>s===e),n=this.getRequiredExtensions().find(s=>s===e);return typeof t=="string"||typeof n=="string"}getExtension(e){let t=this.getUsedExtensions().find(s=>s===e),n=this.json.extensions||{};return t?n[e]:null}getRequiredExtension(e){return this.getRequiredExtensions().find(n=>n===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if(typeof t=="object")return t;let n=this.json[e]&&this.json[e][t];if(!n)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return n}getTypedArrayForBufferView(e){return Wu(this.gltf.json,this.gltf.buffers,e)}getTypedArrayForAccessor(e){return qa(this.gltf.json,this.gltf.buffers,e)}getTypedArrayForImageData(e){e=this.getAccessor(e);let t=this.getBufferView(e.bufferView),s=this.getBuffer(t.buffer).data,i=t.byteOffset||0;return new Uint8Array(s,i,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,n){return e.extensions=e.extensions||{},e.extensions[t]=n,this.registerUsedExtension(t),this}setObjectExtension(e,t,n){let s=e.extensions||{};s[t]=n}removeObjectExtension(e,t){let n=e?.extensions||{};if(n[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let s=this.json.extensionsRemoved;s.includes(t)||s.push(t)}delete n[t]}addExtension(e,t={}){return ve(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return ve(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){if(this.json.extensions?.[e]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let t=this.json.extensionsRemoved;t.includes(e)||t.push(e)}this.json.extensions&&delete this.json.extensions[e],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e)}setDefaultScene(e){this.json.scene=e}addScene(e){let{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){let{meshIndex:t,matrix:n}=e;this.json.nodes=this.json.nodes||[];let s={mesh:t};return n&&(s.matrix=n),this.json.nodes.push(s),this.json.nodes.length-1}addMesh(e){let{attributes:t,indices:n,material:s,mode:i=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:i}]};if(n){let c=this._addIndices(n);a.primitives[0].indices=c}return Number.isFinite(s)&&(a.primitives[0].material=s),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){let n={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(e,t){let n=Xn(e),s=t||n?.mimeType,o={bufferView:this.addBufferView(e),mimeType:s};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e,t=0,n=this.byteLength){let s=e.byteLength;ve(Number.isFinite(s)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);let i={buffer:t,byteOffset:n,byteLength:s};return this.byteLength+=_e(s,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){let n=t.normalized,s={bufferView:e,...n===void 0?{}:{normalized:n},type:bh(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(s),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){let n=this.addBufferView(e),s={min:t.min,max:t.max};(!s.min||!s.max)&&(s=this._getAccessorMinMax(e,t.size));let i={size:t.size,componentType:Fo(e),count:Math.round(e.length/t.size),min:s.min,max:s.max};return this.addAccessor(n,Object.assign(i,t))}addTexture(e){let{imageIndex:t,samplerIndex:n}=e,s={source:t,...n===void 0?{}:{sampler:n}};return this.json.textures=this.json.textures||[],this.json.textures.push(s),this.json.textures.length-1}addSampler(e){return this.json.samplers=this.json.samplers||[],this.json.samplers.push({...e}),this.json.samplers.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){if(this.byteLength===0&&!this.json.buffers?.length){delete this.json.buffers,delete this.gltf.binary,this.sourceBuffers=[],this.gltf.buffers=[];return}let e=[0],t=this.byteLength;for(let o=1;o<this.gltf.buffers.length;o++){let a=this.gltf.buffers[o];a&&(e[o]=_e(t,8),t=e[o]+_e(a.byteLength,4))}let n=new ArrayBuffer(t),s=new Uint8Array(n),i=0;for(let o of this.sourceBuffers||[])i=po(o,s,i);for(let o=1;o<this.gltf.buffers.length;o++){let a=this.gltf.buffers[o];a&&po(a,s,e[o])}for(let o of this.json.bufferViews||[]){let a=e[o.buffer];ve(a!==void 0),o.byteOffset=a+(o.byteOffset||0),o.buffer=0;for(let c of["EXT_meshopt_compression","KHR_meshopt_compression"]){let u=o.extensions?.[c];if(u){let l=e[u.buffer];ve(l!==void 0),u.byteOffset=l+(u.byteOffset||0),u.buffer=0}}}this.byteLength=t,this.json.buffers=[{byteLength:t}],this.gltf.binary=n,this.sourceBuffers=[n],this.gltf.buffers=[{arrayBuffer:n,byteOffset:0,byteLength:n.byteLength}]}_removeStringFromArray(e,t){let n=!0;for(;n;){let s=e.indexOf(t);s>-1?e.splice(s,1):n=!1}}_addAttributes(e={}){let t={};for(let n in e){let s=e[n],i=this._getGltfAttributeName(n),o=s.value,a=o.BYTES_PER_ELEMENT*s.size,c=_e(a,4),u;if(c===a)u=this.addBinaryBuffer(o,s);else{let l=o.length/s.size,f=new Uint8Array(l*c),d=new Uint8Array(o.buffer,o.byteOffset,o.byteLength);for(let m=0;m<l;m++)f.set(d.subarray(m*a,(m+1)*a),m*c);let h=this.addBufferView(f);this.json.bufferViews[h].byteStride=c,u=this.addAccessor(h,{...this._getAccessorMinMax(o,s.size),...s,componentType:Fo(o),count:l})}t[i]=u}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){let n={min:null,max:null};if(e.length<t)return n;n.min=[],n.max=[];let s=e.subarray(0,t);for(let i of s)n.min.push(i),n.max.push(i);for(let i=t;i<e.length;i+=t)for(let o=0;o<t;o++)n.min[0+o]=Math.min(n.min[0+o],e[i+o]),n.max[0+o]=Math.max(n.max[0+o],e[i+o]);return n}};var Ye=class{gltf;type;index;data;path;iterator;constructor(e,t,n,s,i){this.iterator=e,this.gltf=e.gltf,this.type=t,this.index=n,this.data=s,this.path=i}},pi=class extends Ye{parent;constructor(e,t,n,s,i,o){super(e,t,n,s,i),this.parent=o}},mx=class extends Ye{get bufferView(){return this.data.bufferView===void 0?void 0:this.iterator.resolveBufferView(this.data.bufferView,`${this.path}.bufferView`)}},bx=class extends Ye{get channels(){return Mo(this.data.channels,(e,t)=>this.iterator.getOrCreateNested(e,()=>new gx(this.iterator,"animationChannel",t,e,`${this.path}.channels[${t}]`,this)))}get samplers(){return Mo(this.data.samplers,(e,t)=>this.iterator.getOrCreateNested(e,()=>new wh(this.iterator,"animationSampler",t,e,`${this.path}.samplers[${t}]`,this)))}},gx=class extends pi{get sampler(){let t=this.parent.data.samplers[this.data.sampler];if(!t)throw new Error(`Invalid glTF reference at ${this.path}.sampler: animation sampler index ${this.data.sampler} is out of range`);return this.iterator.getOrCreateNested(t,()=>new wh(this.iterator,"animationSampler",this.data.sampler,t,`${this.parent.path}.samplers[${this.data.sampler}]`,this.parent))}get target(){return this.iterator.getOrCreateNested(this.data.target,()=>new yx(this.iterator,"animationChannelTarget",0,this.data.target,`${this.path}.target`,this))}},yx=class extends pi{get node(){return this.data.node===void 0?void 0:this.iterator.resolveNode(this.data.node,`${this.path}.node`)}},wh=class extends pi{get input(){return this.iterator.resolveAccessor(this.data.input,`${this.path}.input`)}get output(){return this.iterator.resolveAccessor(this.data.output,`${this.path}.output`)}},wx=class extends Ye{get loadedBuffer(){return this.gltf.buffers[this.index]}},xx=class extends Ye{get buffer(){return this.iterator.resolveBuffer(this.data.buffer,`${this.path}.buffer`)}get loadedBufferView(){let e=this.buffer.loadedBuffer;if(!e)return;let t=e.byteOffset+(this.data.byteOffset||0);return new Uint8Array(e.arrayBuffer,t,this.data.byteLength)}},Tx=class extends Ye{},_x=class extends Ye{get file(){return this.iterator.resolveFile(this.data.file,`${this.path}.file`)}get loadedAsset(){return this.gltf.externalAssets?.[this.index]}},Ax=class extends Ye{get bufferView(){return this.data.bufferView===void 0?void 0:this.iterator.resolveBufferView(this.data.bufferView,`${this.path}.bufferView`)}get loadedFile(){return this.gltf.files?.[this.index]}},vx=class extends Ye{get bufferView(){return this.data.bufferView===void 0?void 0:this.iterator.resolveBufferView(this.data.bufferView,`${this.path}.bufferView`)}get loadedImage(){return this.gltf.images?.[this.index]}},Ix=class extends Ye{get baseColorTexture(){return this.getTextureInfo(this.data.pbrMetallicRoughness?.baseColorTexture,0,"pbrMetallicRoughness.baseColorTexture")}get metallicRoughnessTexture(){return this.getTextureInfo(this.data.pbrMetallicRoughness?.metallicRoughnessTexture,1,"pbrMetallicRoughness.metallicRoughnessTexture")}get normalTexture(){return this.getTextureInfo(this.data.normalTexture,2,"normalTexture")}get occlusionTexture(){return this.getTextureInfo(this.data.occlusionTexture,3,"occlusionTexture")}get emissiveTexture(){return this.getTextureInfo(this.data.emissiveTexture,4,"emissiveTexture")}get textures(){return[this.baseColorTexture,this.metallicRoughnessTexture,this.normalTexture,this.occlusionTexture,this.emissiveTexture].filter(t=>!!t).values()}getTextureInfo(e,t,n){return e?this.iterator.getOrCreateNested(e,()=>new Sx(this.iterator,"textureInfo",t,e,`${this.path}.${n}`,this)):void 0}},Sx=class extends pi{get texture(){return this.iterator.resolveTexture(this.data.index,`${this.path}.index`)}},Ex=class extends Ye{get primitives(){return Mo(this.data.primitives,(e,t)=>this.iterator.getOrCreateNested(e,()=>new Lx(this.iterator,"primitive",t,e,`${this.path}.primitives[${t}]`,this)))}},Lx=class extends pi{get attributes(){return new Map(Object.entries(this.data.attributes).map(([e,t])=>[e,this.iterator.resolveAccessor(t,`${this.path}.attributes.${e}`)]))}get indices(){return this.data.indices===void 0?void 0:this.iterator.resolveAccessor(this.data.indices,`${this.path}.indices`)}get material(){return this.data.material===void 0?void 0:this.iterator.resolveMaterial(this.data.material,`${this.path}.material`)}get targets(){return(this.data.targets||[]).map((e,t)=>new Map(Object.entries(e).map(([n,s])=>[n,this.iterator.resolveAccessor(s,`${this.path}.targets[${t}].${n}`)])))}},Bx=class extends Ye{get camera(){return this.data.camera===void 0?void 0:this.iterator.resolveCamera(this.data.camera,`${this.path}.camera`)}get children(){return Mo(this.data.children||[],(e,t)=>this.iterator.resolveNode(e,`${this.path}.children[${t}]`))}get skin(){return this.data.skin===void 0?void 0:this.iterator.resolveSkin(this.data.skin,`${this.path}.skin`)}get mesh(){return this.data.mesh===void 0?void 0:this.iterator.resolveMesh(this.data.mesh,`${this.path}.mesh`)}get externalAsset(){return this.data.externalAsset===void 0?void 0:this.iterator.resolveExternalAsset(this.data.externalAsset,`${this.path}.externalAsset`)}},Fx=class extends Ye{},Ox=class extends Ye{get nodes(){return Mo(this.data.nodes||[],(e,t)=>this.iterator.resolveNode(e,`${this.path}.nodes[${t}]`))}},Mx=class extends Ye{get inverseBindMatrices(){return this.data.inverseBindMatrices===void 0?void 0:this.iterator.resolveAccessor(this.data.inverseBindMatrices,`${this.path}.inverseBindMatrices`)}get skeleton(){return this.data.skeleton===void 0?void 0:this.iterator.resolveNode(this.data.skeleton,`${this.path}.skeleton`)}get joints(){return Mo(this.data.joints,(e,t)=>this.iterator.resolveNode(e,`${this.path}.joints[${t}]`))}},Rx=class extends Ye{get sampler(){return this.data.sampler===void 0?void 0:this.iterator.resolveSampler(this.data.sampler,`${this.path}.sampler`)}get source(){return this.data.source===void 0?void 0:this.iterator.resolveImage(this.data.source,`${this.path}.source`)}},Qr=class{gltf;objectCache=new WeakMap;referencesCache=new WeakMap;constructor(e){this.gltf=e}get data(){return this.gltf.json}getTypedArrayForBufferView(e){return Wu(this.data,this.gltf.buffers,e)}getTypedArrayForAccessor(e){return qa(this.data,this.gltf.buffers,e)}getTypedArrayForImageData(e){return rF(this.data,this.gltf.buffers,e)}getLoadedBuffer(e){let t=this.getMetadata(e);return this.gltf.buffers[t.index]}getLoadedBufferView(e){let t=this.getReferences(e).buffer,n=this.getLoadedBuffer(t);if(!n)return;let s=n.byteOffset+(e.byteOffset||0);return new Uint8Array(n.arrayBuffer,s,e.byteLength)}getLoadedImage(e){return this.gltf.images?.[this.getMetadata(e).index]}getLoadedFile(e){return this.gltf.files?.[this.getMetadata(e).index]}getLoadedExternalAsset(e){return this.gltf.externalAssets?.[this.getMetadata(e).index]}addBuffer(e){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);return this.gltf.buffers.push({arrayBuffer:t,byteOffset:0,byteLength:e.byteLength}),this.data.buffers||=[],this.data.buffers.push({byteLength:e.byteLength}),this.data.buffers.length-1}addBufferView(e,t,n=0){return this.data.bufferViews||=[],this.data.bufferViews.push({buffer:e,byteOffset:n,byteLength:t}),this.data.bufferViews.length-1}addAccessor(e,t){return this.data.accessors||=[],this.data.accessors.push({bufferView:e,type:bh(t.size),componentType:t.componentType,count:t.count,min:t.min,max:t.max}),this.data.accessors.length-1}getReferences(e){let t=this.referencesCache.get(e);if(t)return t;let n=this.getObjectIterator(e),s=eP(n);return this.referencesCache.set(e,s),s}getMetadata(e){let t=this.getObjectIterator(e),n=t instanceof pi?t.parent.data:void 0;return{gltf:this.gltf,type:t.type,index:t.index,parent:n,path:t.path}}get scene(){return this.data.scene===void 0?void 0:this.resolveScene(this.data.scene,"scene").data}get thumbnail(){return this.data.asset.thumbnail===void 0?void 0:this.resolveImage(this.data.asset.thumbnail,"asset.thumbnail").data}get accessors(){return this.iterateCollectionData("accessor")}get animations(){return this.iterateCollectionData("animation")}get buffers(){return this.iterateCollectionData("buffer")}get bufferViews(){return this.iterateCollectionData("bufferView")}get cameras(){return this.iterateCollectionData("camera")}get externalAssets(){return this.iterateCollectionData("externalAsset")}get files(){return this.iterateCollectionData("file")}get images(){return this.iterateCollectionData("image")}get materials(){return this.iterateCollectionData("material")}get meshes(){return this.iterateCollectionData("mesh")}get nodes(){return this.iterateCollectionData("node")}get samplers(){return this.iterateCollectionData("sampler")}get scenes(){return this.iterateCollectionData("scene")}get skins(){return this.iterateCollectionData("skin")}get textures(){return this.iterateCollectionData("texture")}hasExtension(e){return!!this.data.extensionsUsed?.includes(e)||!!this.data.extensionsRequired?.includes(e)}isExtensionRequired(e){return!!this.data.extensionsRequired?.includes(e)}getExtension(e,t){let n=typeof e=="string"?this.data:e,s=typeof e=="string"?e:t;return n.extensions?.[s]}setExtension(e,t,n){let s=typeof e=="string",i=s?this.data:e,o=s?e:t,a=s?t:n,c=s?!!n:!1;i.extensions||={},i.extensions[o]=a,this.registerUsedExtension(o),c&&this.registerRequiredExtension(o)}registerUsedExtension(e){this.data.extensionsUsed||=[],this.data.extensionsUsed.includes(e)||this.data.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.data.extensionsRequired||=[],this.data.extensionsRequired.includes(e)||this.data.extensionsRequired.push(e)}removeExtension(e,t){let n=typeof e=="string",s=n?this.data:e,i=n?e:t;s.extensions?.[i]!==void 0&&(this.recordRemovedExtension(i),delete s.extensions[i]),n&&(yF(this.data.extensionsUsed,i),yF(this.data.extensionsRequired,i))}recordRemovedExtension(e){let t=this.data;t.extensionsRemoved||=[],t.extensionsRemoved.includes(e)||t.extensionsRemoved.push(e)}resolveAccessor(e,t){return this.resolveCollectionObject("accessor",e,t)}resolveBuffer(e,t){return this.resolveCollectionObject("buffer",e,t)}resolveBufferView(e,t){return this.resolveCollectionObject("bufferView",e,t)}resolveCamera(e,t){return this.resolveCollectionObject("camera",e,t)}resolveExternalAsset(e,t){return this.resolveCollectionObject("externalAsset",e,t)}resolveFile(e,t){return this.resolveCollectionObject("file",e,t)}resolveImage(e,t){return this.resolveCollectionObject("image",e,t)}resolveMaterial(e,t){return this.resolveCollectionObject("material",e,t)}resolveMesh(e,t){return this.resolveCollectionObject("mesh",e,t)}resolveNode(e,t){return this.resolveCollectionObject("node",e,t)}resolveSampler(e,t){return this.resolveCollectionObject("sampler",e,t)}resolveScene(e,t){return this.resolveCollectionObject("scene",e,t)}resolveSkin(e,t){return this.resolveCollectionObject("skin",e,t)}resolveTexture(e,t){return this.resolveCollectionObject("texture",e,t)}getOrCreateNested(e,t){return this.getOrCreate(e,t)}iterateCollection(e){let t=this.getCollection(e);return Mo(t,(n,s)=>this.resolveCollectionObject(e,s,e))}iterateCollectionData(e){return(function*(n){for(let s of n.iterateCollection(e))yield s.data})(this)}getObjectIterator(e){let t=this.objectCache.get(e);if(!t)throw new Error("glTF object is not registered with this iterator");return t}resolveCollectionObject(e,t,n){let i=this.getCollection(e)[t];if(!i)throw new Error(`Invalid glTF reference at ${n}: ${e} index ${t} is out of range`);return this.getOrCreate(i,()=>this.createCollectionObject(e,t,i))}getCollection(e){switch(e){case"accessor":return this.data.accessors||[];case"animation":return this.data.animations||[];case"buffer":return this.data.buffers||[];case"bufferView":return this.data.bufferViews||[];case"camera":return this.data.cameras||[];case"externalAsset":return this.data.externalAssets||[];case"file":return this.data.files||[];case"image":return this.data.images||[];case"material":return this.data.materials||[];case"mesh":return this.data.meshes||[];case"node":return this.data.nodes||[];case"sampler":return this.data.samplers||[];case"scene":return this.data.scenes||[];case"skin":return this.data.skins||[];case"texture":return this.data.textures||[]}}createCollectionObject(e,t,n){let s=`${tP(e)}[${t}]`;switch(e){case"accessor":return new mx(this,e,t,n,s);case"animation":return new bx(this,e,t,n,s);case"buffer":return new wx(this,e,t,n,s);case"bufferView":return new xx(this,e,t,n,s);case"camera":return new Tx(this,e,t,n,s);case"externalAsset":return new _x(this,e,t,n,s);case"file":return new Ax(this,e,t,n,s);case"image":return new vx(this,e,t,n,s);case"material":return new Ix(this,e,t,n,s);case"mesh":return new Ex(this,e,t,n,s);case"node":return new Bx(this,e,t,n,s);case"sampler":return new Fx(this,e,t,n,s);case"scene":return new Ox(this,e,t,n,s);case"skin":return new Mx(this,e,t,n,s);case"texture":return new Rx(this,e,t,n,s)}}getOrCreate(e,t){let n=this.objectCache.get(e);if(n)return n;let s=t();return this.objectCache.set(e,s),s}};function eP(r){switch(r.type){case"accessor":return{get bufferView(){return r.bufferView?.data}};case"animation":return{get channels(){return Oo(r.channels)},get samplers(){return Oo(r.samplers)}};case"animationChannel":return{get sampler(){return r.sampler.data},get target(){return r.target.data}};case"animationChannelTarget":return{get node(){return r.node?.data}};case"animationSampler":return{get input(){return r.input.data},get output(){return r.output.data}};case"bufferView":return{get buffer(){return r.buffer.data}};case"externalAsset":return{get file(){return r.file.data}};case"file":case"image":return{get bufferView(){return r.bufferView?.data}};case"material":return{get baseColorTexture(){return r.baseColorTexture?.data},get metallicRoughnessTexture(){return r.metallicRoughnessTexture?.data},get normalTexture(){return r.normalTexture?.data},get occlusionTexture(){return r.occlusionTexture?.data},get emissiveTexture(){return r.emissiveTexture?.data},get textures(){return Oo(r.textures)}};case"textureInfo":return{get texture(){return r.texture.data}};case"mesh":return{get primitives(){return Oo(r.primitives)}};case"primitive":return{get attributes(){return gF(r.attributes)},get indices(){return r.indices?.data},get material(){return r.material?.data},get targets(){return r.targets.map(gF)}};case"node":return{get camera(){return r.camera?.data},get children(){return Oo(r.children)},get skin(){return r.skin?.data},get mesh(){return r.mesh?.data},get externalAsset(){return r.externalAsset?.data}};case"scene":return{get nodes(){return Oo(r.nodes)}};case"skin":return{get inverseBindMatrices(){return r.inverseBindMatrices?.data},get skeleton(){return r.skeleton?.data},get joints(){return Oo(r.joints)}};case"texture":return{get sampler(){return r.sampler?.data},get source(){return r.source?.data}};default:return{}}}function Mo(r,e){return(function*(){for(let n=0;n<r.length;n++)yield e(r[n],n)})()}function Oo(r){return(function*(){for(let t of r)yield t.data})()}function gF(r){return new Map(Array.from(r,([e,t])=>[e,t.data]))}function tP(r){switch(r){case"bufferView":return"bufferViews";case"externalAsset":return"externalAssets";case"mesh":return"meshes";default:return`${r}s`}}function yF(r,e){if(r)for(let t=r.length-1;t>=0;t--)r[t]===e&&r.splice(t,1)}Jn();Be();function wF(r){return(r%1+1)%1}var xF={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},rP={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},TF={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function Dx(r,e){return TF[e]*xF[r]}function Nx(r,e,t,n){if(t!=="UINT8"&&t!=="UINT16"&&t!=="UINT32"&&t!=="UINT64")return null;let s=r.getTypedArrayForBufferView(e),i=xh(s,"SCALAR",t,n+1);if(i instanceof BigInt64Array||i instanceof BigUint64Array){let o=new Float64Array(i.length),a=BigInt(Number.MAX_SAFE_INTEGER);for(let c=0;c<i.length;c++){let u=i[c];if(u<0n||u>a)throw new Error("EXT_structural_metadata: UINT64 offset exceeds the safe integer range");o[c]=Number(u)}return o}return i}function xh(r,e,t,n=1){let s=xF[e],i=rP[t],o=TF[t],a=n*s,c=a*o,u=r.buffer,l=r.byteOffset;return l%o!==0&&(u=new Uint8Array(u).slice(l,l+c).buffer,l=0),new i(mo(u),l,a)}function Th(r,e,t){let n=`TEXCOORD_${e.texCoord||0}`,s=t.attributes[n],i=r.getTypedArrayForAccessor(s),o=r.gltf.json,a=e.index,c=o.textures?.[a]?.source;if(typeof c<"u"){let u=o.images?.[c]?.mimeType,l=r.gltf.images?.[c];if(l&&typeof l.width<"u"&&!("compressed"in l&&l.compressed)){let f=[];for(let d=0;d<i.length;d+=2){let h=nP(l,u,i,d,e.channels);f.push(h)}return f}}return[]}function _F(r,e,t,n,s){if(!t?.length)return;let i=[];for(let f of t){let d=n.findIndex(h=>h===f);d===-1&&(d=n.push(f)-1),i.push(d)}let o=new Uint32Array(i),a=r instanceof Qr?r:new Qr(r.gltf),c=a.addBuffer(o),u=a.addBufferView(c,o.byteLength),l=a.addAccessor(u,{size:1,componentType:Fo(o),count:o.length});s.attributes[e]=l}function nP(r,e,t,n,s=[0]){let i={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},o=t[n],a=t[n+1],c=1;e&&(e.indexOf("image/jpeg")!==-1||e.indexOf("image/png")!==-1)&&(c=4);let u=sP(o,a,r,c),l=0;for(let f of s){let d=typeof f=="number"?Object.values(i)[f]:i[f],h=u+d.offset,m=xu(r);if(m.data.length<=h)throw new Error(`${m.data.length} <= ${h}`);let b=m.data[h];l|=b<<d.shift}return l}function sP(r,e,t,n=1){let s=t.width,i=wF(r)*(s-1),o=Math.round(i),a=t.height,c=wF(e)*(a-1),u=Math.round(c),l=t.components?t.components:n;return(u*s+o)*l}function kx(r,e,t,n=1){let s=[];for(let i=0;i<e;i++){let o=Number(t[i]),a=Number(t[i+1])-o;if(!Number.isInteger(o)||!Number.isInteger(a)||o<0||a<0||(o+a)*n>r.length)break;let c=o*n,u=a*n;s.push(r.slice(c,c+u))}return s}function Cx(r,e,t,n=1){let s=[],i=t*n;for(let o=0;o<e;o++){let a=o*i;s.push(r.slice(a,a+i))}return s}function AF(r,e,t,n,s){let i=new TextDecoder("utf8");if(t){if(!n)throw new Error("stringOffsets is required for variable-length string arrays");let o=[];for(let a=0;a<r;a++){let c=t[a],u=t[a+1],l=[];for(let f=c;f<u;f++){let d=n[f],h=n[f+1],m=e.subarray(d,h);l.push(i.decode(m))}o.push(l)}return o}if(n){let o=[],a=r*(s||1);for(let c=0;c<a;c++){let u=Number(n[c]),l=Number(n[c+1]);u>=0&&l>=u&&l<=e.length&&o.push(i.decode(e.subarray(u,l)))}return s?Array.from({length:r},(c,u)=>o.slice(u*s,(u+1)*s)):o}return[]}var Ha="EXT_mesh_features",iP=Ha;async function oP(r,e){let t=new Qr(r);cP(t,e)}function aP(r,e){let t=new hi(r);return lP(t,e),t.createBinaryChunk(),t.gltf}function cP(r,e){for(let t of r.meshes)for(let n of r.getReferences(t).primitives)uP(r,n,e)}function uP(r,e,t){let s=r.getExtension(e,Ha)?.featureIds||[];if(s)for(let i of s){let o;if(typeof i.attribute<"u"){if(!t?.gltf?.loadBuffers)continue;let a=`_FEATURE_ID_${i.attribute}`,c=e.attributes[a];o=r.getTypedArrayForAccessor(c)}else if(typeof i.texture<"u"){if(!t?.gltf?.loadImages)continue;o=Th(r,i.texture,e)}else{let a=e.attributes.POSITION,c=typeof a=="number"?r.data.accessors?.[a]?.count:a?.count;if(typeof c!="number"||!Number.isInteger(c)||c<0)throw new Error("EXT_mesh_features: implicit feature IDs require a POSITION accessor");if(i.featureCount!==c)throw new Error(`EXT_mesh_features: implicit featureCount ${i.featureCount} does not match vertex count ${c}`);delete i.data,Object.defineProperty(i,"implicit",{configurable:!0,enumerable:!1,writable:!0,value:{start:0,count:c}})}o&&(i.data=o,delete i.implicit)}}function lP(r,e){let t=r.gltf.json.meshes;if(t)for(let n of t)for(let s of n.primitives)dP(r,s)}function fP(r,e,t,n){e.extensions||(e.extensions={});let s=e.extensions[Ha];s||(s={featureIds:[]},e.extensions[Ha]=s);let{featureIds:i}=s,o={featureCount:t.length,propertyTable:n,data:t};i.push(o),r.addObjectExtension(e,Ha,s)}function dP(r,e){let t=e.extensions?.[Ha];if(!t)return;let n=t.featureIds;n.forEach((s,i)=>{if(s.data){let{accessorKey:o,index:a}=hP(e.attributes),c=new Uint32Array(s.data);n[i]={featureCount:c.length,propertyTable:s.propertyTable,attribute:a};let u=r.addBufferView(c),l=r.addAccessor(u,{size:1,componentType:Fo(c),count:c.length});e.attributes[o]=l}})}function hP(r){let e="_FEATURE_ID_",t=Object.keys(r).filter(i=>i.indexOf(e)===0),n=-1;for(let i of t){let o=Number(i.substring(e.length));o>n&&(n=o)}return n++,{accessorKey:`${e}${n}`,index:n}}var Gx={};Y(Gx,{createExtStructuralMetadata:()=>PP,decode:()=>bP,encode:()=>gP,name:()=>mP});function IF(r,e,t){if(r.startsWith("data:")||r.startsWith("http:")||r.startsWith("https:"))return vF(r);let s=t?.baseUrl||pP(e?.core?.baseUrl);if(!s)throw new Error(`'baseUrl' must be provided to resolve relative url ${r}`);let i=s.endsWith("/")?`${s}${r}`:`${s}/${r}`;return vF(i)}function vF(r){try{return new URL(r).href}catch{return r}}function pP(r){if(!r)return;if(r.endsWith("/"))return r;let e=r.lastIndexOf("/");return e>=0?r.slice(0,e+1):""}var Ro="EXT_structural_metadata",mP=Ro;async function bP(r,e,t){let n=new Qr(r),s=n.getExtension(Ro);if(e.gltf?.loadBuffers&&s?.schemaUri&&!s.schema){if(!t?.fetch)throw new Error("EXT_structural_metadata: a loader context is required to load schemaUri");let i=IF(s.schemaUri,e,t),o=await t.fetch(i);if(!o.ok)throw new Error(`EXT_structural_metadata: failed to load schemaUri ${i} (${o.status})`);s.schema=await o.json()}yP(n,e)}function gP(r,e){let t=new hi(r);return CP(t,e),t.createBinaryChunk(),t.gltf}function yP(r,e){if(!e.gltf?.loadBuffers)return;let t=r.getExtension(Ro);t&&(e.gltf?.loadImages&&wP(r,t),xP(r,t))}function wP(r,e){let t=e.propertyTextures,n=r.data;if(t&&n.meshes)for(let s of n.meshes)for(let i of s.primitives)TP(r,t,i,e)}function xP(r,e){let t=e.schema;if(!t)return;let n=t.classes,s=e.propertyTables;if(n&&s)for(let i of s)i.class&&n[i.class]&&AP(r,t,i)}function TP(r,e,t,n){if(!e)return;let i=t.extensions?.[Ro]?.propertyTextures;if(i)for(let o of i){let a=e[o];_P(r,a,t,n)}}function _P(r,e,t,n){if(!e.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let s=e.class;for(let i in e.properties){let o=`${s}_${i}`,a=e.properties?.[i];if(!a)continue;a.data||(a.data=[]);let c=a.data,u=Th(r,a,t);u!==null&&(_F(r,o,u,c,t),a.data=c,n.dataAttributeNames.push(o))}}function AP(r,e,t){let n=e.classes?.[t.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${t.class}`);let s=t.count;for(let i in n.properties){let o=n.properties[i],a=t.properties?.[i];if(a){let c={},u=vP(r,e,o,s,a,c);a.data=u,c.value!==void 0&&Object.defineProperty(a,"rawData",{value:c.value,configurable:!0,enumerable:!1,writable:!0})}}}function vP(r,e,t,n,s,i){let o=[],a=s.values,c=r.getTypedArrayForBufferView(a),u=SP(r,t,s,n),l=EP(r,t,s,n,u);switch(t.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{let f=LP(t,s,n,c,u);o=f.data,i&&(i.value=f.rawData);break}case"BOOLEAN":{o=IP(t,n,c,u);break}case"STRING":{o=AF(n,c,u,l,t.array?t.count:void 0);break}case"ENUM":{o=MP(e,t,n,c,u);break}default:throw new Error(`Unknown classProperty type ${t.type}`)}return o}function IP(r,e,t,n){return r.array?n?Array.from({length:e},(s,i)=>{let o=Number(n[i]),a=Number(n[i+1]);if(!Number.isInteger(o)||!Number.isInteger(a)||o<0||a<o)throw new Error("EXT_structural_metadata: invalid BOOLEAN array offsets");return Px(t,o,a-o)}):r.count===void 0?[]:Array.from({length:e},(s,i)=>Px(t,i*r.count,r.count)):Px(t,0,e)}function Px(r,e,t){if(e+t>r.byteLength*8)throw new Error("EXT_structural_metadata: BOOLEAN values exceed their buffer view");return Array.from({length:t},(n,s)=>{let i=e+s;return!!(r[Math.floor(i/8)]&1<<i%8)})}function SP(r,e,t,n){return e.array&&typeof e.count>"u"&&typeof t.arrayOffsets<"u"?Nx(r,t.arrayOffsets,t.arrayOffsetType||"UINT32",n):null}function EP(r,e,t,n,s){if(typeof t.stringOffsets<"u"){let i=s?Number(s[n]):n*(e.array&&e.count||1);return Nx(r,t.stringOffsets,t.stringOffsetType||"UINT32",i)}return null}function LP(r,e,t,n,s){let i=r.array,o=r.count,a={VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16}[r.type]||1,c=Dx(r.type,r.componentType),u=n.byteLength/c,l;r.componentType?l=xh(n,r.type,r.componentType,u):l=n;let f=l,d=e.offset??r.offset,h=e.scale??r.scale,m=r.normalized||d!==void 0||h!==void 0?BP(f,r.componentType,r.type,r.normalized,d,h):f;return i?s?{data:kx(m,t,s,a),rawData:kx(f,t,s,a)}:o?{data:Cx(m,t,o,a),rawData:Cx(f,t,o,a)}:{data:[],rawData:[]}:{data:m,rawData:f}}function BP(r,e,t,n,s,i){let o=OP(e),a=!!(n&&o!==void 0);if(!a&&s===void 0&&i===void 0)return r;let c=FP(t),u=new Float64Array(r.length);for(let l=0;l<r.length;l++){let f=Number(r[l]);a&&(f=e?.startsWith("INT")?Math.max(f/o,-1):f/o);let d=l%c,h=Array.isArray(s)?s[d]??0:s??0,m=Array.isArray(i)?i[d]??1:i??1;u[l]=f*m+h}return u}function FP(r){switch(r){case"VEC2":return 2;case"VEC3":return 3;case"VEC4":return 4;case"MAT2":return 4;case"MAT3":return 9;case"MAT4":return 16;default:return 1}}function OP(r){switch(r){case"INT8":return 127;case"UINT8":return 255;case"INT16":return 32767;case"UINT16":return 65535;case"INT32":return 2147483647;case"UINT32":return 4294967295;case"INT64":return 2**63-1;case"UINT64":return 2**64-1;default:return}}function MP(r,e,t,n,s){let i=e.enumType;if(!i)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let o=r.enums?.[i];if(!o)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${i}`);let a=o.valueType||"UINT16",c=Dx(e.type,a),u=n.byteLength/c,l=xh(n,e.type,a,u);if(l||(l=n),e.array){if(s)return RP({valuesData:l,numberOfElements:t,arrayOffsets:s,enumEntry:o});let f=e.count;return f?DP(l,t,f,o):[]}return jx(l,0,t,o)}function RP(r){let{valuesData:e,numberOfElements:t,arrayOffsets:n,enumEntry:s}=r,i=[];for(let o=0;o<t;o++){let a=Number(n[o]),c=Number(n[o+1])-a;if(!Number.isInteger(a)||!Number.isInteger(c)||a<0||c<0||a+c>e.length)break;let u=jx(e,a,c,s);i.push(u)}return i}function DP(r,e,t,n){let s=[];for(let i=0;i<e;i++){let o=t*i,a=jx(r,o,t,n);s.push(a)}return s}function jx(r,e,t,n){let s=[];for(let i=0;i<t;i++){let o=r[e+i],a=NP(n,o);a?s.push(a.name):s.push("")}return s}function NP(r,e){for(let t of r.values)if(typeof e=="bigint"?Number.isSafeInteger(t.value)&&BigInt(t.value)===e:t.value===e)return t;return null}var kP="schemaClassId";function CP(r,e){let t=r.getExtension(Ro);if(t&&t.propertyTables)for(let n of t.propertyTables){let s=n.class,i=t.schema?.classes?.[s];n.properties&&i&&UP(n,i,r)}}function UP(r,e,t){for(let n in r.properties){let s=r.properties[n].data;if(s){let i=e.properties[n];if(i){let o=GP(s,i,t);r.properties[n]=o}}}}function PP(r,e,t=kP){let n=r.getExtension(Ro);n||(n=r.addExtension(Ro)),n.schema=VP(e,t,n.schema);let s=jP(e,t,n.schema);return n.propertyTables||(n.propertyTables=[]),n.propertyTables.push(s)-1}function VP(r,e,t){let n=t??{id:"schema_id"},s={properties:{}};for(let i of r){let o={type:i.elementType,componentType:i.componentType};s.properties[i.name]=o}return n.classes={},n.classes[e]=s,n}function jP(r,e,t){let n={class:e,count:0},s=0,i=t.classes?.[e];for(let o of r){if(s===0&&(s=o.values.length),s!==o.values.length&&o.values.length)throw new Error("Illegal values in attributes");i?.properties[o.name]&&(n.properties||(n.properties={}),n.properties[o.name]={values:0,data:o.values})}return n.count=s,n}function GP(r,e,t){let n={values:0};if(e.type==="STRING"){let{stringData:s,stringOffsets:i}=$P(r);n.stringOffsets=Vx(i,t),n.values=Vx(s,t)}else if(e.type==="SCALAR"&&e.componentType){let s=WP(r,e.componentType);n.values=Vx(s,t)}return n}var zP={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:Int32Array,UINT64:Uint32Array,FLOAT32:Float32Array,FLOAT64:Float64Array};function WP(r,e){let t=[];for(let s of r)t.push(Number(s));let n=zP[e];if(!n)throw new Error("Illegal component type");return new n(t)}function $P(r){let e=new TextEncoder,t=[],n=0;for(let c of r){let u=e.encode(c);n+=u.length,t.push(u)}let s=new Uint8Array(n),i=[],o=0;for(let c of t)s.set(c,o),i.push(o),o+=c.length;i.push(o);let a=new Uint32Array(i);return{stringData:s,stringOffsets:a}}function Vx(r,e){return e.addBufferView(r)}var zx={};Y(zx,{decode:()=>KP,encode:()=>HP,name:()=>qP});var Xa="KHR_materials_unlit",qP=Xa;async function KP(r){let e=new Qr(r);for(let t of e.materials)e.getExtension(t,Xa)&&(t.unlit=!0),e.removeExtension(t,Xa);e.removeExtension(Xa)}function HP(r){let e=new hi(r);for(let t of r.json.materials||[]){let n=t;n.unlit&&(delete n.unlit,e.addObjectExtension(t,Xa,{}),e.registerRequiredExtension(Xa))}for(let t of["extensionsUsed","extensionsRequired"])r.json[t]?.length===0&&delete r.json[t]}var XP=[zx,Gx,Ux];function SF(r,e={}){for(let t of XP)r=t.encode?.(r,e)??r;return r}var LF={dataType:null,batchType:null,...Wa,version:di,options:{gltf:{}},encode:async(r,e={})=>{let t=await bF(r,e),n={...e};return n.gltf=e.gltf?{...e.gltf,draco:void 0}:void 0,EF(t,n)},encodeSync:EF};function EF(r,e={}){if(e.gltf?.draco?.enabled)throw new Error("GLTFWriter Draco compression is asynchronous; use encode() instead of encodeSync()");let{byteOffset:t=0}=e,n=SF(r);r.buffers=n.buffers,r.binary=n.binary;let s=cx(n,null,t,e),i=new ArrayBuffer(s),o=new DataView(i);return cx(n,o,t,e),i}async function JP(){let{GLBLoaderWithParser:r}=await Promise.resolve().then(()=>(Xw(),Hw));return r}var BF={dataType:null,batchType:null,...$a,version:di,preload:JP,options:{glb:{strict:!1}}};var OF={...$a,version:di,options:{glb:{}},encode:async(r,e={})=>FF(r,e),encodeSync:FF};function FF(r,e){let{byteOffset:t=0}=e??{},n=e?.glb??{},s=zu(r,null,t,n),i=new ArrayBuffer(s),o=new DataView(i);return zu(r,o,t,n),i}fa();var MF=typeof __VERSION__<"u"?__VERSION__:"latest";var _h={name:"Draco",id:"draco",module:"scene",encoding:"binary",format:"draco",extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"]};var RF={backend:typeof WebAssembly=="object"?"wasm":"javascript",extraAttributes:{},attributeNameEntry:void 0,shape:"arrow",decoderProfile:"full"};async function YP(r,e){let t=e;switch(QP(t)){case"wasm":{let{DracoWASMLoaderWithParser:n}=await Promise.resolve().then(()=>(_w(),Tw));return n}case"javascript":{let{DracoJavaScriptLoaderWithParser:n}=await Promise.resolve().then(()=>(vw(),Aw));return n}case"draco3d":{let{Draco3DLoaderWithParser:n}=await Promise.resolve().then(()=>(Sw(),Iw));return n}default:throw new Error(`DracoLoader: unsupported backend "${t?.draco?.backend}"`)}}var Wx={defaultShape:"arrow",supportsNativeArrow:!0,dataType:null,batchType:null,..._h,version:MF,worker:!0,workerSourceNode:"draco/workers/draco-worker-node.ts",serializeWorkerResult:Nf,deserializeWorkerResult:kf,options:{draco:RF},preload:YP};function QP(r){return r?.draco?.backend?r.draco.backend==="js"?"javascript":r.draco.backend:Wx.options.draco.backend}var ZP="1.5.7",eV="8786740086a9f4d83f44aa83badfbea4dce7a1b5",qu=`https://www.gstatic.com/draco/versioned/decoders/${ZP}`,DF=`https://cdn.jsdelivr.net/gh/google/draco@${eV}/javascript`,xt={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",GLTF_DECODER:"draco_wasm_wrapper_gltf.js",GLTF_DECODER_WASM:"draco_decoder_gltf.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js",ENCODER_WASM:"draco_encoder.wasm"},NF={[xt.DECODER]:`${qu}/${xt.DECODER}`,[xt.DECODER_WASM]:`${qu}/${xt.DECODER_WASM}`,[xt.GLTF_DECODER]:`${qu}/${xt.GLTF_DECODER}`,[xt.GLTF_DECODER_WASM]:`${qu}/${xt.GLTF_DECODER_WASM}`,[xt.FALLBACK_DECODER]:`${qu}/${xt.FALLBACK_DECODER}`,[xt.ENCODER]:`${DF}/${xt.ENCODER}`,[xt.ENCODER_WASM]:`${DF}/${xt.ENCODER_WASM}`};async function tV(){let{MaterialXLoaderWithParser:r}=await Promise.resolve().then(()=>(tx(),ex));return r}var kF={name:"MaterialX",id:"materialx",module:"scene",version:"latest",extensions:["mtlx"],mimeTypes:["application/xml"],text:!0,dataType:null,batchType:null,options:{},preload:tV};var rV=typeof __VERSION__<"u"?__VERSION__:"latest";async function nV(){let{STLLoaderWithParser:r}=await Promise.resolve().then(()=>(sx(),nx));return r}var CF={name:"STL",id:"stl",module:"scene",version:rV,extensions:["stl"],mimeTypes:["model/stl"],binary:!0,dataType:null,batchType:null,options:{},preload:nV};return $F(sV);})();
13
56
  return __exports__;
14
57
  });