@arcgis/core 5.1.0-next.43 → 5.1.0-next.45

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 (262) hide show
  1. package/applications/Components/featureUtils.d.ts +11 -7
  2. package/arcade/featureset/actions/Adapted.js +1 -1
  3. package/arcade/featureset/actions/AttributeFilter.js +1 -1
  4. package/arcade/featureset/actions/OrderBy.js +1 -1
  5. package/arcade/featureset/actions/SpatialFilter.js +1 -1
  6. package/arcade/featureset/actions/Top.js +1 -1
  7. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  8. package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
  9. package/arcade/featureset/sources/FeatureLayerRelated.js +1 -1
  10. package/arcade/featureset/support/FeatureSet.js +1 -1
  11. package/arcade/featureset/support/OrderbyClause.js +1 -1
  12. package/assets/esri/core/workers/RemoteClient.js +1 -1
  13. package/assets/esri/core/workers/chunks/{eff198e0c21c9767ffaa.js → 0155e5679ded9de5c327.js} +1 -1
  14. package/assets/esri/core/workers/chunks/128799741dd3c6fc69b9.js +1 -0
  15. package/assets/esri/core/workers/chunks/13eb0162d95b4d27389c.js +1 -0
  16. package/assets/esri/core/workers/chunks/{0836964a65f76da35b5c.js → 1a3f874700f86b750390.js} +23 -23
  17. package/assets/esri/core/workers/chunks/1a481f3ae3146682eb00.js +1 -0
  18. package/assets/esri/core/workers/chunks/1cce2f8837ad765acf44.js +1 -0
  19. package/assets/esri/core/workers/chunks/2379c64b0ca30814a815.js +1 -0
  20. package/assets/esri/core/workers/chunks/23a9070e9362b8439770.js +1 -0
  21. package/assets/esri/core/workers/chunks/25e4568a3ff76f48ac5e.js +1 -0
  22. package/assets/esri/core/workers/chunks/{dbedd246f4b584583f95.js → 288bd32831e94e81653e.js} +1 -1
  23. package/assets/esri/core/workers/chunks/2b3a8a53cd68f666676b.js +1 -0
  24. package/assets/esri/core/workers/chunks/{4d16b6ac52e25bd7e6aa.js → 32a51ce8e1a362115c89.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{392941013107bbd96503.js → 365ad1ffd496ed86637b.js} +1 -1
  26. package/assets/esri/core/workers/chunks/375eac59c9f88c7572db.js +2 -0
  27. package/assets/esri/core/workers/chunks/{eab74d830c2eaa9d133b.js → 4869e2f35aaf6b058281.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{10941b50f5933d168df6.js → 521a671182b0f79e3624.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{c2f3fc1b34a6782b431f.js → 5351e71ce7839636d06d.js} +1 -1
  30. package/assets/esri/core/workers/chunks/5b515b5741733bcb4645.js +1 -0
  31. package/assets/esri/core/workers/chunks/{1669f1bf959c4e3083da.js → 5c0b3c76a7bc971c61dc.js} +1 -1
  32. package/assets/esri/core/workers/chunks/5c830cce32710d70dfa6.js +1 -0
  33. package/assets/esri/core/workers/chunks/5e9bd5ed6ecee5b15127.js +1 -0
  34. package/assets/esri/core/workers/chunks/5f2e246ffcbdedea4de5.js +1 -0
  35. package/assets/esri/core/workers/chunks/617328964d480d4a3a45.js +1 -0
  36. package/assets/esri/core/workers/chunks/64da1ad9df9094ef5c12.js +1 -0
  37. package/assets/esri/core/workers/chunks/650614a9e4871714c42e.js +1 -0
  38. package/assets/esri/core/workers/chunks/66baacbef23291eab853.js +1 -0
  39. package/assets/esri/core/workers/chunks/7278cc37e85f0242f19b.js +1 -0
  40. package/assets/esri/core/workers/chunks/{3c597d8ef898627b8f93.js → 768bbc910be6c65ac107.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{a1f36240a31057f998da.js → 79dc7045d9a2d43ba8df.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{f9da5c81535eaffc8b9c.js → 7f07f490c6fcc794c8d9.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{2b386374330d96387aec.js → 851fc5290497991ba001.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{7132420980f77b6a871b.js → 8cafdd4addd366795600.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{30cdb2d1d9f018f1642d.js → 9032c040b214b5af775b.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{ff8ec6369c8a1bee9bb4.js → 908f171b9c512d738dea.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{c7799ba861ac5af08e6a.js → 92d4e962284e13ba2fc5.js} +1 -1
  48. package/assets/esri/core/workers/chunks/970d971551e42f7ae08d.js +1 -0
  49. package/assets/esri/core/workers/chunks/9802770413ad814dab29.js +1 -0
  50. package/assets/esri/core/workers/chunks/{6e8cfe69617876ee0dac.js → a69f1879735a031f62e9.js} +1 -1
  51. package/assets/esri/core/workers/chunks/{af804beb43d4d10c54d9.js → a9f35127c3f5bf42036b.js} +1 -1
  52. package/assets/esri/core/workers/chunks/b5ced451d331ca1ffb68.js +1 -0
  53. package/assets/esri/core/workers/chunks/beb53b372d356800f333.js +1 -0
  54. package/assets/esri/core/workers/chunks/{8f12a559dbf284c21e2f.js → bf4d2f42d31861ea1046.js} +1 -1
  55. package/assets/esri/core/workers/chunks/c2aa3b1344b42a904234.js +1 -0
  56. package/assets/esri/core/workers/chunks/{9a9b1250be3e20499d75.js → ca88a364ef911526102e.js} +1 -1
  57. package/assets/esri/core/workers/chunks/cdeb6aec578a1c07d663.js +1 -0
  58. package/assets/esri/core/workers/chunks/cf5e4cf9b1aa37eeb6b0.js +1 -0
  59. package/assets/esri/core/workers/chunks/d0adf059085ddf7151dd.js +1 -0
  60. package/assets/esri/core/workers/chunks/d2af5342fbe80e2d8c60.js +1 -0
  61. package/assets/esri/core/workers/chunks/d3d024b3d2bb8fbbf760.js +1 -0
  62. package/assets/esri/core/workers/chunks/{80bfb5e5d613d2c412bf.js → dbafe96ce37bb82d0584.js} +1 -1
  63. package/assets/esri/core/workers/chunks/e4e0c5a45cf32973d5d5.js +1 -0
  64. package/assets/esri/core/workers/chunks/{093aa05fbde548bf9040.js → e5927f9d0e757ec4c22a.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{b15a02bdcd78a1a51bd6.js → e72ca52d930afb5650af.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{465cc0e00f03cdb640b2.js → e7402dfd683f82878360.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{8838ff9668b472af16a1.js → ef0eae13408cbf83a64f.js} +1 -1
  68. package/assets/esri/core/workers/chunks/f1767b8ba82fdd9bd947.js +1 -0
  69. package/assets/esri/core/workers/chunks/{f835eea9f617556c7276.js → f6e3954ddbb5993d56df.js} +1 -1
  70. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  71. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  72. package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
  73. package/assets/esri/themes/base/widgets/_Grid.scss +5 -0
  74. package/assets/esri/themes/dark/main.css +1 -1
  75. package/assets/esri/themes/light/main.css +1 -1
  76. package/assets/esri/themes/light/view.css +1 -1
  77. package/assets/esri/views/interactive/tooltip/t9n/Tooltip.json +1 -1
  78. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_en.json +1 -1
  79. package/chunks/ComponentShader.glsl.js +11 -11
  80. package/chunks/DefaultMaterial.glsl.js +1 -1
  81. package/chunks/HUDMaterial.glsl.js +28 -36
  82. package/chunks/ImageMaterial.glsl.js +1 -1
  83. package/chunks/Jpg.js +1 -1
  84. package/chunks/Path.glsl.js +7 -7
  85. package/chunks/Pattern.glsl.js +1 -1
  86. package/chunks/RibbonLine.glsl.js +2 -2
  87. package/chunks/ShadowHighlight.glsl.js +1 -1
  88. package/chunks/Terrain.glsl.js +5 -5
  89. package/chunks/Water.glsl.js +5 -5
  90. package/chunks/Zlib.js +1 -1
  91. package/chunks/lyr3DMain.js +1 -1
  92. package/chunks/lyr3DWorker.js +1 -1
  93. package/chunks/vxlLayer.js +1 -1
  94. package/config.js +1 -1
  95. package/core/arrayUtils.js +1 -1
  96. package/geometry/support/zscale.js +1 -1
  97. package/kernel.js +1 -1
  98. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  99. package/layers/SceneLayer.d.ts +16 -10
  100. package/layers/graphics/data/QueryEngineResult.js +1 -1
  101. package/layers/graphics/featureConversionUtils.js +1 -1
  102. package/layers/ogc/ogcFeatureUtils.js +1 -1
  103. package/layers/raster/formats/ImageCanvasDecoder.js +1 -1
  104. package/layers/raster/formats/JpgPlus.js +1 -1
  105. package/layers/raster/formats/RasterCodec.js +1 -1
  106. package/layers/raster/formats/TiffDecoder.js +1 -1
  107. package/layers/save/featureLayerUtils.js +1 -1
  108. package/layers/save/groupLayerUtils.js +1 -1
  109. package/layers/save/mapImageLayerUtils.js +1 -1
  110. package/layers/support/Sublayer.d.ts +6 -0
  111. package/layers/support/Sublayer.js +1 -1
  112. package/layers/support/SubtypeSublayer.js +1 -1
  113. package/layers/support/layerUtils.js +1 -1
  114. package/package.json +3 -3
  115. package/rest/query/operations/pbfFeatureSetUtils.js +1 -1
  116. package/rest/query/operations/pbfFlatFeatureSet.js +1 -1
  117. package/rest/query/operations/pbfOptimizedFeatureSet.js +1 -1
  118. package/support/revision.js +1 -1
  119. package/third-party-notices.txt +2 -2
  120. package/views/2d/engine/ManagedCanvas.js +1 -1
  121. package/views/2d/engine/vectorTiles/SpriteMosaic.js +1 -1
  122. package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
  123. package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
  124. package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
  125. package/views/2d/engine/webgl/GlyphSource.js +1 -1
  126. package/views/2d/engine/webgl/TextureManager.js +1 -1
  127. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
  128. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueSymbol.js +1 -1
  129. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  130. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  131. package/views/2d/layers/TileLayerView2D.js +1 -1
  132. package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
  133. package/views/2d/layers/features/Processor.js +1 -1
  134. package/views/2d/layers/features/processor/AProcessorStrategy.js +1 -1
  135. package/views/2d/layers/features/processor/ClusterStrategy.js +1 -1
  136. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  137. package/views/3d/analysis/Viewshed/ViewshedConfiguration.js +1 -1
  138. package/views/3d/environment/EnvironmentManager.js +1 -1
  139. package/views/3d/layers/i3s/I3SClientMaterialUtil.js +1 -1
  140. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  141. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  142. package/views/3d/support/MemoryController.js +1 -1
  143. package/views/3d/terrain/OverlayRenderTargets.js +1 -1
  144. package/views/3d/terrain/OverlayRenderer.js +1 -1
  145. package/views/3d/terrain/TerrainRenderer.js +1 -1
  146. package/views/3d/terrain/TileCompositor.js +1 -1
  147. package/views/3d/webgl-engine/collections/Component/ComponentDrawParameters.js +1 -1
  148. package/views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js +2 -2
  149. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  150. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  151. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  152. package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
  153. package/views/3d/webgl-engine/core/renderPasses/RenderPass.js +1 -1
  154. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  155. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +1 -1
  156. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutputConfiguration.js +1 -1
  157. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +1 -1
  158. package/views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js +1 -1
  159. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +4 -4
  160. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +2 -2
  161. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +1 -1
  162. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js +1 -1
  163. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +1 -1
  164. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +1 -1
  165. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +1 -1
  166. package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
  167. package/views/3d/webgl-engine/effects/WeatherFader.js +1 -1
  168. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizer.js +1 -1
  169. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
  170. package/views/3d/webgl-engine/effects/geometry/ObjectAndLayerIDRenderNode.js +1 -1
  171. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  172. package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +1 -1
  173. package/views/3d/webgl-engine/lib/GLMaterial.js +1 -1
  174. package/views/3d/webgl-engine/lib/Material.js +1 -1
  175. package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
  176. package/views/3d/webgl-engine/lib/RenderContext.js +1 -1
  177. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  178. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  179. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  180. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  181. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  182. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  183. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  184. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  185. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  186. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  187. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  188. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  189. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  190. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  191. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  192. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  193. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  194. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  195. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  196. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  197. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  198. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  199. package/views/3d/webgl-engine/materials/TriangleMaterial.js +1 -1
  200. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  201. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  202. package/views/3d/webgl-engine/materials/renderers/VaoRenderer.js +1 -1
  203. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  204. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  205. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  206. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  207. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  208. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  209. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  210. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  211. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  212. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +10 -10
  213. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  214. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  215. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  216. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  217. package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
  218. package/views/interactive/GraphicManipulator.js +1 -1
  219. package/views/interactive/tooltip/content/TooltipContentDynamic.js +1 -1
  220. package/views/interactive/tooltip/infos/DynamicTooltipInfo.js +1 -1
  221. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  222. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  223. package/widgets/Editor/EditorViewModel.d.ts +1 -1
  224. package/widgets/Editor.d.ts +2 -1
  225. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  226. package/widgets/FeatureTable.js +1 -1
  227. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  228. package/widgets/Sketch/support/PluginManager.js +1 -1
  229. package/assets/esri/core/workers/chunks/02a0a58ca5916db1db19.js +0 -1
  230. package/assets/esri/core/workers/chunks/03c8453ae72a4e190252.js +0 -1
  231. package/assets/esri/core/workers/chunks/04981ae9d7728208ffce.js +0 -1
  232. package/assets/esri/core/workers/chunks/0e669a04999feb9f98c9.js +0 -1
  233. package/assets/esri/core/workers/chunks/23af269e88f9ac101ffb.js +0 -1
  234. package/assets/esri/core/workers/chunks/244dd7a948ca8a7dc6ef.js +0 -1
  235. package/assets/esri/core/workers/chunks/26cafd20c8d03c274389.js +0 -1
  236. package/assets/esri/core/workers/chunks/2fa86dacc8a12a6a6c43.js +0 -1
  237. package/assets/esri/core/workers/chunks/3e26f9af6b8c75bad97a.js +0 -1
  238. package/assets/esri/core/workers/chunks/42b556d56013350c9d80.js +0 -1
  239. package/assets/esri/core/workers/chunks/5a6a6e7151085a3cd3dd.js +0 -1
  240. package/assets/esri/core/workers/chunks/5eb9fdb076488de9cd83.js +0 -1
  241. package/assets/esri/core/workers/chunks/65865c25487d23dd2e31.js +0 -1
  242. package/assets/esri/core/workers/chunks/65ea5028eb12457a3aeb.js +0 -1
  243. package/assets/esri/core/workers/chunks/73a008b48e29eb6f2064.js +0 -2
  244. package/assets/esri/core/workers/chunks/80a1ccabd4257cc61e0d.js +0 -1
  245. package/assets/esri/core/workers/chunks/8333561a938bcdf6c2e6.js +0 -1
  246. package/assets/esri/core/workers/chunks/91718795fc4ca6516ac7.js +0 -1
  247. package/assets/esri/core/workers/chunks/93846f8b77fc802069a7.js +0 -1
  248. package/assets/esri/core/workers/chunks/9b80569819cd1c72a9ff.js +0 -1
  249. package/assets/esri/core/workers/chunks/b056b4c79bcd542dd1d2.js +0 -1
  250. package/assets/esri/core/workers/chunks/b553264db0f10bb8c5f7.js +0 -1
  251. package/assets/esri/core/workers/chunks/b6e63d8ce3c9ac9762f4.js +0 -1
  252. package/assets/esri/core/workers/chunks/c1cae45a159a5373ac00.js +0 -1
  253. package/assets/esri/core/workers/chunks/c4f64195e44986644993.js +0 -1
  254. package/assets/esri/core/workers/chunks/ca6012135929b028ea1b.js +0 -1
  255. package/assets/esri/core/workers/chunks/de79645e559a2d1ffa67.js +0 -1
  256. package/assets/esri/core/workers/chunks/ea356a5b90ea44b5cbe1.js +0 -1
  257. package/assets/esri/core/workers/chunks/f0e6a26a3625068b08ab.js +0 -1
  258. package/assets/esri/core/workers/chunks/f36a234ef35faf8ca04d.js +0 -1
  259. package/views/2d/engine/vectorTiles/GlyphMosaic.js +0 -2
  260. package/views/2d/engine/vectorTiles/GlyphSource.js +0 -2
  261. package/views/2d/engine/vectorTiles/RectangleBinPack.js +0 -2
  262. /package/assets/esri/core/workers/chunks/{73a008b48e29eb6f2064.js.LICENSE.txt → 375eac59c9f88c7572db.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- var e=async function(e={}){var r,t,n=e,o="./this.program",a="",i="";function s(e){return n.locateFile?n.locateFile(e,i):i+e}try{i=new URL(".",a).href}catch{}r=async e=>{var r=await fetch(e,{credentials:"same-origin"});if(r.ok)return r.arrayBuffer();throw new Error(r.status+" : "+r.url)};var u,l,c,d,f,m,p,h,v,g,w,y,E,_,b=console.log.bind(console),k=console.error.bind(console),x=!1,P=!1;function A(){var e=d.buffer;f=new Int8Array(e),p=new Int16Array(e),n.HEAPU8=m=new Uint8Array(e),h=new Uint16Array(e),n.HEAP32=v=new Int32Array(e),g=new Uint32Array(e),n.HEAPF32=w=new Float32Array(e),y=new Float64Array(e),E=new BigInt64Array(e),_=new BigUint64Array(e)}function T(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)H(n.preRun.shift());z(X)}function S(){P=!0,n.noFSInit||_e.initialized||_e.init(),To.db(),_e.ignorePermissions=!1}function F(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)G(n.postRun.shift());z(V)}var D,B=0,C=null;function L(e){B++,n.monitorRunDependencies?.(B)}function N(e){if(B--,n.monitorRunDependencies?.(B),0==B&&C){var r=C;C=null,r()}}function I(e){n.onAbort?.(e),k(e="Aborted("+e+")"),x=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw c?.(r),r}function W(){return n.locateFile?s("vxlLayer.wasm"):new URL("vxlLayer.wasm","").href}function j(e){if(e==D&&u)return new Uint8Array(u);throw"both async and sync fetching of the wasm failed"}async function M(e){if(!u)try{var t=await r(e);return new Uint8Array(t)}catch{}return j(e)}async function R(e,r){try{var t=await M(e);return await WebAssembly.instantiate(t,r)}catch(n){k(`failed to asynchronously prepare wasm: ${n}`),I(n)}}async function O(e,r,t){if(!e&&"function"==typeof WebAssembly.instantiateStreaming)try{var n=fetch(r,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,t)}catch(o){k(`wasm streaming compile failed: ${o}`),k("falling back to ArrayBuffer instantiation")}return R(r,t)}function $(){return{a:Ao}}async function U(){function e(e,r){return To=e.exports,d=To.cb,A(),cr=To.fb,Po(To),N(),To}function r(r){return e(r.instance)}L();var t=$();return n.instantiateWasm?new Promise((r,o)=>{n.instantiateWasm(t,(t,n)=>{r(e(t))})}):(D??=W(),r(await O(u,D,t)))}var z=e=>{for(;e.length>0;)e.shift()(n)},V=[],G=e=>V.push(e),X=[],H=e=>X.push(e),q="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Q=(e,r=0,t=NaN)=>{for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&q)return q.decode(e.subarray(r,o));for(var a="";r<o;){var i=e[r++];if(128&i){var s=63&e[r++];if(192!=(224&i)){var u=63&e[r++];if((i=224==(240&i)?(15&i)<<12|s<<6|u:(7&i)<<18|s<<12|u<<6|63&e[r++])<65536)a+=String.fromCharCode(i);else{var l=i-65536;a+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a},Y=(e,r)=>e?Q(m,e,r):"",J=(e,r,t,n)=>I(`Assertion failed: ${Y(e)}, at: `+[r?Y(r):"unknown filename",t,n?Y(n):"unknown function"]);class K{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){g[this.ptr+4>>2]=e}get_type(){return g[this.ptr+4>>2]}set_destructor(e){g[this.ptr+8>>2]=e}get_destructor(){return g[this.ptr+8>>2]}set_caught(e){e=e?1:0,f[this.ptr+12]=e}get_caught(){return 0!=f[this.ptr+12]}set_rethrown(e){e=e?1:0,f[this.ptr+13]=e}get_rethrown(){return 0!=f[this.ptr+13]}init(e,r){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(r)}set_adjusted_ptr(e){g[this.ptr+16>>2]=e}get_adjusted_ptr(){return g[this.ptr+16>>2]}}var Z=(e,r,t)=>{throw new K(e).init(r,t),e},ee=()=>{var e=v[+be.varargs>>2];return be.varargs+=4,e},re=ee,te={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=te.isAbs(e),t="/"===e.slice(-1);return(e=te.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=te.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.slice(0,-1)),t+n):"."},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>te.normalize(e.join("/")),join2:(e,r)=>te.normalize(e+"/"+r)},ne=()=>e=>crypto.getRandomValues(e),oe=e=>{(oe=ne())(e)},ae={resolve:(...e)=>{for(var r="",t=!1,n=e.length-1;n>=-1&&!t;n--){var o=n>=0?e[n]:_e.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";r=o+"/"+r,t=te.isAbs(o)}return(t?"/":"")+(r=te.normalizeArray(r.split("/").filter(e=>!!e),!t).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r<e.length&&""===e[r];r++);for(var t=e.length-1;t>=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=ae.resolve(e).slice(1),r=ae.resolve(r).slice(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s<a;s++)if(n[s]!==o[s]){i=s;break}var u=[];for(s=i;s<n.length;s++)u.push("..");return(u=u.concat(o.slice(i))).join("/")}},ie=[],se=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r},ue=(e,r,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i<e.length;++i){var s=e.codePointAt(i);if(s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)break;r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s,i++}}return r[t]=0,t-o},le=(e,r,t)=>{var n=se(e)+1,o=new Array(n),a=ue(e,o,0,o.length);return o.length=a,o},ce=()=>{if(!ie.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n"),!e)return null;ie=le(e)}return ie.shift()},de={ttys:[],init(){},shutdown(){},register(e,r){de.ttys[e]={input:[],output:[],ops:r},_e.registerDevice(e,de.stream_ops)},stream_ops:{open(e){var r=de.ttys[e.node.rdev];if(!r)throw new _e.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new _e.ErrnoError(60);for(var a=0,i=0;i<n;i++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(u){throw new _e.ErrnoError(29)}if(void 0===s&&0===a)throw new _e.ErrnoError(6);if(null==s)break;a++,r[t+i]=s}return a&&(e.node.atime=Date.now()),a},write(e,r,t,n,o){if(!e.tty||!e.tty.ops.put_char)throw new _e.ErrnoError(60);try{for(var a=0;a<n;a++)e.tty.ops.put_char(e.tty,r[t+a])}catch(i){throw new _e.ErrnoError(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),a}},default_tty_ops:{get_char:e=>ce(),put_char(e,r){null===r||10===r?(b(Q(e.output)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output?.length>0&&(b(Q(e.output)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(k(Q(e.output)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output?.length>0&&(k(Q(e.output)),e.output=[])}}},fe=e=>{I()},me={ops_table:null,mount:e=>me.createNode(null,"/",16895,0),createNode(e,r,t,n){if(_e.isBlkdev(t)||_e.isFIFO(t))throw new _e.ErrnoError(63);me.ops_table||={dir:{node:{getattr:me.node_ops.getattr,setattr:me.node_ops.setattr,lookup:me.node_ops.lookup,mknod:me.node_ops.mknod,rename:me.node_ops.rename,unlink:me.node_ops.unlink,rmdir:me.node_ops.rmdir,readdir:me.node_ops.readdir,symlink:me.node_ops.symlink},stream:{llseek:me.stream_ops.llseek}},file:{node:{getattr:me.node_ops.getattr,setattr:me.node_ops.setattr},stream:{llseek:me.stream_ops.llseek,read:me.stream_ops.read,write:me.stream_ops.write,mmap:me.stream_ops.mmap,msync:me.stream_ops.msync}},link:{node:{getattr:me.node_ops.getattr,setattr:me.node_ops.setattr,readlink:me.node_ops.readlink},stream:{}},chrdev:{node:{getattr:me.node_ops.getattr,setattr:me.node_ops.setattr},stream:_e.chrdev_stream_ops}};var o=_e.createNode(e,r,t,n);return _e.isDir(o.mode)?(o.node_ops=me.ops_table.dir.node,o.stream_ops=me.ops_table.dir.stream,o.contents={}):_e.isFile(o.mode)?(o.node_ops=me.ops_table.file.node,o.stream_ops=me.ops_table.file.stream,o.usedBytes=0,o.contents=null):_e.isLink(o.mode)?(o.node_ops=me.ops_table.link.node,o.stream_ops=me.ops_table.link.stream):_e.isChrdev(o.mode)&&(o.node_ops=me.ops_table.chrdev.node,o.stream_ops=me.ops_table.chrdev.stream),o.atime=o.mtime=o.ctime=Date.now(),e&&(e.contents[r]=o,e.atime=e.mtime=e.ctime=o.atime),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){var n=1048576;r=Math.max(r,t*(t<n?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var o=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(o.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=_e.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,_e.isDir(e.mode)?r.size=4096:_e.isFile(e.mode)?r.size=e.usedBytes:_e.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.atime),r.mtime=new Date(e.mtime),r.ctime=new Date(e.ctime),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){for(const t of["mode","atime","mtime","ctime"])null!=r[t]&&(e[t]=r[t]);void 0!==r.size&&me.resizeFileStorage(e,r.size)},lookup(e,r){throw me.doesNotExistError},mknod:(e,r,t,n)=>me.createNode(e,r,t,n),rename(e,r,t){var n;try{n=_e.lookupNode(r,t)}catch(a){}if(n){if(_e.isDir(e.mode))for(var o in n.contents)throw new _e.ErrnoError(55);_e.hashRemoveNode(n)}delete e.parent.contents[e.name],r.contents[t]=e,e.name=t,r.ctime=r.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,r){delete e.contents[r],e.ctime=e.mtime=Date.now()},rmdir(e,r){var t=_e.lookupNode(e,r);for(var n in t.contents)throw new _e.ErrnoError(55);delete e.contents[r],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.contents)],symlink(e,r,t){var n=me.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!_e.isLink(e.mode))throw new _e.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s<i;s++)r[t+s]=a[o+s];return i},write(e,r,t,n,o,a){if(r.buffer===f.buffer&&(a=!1),!n)return 0;var i=e.node;if(i.mtime=i.ctime=Date.now(),r.subarray&&(!i.contents||i.contents.subarray)){if(a)return i.contents=r.subarray(t,t+n),i.usedBytes=n,n;if(0===i.usedBytes&&0===o)return i.contents=r.slice(t,t+n),i.usedBytes=n,n;if(o+n<=i.usedBytes)return i.contents.set(r.subarray(t,t+n),o),n}if(me.expandFileStorage(i,o+n),i.contents.subarray&&r.subarray)i.contents.set(r.subarray(t,t+n),o);else for(var s=0;s<n;s++)i.contents[o+s]=r[t+s];return i.usedBytes=Math.max(i.usedBytes,o+n),n},llseek(e,r,t){var n=r;if(1===t?n+=e.position:2===t&&_e.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new _e.ErrnoError(28);return n},mmap(e,r,t,n,o){if(!_e.isFile(e.node.mode))throw new _e.ErrnoError(43);var a,i,s=e.node.contents;if(2&o||!s||s.buffer!==f.buffer){if(i=!0,!(a=fe()))throw new _e.ErrnoError(48);s&&((t>0||t+r<s.length)&&(s=s.subarray?s.subarray(t,t+r):Array.prototype.slice.call(s,t,t+r)),f.set(s,a))}else i=!1,a=s.byteOffset;return{ptr:a,allocated:i}},msync:(e,r,t,n,o)=>(me.stream_ops.write(e,r,0,n,t,!1),0)}},pe=async e=>{var t=await r(e);return new Uint8Array(t)},he=(...e)=>_e.createDataFile(...e),ve=[],ge=(e,r,t,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return ve.forEach(a=>{o||a.canHandle(r)&&(a.handle(e,r,t,n),o=!0)}),o},we=(e,r,t,n,o,a,i,s,u,l)=>{var c=r?ae.resolve(te.join2(e,r)):e;function d(t){function d(t){l?.(),s||he(e,r,t,n,o,u),a?.(),N()}ge(t,c,d,()=>{i?.(),N()})||d(t)}L(),"string"==typeof t?pe(t).then(d,i):d(t)},ye=e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r},Ee=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},_e={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(e){this.errno=e}},FSStream:class{shared={};get object(){return this.node}set object(e){this.node=e}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return!!(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.id=_e.nextInode++,this.name=r,this.mode=t,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return _e.isDir(this.mode)}get isDevice(){return _e.isChrdev(this.mode)}},lookupPath(e,r={}){if(!e)throw new _e.ErrnoError(44);r.follow_mount??=!0,te.isAbs(e)||(e=_e.cwd()+"/"+e);e:for(var t=0;t<40;t++){for(var n=e.split("/").filter(e=>!!e),o=_e.root,a="/",i=0;i<n.length;i++){var s=i===n.length-1;if(s&&r.parent)break;if("."!==n[i])if(".."!==n[i]){a=te.join2(a,n[i]);try{o=_e.lookupNode(o,n[i])}catch(l){if(44===l?.errno&&s&&r.noent_okay)return{path:a};throw l}if(!_e.isMountpoint(o)||s&&!r.follow_mount||(o=o.mounted.root),_e.isLink(o.mode)&&(!s||r.follow)){if(!o.node_ops.readlink)throw new _e.ErrnoError(52);var u=o.node_ops.readlink(o);te.isAbs(u)||(u=te.dirname(a)+"/"+u),e=u+"/"+n.slice(i+1).join("/");continue e}}else{if(a=te.dirname(a),_e.isRoot(o)){e=a+"/"+n.slice(i+1).join("/");continue e}o=o.parent}}return{path:a,node:o}}throw new _e.ErrnoError(32)},getPath(e){for(var r;;){if(_e.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n<r.length;n++)t=(t<<5)-t+r.charCodeAt(n)|0;return(e+t>>>0)%_e.nameTable.length},hashAddNode(e){var r=_e.hashName(e.parent.id,e.name);e.name_next=_e.nameTable[r],_e.nameTable[r]=e},hashRemoveNode(e){var r=_e.hashName(e.parent.id,e.name);if(_e.nameTable[r]===e)_e.nameTable[r]=e.name_next;else for(var t=_e.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=_e.mayLookup(e);if(t)throw new _e.ErrnoError(t);for(var n=_e.hashName(e.id,r),o=_e.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return _e.lookup(e,r)},createNode(e,r,t,n){var o=new _e.FSNode(e,r,t,n);return _e.hashAddNode(o),o},destroyNode(e){_e.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>_e.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!_e.isDir(e.mode))return 54;var r=_e.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){if(!_e.isDir(e.mode))return 54;try{return _e.lookupNode(e,r),20}catch(t){}return _e.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=_e.lookupNode(e,r)}catch(a){return a.errno}var o=_e.nodePermissions(e,"wx");if(o)return o;if(t){if(!_e.isDir(n.mode))return 54;if(_e.isRoot(n)||_e.getPath(n)===_e.cwd())return 10}else if(_e.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?_e.isLink(e.mode)?32:_e.isDir(e.mode)&&("r"!==_e.flagsToPermissionString(r)||576&r)?31:_e.nodePermissions(e,_e.flagsToPermissionString(r)):44,checkOpExists(e,r){if(!e)throw new _e.ErrnoError(r);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=_e.MAX_OPEN_FDS;e++)if(!_e.streams[e])return e;throw new _e.ErrnoError(33)},getStreamChecked(e){var r=_e.getStream(e);if(!r)throw new _e.ErrnoError(8);return r},getStream:e=>_e.streams[e],createStream:(e,r=-1)=>(e=Object.assign(new _e.FSStream,e),-1==r&&(r=_e.nextfd()),e.fd=r,_e.streams[r]=e,e),closeStream(e){_e.streams[e]=null},dupStream(e,r=-1){var t=_e.createStream(e,r);return t.stream_ops?.dup?.(t),t},doSetAttr(e,r,t){var n=e?.stream_ops.setattr,o=n?e:r;n??=r.node_ops.setattr,_e.checkOpExists(n,63),n(o,t)},chrdev_stream_ops:{open(e){var r=_e.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new _e.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){_e.devices[e]={stream_ops:r}},getDevice:e=>_e.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push(...n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),_e.syncFSRequests++,_e.syncFSRequests>1&&k(`warning: ${_e.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=_e.getMounts(_e.root.mount),n=0;function o(e){return _e.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach(r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)})},mount(e,r,t){var n,o="/"===t,a=!t;if(o&&_e.root)throw new _e.ErrnoError(10);if(!o&&!a){var i=_e.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,_e.isMountpoint(n))throw new _e.ErrnoError(10);if(!_e.isDir(n.mode))throw new _e.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return u.mount=s,s.root=u,o?_e.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount(e){var r=_e.lookupPath(e,{follow_mount:!1});if(!_e.isMountpoint(r.node))throw new _e.ErrnoError(28);var t=r.node,n=t.mounted,o=_e.getMounts(n);Object.keys(_e.nameTable).forEach(e=>{for(var r=_e.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&_e.destroyNode(r),r=t}}),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=_e.lookupPath(e,{parent:!0}).node,o=te.basename(e);if(!o)throw new _e.ErrnoError(28);if("."===o||".."===o)throw new _e.ErrnoError(20);var a=_e.mayCreate(n,o);if(a)throw new _e.ErrnoError(a);if(!n.node_ops.mknod)throw new _e.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},statfs:e=>_e.statfsNode(_e.lookupPath(e,{follow:!0}).node),statfsStream:e=>_e.statfsNode(e.node),statfsNode(e){var r={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:_e.nextInode,ffree:_e.nextInode-1,fsid:42,flags:2,namelen:255};return e.node_ops.statfs&&Object.assign(r,e.node_ops.statfs(e.mount.opts.root)),r},create:(e,r=438)=>(r&=4095,r|=32768,_e.mknod(e,r,0)),mkdir:(e,r=511)=>(r&=1023,r|=16384,_e.mknod(e,r,0)),mkdirTree(e,r){var t=e.split("/"),n="";for(var o of t)if(o){(n||te.isAbs(e))&&(n+="/"),n+=o;try{_e.mkdir(n,r)}catch(a){if(20!=a.errno)throw a}}},mkdev:(e,r,t)=>(void 0===t&&(t=r,r=438),r|=8192,_e.mknod(e,r,t)),symlink(e,r){if(!ae.resolve(e))throw new _e.ErrnoError(44);var t=_e.lookupPath(r,{parent:!0}).node;if(!t)throw new _e.ErrnoError(44);var n=te.basename(r),o=_e.mayCreate(t,n);if(o)throw new _e.ErrnoError(o);if(!t.node_ops.symlink)throw new _e.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,o=te.dirname(e),a=te.dirname(r),i=te.basename(e),s=te.basename(r);if(t=_e.lookupPath(e,{parent:!0}).node,n=_e.lookupPath(r,{parent:!0}).node,!t||!n)throw new _e.ErrnoError(44);if(t.mount!==n.mount)throw new _e.ErrnoError(75);var u,l=_e.lookupNode(t,i),c=ae.relative(e,a);if("."!==c.charAt(0))throw new _e.ErrnoError(28);if("."!==(c=ae.relative(r,o)).charAt(0))throw new _e.ErrnoError(55);try{u=_e.lookupNode(n,s)}catch(m){}if(l!==u){var d=_e.isDir(l.mode),f=_e.mayDelete(t,i,d);if(f)throw new _e.ErrnoError(f);if(f=u?_e.mayDelete(n,s,d):_e.mayCreate(n,s))throw new _e.ErrnoError(f);if(!t.node_ops.rename)throw new _e.ErrnoError(63);if(_e.isMountpoint(l)||u&&_e.isMountpoint(u))throw new _e.ErrnoError(10);if(n!==t&&(f=_e.nodePermissions(t,"w")))throw new _e.ErrnoError(f);_e.hashRemoveNode(l);try{t.node_ops.rename(l,n,s),l.parent=n}catch(m){throw m}finally{_e.hashAddNode(l)}}},rmdir(e){var r=_e.lookupPath(e,{parent:!0}).node,t=te.basename(e),n=_e.lookupNode(r,t),o=_e.mayDelete(r,t,!0);if(o)throw new _e.ErrnoError(o);if(!r.node_ops.rmdir)throw new _e.ErrnoError(63);if(_e.isMountpoint(n))throw new _e.ErrnoError(10);r.node_ops.rmdir(r,t),_e.destroyNode(n)},readdir(e){var r=_e.lookupPath(e,{follow:!0}).node;return _e.checkOpExists(r.node_ops.readdir,54)(r)},unlink(e){var r=_e.lookupPath(e,{parent:!0}).node;if(!r)throw new _e.ErrnoError(44);var t=te.basename(e),n=_e.lookupNode(r,t),o=_e.mayDelete(r,t,!1);if(o)throw new _e.ErrnoError(o);if(!r.node_ops.unlink)throw new _e.ErrnoError(63);if(_e.isMountpoint(n))throw new _e.ErrnoError(10);r.node_ops.unlink(r,t),_e.destroyNode(n)},readlink(e){var r=_e.lookupPath(e).node;if(!r)throw new _e.ErrnoError(44);if(!r.node_ops.readlink)throw new _e.ErrnoError(28);return r.node_ops.readlink(r)},stat(e,r){var t=_e.lookupPath(e,{follow:!r}).node;return _e.checkOpExists(t.node_ops.getattr,63)(t)},fstat(e){var r=_e.getStreamChecked(e),t=r.node,n=r.stream_ops.getattr,o=n?r:t;return n??=t.node_ops.getattr,_e.checkOpExists(n,63),n(o)},lstat:e=>_e.stat(e,!0),doChmod(e,r,t,n){_e.doSetAttr(e,r,{mode:4095&t|-4096&r.mode,ctime:Date.now(),dontFollow:n})},chmod(e,r,t){var n;n="string"==typeof e?_e.lookupPath(e,{follow:!t}).node:e,_e.doChmod(null,n,r,t)},lchmod(e,r){_e.chmod(e,r,!0)},fchmod(e,r){var t=_e.getStreamChecked(e);_e.doChmod(t,t.node,r,!1)},doChown(e,r,t){_e.doSetAttr(e,r,{timestamp:Date.now(),dontFollow:t})},chown(e,r,t,n){var o;o="string"==typeof e?_e.lookupPath(e,{follow:!n}).node:e,_e.doChown(null,o,n)},lchown(e,r,t){_e.chown(e,r,t,!0)},fchown(e,r,t){var n=_e.getStreamChecked(e);_e.doChown(n,n.node,!1)},doTruncate(e,r,t){if(_e.isDir(r.mode))throw new _e.ErrnoError(31);if(!_e.isFile(r.mode))throw new _e.ErrnoError(28);var n=_e.nodePermissions(r,"w");if(n)throw new _e.ErrnoError(n);_e.doSetAttr(e,r,{size:t,timestamp:Date.now()})},truncate(e,r){if(r<0)throw new _e.ErrnoError(28);var t;t="string"==typeof e?_e.lookupPath(e,{follow:!0}).node:e,_e.doTruncate(null,t,r)},ftruncate(e,r){var t=_e.getStreamChecked(e);if(r<0||!(2097155&t.flags))throw new _e.ErrnoError(28);_e.doTruncate(t,t.node,r)},utime(e,r,t){var n=_e.lookupPath(e,{follow:!0}).node;_e.checkOpExists(n.node_ops.setattr,63)(n,{atime:r,mtime:t})},open(e,r,t=438){if(""===e)throw new _e.ErrnoError(44);var o,a;if(t=64&(r="string"==typeof r?ye(r):r)?4095&t|32768:0,"object"==typeof e)o=e;else{a=e.endsWith("/");var i=_e.lookupPath(e,{follow:!(131072&r),noent_okay:!0});o=i.node,e=i.path}var s=!1;if(64&r)if(o){if(128&r)throw new _e.ErrnoError(20)}else{if(a)throw new _e.ErrnoError(31);o=_e.mknod(e,511|t,0),s=!0}if(!o)throw new _e.ErrnoError(44);if(_e.isChrdev(o.mode)&&(r&=-513),65536&r&&!_e.isDir(o.mode))throw new _e.ErrnoError(54);if(!s){var u=_e.mayOpen(o,r);if(u)throw new _e.ErrnoError(u)}512&r&&!s&&_e.truncate(o,0),r&=-131713;var l=_e.createStream({node:o,path:_e.getPath(o),flags:r,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return l.stream_ops.open&&l.stream_ops.open(l),s&&_e.chmod(o,511&t),!n.logReadFiles||1&r||e in _e.readFiles||(_e.readFiles[e]=1),l},close(e){if(_e.isClosed(e))throw new _e.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(r){throw r}finally{_e.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(_e.isClosed(e))throw new _e.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new _e.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new _e.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,o){if(n<0||o<0)throw new _e.ErrnoError(28);if(_e.isClosed(e))throw new _e.ErrnoError(8);if(1==(2097155&e.flags))throw new _e.ErrnoError(8);if(_e.isDir(e.node.mode))throw new _e.ErrnoError(31);if(!e.stream_ops.read)throw new _e.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new _e.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write(e,r,t,n,o,a){if(n<0||o<0)throw new _e.ErrnoError(28);if(_e.isClosed(e))throw new _e.ErrnoError(8);if(!(2097155&e.flags))throw new _e.ErrnoError(8);if(_e.isDir(e.node.mode))throw new _e.ErrnoError(31);if(!e.stream_ops.write)throw new _e.ErrnoError(28);e.seekable&&1024&e.flags&&_e.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new _e.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},mmap(e,r,t,n,o){if(2&n&&!(2&o)&&2!=(2097155&e.flags))throw new _e.ErrnoError(2);if(1==(2097155&e.flags))throw new _e.ErrnoError(2);if(!e.stream_ops.mmap)throw new _e.ErrnoError(43);if(!r)throw new _e.ErrnoError(28);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new _e.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t=_e.open(e,r.flags),n=_e.stat(e).size,o=new Uint8Array(n);return _e.read(t,o,0,n,0),"utf8"===r.encoding&&(o=Q(o)),_e.close(t),o},writeFile(e,r,t={}){t.flags=t.flags||577;var n=_e.open(e,t.flags,t.mode);if("string"==typeof r&&(r=new Uint8Array(le(r))),!ArrayBuffer.isView(r))throw new Error("Unsupported data type");_e.write(n,r,0,r.byteLength,void 0,t.canOwn),_e.close(n)},cwd:()=>_e.currentPath,chdir(e){var r=_e.lookupPath(e,{follow:!0});if(null===r.node)throw new _e.ErrnoError(44);if(!_e.isDir(r.node.mode))throw new _e.ErrnoError(54);var t=_e.nodePermissions(r.node,"x");if(t)throw new _e.ErrnoError(t);_e.currentPath=r.path},createDefaultDirectories(){_e.mkdir("/tmp"),_e.mkdir("/home"),_e.mkdir("/home/web_user")},createDefaultDevices(){_e.mkdir("/dev"),_e.registerDevice(_e.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n,llseek:()=>0}),_e.mkdev("/dev/null",_e.makedev(1,3)),de.register(_e.makedev(5,0),de.default_tty_ops),de.register(_e.makedev(6,0),de.default_tty1_ops),_e.mkdev("/dev/tty",_e.makedev(5,0)),_e.mkdev("/dev/tty1",_e.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(oe(e),r=e.byteLength),e[--r]);_e.createDevice("/dev","random",t),_e.createDevice("/dev","urandom",t),_e.mkdir("/dev/shm"),_e.mkdir("/dev/shm/tmp")},createSpecialDirectories(){_e.mkdir("/proc");var e=_e.mkdir("/proc/self");_e.mkdir("/proc/self/fd"),_e.mount({mount(){var r=_e.createNode(e,"fd",16895,73);return r.stream_ops={llseek:me.stream_ops.llseek},r.node_ops={lookup(e,r){var t=+r,n=_e.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path},id:t+1};return o.parent=o,o},readdir:()=>Array.from(_e.streams.entries()).filter(([e,r])=>r).map(([e,r])=>e.toString())},r}},{},"/proc/self/fd")},createStandardStreams(e,r,t){e?_e.createDevice("/dev","stdin",e):_e.symlink("/dev/tty","/dev/stdin"),r?_e.createDevice("/dev","stdout",null,r):_e.symlink("/dev/tty","/dev/stdout"),t?_e.createDevice("/dev","stderr",null,t):_e.symlink("/dev/tty1","/dev/stderr"),_e.open("/dev/stdin",0),_e.open("/dev/stdout",1),_e.open("/dev/stderr",1)},staticInit(){_e.nameTable=new Array(4096),_e.mount(me,{},"/"),_e.createDefaultDirectories(),_e.createDefaultDevices(),_e.createSpecialDirectories(),_e.filesystems={MEMFS:me}},init(e,r,t){_e.initialized=!0,e??=n.stdin,r??=n.stdout,t??=n.stderr,_e.createStandardStreams(e,r,t)},quit(){for(var e of(_e.initialized=!1,_e.streams))e&&_e.close(e)},findObject(e,r){var t=_e.analyzePath(e,r);return t.exists?t.object:null},analyzePath(e,r){try{e=(n=_e.lookupPath(e,{follow:!r})).path}catch(o){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=_e.lookupPath(e,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=te.basename(e),n=_e.lookupPath(e,{follow:!r}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(o){t.error=o.errno}return t},createPath(e,r,t,n){e="string"==typeof e?e:_e.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var i=te.join2(e,a);try{_e.mkdir(i)}catch(s){if(20!=s.errno)throw s}e=i}}return i},createFile(e,r,t,n,o){var a=te.join2("string"==typeof e?e:_e.getPath(e),r),i=Ee(n,o);return _e.create(a,i)},createDataFile(e,r,t,n,o,a){var i=r;e&&(e="string"==typeof e?e:_e.getPath(e),i=r?te.join2(e,r):e);var s=Ee(n,o),u=_e.create(i,s);if(t){if("string"==typeof t){for(var l=new Array(t.length),c=0,d=t.length;c<d;++c)l[c]=t.charCodeAt(c);t=l}_e.chmod(u,146|s);var f=_e.open(u,577);_e.write(f,t,0,t.length,0,a),_e.close(f),_e.chmod(u,s)}},createDevice(e,r,t,n){var o=te.join2("string"==typeof e?e:_e.getPath(e),r),a=Ee(!!t,!!n);_e.createDevice.major??=64;var i=_e.makedev(_e.createDevice.major++,0);return _e.registerDevice(i,{open(e){e.seekable=!1},close(e){n?.buffer?.length&&n(10)},read(e,r,n,o,a){for(var i=0,s=0;s<o;s++){var u;try{u=t()}catch(l){throw new _e.ErrnoError(29)}if(void 0===u&&0===i)throw new _e.ErrnoError(6);if(null==u)break;i++,r[n+s]=u}return i&&(e.node.atime=Date.now()),i},write(e,r,t,o,a){for(var i=0;i<o;i++)try{n(r[t+i])}catch(s){throw new _e.ErrnoError(29)}return o&&(e.node.mtime=e.node.ctime=Date.now()),i}}),_e.mkdev(o,a,i)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{e.contents=t(e.url),e.usedBytes=e.contents.length}catch(r){throw new _e.ErrnoError(29)}},createLazyFile(e,r,t,n,o){if("undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a={isDevice:!1,url:t},i=_e.createFile(e,r,a,n,o);a.contents?i.contents=a.contents:a.url&&(i.contents=null,i.url=a.url),Object.defineProperties(i,{usedBytes:{get:function(){return this.contents.length}}});var s={};function u(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s<i;s++)r[t+s]=a[o+s];else for(s=0;s<i;s++)r[t+s]=a.get(o+s);return i}return Object.keys(i.stream_ops).forEach(e=>{var r=i.stream_ops[e];s[e]=(...e)=>(_e.forceLoadFile(i),r(...e))}),s.read=(e,r,t,n,o)=>(_e.forceLoadFile(i),u(e,r,t,n,o)),s.mmap=(e,r,t,n,o)=>{_e.forceLoadFile(i);var a=fe();if(!a)throw new _e.ErrnoError(48);return u(e,f,a,r,t),{ptr:a,allocated:!0}},i.stream_ops=s,i}},be={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(te.isAbs(r))return r;var n;if(n=-100===e?_e.cwd():be.getStreamFromFD(e).path,0==r.length){if(!t)throw new _e.ErrnoError(44);return n}return n+"/"+r},writeStat(e,r){v[e>>2]=r.dev,v[e+4>>2]=r.mode,g[e+8>>2]=r.nlink,v[e+12>>2]=r.uid,v[e+16>>2]=r.gid,v[e+20>>2]=r.rdev,E[e+24>>3]=BigInt(r.size),v[e+32>>2]=4096,v[e+36>>2]=r.blocks;var t=r.atime.getTime(),n=r.mtime.getTime(),o=r.ctime.getTime();return E[e+40>>3]=BigInt(Math.floor(t/1e3)),g[e+48>>2]=t%1e3*1e3*1e3,E[e+56>>3]=BigInt(Math.floor(n/1e3)),g[e+64>>2]=n%1e3*1e3*1e3,E[e+72>>3]=BigInt(Math.floor(o/1e3)),g[e+80>>2]=o%1e3*1e3*1e3,E[e+88>>3]=BigInt(r.ino),0},writeStatFs(e,r){v[e+4>>2]=r.bsize,v[e+40>>2]=r.bsize,v[e+8>>2]=r.blocks,v[e+12>>2]=r.bfree,v[e+16>>2]=r.bavail,v[e+20>>2]=r.files,v[e+24>>2]=r.ffree,v[e+28>>2]=r.fsid,v[e+44>>2]=r.flags,v[e+36>>2]=r.namelen},doMsync(e,r,t,n,o){if(!_e.isFile(r.node.mode))throw new _e.ErrnoError(43);if(2&n)return 0;var a=m.slice(e,e+t);_e.msync(r,a,o,t,n)},getStreamFromFD:e=>_e.getStreamChecked(e),varargs:void 0,getStr:e=>Y(e)};function ke(e,r,t){be.varargs=t;try{var n=be.getStreamFromFD(e);switch(r){case 0:if((o=ee())<0)return-28;for(;_e.streams[o];)o++;return _e.dupStream(n,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=ee();return n.flags|=o,0;case 12:return o=re(),p[o+0>>1]=2,0}return-28}catch(a){if(void 0===_e||"ErrnoError"!==a.name)throw a;return-a.errno}}function xe(e,r,t){be.varargs=t;try{var n=be.getStreamFromFD(e);switch(r){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var o=n.tty.ops.ioctl_tcgets(n),a=re();v[a>>2]=o.c_iflag||0,v[a+4>>2]=o.c_oflag||0,v[a+8>>2]=o.c_cflag||0,v[a+12>>2]=o.c_lflag||0;for(var i=0;i<32;i++)f[a+i+17]=o.c_cc[i]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){a=re();var s=v[a>>2],u=v[a+4>>2],l=v[a+8>>2],c=v[a+12>>2],d=[];for(i=0;i<32;i++)d.push(f[a+i+17]);return n.tty.ops.ioctl_tcsets(n.tty,r,{c_iflag:s,c_oflag:u,c_cflag:l,c_lflag:c,c_cc:d})}return 0;case 21519:return n.tty?(a=re(),v[a>>2]=0,0):-59;case 21520:return n.tty?-28:-59;case 21531:return a=re(),_e.ioctl(n,r,a);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var m=n.tty.ops.ioctl_tiocgwinsz(n.tty);a=re(),p[a>>1]=m[0],p[a+2>>1]=m[1]}return 0;default:return-28}}catch(h){if(void 0===_e||"ErrnoError"!==h.name)throw h;return-h.errno}}function Pe(e,r,t,n){be.varargs=n;try{r=be.getStr(r),r=be.calculateAt(e,r);var o=n?ee():0;return _e.open(r,t,o).fd}catch(a){if(void 0===_e||"ErrnoError"!==a.name)throw a;return-a.errno}}var Ae=()=>I(""),Te={},Se=e=>{for(;e.length;){var r=e.pop();e.pop()(r)}};function Fe(e){return this.fromWireType(g[e>>2])}var De={},Be={},Ce={},Le=class extends Error{constructor(e){super(e),this.name="InternalError"}},Ne=e=>{throw new Le(e)},Ie=(e,r,t)=>{function n(r){var n=t(r);n.length!==e.length&&Ne("Mismatched type converter count");for(var o=0;o<e.length;++o)$e(e[o],n[o])}e.forEach(e=>Ce[e]=r);var o=new Array(r.length),a=[],i=0;r.forEach((e,r)=>{Be.hasOwnProperty(e)?o[r]=Be[e]:(a.push(e),De.hasOwnProperty(e)||(De[e]=[]),De[e].push(()=>{o[r]=Be[e],++i===a.length&&n(o)}))}),0===a.length&&n(o)},We=e=>{var r=Te[e];delete Te[e];var t=r.rawConstructor,n=r.rawDestructor,o=r.fields,a=o.map(e=>e.getterReturnType).concat(o.map(e=>e.setterArgumentType));Ie([e],a,e=>{var a={};return o.forEach((r,t)=>{var n=r.fieldName,i=e[t],s=e[t].optional,u=r.getter,l=r.getterContext,c=e[t+o.length],d=r.setter,f=r.setterContext;a[n]={read:e=>i.fromWireType(u(l,e)),write:(e,r)=>{var t=[];d(f,e,c.toWireType(t,r)),Se(t)},optional:s}}),[{name:r.name,fromWireType:e=>{var r={};for(var t in a)r[t]=a[t].read(e);return n(e),r},toWireType:(e,r)=>{for(var o in a)if(!(o in r)&&!a[o].optional)throw new TypeError(`Missing field: "${o}"`);var i=t();for(o in a)a[o].write(i,r[o]);return null!==e&&e.push(n,i),i},argPackAdvance:Ve,readValueFromPointer:Fe,destructorFunction:n}]})},je=e=>{for(var r="";;){var t=m[e++];if(!t)return r;r+=String.fromCharCode(t)}},Me=class extends Error{constructor(e){super(e),this.name="BindingError"}},Re=e=>{throw new Me(e)};function Oe(e,r,t={}){var n=r.name;if(e||Re(`type "${n}" must have a positive integer typeid pointer`),Be.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;Re(`Cannot register type '${n}' twice`)}if(Be[e]=r,delete Ce[e],De.hasOwnProperty(e)){var o=De[e];delete De[e],o.forEach(e=>e())}}function $e(e,r,t={}){return Oe(e,r,t)}var Ue=(e,r,t)=>{switch(r){case 1:return t?e=>f[e]:e=>m[e];case 2:return t?e=>p[e>>1]:e=>h[e>>1];case 4:return t?e=>v[e>>2]:e=>g[e>>2];case 8:return t?e=>E[e>>3]:e=>_[e>>3];default:throw new TypeError(`invalid integer width (${r}): ${e}`)}},ze=(e,r,t,n,o)=>{r=je(r);const a=0n===n;let i=e=>e;if(a){const e=8*t;i=r=>BigInt.asUintN(e,r),o=i(o)}$e(e,{name:r,fromWireType:i,toWireType:(e,r)=>("number"==typeof r&&(r=BigInt(r)),r),argPackAdvance:Ve,readValueFromPointer:Ue(r,t,!a),destructorFunction:null})},Ve=8,Ge=(e,r,t,n)=>{$e(e,{name:r=je(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?t:n},argPackAdvance:Ve,readValueFromPointer:function(e){return this.fromWireType(m[e])},destructorFunction:null})},Xe=[],He=[0,1,,1,null,1,!0,1,!1,1],qe=e=>{e>9&&0===--He[e+1]&&(He[e]=void 0,Xe.push(e))},Qe={toValue:e=>(e||Re(`Cannot use deleted val. handle = ${e}`),He[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const r=Xe.pop()||He.length;return He[r]=e,He[r+1]=1,r}}}},Ye={name:"emscripten::val",fromWireType:e=>{var r=Qe.toValue(e);return qe(e),r},toWireType:(e,r)=>Qe.toHandle(r),argPackAdvance:Ve,readValueFromPointer:Fe,destructorFunction:null},Je=e=>$e(e,Ye),Ke=(e,r,t)=>{if(void 0===e[r].overloadTable){var n=e[r];e[r]=function(...n){return e[r].overloadTable.hasOwnProperty(n.length)||Re(`Function '${t}' called with an invalid number of arguments (${n.length}) - expects one of (${e[r].overloadTable})!`),e[r].overloadTable[n.length].apply(this,n)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}},Ze=(e,r,t)=>{n.hasOwnProperty(e)?((void 0===t||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[t])&&Re(`Cannot register public name '${e}' twice`),Ke(n,e,e),n[e].overloadTable.hasOwnProperty(t)&&Re(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),n[e].overloadTable[t]=r):(n[e]=r,n[e].argCount=t)},er=(e,r,t)=>{switch(r){case 1:return t?function(e){return this.fromWireType(f[e])}:function(e){return this.fromWireType(m[e])};case 2:return t?function(e){return this.fromWireType(p[e>>1])}:function(e){return this.fromWireType(h[e>>1])};case 4:return t?function(e){return this.fromWireType(v[e>>2])}:function(e){return this.fromWireType(g[e>>2])};default:throw new TypeError(`invalid integer width (${r}): ${e}`)}},rr=(e,r,t,n)=>{function o(){}r=je(r),o.values={},$e(e,{name:r,constructor:o,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,r)=>r.value,argPackAdvance:Ve,readValueFromPointer:er(r,t,n),destructorFunction:null}),Ze(r,o)},tr=(e,r)=>Object.defineProperty(r,"name",{value:e}),nr=e=>{var r=Mt(e),t=je(r);return Rt(r),t},or=(e,r)=>{var t=Be[e];return void 0===t&&Re(`${r} has unknown type ${nr(e)}`),t},ar=(e,r,t)=>{var n=or(e,"enum");r=je(r);var o=n.constructor,a=Object.create(n.constructor.prototype,{value:{value:t},constructor:{value:tr(`${n.name}_${r}`,function(){})}});o.values[t]=a,o[r]=a},ir=(e,r)=>{switch(r){case 4:return function(e){return this.fromWireType(w[e>>2])};case 8:return function(e){return this.fromWireType(y[e>>3])};default:throw new TypeError(`invalid float width (${r}): ${e}`)}},sr=(e,r,t)=>{$e(e,{name:r=je(r),fromWireType:e=>e,toWireType:(e,r)=>r,argPackAdvance:Ve,readValueFromPointer:ir(r,t),destructorFunction:null})};function ur(e){for(var r=1;r<e.length;++r)if(null!==e[r]&&void 0===e[r].destructorFunction)return!0;return!1}function lr(e,r,t,n,o,a){var i=r.length;i<2&&Re("argTypes array size mismatch! Must at least get return value and 'this' types!"),r[1];var s=ur(r),u="void"!==r[0].name,l=i-2,c=new Array(l),d=[],f=[];return tr(e,function(...e){var t;f.length=0,d.length=1,d[0]=o;for(var a=0;a<l;++a)c[a]=r[a+2].toWireType(f,e[a]),d.push(c[a]);function i(e){if(s)Se(f);else for(var n=2;n<r.length;n++){var o=1===n?t:c[n-2];null!==r[n].destructorFunction&&r[n].destructorFunction(o)}if(u)return r[0].fromWireType(e)}return i(n(...d))})}var cr,dr=(e,r)=>{for(var t=[],n=0;n<e;n++)t.push(g[r+4*n>>2]);return t},fr=(e,r,t)=>{n.hasOwnProperty(e)||Ne("Replacing nonexistent public symbol"),void 0!==n[e].overloadTable&&void 0!==t?n[e].overloadTable[t]=r:(n[e]=r,n[e].argCount=t)},mr=[],pr=e=>{var r=mr[e];return r||(mr[e]=r=cr.get(e)),r},hr=(e,r,t=!1)=>{function n(){return pr(r)}e=je(e);var o=n();return"function"!=typeof o&&Re(`unknown function pointer with signature ${e}: ${r}`),o};class vr extends Error{}var gr,wr=(e,r)=>{var t=[],n={};function o(e){n[e]||Be[e]||(Ce[e]?Ce[e].forEach(o):(t.push(e),n[e]=!0))}throw r.forEach(o),new vr(`${e}: `+t.map(nr).join([", "]))},yr=e=>{const r=(e=e.trim()).indexOf("(");return-1===r?e:e.slice(0,r)},Er=(e,r,t,n,o,a,i,s)=>{var u=dr(r,t);e=je(e),e=yr(e),o=hr(n,o,i),Ze(e,function(){wr(`Cannot call ${e} due to unbound types`,u)},r-1),Ie([],u,t=>{var n=[t[0],null].concat(t.slice(1));return fr(e,lr(e,n,null,o,a),r-1),[]})},_r=(e,r,t,n,o)=>{r=je(r);let a=e=>e;if(0===n){var i=32-8*t;a=e=>e<<i>>>i,o=a(o)}$e(e,{name:r,fromWireType:a,toWireType:(e,r)=>r,argPackAdvance:Ve,readValueFromPointer:Ue(r,t,0!==n),destructorFunction:null})},br=(e,r,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][r];function o(e){var r=g[e>>2],t=g[e+4>>2];return new n(f.buffer,t,r)}$e(e,{name:t=je(t),fromWireType:o,argPackAdvance:Ve,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},kr=(e,r,t)=>ue(e,m,r,t),xr=(e,r)=>{$e(e,{name:r=je(r),fromWireType(e){for(var r,t=g[e>>2],n=e+4,o=n,a=0;a<=t;++a){var i=n+a;if(a==t||0==m[i]){var s=Y(o,i-o);void 0===r?r=s:(r+=String.fromCharCode(0),r+=s),o=i+1}}return Rt(e),r},toWireType(e,r){var t;r instanceof ArrayBuffer&&(r=new Uint8Array(r));var n="string"==typeof r;n||ArrayBuffer.isView(r)&&1==r.BYTES_PER_ELEMENT||Re("Cannot pass non-string to std::string"),t=n?se(r):r.length;var o=Ot(4+t+1),a=o+4;return g[o>>2]=t,n?kr(r,a,t+1):m.set(r,a),null!==e&&e.push(Rt,o),o},argPackAdvance:Ve,readValueFromPointer:Fe,destructorFunction(e){Rt(e)}})},Pr="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Ar=(e,r)=>{for(var t=e>>1,n=t+r/2,o=t;!(o>=n)&&h[o];)++o;if(o-t>16&&Pr)return Pr.decode(h.subarray(t,o));for(var a="",i=t;!(i>=n);++i){var s=h[i];if(0==s)break;a+=String.fromCharCode(s)}return a},Tr=(e,r,t)=>{if(t??=2147483647,t<2)return 0;for(var n=r,o=(t-=2)<2*e.length?t/2:e.length,a=0;a<o;++a){var i=e.charCodeAt(a);p[r>>1]=i,r+=2}return p[r>>1]=0,r-n},Sr=e=>2*e.length,Fr=(e,r)=>{for(var t="",n=0;!(n>=r/4);n++){var o=v[e+4*n>>2];if(!o)break;t+=String.fromCodePoint(o)}return t},Dr=(e,r,t)=>{if(t??=2147483647,t<4)return 0;for(var n=r,o=n+t-4,a=0;a<e.length;++a){var i=e.codePointAt(a);if(i>65535&&a++,v[r>>2]=i,(r+=4)+4>o)break}return v[r>>2]=0,r-n},Br=e=>{for(var r=0,t=0;t<e.length;++t)e.codePointAt(t)>65535&&t++,r+=4;return r},Cr=(e,r,t)=>{var n,o,a,i;t=je(t),2===r?(n=Ar,o=Tr,i=Sr,a=e=>h[e>>1]):4===r&&(n=Fr,o=Dr,i=Br,a=e=>g[e>>2]),$e(e,{name:t,fromWireType:e=>{for(var t,o=g[e>>2],i=e+4,s=0;s<=o;++s){var u=e+4+s*r;if(s==o||0==a(u)){var l=n(i,u-i);void 0===t?t=l:(t+=String.fromCharCode(0),t+=l),i=u+r}}return Rt(e),t},toWireType:(e,n)=>{"string"!=typeof n&&Re(`Cannot pass non-string to C++ string type ${t}`);var a=i(n),s=Ot(4+a+r);return g[s>>2]=a/r,o(n,s+4,a+r),null!==e&&e.push(Rt,s),s},argPackAdvance:Ve,readValueFromPointer:Fe,destructorFunction(e){Rt(e)}})},Lr=(e,r,t,n,o,a)=>{Te[e]={name:je(r),rawConstructor:hr(t,n),rawDestructor:hr(o,a),fields:[]}},Nr=(e,r,t,n,o,a,i,s,u,l)=>{Te[e].fields.push({fieldName:je(r),getterReturnType:t,getter:hr(n,o),getterContext:a,setterArgumentType:i,setter:hr(s,u),setterContext:l})},Ir=(e,r)=>{$e(e,{isVoid:!0,name:r=je(r),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,r)=>{}})},Wr=e=>{do{var r=g[e>>2],t=g[(e+=4)>>2],n=g[(e+=4)>>2];e+=4;var o=Y(r);_e.createPath("/",te.dirname(o),!0,!0),_e.createDataFile(o,null,f.subarray(n,n+t),!0,!0,!0)}while(g[e>>2])},jr=(e,r,t)=>{var n=[],o=e.toWireType(n,t);return n.length&&(g[r>>2]=Qe.toHandle(n)),o},Mr=(e,r,t)=>(e=Qe.toValue(e),r=or(r,"emval::as"),jr(r,t,e)),Rr={},Or=e=>{var r=Rr[e];return void 0===r?je(e):r},$r=[],Ur=(e,r,t,n,o)=>(e=$r[e])(r=Qe.toValue(r),r[t=Or(t)],n,o),zr=()=>globalThis,Vr=e=>0===e?Qe.toHandle(zr()):(e=Or(e),Qe.toHandle(zr()[e])),Gr=e=>{var r=$r.length;return $r.push(e),r},Xr=(e,r)=>{for(var t=new Array(e),n=0;n<e;++n)t[n]=or(g[r+4*n>>2],`parameter ${n}`);return t},Hr=(e,r,t)=>{var n=Xr(e,r),o=n.shift();e--;var a=new Array(e),i=(r,i,s,u)=>{for(var l=0,c=0;c<e;++c)a[c]=n[c].readValueFromPointer(u+l),l+=n[c].argPackAdvance;var d=1===t?Reflect.construct(i,a):i.apply(r,a);return jr(o,s,d)},s=`methodCaller<(${n.map(e=>e.name).join(", ")}) => ${o.name}>`;return Gr(tr(s,i))},qr=(e,r)=>(e=Qe.toValue(e),r=Qe.toValue(r),Qe.toHandle(e[r])),Qr=e=>{e>9&&(He[e+1]+=1)},Yr=(e,r)=>(e=Qe.toValue(e))instanceof(r=Qe.toValue(r)),Jr=e=>"number"==typeof(e=Qe.toValue(e)),Kr=e=>{e=Qe.toValue(e);for(var r=new Array(e.length),t=0;t<e.length;t++)r[t]=e[t];return Qe.toHandle(r)},Zr=e=>Qe.toHandle(Or(e)),et=()=>Qe.toHandle({}),rt=e=>{var r=Qe.toValue(e);Se(r),qe(e)},tt=(e,r,t)=>{e=Qe.toValue(e),r=Qe.toValue(r),t=Qe.toValue(t),e[r]=t},nt=(e,r)=>{var t=(e=or(e,"_emval_take_value")).readValueFromPointer(r);return Qe.toHandle(t)},ot=(e,r,t,n)=>{var o=(new Date).getFullYear(),a=new Date(o,0,1),i=new Date(o,6,1),s=a.getTimezoneOffset(),u=i.getTimezoneOffset(),l=Math.max(s,u);g[e>>2]=60*l,v[r>>2]=Number(s!=u);var c=e=>{var r=e>=0?"-":"+",t=Math.abs(e);return`UTC${r}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%60).padStart(2,"0")}`},d=c(s),f=c(u);u<s?(kr(d,t,17),kr(f,n,17)):(kr(d,n,17),kr(f,t,17))},at=()=>2147483648,it=(e,r)=>Math.ceil(e/r)*r,st=e=>{var r=(e-d.buffer.byteLength+65535)/65536|0;try{return d.grow(r),A(),1}catch(t){}},ut=e=>{var r=m.length;e>>>=0;var t=at();if(e>t)return!1;for(var n=1;n<=4;n*=2){var o=r*(1+.2/n);o=Math.min(o,e+100663296);var a=Math.min(t,it(Math.max(e,o),65536));if(st(a))return!0}return!1},lt=e=>!!(e.dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")),ct=e=>!!(e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")),dt=e=>!!(e.extPolygonOffsetClamp=e.getExtension("EXT_polygon_offset_clamp")),ft=e=>!!(e.extClipControl=e.getExtension("EXT_clip_control")),mt=e=>!!(e.webglPolygonMode=e.getExtension("WEBGL_polygon_mode")),pt=e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")),ht=e=>{var r=["EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return(e.getSupportedExtensions()||[]).filter(e=>r.includes(e))},vt={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{vt.lastError||(vt.lastError=e)},getNewId:e=>{for(var r=vt.counter++,t=e.length;t<r;t++)e[t]=null;return r},genObject:(e,r,t,n)=>{for(var o=0;o<e;o++){var a=gr[t](),i=a&&vt.getNewId(n);a?(a.name=i,n[i]=a):vt.recordError(1282),v[r+4*o>>2]=i}},getSource:(e,r,t,n)=>{for(var o="",a=0;a<r;++a){var i=n?g[n+4*a>>2]:void 0;o+=Y(g[t+4*a>>2],i)}return o},createContext:(e,r)=>{if(n.preinitializedWebGLContext){var t=n.preinitializedWebGLContext;r.majorVersion=Number(t.getParameter(t.VERSION).match(/^WebGL (\d+).\d+/)[1])}else{if(!e.getContextSafariWebGL2Fixed){function o(r,t){var n=e.getContextSafariWebGL2Fixed(r,t);return"webgl"==r==n instanceof WebGLRenderingContext?n:null}e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=o}t=e.getContext("webgl2",r)}return t?vt.registerContext(t,r):0},registerContext:(e,r)=>{var t=vt.getNewId(vt.contexts),n={handle:t,attributes:r,version:r.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),vt.contexts[t]=n,(void 0===r.enableExtensionsByDefault||r.enableExtensionsByDefault)&&vt.initExtensions(n),t},makeContextCurrent:e=>(vt.currentContext=vt.contexts[e],n.ctx=gr=vt.currentContext?.GLctx,!(e&&!gr)),getContext:e=>vt.contexts[e],deleteContext:e=>{vt.currentContext===vt.contexts[e]&&(vt.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(vt.contexts[e].GLctx.canvas),vt.contexts[e]?.GLctx.canvas&&(vt.contexts[e].GLctx.canvas.GLctxObject=void 0),vt.contexts[e]=null},initExtensions:e=>{if(e||=vt.currentContext,!e.initExtensionsDone){e.initExtensionsDone=!0;var r=e.GLctx;pt(r),dt(r),ft(r),mt(r),lt(r),ct(r),e.version>=2&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!r.disjointTimerQueryExt)&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query")),ht(r).forEach(e=>{e.includes("lose_context")||e.includes("debug")||r.getExtension(e)})}}},gt=["default","low-power","high-performance"],wt=e=>e>2?Y(e):e,yt=[0,document,window],Et=e=>(e=wt(e),yt[e]||document.querySelector(e)),_t=(e,r)=>{var t=r>>2,n=v[t+2],o={alpha:!!f[r+0],depth:!!f[r+1],stencil:!!f[r+2],antialias:!!f[r+3],premultipliedAlpha:!!f[r+4],preserveDrawingBuffer:!!f[r+5],powerPreference:gt[n],failIfMajorPerformanceCaveat:!!f[r+12],majorVersion:v[t+4],minorVersion:v[t+5],enableExtensionsByDefault:f[r+24],explicitSwapControl:f[r+25],proxyContextToMainThread:v[t+7],renderViaOffscreenBackBuffer:f[r+32]},a=Et(e);return a?o.explicitSwapControl?0:vt.createContext(a,o):0},bt=e=>vt.makeContextCurrent(e)?0:-5,kt={},xt=()=>o||"./this.program",Pt=()=>{if(!Pt.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.language||"C").replace("-","_")+".UTF-8",_:xt()};for(var r in kt)void 0===kt[r]?delete e[r]:e[r]=kt[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);Pt.strings=t}return Pt.strings},At=(e,r)=>{var t=0,n=0;for(var o of Pt()){var a=r+t;g[e+n>>2]=a,t+=kr(o,a,1/0)+1,n+=4}return 0},Tt=(e,r)=>{var t=Pt();g[e>>2]=t.length;var n=0;for(var o of t)n+=se(o)+1;return g[r>>2]=n,0};function St(e){try{var r=be.getStreamFromFD(e);return _e.close(r),0}catch(t){if(void 0===_e||"ErrnoError"!==t.name)throw t;return t.errno}}var Ft=(e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var i=g[r>>2],s=g[r+4>>2];r+=8;var u=_e.read(e,f,i,s,n);if(u<0)return-1;if(o+=u,u<s)break}return o};function Dt(e,r,t,n){try{var o=be.getStreamFromFD(e),a=Ft(o,r,t);return g[n>>2]=a,0}catch(i){if(void 0===_e||"ErrnoError"!==i.name)throw i;return i.errno}}var Bt=9007199254740992,Ct=-9007199254740992,Lt=e=>e<Ct||e>Bt?NaN:Number(e);function Nt(e,r,t,n){r=Lt(r);try{if(isNaN(r))return 61;var o=be.getStreamFromFD(e);return _e.llseek(o,r,t),E[n>>3]=BigInt(o.position),o.getdents&&0===r&&0===t&&(o.getdents=null),0}catch(a){if(void 0===_e||"ErrnoError"!==a.name)throw a;return a.errno}}var It=(e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var i=g[r>>2],s=g[r+4>>2];r+=8;var u=_e.write(e,f,i,s,n);if(u<0)return-1;if(o+=u,u<s)break}return o};function Wt(e,r,t,n){try{var o=be.getStreamFromFD(e),a=It(o,r,t);return g[n>>2]=a,0}catch(i){if(void 0===_e||"ErrnoError"!==i.name)throw i;return i.errno}}var jt,Mt,Rt,Ot,$t=e=>gr.activeTexture(e),Ut=(e,r)=>{gr.attachShader(vt.programs[e],vt.shaders[r])},zt=(e,r,t)=>{gr.bindAttribLocation(vt.programs[e],r,Y(t))},Vt=(e,r)=>{35051==e?gr.currentPixelPackBufferBinding=r:35052==e&&(gr.currentPixelUnpackBufferBinding=r),gr.bindBuffer(e,vt.buffers[r])},Gt=(e,r,t)=>{gr.bindBufferBase(e,r,vt.buffers[t])},Xt=(e,r,t,n,o)=>{gr.bindBufferRange(e,r,vt.buffers[t],n,o)},Ht=(e,r)=>{gr.bindFramebuffer(e,vt.framebuffers[r])},qt=(e,r)=>{gr.bindTexture(e,vt.textures[r])},Qt=e=>{gr.bindVertexArray(vt.vaos[e])},Yt=(e,r,t,n)=>{t&&r?gr.bufferData(e,m,n,t,r):gr.bufferData(e,r,n)},Jt=(e,r,t,n)=>{t&&gr.bufferSubData(e,r,m,n,t)},Kt=e=>gr.clear(e),Zt=(e,r,t,n)=>gr.clearBufferfi(e,r,t,n),en=(e,r,t)=>{gr.clearBufferfv(e,r,w,t>>2)},rn=(e,r,t)=>{gr.clearBufferiv(e,r,v,t>>2)},tn=(e,r,t)=>{gr.clearBufferuiv(e,r,g,t>>2)},nn=(e,r,t,n)=>gr.clearColor(e,r,t,n),on=e=>gr.clearDepth(e),an=e=>gr.clearStencil(e),sn=(e,r,t,n)=>{gr.colorMask(!!e,!!r,!!t,!!n)},un=e=>{gr.compileShader(vt.shaders[e])},ln=()=>{var e=vt.getNewId(vt.programs),r=gr.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,vt.programs[e]=r,e},cn=e=>{var r=vt.getNewId(vt.shaders);return vt.shaders[r]=gr.createShader(e),r},dn=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2],o=vt.buffers[n];o&&(gr.deleteBuffer(o),o.name=0,vt.buffers[n]=null,n==gr.currentPixelPackBufferBinding&&(gr.currentPixelPackBufferBinding=0),n==gr.currentPixelUnpackBufferBinding&&(gr.currentPixelUnpackBufferBinding=0))}},fn=(e,r)=>{for(var t=0;t<e;++t){var n=v[r+4*t>>2],o=vt.framebuffers[n];o&&(gr.deleteFramebuffer(o),o.name=0,vt.framebuffers[n]=null)}},mn=e=>{if(e){var r=vt.programs[e];r?(gr.deleteProgram(r),r.name=0,vt.programs[e]=null):vt.recordError(1281)}},pn=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2],o=vt.queries[n];o&&(gr.deleteQuery(o),vt.queries[n]=null)}},hn=e=>{if(e){var r=vt.shaders[e];r?(gr.deleteShader(r),vt.shaders[e]=null):vt.recordError(1281)}},vn=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2],o=vt.textures[n];o&&(gr.deleteTexture(o),o.name=0,vt.textures[n]=null)}},gn=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2];gr.deleteVertexArray(vt.vaos[n]),vt.vaos[n]=null}},wn=(e,r,t)=>{gr.drawArrays(e,r,t)},yn=[],En=(e,r)=>{for(var t=yn[e],n=0;n<e;n++)t[n]=v[r+4*n>>2];gr.drawBuffers(t)},_n=(e,r,t,n)=>{gr.drawElements(e,r,t,n)},bn=(e,r,t,n,o)=>{gr.drawElementsInstanced(e,r,t,n,o)},kn=e=>{gr.enableVertexAttribArray(e)},xn=(e,r,t,n,o)=>{gr.framebufferTexture2D(e,r,t,vt.textures[n],o)},Pn=(e,r)=>{vt.genObject(e,r,"createBuffer",vt.buffers)},An=(e,r)=>{vt.genObject(e,r,"createFramebuffer",vt.framebuffers)},Tn=(e,r)=>{vt.genObject(e,r,"createQuery",vt.queries)},Sn=(e,r)=>{vt.genObject(e,r,"createTexture",vt.textures)},Fn=(e,r)=>{vt.genObject(e,r,"createVertexArray",vt.vaos)},Dn=e=>gr.generateMipmap(e),Bn=(e,r)=>{g[e>>2]=r;var t=g[e>>2];g[e+4>>2]=(r-t)/4294967296},Cn=()=>{var e=ht(gr);return e=e.concat(e.map(e=>"GL_"+e))},Ln=(e,r,t)=>{if(r){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return;case 34814:case 36345:n=0;break;case 34466:var o=gr.getParameter(34467);n=o?o.length:0;break;case 33309:if(vt.currentContext.version<2)return void vt.recordError(1282);n=Cn().length;break;case 33307:case 33308:if(vt.currentContext.version<2)return void vt.recordError(1280);n=33307==e?3:0}if(void 0===n){var a=gr.getParameter(e);switch(typeof a){case"number":n=a;break;case"boolean":n=a?1:0;break;case"string":return void vt.recordError(1280);case"object":if(null===a)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void vt.recordError(1280)}else{if(a instanceof Float32Array||a instanceof Uint32Array||a instanceof Int32Array||a instanceof Array){for(var i=0;i<a.length;++i)switch(t){case 0:v[r+4*i>>2]=a[i];break;case 2:w[r+4*i>>2]=a[i];break;case 4:f[r+i]=a[i]?1:0}return}try{n=0|a.name}catch(s){return vt.recordError(1280),void k(`GL_INVALID_ENUM in glGet${t}v: Unknown object returned from WebGL getParameter(${e})! (error: ${s})`)}}break;default:return vt.recordError(1280),void k(`GL_INVALID_ENUM in glGet${t}v: Native code calling glGet${t}v(${e}) and it returns ${a} of type ${typeof a}!`)}}switch(t){case 1:Bn(r,n);break;case 0:v[r>>2]=n;break;case 2:w[r>>2]=n;break;case 4:f[r]=n?1:0}}else vt.recordError(1281)},Nn=(e,r)=>Ln(e,r,0),In=(e,r,t)=>{if(t){var n,o=vt.queries[e];n=vt.currentContext.version<2?gr.disjointTimerQueryExt.getQueryObjectEXT(o,r):gr.getQueryParameter(o,r),Bn(t,"boolean"==typeof n?n?1:0:n)}else vt.recordError(1281)},Wn=(e,r,t)=>{if(t){var n,o=vt.queries[e],a=gr.disjointTimerQueryExt.getQueryObjectEXT(o,r);n="boolean"==typeof a?a?1:0:a,v[t>>2]=n}else vt.recordError(1281)},jn=(e,r)=>gr.getUniformBlockIndex(vt.programs[e],Y(r)),Mn=e=>parseInt(e),Rn=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),On=e=>{var r,t,n=e.uniformLocsById,o=e.uniformSizeAndIdsByName;if(!n){e.uniformLocsById=n={},e.uniformArrayNamesById={};var a=gr.getProgramParameter(e,35718);for(r=0;r<a;++r){var i=gr.getActiveUniform(e,r),s=i.name,u=i.size,l=Rn(s),c=l>0?s.slice(0,l):s,d=e.uniformIdCounter;for(e.uniformIdCounter+=u,o[c]=[u,d],t=0;t<u;++t)n[d]=t,e.uniformArrayNamesById[d++]=c}}},$n=(e,r)=>{if(r=Y(r),e=vt.programs[e]){On(e);var t=e.uniformLocsById,n=0,o=r,a=Rn(r);a>0&&(n=Mn(r.slice(a+1))>>>0,o=r.slice(0,a));var i=e.uniformSizeAndIdsByName[o];if(i&&n<i[0]&&(t[n+=i[1]]=t[n]||gr.getUniformLocation(e,r)))return n}else vt.recordError(1281);return-1},Un=e=>{e=vt.programs[e],gr.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},zn=(e,r)=>{3317==e?vt.unpackAlignment=r:3314==e&&(vt.unpackRowLength=r),gr.pixelStorei(e,r)},Vn=(e,r)=>{gr.disjointTimerQueryExt.queryCounterEXT(vt.queries[e],r)},Gn=e=>gr.readBuffer(e),Xn=e=>0==(e-=5120)?f:1==e?m:2==e?p:4==e?v:6==e?w:5==e||28922==e||28520==e||30779==e||30782==e?g:h,Hn=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),qn=(e,r,t,n,o,a,i)=>{if(gr.currentPixelPackBufferBinding)gr.readPixels(e,r,t,n,o,a,i);else{var s=Xn(a),u=Hn(i,s);gr.readPixels(e,r,t,n,o,a,s,u)}},Qn=(e,r,t,n)=>{var o=vt.getSource(e,r,t,n);gr.shaderSource(vt.shaders[e],o)},Yn=(e,r,t,n,o,a,i,s,u,l)=>{if(gr.currentPixelUnpackBufferBinding)gr.texImage3D(e,r,t,n,o,a,i,s,u,l);else if(l){var c=Xn(u);gr.texImage3D(e,r,t,n,o,a,i,s,u,c,Hn(l,c))}else gr.texImage3D(e,r,t,n,o,a,i,s,u,null)},Jn=(e,r,t)=>gr.texParameteri(e,r,t),Kn=(e,r,t,n,o)=>gr.texStorage2D(e,r,t,n,o),Zn=(e,r,t)=>{function n(e,r){return e+r-1&-r}return r*n((vt.unpackRowLength||e)*t,vt.unpackAlignment)},eo=e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1),ro=(e,r,t,n,o,a)=>{var i=Xn(e),s=eo(r)*i.BYTES_PER_ELEMENT,u=Zn(t,n,s);return i.subarray(Hn(o,i),Hn(o+u,i))},to=(e,r,t,n,o,a,i,s,u)=>{if(gr.currentPixelUnpackBufferBinding)gr.texSubImage2D(e,r,t,n,o,a,i,s,u);else if(u){var l=Xn(s);gr.texSubImage2D(e,r,t,n,o,a,i,s,l,Hn(u,l))}else{var c=u?ro(s,i,o,a,u):null;gr.texSubImage2D(e,r,t,n,o,a,i,s,c)}},no=(e,r,t,n,o,a,i,s,u,l,c)=>{if(gr.currentPixelUnpackBufferBinding)gr.texSubImage3D(e,r,t,n,o,a,i,s,u,l,c);else if(c){var d=Xn(l);gr.texSubImage3D(e,r,t,n,o,a,i,s,u,l,d,Hn(c,d))}else gr.texSubImage3D(e,r,t,n,o,a,i,s,u,l,null)},oo=e=>{var r=gr.currentProgram;if(r){var t=r.uniformLocsById[e];return"number"==typeof t&&(r.uniformLocsById[e]=t=gr.getUniformLocation(r,r.uniformArrayNamesById[e]+(t>0?`[${t}]`:""))),t}vt.recordError(1282)},ao=(e,r)=>{gr.uniform1i(oo(e),r)},io=(e,r,t)=>{e=vt.programs[e],gr.uniformBlockBinding(e,r,t)},so=e=>{e=vt.programs[e],gr.useProgram(e),gr.currentProgram=e},uo=(e,r,t,n,o)=>{gr.vertexAttribIPointer(e,r,t,n,o)},lo=(e,r,t,n,o,a)=>{gr.vertexAttribPointer(e,r,t,!!n,o,a)},co=(e,r)=>{e<128?r.push(e):r.push(e%128|128,e>>7)},fo=e=>{for(var r={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},t={parameters:[],results:"v"==e[0]?[]:[r[e[0]]]},n=1;n<e.length;++n)t.parameters.push(r[e[n]]);return t},mo=(e,r)=>{var t=e.slice(0,1),n=e.slice(1),o={i:127,p:127,j:126,f:125,d:124,e:111};for(var a of(r.push(96),co(n.length,r),n))r.push(o[a]);"v"==t?r.push(0):r.push(1,o[t])},po=(e,r)=>{if("function"==typeof WebAssembly.Function)return new WebAssembly.Function(fo(r),e);var t=[1];mo(r,t);var n=[0,97,115,109,1,0,0,0,1];co(t.length,n),n.push(...t),n.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var o=new WebAssembly.Module(new Uint8Array(n));return new WebAssembly.Instance(o,{e:{f:e}}).exports.f},ho=(e,r)=>{if(jt)for(var t=e;t<e+r;t++){var n=pr(t);n&&jt.set(n,t)}},vo=e=>(jt||(jt=new WeakMap,ho(0,cr.length)),jt.get(e)||0),go=[],wo=()=>{if(go.length)return go.pop();try{cr.grow(1)}catch(k){if(!(k instanceof RangeError))throw k;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return cr.length-1},yo=(e,r)=>{cr.set(e,r),mr[e]=cr.get(e)},Eo=(e,r)=>{var t=vo(e);if(t)return t;var n=wo();try{yo(n,e)}catch(k){if(!(k instanceof TypeError))throw k;var o=po(e,r);yo(n,o)}return jt.set(e,n),n},_o=(...e)=>_e.createPath(...e),bo=(...e)=>_e.unlink(...e),ko=(...e)=>_e.createLazyFile(...e),xo=(...e)=>_e.createDevice(...e);_e.createPreloadedFile=we,_e.staticInit(),me.doesNotExistError=new _e.ErrnoError(44),me.doesNotExistError.stack="<generic error, no stack>";for(let Do=0;Do<32;++Do)yn.push(new Array(Do));function Po(e){Mt=e.eb,n._free=Rt=e.gb,n._malloc=Ot=e.hb}n.noExitRuntime&&n.noExitRuntime,n.preloadPlugins&&(ve=n.preloadPlugins),n.print&&(b=n.print),n.printErr&&(k=n.printErr),n.wasmBinary&&(u=n.wasmBinary),n.arguments&&n.arguments,n.thisProgram&&(o=n.thisProgram),n.addRunDependency=L,n.removeRunDependency=N,n.addFunction=Eo,n.stringToUTF8=kr,n.lengthBytesUTF8=se,n.specialHTMLTargets=yt,n.FS_createPreloadedFile=we,n.FS_unlink=bo,n.FS_createPath=_o,n.FS_createDevice=xo,n.FS_createDataFile=he,n.FS_createLazyFile=ko;var Ao={ba:J,o:Z,$:ke,Ya:xe,_a:Pe,Za:Ae,ia:We,K:ze,ga:Ge,ea:Je,L:rr,k:ar,J:sr,e:Er,i:_r,f:br,fa:xr,A:Cr,ja:Lr,q:Nr,ha:Ir,da:Wr,E:Mr,B:Ur,a:qe,r:Vr,C:Hr,h:qr,D:Qr,t:Yr,ka:Jr,ma:Kr,b:Zr,g:et,n:rt,c:tt,d:nt,ca:ot,$a:ut,pa:_t,na:bt,Ua:At,Va:Tt,aa:St,Wa:Dt,Xa:Nt,I:Wt,Na:$t,v:Ut,Ea:zt,Qa:Vt,Oa:Gt,Pa:Xt,y:Ht,j:qt,z:Qt,ab:Yt,U:Jt,W:Kt,Ia:Zt,G:en,Ha:rn,V:tn,La:nn,Ka:on,Ja:an,la:sn,Q:un,Fa:ln,S:cn,_:dn,X:fn,Ga:mn,u:pn,p:hn,H:vn,P:gn,Ra:wn,Ma:En,Sa:_n,Ta:bn,sa:kn,x:xn,bb:Pn,Y:An,O:Tn,za:Sn,ta:Fn,ua:Dn,s:Nn,M:In,oa:Wn,Da:jn,Ba:$n,T:Un,l:zn,N:Vn,F:Gn,w:qn,R:Qn,xa:Yn,m:Jn,ya:Kn,va:to,wa:no,Aa:ao,Ca:io,Z:so,qa:uo,ra:lo},To=await U();function So(){function e(){n.calledRun=!0,x||(S(),l?.(n),n.onRuntimeInitialized?.(),F())}B>0?C=So:(T(),B>0?C=So:n.setStatus?(n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),1),e()},1)):e())}function Fo(){if(n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()()}return Fo(),So(),P?n:new Promise((e,r)=>{l=e,c=r})};export{e as default};
2
+ async function e(e={}){var r,t,n=e,o="./this.program",a="",i="";function s(e){return n.locateFile?n.locateFile(e,i):i+e}try{i=new URL(".",a).href}catch{}r=async e=>{var r=await fetch(e,{credentials:"same-origin"});if(r.ok)return r.arrayBuffer();throw new Error(r.status+" : "+r.url)};var u,l,c,d,f,m,p,h,v,g,w,y,E,_,b=console.log.bind(console),k=console.error.bind(console),x=!1,T=!1;function P(){var e=zt.buffer;d=new Int8Array(e),m=new Int16Array(e),n.HEAPU8=f=new Uint8Array(e),p=new Uint16Array(e),n.HEAP32=h=new Int32Array(e),v=new Uint32Array(e),n.HEAPF32=g=new Float32Array(e),w=new Float64Array(e),y=new BigInt64Array(e),E=new BigUint64Array(e)}function S(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)$(n.preRun.shift());R(O)}function A(){T=!0,n.noFSInit||ke.initialized||ke.init(),So.cb(),ke.ignorePermissions=!1}function F(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)z(n.postRun.shift());R(j)}function D(e){n.onAbort?.(e),k(e="Aborted("+e+")"),x=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw c?.(r),r}function B(){return n.locateFile?s("vxlLayer.wasm"):new URL("vxlLayer.wasm","").href}function C(e){if(e==_&&u)return new Uint8Array(u);throw"both async and sync fetching of the wasm failed"}async function L(e){if(!u)try{var t=await r(e);return new Uint8Array(t)}catch{}return C(e)}async function I(e,r){try{var t=await L(e);return await WebAssembly.instantiate(t,r)}catch(n){k(`failed to asynchronously prepare wasm: ${n}`),D(n)}}async function M(e,r,t){if(!e)try{var n=fetch(r,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,t)}catch(o){k(`wasm streaming compile failed: ${o}`),k("falling back to ArrayBuffer instantiation")}return I(r,t)}function N(){return{a:Ao}}async function W(){function e(e,r){return Po(So=e.exports),P(),So}function r(r){return e(r.instance)}var t=N();return n.instantiateWasm?new Promise((r,o)=>{n.instantiateWasm(t,(t,n)=>{r(e(t))})}):(_??=B(),r(await M(u,_,t)))}var R=e=>{for(;e.length>0;)e.shift()(n)},j=[],z=e=>j.push(e),O=[],$=e=>O.push(e),U=globalThis.TextDecoder&&new TextDecoder,V=(e,r,t,n)=>{var o=r+t;if(n)return o;for(;e[r]&&!(r>=o);)++r;return r},G=(e,r=0,t,n)=>{var o=V(e,r,t,n);if(o-r>16&&e.buffer&&U)return U.decode(e.subarray(r,o));for(var a="";r<o;){var i=e[r++];if(128&i){var s=63&e[r++];if(192!=(224&i)){var u=63&e[r++];if((i=224==(240&i)?(15&i)<<12|s<<6|u:(7&i)<<18|s<<12|u<<6|63&e[r++])<65536)a+=String.fromCharCode(i);else{var l=i-65536;a+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a},H=(e,r,t)=>e?G(f,e,r,t):"",X=(e,r,t,n)=>D(`Assertion failed: ${H(e)}, at: `+[r?H(r):"unknown filename",t,n?H(n):"unknown function"]);class q{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){v[this.ptr+4>>2]=e}get_type(){return v[this.ptr+4>>2]}set_destructor(e){v[this.ptr+8>>2]=e}get_destructor(){return v[this.ptr+8>>2]}set_caught(e){e=e?1:0,d[this.ptr+12]=e}get_caught(){return 0!=d[this.ptr+12]}set_rethrown(e){e=e?1:0,d[this.ptr+13]=e}get_rethrown(){return 0!=d[this.ptr+13]}init(e,r){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(r)}set_adjusted_ptr(e){v[this.ptr+16>>2]=e}get_adjusted_ptr(){return v[this.ptr+16>>2]}}var Q=(e,r,t)=>{throw new q(e).init(r,t),e},K=()=>{var e=h[+xe.varargs>>2];return xe.varargs+=4,e},Y=K,J={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=J.isAbs(e),t="/"===e.slice(-1);return(e=J.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=J.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.slice(0,-1)),t+n):"."},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>J.normalize(e.join("/")),join2:(e,r)=>J.normalize(e+"/"+r)},Z=()=>e=>crypto.getRandomValues(e),ee=e=>{(ee=Z())(e)},re={resolve:(...e)=>{for(var r="",t=!1,n=e.length-1;n>=-1&&!t;n--){var o=n>=0?e[n]:ke.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";r=o+"/"+r,t=J.isAbs(o)}return(t?"/":"")+(r=J.normalizeArray(r.split("/").filter(e=>!!e),!t).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r<e.length&&""===e[r];r++);for(var t=e.length-1;t>=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=re.resolve(e).slice(1),r=re.resolve(r).slice(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s<a;s++)if(n[s]!==o[s]){i=s;break}var u=[];for(s=i;s<n.length;s++)u.push("..");return(u=u.concat(o.slice(i))).join("/")}},te=[],ne=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r},oe=(e,r,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i<e.length;++i){var s=e.codePointAt(i);if(s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)break;r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s,i++}}return r[t]=0,t-o},ae=(e,r,t)=>{var n=ne(e)+1,o=new Array(n),a=oe(e,o,0,o.length);return o.length=a,o},ie=()=>{if(!te.length){var e=null;if(globalThis.window?.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n"),!e)return null;te=ae(e)}return te.shift()},se={ttys:[],init(){},shutdown(){},register(e,r){se.ttys[e]={input:[],output:[],ops:r},ke.registerDevice(e,se.stream_ops)},stream_ops:{open(e){var r=se.ttys[e.node.rdev];if(!r)throw new ke.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new ke.ErrnoError(60);for(var a=0,i=0;i<n;i++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(u){throw new ke.ErrnoError(29)}if(void 0===s&&0===a)throw new ke.ErrnoError(6);if(null==s)break;a++,r[t+i]=s}return a&&(e.node.atime=Date.now()),a},write(e,r,t,n,o){if(!e.tty||!e.tty.ops.put_char)throw new ke.ErrnoError(60);try{for(var a=0;a<n;a++)e.tty.ops.put_char(e.tty,r[t+a])}catch(i){throw new ke.ErrnoError(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),a}},default_tty_ops:{get_char:e=>ie(),put_char(e,r){null===r||10===r?(b(G(e.output)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output?.length>0&&(b(G(e.output)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(k(G(e.output)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output?.length>0&&(k(G(e.output)),e.output=[])}}},ue=e=>{D()},le={ops_table:null,mount:e=>le.createNode(null,"/",16895,0),createNode(e,r,t,n){if(ke.isBlkdev(t)||ke.isFIFO(t))throw new ke.ErrnoError(63);le.ops_table||={dir:{node:{getattr:le.node_ops.getattr,setattr:le.node_ops.setattr,lookup:le.node_ops.lookup,mknod:le.node_ops.mknod,rename:le.node_ops.rename,unlink:le.node_ops.unlink,rmdir:le.node_ops.rmdir,readdir:le.node_ops.readdir,symlink:le.node_ops.symlink},stream:{llseek:le.stream_ops.llseek}},file:{node:{getattr:le.node_ops.getattr,setattr:le.node_ops.setattr},stream:{llseek:le.stream_ops.llseek,read:le.stream_ops.read,write:le.stream_ops.write,mmap:le.stream_ops.mmap,msync:le.stream_ops.msync}},link:{node:{getattr:le.node_ops.getattr,setattr:le.node_ops.setattr,readlink:le.node_ops.readlink},stream:{}},chrdev:{node:{getattr:le.node_ops.getattr,setattr:le.node_ops.setattr},stream:ke.chrdev_stream_ops}};var o=ke.createNode(e,r,t,n);return ke.isDir(o.mode)?(o.node_ops=le.ops_table.dir.node,o.stream_ops=le.ops_table.dir.stream,o.contents={}):ke.isFile(o.mode)?(o.node_ops=le.ops_table.file.node,o.stream_ops=le.ops_table.file.stream,o.usedBytes=0,o.contents=le.emptyFileContents??=new Uint8Array(0)):ke.isLink(o.mode)?(o.node_ops=le.ops_table.link.node,o.stream_ops=le.ops_table.link.stream):ke.isChrdev(o.mode)&&(o.node_ops=le.ops_table.chrdev.node,o.stream_ops=le.ops_table.chrdev.stream),o.atime=o.mtime=o.ctime=Date.now(),e&&(e.contents[r]=o,e.atime=e.mtime=e.ctime=o.atime),o},getFileDataAsTypedArray:e=>e.contents.subarray(0,e.usedBytes),expandFileStorage(e,r){var t=e.contents.length;if(!(t>=r)){var n=1048576;r=Math.max(r,t*(t<n?2:1.125)>>>0),t&&(r=Math.max(r,256));var o=le.getFileDataAsTypedArray(e);e.contents=new Uint8Array(r),e.contents.set(o)}},resizeFileStorage(e,r){if(e.usedBytes!=r){var t=e.contents;e.contents=new Uint8Array(r),e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=ke.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,ke.isDir(e.mode)?r.size=4096:ke.isFile(e.mode)?r.size=e.usedBytes:ke.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.atime),r.mtime=new Date(e.mtime),r.ctime=new Date(e.ctime),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){for(const t of["mode","atime","mtime","ctime"])null!=r[t]&&(e[t]=r[t]);void 0!==r.size&&le.resizeFileStorage(e,r.size)},lookup(e,r){throw le.doesNotExistError||(le.doesNotExistError=new ke.ErrnoError(44),le.doesNotExistError.stack="<generic error, no stack>"),le.doesNotExistError},mknod:(e,r,t,n)=>le.createNode(e,r,t,n),rename(e,r,t){var n;try{n=ke.lookupNode(r,t)}catch(a){}if(n){if(ke.isDir(e.mode))for(var o in n.contents)throw new ke.ErrnoError(55);ke.hashRemoveNode(n)}delete e.parent.contents[e.name],r.contents[t]=e,e.name=t,r.ctime=r.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,r){delete e.contents[r],e.ctime=e.mtime=Date.now()},rmdir(e,r){var t=ke.lookupNode(e,r);for(var n in t.contents)throw new ke.ErrnoError(55);delete e.contents[r],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.contents)],symlink(e,r,t){var n=le.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!ke.isLink(e.mode))throw new ke.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);return r.set(a.subarray(o,o+i),t),i},write(e,r,t,n,o,a){if(r.buffer===d.buffer&&(a=!1),!n)return 0;var i=e.node;return i.mtime=i.ctime=Date.now(),a?(i.contents=r.subarray(t,t+n),i.usedBytes=n):0===i.usedBytes&&0===o?(i.contents=r.slice(t,t+n),i.usedBytes=n):(le.expandFileStorage(i,o+n),i.contents.set(r.subarray(t,t+n),o),i.usedBytes=Math.max(i.usedBytes,o+n)),n},llseek(e,r,t){var n=r;if(1===t?n+=e.position:2===t&&ke.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new ke.ErrnoError(28);return n},mmap(e,r,t,n,o){if(!ke.isFile(e.node.mode))throw new ke.ErrnoError(43);var a,i,s=e.node.contents;if(2&o||s.buffer!==d.buffer){if(i=!0,!(a=ue()))throw new ke.ErrnoError(48);s&&((t>0||t+r<s.length)&&(s=s.subarray?s.subarray(t,t+r):Array.prototype.slice.call(s,t,t+r)),d.set(s,a))}else i=!1,a=s.byteOffset;return{ptr:a,allocated:i}},msync:(e,r,t,n,o)=>(le.stream_ops.write(e,r,0,n,t,!1),0)}},ce=e=>{if("string"!=typeof e)return e;var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r},de=e=>("string"==typeof e&&(e=ae(e)),e.subarray||(e=new Uint8Array(e)),e),fe=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},me=async e=>{var t=await r(e);return new Uint8Array(t)},pe=(...e)=>ke.createDataFile(...e),he=0,ve=null,ge=e=>{if(he--,n.monitorRunDependencies?.(he),0==he&&ve){var r=ve;ve=null,r()}},we=e=>{he++,n.monitorRunDependencies?.(he)},ye=[],Ee=async(e,r)=>{for(var t of("undefined"!=typeof Browser&&Browser.init(),ye))if(t.canHandle(r))return t.handle(e,r);return e},_e=async(e,r,t,n,o,a,i,s)=>{var u=r?re.resolve(J.join2(e,r)):e;we();try{var l=t;"string"==typeof t&&(l=await me(t)),l=await Ee(l,u),s?.(),a||pe(e,r,l,n,o,i)}finally{ge()}},be=(e,r,t,n,o,a,i,s,u,l)=>{_e(e,r,t,n,o,s,u,l).then(a).catch(i)},ke={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,ErrnoError:class{name="ErrnoError";constructor(e){this.errno=e}},FSStream:class{shared={};get object(){return this.node}set object(e){this.node=e}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return!!(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.id=ke.nextInode++,this.name=r,this.mode=t,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return ke.isDir(this.mode)}get isDevice(){return ke.isChrdev(this.mode)}},lookupPath(e,r={}){if(!e)throw new ke.ErrnoError(44);r.follow_mount??=!0,J.isAbs(e)||(e=ke.cwd()+"/"+e);e:for(var t=0;t<40;t++){for(var n=e.split("/").filter(e=>!!e),o=ke.root,a="/",i=0;i<n.length;i++){var s=i===n.length-1;if(s&&r.parent)break;if("."!==n[i])if(".."!==n[i]){a=J.join2(a,n[i]);try{o=ke.lookupNode(o,n[i])}catch(l){if(44===l?.errno&&s&&r.noent_okay)return{path:a};throw l}if(!ke.isMountpoint(o)||s&&!r.follow_mount||(o=o.mounted.root),ke.isLink(o.mode)&&(!s||r.follow)){if(!o.node_ops.readlink)throw new ke.ErrnoError(52);var u=o.node_ops.readlink(o);J.isAbs(u)||(u=J.dirname(a)+"/"+u),e=u+"/"+n.slice(i+1).join("/");continue e}}else{if(a=J.dirname(a),ke.isRoot(o)){e=a+"/"+n.slice(i+1).join("/"),t--;continue e}o=o.parent}}return{path:a,node:o}}throw new ke.ErrnoError(32)},getPath(e){for(var r;;){if(ke.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n<r.length;n++)t=(t<<5)-t+r.charCodeAt(n)|0;return(e+t>>>0)%ke.nameTable.length},hashAddNode(e){var r=ke.hashName(e.parent.id,e.name);e.name_next=ke.nameTable[r],ke.nameTable[r]=e},hashRemoveNode(e){var r=ke.hashName(e.parent.id,e.name);if(ke.nameTable[r]===e)ke.nameTable[r]=e.name_next;else for(var t=ke.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=ke.mayLookup(e);if(t)throw new ke.ErrnoError(t);for(var n=ke.hashName(e.id,r),o=ke.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return ke.lookup(e,r)},createNode(e,r,t,n){var o=new ke.FSNode(e,r,t,n);return ke.hashAddNode(o),o},destroyNode(e){ke.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>ke.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!ke.isDir(e.mode))return 54;var r=ke.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){if(!ke.isDir(e.mode))return 54;try{ke.lookupNode(e,r);return 20}catch(t){}return ke.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=ke.lookupNode(e,r)}catch(a){return a.errno}var o=ke.nodePermissions(e,"wx");if(o)return o;if(t){if(!ke.isDir(n.mode))return 54;if(ke.isRoot(n)||ke.getPath(n)===ke.cwd())return 10}else if(ke.isDir(n.mode))return 31;return 0},mayOpen(e,r){if(!e)return 44;if(ke.isLink(e.mode))return 32;var t=ke.flagsToPermissionString(r);return ke.isDir(e.mode)&&("r"!==t||576&r)?31:ke.nodePermissions(e,t)},checkOpExists(e,r){if(!e)throw new ke.ErrnoError(r);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=ke.MAX_OPEN_FDS;e++)if(!ke.streams[e])return e;throw new ke.ErrnoError(33)},getStreamChecked(e){var r=ke.getStream(e);if(!r)throw new ke.ErrnoError(8);return r},getStream:e=>ke.streams[e],createStream:(e,r=-1)=>(e=Object.assign(new ke.FSStream,e),-1==r&&(r=ke.nextfd()),e.fd=r,ke.streams[r]=e,e),closeStream(e){ke.streams[e]=null},dupStream(e,r=-1){var t=ke.createStream(e,r);return t.stream_ops?.dup?.(t),t},doSetAttr(e,r,t){var n=e?.stream_ops.setattr,o=n?e:r;n??=r.node_ops.setattr,ke.checkOpExists(n,63),n(o,t)},chrdev_stream_ops:{open(e){var r=ke.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new ke.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){ke.devices[e]={stream_ops:r}},getDevice:e=>ke.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push(...n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),ke.syncFSRequests++,ke.syncFSRequests>1&&k(`warning: ${ke.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=ke.getMounts(ke.root.mount),n=0;function o(e){return ke.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}for(var i of t)i.type.syncfs?i.type.syncfs(i,e,a):a(null)},mount(e,r,t){var n,o="/"===t,a=!t;if(o&&ke.root)throw new ke.ErrnoError(10);if(!o&&!a){var i=ke.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,ke.isMountpoint(n))throw new ke.ErrnoError(10);if(!ke.isDir(n.mode))throw new ke.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return u.mount=s,s.root=u,o?ke.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount(e){var r=ke.lookupPath(e,{follow_mount:!1});if(!ke.isMountpoint(r.node))throw new ke.ErrnoError(28);var t=r.node,n=t.mounted,o=ke.getMounts(n);for(var[a,i]of Object.entries(ke.nameTable))for(;i;){var s=i.name_next;o.includes(i.mount)&&ke.destroyNode(i),i=s}t.mounted=null;var u=t.mount.mounts.indexOf(n);t.mount.mounts.splice(u,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=ke.lookupPath(e,{parent:!0}).node,o=J.basename(e);if(!o)throw new ke.ErrnoError(28);if("."===o||".."===o)throw new ke.ErrnoError(20);var a=ke.mayCreate(n,o);if(a)throw new ke.ErrnoError(a);if(!n.node_ops.mknod)throw new ke.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},statfs:e=>ke.statfsNode(ke.lookupPath(e,{follow:!0}).node),statfsStream:e=>ke.statfsNode(e.node),statfsNode(e){var r={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:ke.nextInode,ffree:ke.nextInode-1,fsid:42,flags:2,namelen:255};return e.node_ops.statfs&&Object.assign(r,e.node_ops.statfs(e.mount.opts.root)),r},create:(e,r=438)=>(r&=4095,r|=32768,ke.mknod(e,r,0)),mkdir:(e,r=511)=>(r&=1023,r|=16384,ke.mknod(e,r,0)),mkdirTree(e,r){var t=e.split("/"),n="";for(var o of t)if(o){(n||J.isAbs(e))&&(n+="/"),n+=o;try{ke.mkdir(n,r)}catch(a){if(20!=a.errno)throw a}}},mkdev:(e,r,t)=>(void 0===t&&(t=r,r=438),r|=8192,ke.mknod(e,r,t)),symlink(e,r){if(!re.resolve(e))throw new ke.ErrnoError(44);var t=ke.lookupPath(r,{parent:!0}).node;if(!t)throw new ke.ErrnoError(44);var n=J.basename(r),o=ke.mayCreate(t,n);if(o)throw new ke.ErrnoError(o);if(!t.node_ops.symlink)throw new ke.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,o=J.dirname(e),a=J.dirname(r),i=J.basename(e),s=J.basename(r);if(t=ke.lookupPath(e,{parent:!0}).node,n=ke.lookupPath(r,{parent:!0}).node,!t||!n)throw new ke.ErrnoError(44);if(t.mount!==n.mount)throw new ke.ErrnoError(75);var u,l=ke.lookupNode(t,i),c=re.relative(e,a);if("."!==c.charAt(0))throw new ke.ErrnoError(28);if("."!==(c=re.relative(r,o)).charAt(0))throw new ke.ErrnoError(55);try{u=ke.lookupNode(n,s)}catch(m){}if(l!==u){var d=ke.isDir(l.mode),f=ke.mayDelete(t,i,d);if(f)throw new ke.ErrnoError(f);if(f=u?ke.mayDelete(n,s,d):ke.mayCreate(n,s))throw new ke.ErrnoError(f);if(!t.node_ops.rename)throw new ke.ErrnoError(63);if(ke.isMountpoint(l)||u&&ke.isMountpoint(u))throw new ke.ErrnoError(10);if(n!==t&&(f=ke.nodePermissions(t,"w")))throw new ke.ErrnoError(f);ke.hashRemoveNode(l);try{t.node_ops.rename(l,n,s),l.parent=n}catch(m){throw m}finally{ke.hashAddNode(l)}}},rmdir(e){var r=ke.lookupPath(e,{parent:!0}).node,t=J.basename(e),n=ke.lookupNode(r,t),o=ke.mayDelete(r,t,!0);if(o)throw new ke.ErrnoError(o);if(!r.node_ops.rmdir)throw new ke.ErrnoError(63);if(ke.isMountpoint(n))throw new ke.ErrnoError(10);r.node_ops.rmdir(r,t),ke.destroyNode(n)},readdir(e){var r=ke.lookupPath(e,{follow:!0}).node;return ke.checkOpExists(r.node_ops.readdir,54)(r)},unlink(e){var r=ke.lookupPath(e,{parent:!0}).node;if(!r)throw new ke.ErrnoError(44);var t=J.basename(e),n=ke.lookupNode(r,t),o=ke.mayDelete(r,t,!1);if(o)throw new ke.ErrnoError(o);if(!r.node_ops.unlink)throw new ke.ErrnoError(63);if(ke.isMountpoint(n))throw new ke.ErrnoError(10);r.node_ops.unlink(r,t),ke.destroyNode(n)},readlink(e){var r=ke.lookupPath(e).node;if(!r)throw new ke.ErrnoError(44);if(!r.node_ops.readlink)throw new ke.ErrnoError(28);return r.node_ops.readlink(r)},stat(e,r){var t=ke.lookupPath(e,{follow:!r}).node;return ke.checkOpExists(t.node_ops.getattr,63)(t)},fstat(e){var r=ke.getStreamChecked(e),t=r.node,n=r.stream_ops.getattr,o=n?r:t;return n??=t.node_ops.getattr,ke.checkOpExists(n,63),n(o)},lstat:e=>ke.stat(e,!0),doChmod(e,r,t,n){ke.doSetAttr(e,r,{mode:4095&t|-4096&r.mode,ctime:Date.now(),dontFollow:n})},chmod(e,r,t){var n;"string"==typeof e?n=ke.lookupPath(e,{follow:!t}).node:n=e;ke.doChmod(null,n,r,t)},lchmod(e,r){ke.chmod(e,r,!0)},fchmod(e,r){var t=ke.getStreamChecked(e);ke.doChmod(t,t.node,r,!1)},doChown(e,r,t){ke.doSetAttr(e,r,{timestamp:Date.now(),dontFollow:t})},chown(e,r,t,n){var o;"string"==typeof e?o=ke.lookupPath(e,{follow:!n}).node:o=e;ke.doChown(null,o,n)},lchown(e,r,t){ke.chown(e,r,t,!0)},fchown(e,r,t){var n=ke.getStreamChecked(e);ke.doChown(n,n.node,!1)},doTruncate(e,r,t){if(ke.isDir(r.mode))throw new ke.ErrnoError(31);if(!ke.isFile(r.mode))throw new ke.ErrnoError(28);var n=ke.nodePermissions(r,"w");if(n)throw new ke.ErrnoError(n);ke.doSetAttr(e,r,{size:t,timestamp:Date.now()})},truncate(e,r){if(r<0)throw new ke.ErrnoError(28);var t;"string"==typeof e?t=ke.lookupPath(e,{follow:!0}).node:t=e;ke.doTruncate(null,t,r)},ftruncate(e,r){var t=ke.getStreamChecked(e);if(r<0||!(2097155&t.flags))throw new ke.ErrnoError(28);ke.doTruncate(t,t.node,r)},utime(e,r,t){var n=ke.lookupPath(e,{follow:!0}).node;ke.checkOpExists(n.node_ops.setattr,63)(n,{atime:r,mtime:t})},open(e,r,t=438){if(""===e)throw new ke.ErrnoError(44);var n,o;if(t=64&(r=ce(r))?4095&t|32768:0,"object"==typeof e)n=e;else{o=e.endsWith("/");var a=ke.lookupPath(e,{follow:!(131072&r),noent_okay:!0});n=a.node,e=a.path}var i=!1;if(64&r)if(n){if(128&r)throw new ke.ErrnoError(20)}else{if(o)throw new ke.ErrnoError(31);n=ke.mknod(e,511|t,0),i=!0}if(!n)throw new ke.ErrnoError(44);if(ke.isChrdev(n.mode)&&(r&=-513),65536&r&&!ke.isDir(n.mode))throw new ke.ErrnoError(54);if(!i){var s=ke.mayOpen(n,r);if(s)throw new ke.ErrnoError(s)}512&r&&!i&&ke.truncate(n,0),r&=-131713;var u=ke.createStream({node:n,path:ke.getPath(n),flags:r,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return u.stream_ops.open&&u.stream_ops.open(u),i&&ke.chmod(n,511&t),u},close(e){if(ke.isClosed(e))throw new ke.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(r){throw r}finally{ke.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(ke.isClosed(e))throw new ke.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ke.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new ke.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,o){if(n<0||o<0)throw new ke.ErrnoError(28);if(ke.isClosed(e))throw new ke.ErrnoError(8);if(1==(2097155&e.flags))throw new ke.ErrnoError(8);if(ke.isDir(e.node.mode))throw new ke.ErrnoError(31);if(!e.stream_ops.read)throw new ke.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new ke.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write(e,r,t,n,o,a){if(n<0||o<0)throw new ke.ErrnoError(28);if(ke.isClosed(e))throw new ke.ErrnoError(8);if(!(2097155&e.flags))throw new ke.ErrnoError(8);if(ke.isDir(e.node.mode))throw new ke.ErrnoError(31);if(!e.stream_ops.write)throw new ke.ErrnoError(28);e.seekable&&1024&e.flags&&ke.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new ke.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},mmap(e,r,t,n,o){if(2&n&&!(2&o)&&2!=(2097155&e.flags))throw new ke.ErrnoError(2);if(1==(2097155&e.flags))throw new ke.ErrnoError(2);if(!e.stream_ops.mmap)throw new ke.ErrnoError(43);if(!r)throw new ke.ErrnoError(28);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new ke.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding&&D(`Invalid encoding type "${r.encoding}"`);var t=ke.open(e,r.flags),n=ke.stat(e).size,o=new Uint8Array(n);return ke.read(t,o,0,n,0),"utf8"===r.encoding&&(o=G(o)),ke.close(t),o},writeFile(e,r,t={}){t.flags=t.flags||577;var n=ke.open(e,t.flags,t.mode);r=de(r),ke.write(n,r,0,r.byteLength,void 0,t.canOwn),ke.close(n)},cwd:()=>ke.currentPath,chdir(e){var r=ke.lookupPath(e,{follow:!0});if(null===r.node)throw new ke.ErrnoError(44);if(!ke.isDir(r.node.mode))throw new ke.ErrnoError(54);var t=ke.nodePermissions(r.node,"x");if(t)throw new ke.ErrnoError(t);ke.currentPath=r.path},createDefaultDirectories(){ke.mkdir("/tmp"),ke.mkdir("/home"),ke.mkdir("/home/web_user")},createDefaultDevices(){ke.mkdir("/dev"),ke.registerDevice(ke.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n,llseek:()=>0}),ke.mkdev("/dev/null",ke.makedev(1,3)),se.register(ke.makedev(5,0),se.default_tty_ops),se.register(ke.makedev(6,0),se.default_tty1_ops),ke.mkdev("/dev/tty",ke.makedev(5,0)),ke.mkdev("/dev/tty1",ke.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(ee(e),r=e.byteLength),e[--r]);ke.createDevice("/dev","random",t),ke.createDevice("/dev","urandom",t),ke.mkdir("/dev/shm"),ke.mkdir("/dev/shm/tmp")},createSpecialDirectories(){ke.mkdir("/proc");var e=ke.mkdir("/proc/self");ke.mkdir("/proc/self/fd"),ke.mount({mount(){var r=ke.createNode(e,"fd",16895,73);return r.stream_ops={llseek:le.stream_ops.llseek},r.node_ops={lookup(e,r){var t=+r,n=ke.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path},id:t+1};return o.parent=o,o},readdir:()=>Array.from(ke.streams.entries()).filter(([e,r])=>r).map(([e,r])=>e.toString())},r}},{},"/proc/self/fd")},createStandardStreams(e,r,t){e?ke.createDevice("/dev","stdin",e):ke.symlink("/dev/tty","/dev/stdin"),r?ke.createDevice("/dev","stdout",null,r):ke.symlink("/dev/tty","/dev/stdout"),t?ke.createDevice("/dev","stderr",null,t):ke.symlink("/dev/tty1","/dev/stderr"),ke.open("/dev/stdin",0),ke.open("/dev/stdout",1),ke.open("/dev/stderr",1)},staticInit(){ke.nameTable=new Array(4096),ke.mount(le,{},"/"),ke.createDefaultDirectories(),ke.createDefaultDevices(),ke.createSpecialDirectories(),ke.filesystems={MEMFS:le}},init(e,r,t){ke.initialized=!0,e??=n.stdin,r??=n.stdout,t??=n.stderr,ke.createStandardStreams(e,r,t)},quit(){for(var e of(ke.initialized=!1,ke.streams))e&&ke.close(e)},findObject(e,r){var t=ke.analyzePath(e,r);return t.exists?t.object:null},analyzePath(e,r){try{e=(n=ke.lookupPath(e,{follow:!r})).path}catch(o){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=ke.lookupPath(e,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=J.basename(e),n=ke.lookupPath(e,{follow:!r}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(o){t.error=o.errno}return t},createPath(e,r,t,n){e="string"==typeof e?e:ke.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var i=J.join2(e,a);try{ke.mkdir(i)}catch(s){if(20!=s.errno)throw s}e=i}}return i},createFile(e,r,t,n,o){var a=J.join2("string"==typeof e?e:ke.getPath(e),r),i=fe(n,o);return ke.create(a,i)},createDataFile(e,r,t,n,o,a){var i=r;e&&(e="string"==typeof e?e:ke.getPath(e),i=r?J.join2(e,r):e);var s=fe(n,o),u=ke.create(i,s);if(t){t=de(t),ke.chmod(u,146|s);var l=ke.open(u,577);ke.write(l,t,0,t.length,0,a),ke.close(l),ke.chmod(u,s)}},createDevice(e,r,t,n){var o=J.join2("string"==typeof e?e:ke.getPath(e),r),a=fe(!!t,!!n);ke.createDevice.major??=64;var i=ke.makedev(ke.createDevice.major++,0);return ke.registerDevice(i,{open(e){e.seekable=!1},close(e){n?.buffer?.length&&n(10)},read(e,r,n,o,a){for(var i=0,s=0;s<o;s++){var u;try{u=t()}catch(l){throw new ke.ErrnoError(29)}if(void 0===u&&0===i)throw new ke.ErrnoError(6);if(null==u)break;i++,r[n+s]=u}return i&&(e.node.atime=Date.now()),i},write(e,r,t,o,a){for(var i=0;i<o;i++)try{n(r[t+i])}catch(s){throw new ke.ErrnoError(29)}return o&&(e.node.mtime=e.node.ctime=Date.now()),i}}),ke.mkdev(o,a,i)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(globalThis.XMLHttpRequest)D("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");else try{e.contents=t(e.url)}catch(r){throw new ke.ErrnoError(29)}},createLazyFile(e,r,t,n,o){class a{lengthKnown=!1;chunks=[];get(e){if(!(e>this.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}}setDataGetter(e){this.getter=e}cacheLength(){var e=new XMLHttpRequest;e.open("HEAD",t,!1),e.send(null),e.status>=200&&e.status<300||304===e.status||D("Couldn't load "+t+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),o=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,a=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,i=1048576;o||(i=n);var s=(e,r)=>{e>r&&D("invalid range ("+e+", "+r+") or no bytes requested!"),r>n-1&&D("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;return o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+e+"-"+r),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),o.status>=200&&o.status<300||304===o.status||D("Couldn't load "+t+". Status: "+o.status),void 0!==o.response?new Uint8Array(o.response||[]):ae(o.responseText||"")},u=this;u.setDataGetter(e=>{var r=e*i,t=(e+1)*i-1;return t=Math.min(t,n-1),void 0===u.chunks[e]&&(u.chunks[e]=s(r,t)),void 0===u.chunks[e]&&D("doXHR failed!"),u.chunks[e]}),!a&&n||(i=n=1,n=this.getter(0).length,i=n,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(globalThis.XMLHttpRequest){D("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var i={isDevice:!1,contents:new a}}else i={isDevice:!1,url:t};var s=ke.createFile(e,r,i,n,o);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var u={};for(const[c,d]of Object.entries(s.stream_ops))u[c]=(...e)=>(ke.forceLoadFile(s),d(...e));function l(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s<i;s++)r[t+s]=a[o+s];else for(s=0;s<i;s++)r[t+s]=a.get(o+s);return i}return u.read=(e,r,t,n,o)=>(ke.forceLoadFile(s),l(e,r,t,n,o)),u.mmap=(e,r,t,n,o)=>{ke.forceLoadFile(s);var a=ue();if(!a)throw new ke.ErrnoError(48);return l(e,d,a,r,t),{ptr:a,allocated:!0}},s.stream_ops=u,s}},xe={calculateAt(e,r,t){if(J.isAbs(r))return r;var n;-100===e?n=ke.cwd():n=xe.getStreamFromFD(e).path;if(0==r.length){if(!t)throw new ke.ErrnoError(44);return n}return n+"/"+r},writeStat(e,r){v[e>>2]=r.dev,v[e+4>>2]=r.mode,v[e+8>>2]=r.nlink,v[e+12>>2]=r.uid,v[e+16>>2]=r.gid,v[e+20>>2]=r.rdev,y[e+24>>3]=BigInt(r.size),h[e+32>>2]=4096,h[e+36>>2]=r.blocks;var t=r.atime.getTime(),n=r.mtime.getTime(),o=r.ctime.getTime();return y[e+40>>3]=BigInt(Math.floor(t/1e3)),v[e+48>>2]=t%1e3*1e3*1e3,y[e+56>>3]=BigInt(Math.floor(n/1e3)),v[e+64>>2]=n%1e3*1e3*1e3,y[e+72>>3]=BigInt(Math.floor(o/1e3)),v[e+80>>2]=o%1e3*1e3*1e3,y[e+88>>3]=BigInt(r.ino),0},writeStatFs(e,r){v[e+4>>2]=r.bsize,v[e+60>>2]=r.bsize,y[e+8>>3]=BigInt(r.blocks),y[e+16>>3]=BigInt(r.bfree),y[e+24>>3]=BigInt(r.bavail),y[e+32>>3]=BigInt(r.files),y[e+40>>3]=BigInt(r.ffree),v[e+48>>2]=r.fsid,v[e+64>>2]=r.flags,v[e+56>>2]=r.namelen},doMsync(e,r,t,n,o){if(!ke.isFile(r.node.mode))throw new ke.ErrnoError(43);if(2&n)return 0;var a=f.slice(e,e+t);ke.msync(r,a,o,t,n)},getStreamFromFD:e=>ke.getStreamChecked(e),varargs:void 0,getStr:e=>H(e)};function Te(e,r,t){xe.varargs=t;try{var n=xe.getStreamFromFD(e);switch(r){case 0:if((o=K())<0)return-28;for(;ke.streams[o];)o++;return ke.dupStream(n,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=K();return n.flags|=o,0;case 12:o=Y();return m[o+0>>1]=2,0}return-28}catch(a){if(void 0===ke||"ErrnoError"!==a.name)throw a;return-a.errno}}function Pe(e,r,t){xe.varargs=t;try{var n=xe.getStreamFromFD(e);switch(r){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var o=n.tty.ops.ioctl_tcgets(n),a=Y();h[a>>2]=o.c_iflag||0,h[a+4>>2]=o.c_oflag||0,h[a+8>>2]=o.c_cflag||0,h[a+12>>2]=o.c_lflag||0;for(var i=0;i<32;i++)d[a+i+17]=o.c_cc[i]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){a=Y();var s=h[a>>2],u=h[a+4>>2],l=h[a+8>>2],c=h[a+12>>2],f=[];for(i=0;i<32;i++)f.push(d[a+i+17]);return n.tty.ops.ioctl_tcsets(n.tty,r,{c_iflag:s,c_oflag:u,c_cflag:l,c_lflag:c,c_cc:f})}return 0;case 21519:if(!n.tty)return-59;a=Y();return h[a>>2]=0,0;case 21520:return n.tty?-28:-59;case 21537:case 21531:a=Y();return ke.ioctl(n,r,a);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var p=n.tty.ops.ioctl_tiocgwinsz(n.tty);a=Y();m[a>>1]=p[0],m[a+2>>1]=p[1]}return 0;default:return-28}}catch(v){if(void 0===ke||"ErrnoError"!==v.name)throw v;return-v.errno}}function Se(e,r,t,n){xe.varargs=n;try{r=xe.getStr(r),r=xe.calculateAt(e,r);var o=n?K():0;return ke.open(r,t,o).fd}catch(a){if(void 0===ke||"ErrnoError"!==a.name)throw a;return-a.errno}}var Ae=()=>D(""),Fe={},De=e=>{for(;e.length;){var r=e.pop();e.pop()(r)}};function Be(e){return this.fromWireType(v[e>>2])}var Ce={},Le={},Ie={},Me=class extends Error{constructor(e){super(e),this.name="InternalError"}},Ne=e=>{throw new Me(e)},We=(e,r,t)=>{function n(r){var n=t(r);n.length!==e.length&&Ne("Mismatched type converter count");for(var o=0;o<e.length;++o)Ue(e[o],n[o])}e.forEach(e=>Ie[e]=r);var o=new Array(r.length),a=[],i=0;for(let[s,u]of r.entries())Le.hasOwnProperty(u)?o[s]=Le[u]:(a.push(u),Ce.hasOwnProperty(u)||(Ce[u]=[]),Ce[u].push(()=>{o[s]=Le[u],++i===a.length&&n(o)}));0===a.length&&n(o)},Re=e=>{var r=Fe[e];delete Fe[e];var t=r.rawConstructor,n=r.rawDestructor,o=r.fields,a=o.map(e=>e.getterReturnType).concat(o.map(e=>e.setterArgumentType));We([e],a,e=>{var a={};for(var[i,s]of o.entries()){const r=e[i],t=s.getter,n=s.getterContext,u=e[i+o.length],l=s.setter,c=s.setterContext;a[s.fieldName]={read:e=>r.fromWireType(t(n,e)),write:(e,r)=>{var t=[];l(c,e,u.toWireType(t,r)),De(t)},optional:r.optional}}return[{name:r.name,fromWireType:e=>{var r={};for(var t in a)r[t]=a[t].read(e);return n(e),r},toWireType:(e,r)=>{for(var o in a)if(!(o in r)&&!a[o].optional)throw new TypeError(`Missing field: "${o}"`);var i=t();for(o in a)a[o].write(i,r[o]);return null!==e&&e.push(n,i),i},readValueFromPointer:Be,destructorFunction:n}]})},je=e=>{for(var r="";;){var t=f[e++];if(!t)return r;r+=String.fromCharCode(t)}},ze=class extends Error{constructor(e){super(e),this.name="BindingError"}},Oe=e=>{throw new ze(e)};function $e(e,r,t={}){var n=r.name;if(e||Oe(`type "${n}" must have a positive integer typeid pointer`),Le.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;Oe(`Cannot register type '${n}' twice`)}if(Le[e]=r,delete Ie[e],Ce.hasOwnProperty(e)){var o=Ce[e];delete Ce[e],o.forEach(e=>e())}}function Ue(e,r,t={}){return $e(e,r,t)}var Ve=(e,r,t)=>{switch(r){case 1:return t?e=>d[e]:e=>f[e];case 2:return t?e=>m[e>>1]:e=>p[e>>1];case 4:return t?e=>h[e>>2]:e=>v[e>>2];case 8:return t?e=>y[e>>3]:e=>E[e>>3];default:throw new TypeError(`invalid integer width (${r}): ${e}`)}},Ge=(e,r,t,n,o)=>{r=je(r);const a=0n===n;let i=e=>e;if(a){const e=8*t;i=r=>BigInt.asUintN(e,r),o=i(o)}Ue(e,{name:r,fromWireType:i,toWireType:(e,r)=>("number"==typeof r&&(r=BigInt(r)),r),readValueFromPointer:Ve(r,t,!a),destructorFunction:null})},He=(e,r,t,n)=>{Ue(e,{name:r=je(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?t:n},readValueFromPointer:function(e){return this.fromWireType(f[e])},destructorFunction:null})},Xe=[],qe=[0,1,,1,null,1,!0,1,!1,1],Qe=e=>{e>9&&0===--qe[e+1]&&(qe[e]=void 0,Xe.push(e))},Ke={toValue:e=>(e||Oe(`Cannot use deleted val. handle = ${e}`),qe[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const r=Xe.pop()||qe.length;return qe[r]=e,qe[r+1]=1,r}}}},Ye={name:"emscripten::val",fromWireType:e=>{var r=Ke.toValue(e);return Qe(e),r},toWireType:(e,r)=>Ke.toHandle(r),readValueFromPointer:Be,destructorFunction:null},Je=e=>Ue(e,Ye),Ze=(e,r,t)=>{if(void 0===e[r].overloadTable){var n=e[r];e[r]=function(...n){return e[r].overloadTable.hasOwnProperty(n.length)||Oe(`Function '${t}' called with an invalid number of arguments (${n.length}) - expects one of (${e[r].overloadTable})!`),e[r].overloadTable[n.length].apply(this,n)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}},er=(e,r,t)=>{n.hasOwnProperty(e)?((void 0===t||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[t])&&Oe(`Cannot register public name '${e}' twice`),Ze(n,e,e),n[e].overloadTable.hasOwnProperty(t)&&Oe(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),n[e].overloadTable[t]=r):(n[e]=r,n[e].argCount=t)},rr=(e,r,t)=>{switch(r){case 1:return t?function(e){return this.fromWireType(d[e])}:function(e){return this.fromWireType(f[e])};case 2:return t?function(e){return this.fromWireType(m[e>>1])}:function(e){return this.fromWireType(p[e>>1])};case 4:return t?function(e){return this.fromWireType(h[e>>2])}:function(e){return this.fromWireType(v[e>>2])};default:throw new TypeError(`invalid integer width (${r}): ${e}`)}};function tr(e){return 0===e?"object":1===e?"number":"string"}var nr=(e,r,t,o,a)=>{r=je(r);const i=tr(a);switch(i){case"object":{function u(){}u.values={},Ue(e,{name:r,constructor:u,valueType:i,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,r)=>r.value,readValueFromPointer:rr(r,t,o),destructorFunction:null}),er(r,u);break}case"number":Ue(e,{name:r,keysMap:s={},valueType:i,fromWireType:e=>e,toWireType:(e,r)=>r,readValueFromPointer:rr(r,t,o),destructorFunction:null}),er(r,s),delete n[r].argCount;break;case"string":var s;Ue(e,{name:r,valuesMap:{},reverseMap:{},keysMap:s={},valueType:i,fromWireType:function(e){return this.reverseMap[e]},toWireType:function(e,r){return this.valuesMap[r]},readValueFromPointer:rr(r,t,o),destructorFunction:null}),er(r,s),delete n[r].argCount}},or=(e,r)=>Object.defineProperty(r,"name",{value:e}),ar=e=>{var r=Wt(e),t=je(r);return Rt(r),t},ir=(e,r)=>{var t=Le[e];return void 0===t&&Oe(`${r} has unknown type ${ar(e)}`),t},sr=(e,r,t)=>{var n=ir(e,"enum");switch(r=je(r),n.valueType){case"object":var o=n.constructor,a=Object.create(n.constructor.prototype,{value:{value:t},constructor:{value:or(`${n.name}_${r}`,function(){})}});o.values[t]=a,o[r]=a;break;case"number":n.keysMap[r]=t;break;case"string":n.valuesMap[r]=t,n.reverseMap[t]=r,n.keysMap[r]=r}},ur=(e,r)=>{switch(r){case 4:return function(e){return this.fromWireType(g[e>>2])};case 8:return function(e){return this.fromWireType(w[e>>3])};default:throw new TypeError(`invalid float width (${r}): ${e}`)}},lr=(e,r,t)=>{Ue(e,{name:r=je(r),fromWireType:e=>e,toWireType:(e,r)=>r,readValueFromPointer:ur(r,t),destructorFunction:null})};function cr(e){for(var r=1;r<e.length;++r)if(null!==e[r]&&void 0===e[r].destructorFunction)return!0;return!1}function dr(e,r,t,n,o,a){var i=r.length;i<2&&Oe("argTypes array size mismatch! Must at least get return value and 'this' types!"),r[1];var s=cr(r),u=!r[0].isVoid,l=i-2,c=new Array(l),d=[],f=[];return or(e,function(...e){var t;f.length=0,d.length=1,d[0]=o;for(var a=0;a<l;++a)c[a]=r[a+2].toWireType(f,e[a]),d.push(c[a]);function i(e){if(s)De(f);else for(var n=2;n<r.length;n++){var o=1===n?t:c[n-2];null!==r[n].destructorFunction&&r[n].destructorFunction(o)}if(u)return r[0].fromWireType(e)}return i(n(...d))})}var fr=(e,r)=>{for(var t=[],n=0;n<e;n++)t.push(v[r+4*n>>2]);return t},mr=(e,r,t)=>{n.hasOwnProperty(e)||Ne("Replacing nonexistent public symbol"),void 0!==n[e].overloadTable&&void 0!==t?n[e].overloadTable[t]=r:(n[e]=r,n[e].argCount=t)},pr=[],hr=e=>{var r=pr[e];return r||(pr[e]=r=Ot.get(e)),r},vr=(e,r,t=!1)=>{function n(){return hr(r)}e=je(e);var o=n();return"function"!=typeof o&&Oe(`unknown function pointer with signature ${e}: ${r}`),o};class gr extends Error{}var wr,yr=(e,r)=>{var t=[],n={};function o(e){n[e]||Le[e]||(Ie[e]?Ie[e].forEach(o):(t.push(e),n[e]=!0))}throw r.forEach(o),new gr(`${e}: `+t.map(ar).join([", "]))},Er=e=>{const r=(e=e.trim()).indexOf("(");return-1===r?e:e.slice(0,r)},_r=(e,r,t,n,o,a,i,s)=>{var u=fr(r,t);e=je(e),e=Er(e),o=vr(n,o,i),er(e,function(){yr(`Cannot call ${e} due to unbound types`,u)},r-1),We([],u,t=>{var n=[t[0],null].concat(t.slice(1));return mr(e,dr(e,n,null,o,a),r-1),[]})},br=(e,r,t,n,o)=>{r=je(r);let a=e=>e;if(0===n){var i=32-8*t;a=e=>e<<i>>>i,o=a(o)}Ue(e,{name:r,fromWireType:a,toWireType:(e,r)=>r,readValueFromPointer:Ve(r,t,0!==n),destructorFunction:null})},kr=(e,r,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][r];function o(e){var r=v[e>>2],t=v[e+4>>2];return new n(d.buffer,t,r)}Ue(e,{name:t=je(t),fromWireType:o,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},xr=(e,r,t)=>oe(e,f,r,t),Tr=(e,r)=>{Ue(e,{name:r=je(r),fromWireType(e){var r,t=v[e>>2];return r=H(e+4,t,!0),Rt(e),r},toWireType(e,r){var t;r instanceof ArrayBuffer&&(r=new Uint8Array(r));var n="string"==typeof r;n||ArrayBuffer.isView(r)&&1==r.BYTES_PER_ELEMENT||Oe("Cannot pass non-string to std::string"),t=n?ne(r):r.length;var o=jt(4+t+1),a=o+4;return v[o>>2]=t,n?xr(r,a,t+1):f.set(r,a),null!==e&&e.push(Rt,o),o},readValueFromPointer:Be,destructorFunction(e){Rt(e)}})},Pr=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,Sr=(e,r,t)=>{var n=e>>1,o=V(p,n,r/2,t);if(o-n>16&&Pr)return Pr.decode(p.subarray(n,o));for(var a="",i=n;i<o;++i){var s=p[i];a+=String.fromCharCode(s)}return a},Ar=(e,r,t)=>{if(t??=2147483647,t<2)return 0;for(var n=r,o=(t-=2)<2*e.length?t/2:e.length,a=0;a<o;++a){var i=e.charCodeAt(a);m[r>>1]=i,r+=2}return m[r>>1]=0,r-n},Fr=e=>2*e.length,Dr=(e,r,t)=>{for(var n="",o=e>>2,a=0;!(a>=r/4);a++){var i=v[o+a];if(!i&&!t)break;n+=String.fromCodePoint(i)}return n},Br=(e,r,t)=>{if(t??=2147483647,t<4)return 0;for(var n=r,o=n+t-4,a=0;a<e.length;++a){var i=e.codePointAt(a);if(i>65535&&a++,h[r>>2]=i,(r+=4)+4>o)break}return h[r>>2]=0,r-n},Cr=e=>{for(var r=0,t=0;t<e.length;++t){e.codePointAt(t)>65535&&t++,r+=4}return r},Lr=(e,r,t)=>{var n,o,a;t=je(t),2===r?(n=Sr,o=Ar,a=Fr):(n=Dr,o=Br,a=Cr),Ue(e,{name:t,fromWireType:e=>{var t=v[e>>2],o=n(e+4,t*r,!0);return Rt(e),o},toWireType:(e,n)=>{"string"!=typeof n&&Oe(`Cannot pass non-string to C++ string type ${t}`);var i=a(n),s=jt(4+i+r);return v[s>>2]=i/r,o(n,s+4,i+r),null!==e&&e.push(Rt,s),s},readValueFromPointer:Be,destructorFunction(e){Rt(e)}})},Ir=(e,r,t,n,o,a)=>{Fe[e]={name:je(r),rawConstructor:vr(t,n),rawDestructor:vr(o,a),fields:[]}},Mr=(e,r,t,n,o,a,i,s,u,l)=>{Fe[e].fields.push({fieldName:je(r),getterReturnType:t,getter:vr(n,o),getterContext:a,setterArgumentType:i,setter:vr(s,u),setterContext:l})},Nr=(e,r)=>{Ue(e,{isVoid:!0,name:r=je(r),fromWireType:()=>{},toWireType:(e,r)=>{}})},Wr=e=>{do{var r=v[e>>2],t=v[(e+=4)>>2],n=v[(e+=4)>>2];e+=4;var o=H(r);ke.createPath("/",J.dirname(o),!0,!0),ke.createDataFile(o,null,d.subarray(n,n+t),!0,!0,!0)}while(v[e>>2])},Rr=(e,r)=>{e=Ke.toValue(e),r=Ke.toValue(r),e.set(r)},jr=[],zr=e=>{var r=jr.length;return jr.push(e),r},Or=(e,r)=>{for(var t=new Array(e),n=0;n<e;++n)t[n]=ir(v[r+4*n>>2],`parameter ${n}`);return t},$r=(e,r,t)=>{var n=[],o=e(n,t);return n.length&&(v[r>>2]=Ke.toHandle(n)),o},Ur={},Vr=e=>{var r=Ur[e];return void 0===r?je(e):r},Gr=(e,r,t)=>{var n=8,[o,...a]=Or(e,r),i=o.toWireType.bind(o),s=a.map(e=>e.readValueFromPointer.bind(e));e--;var u=new Array(e),l=(r,o,a,l)=>{for(var c,d=0,f=0;f<e;++f)u[f]=s[f](l+d),d+=n;switch(t){case 0:c=Ke.toValue(r).apply(null,u);break;case 2:c=Reflect.construct(Ke.toValue(r),u);break;case 3:c=u[0];break;case 1:c=Ke.toValue(r)[Vr(o)](...u)}return $r(i,a,c)},c=`methodCaller<(${a.map(e=>e.name)}) => ${o.name}>`;return zr(or(c,l))},Hr=e=>e?(e=Vr(e),Ke.toHandle(globalThis[e])):Ke.toHandle(globalThis),Xr=(e,r)=>(e=Ke.toValue(e),r=Ke.toValue(r),Ke.toHandle(e[r])),qr=e=>{e>9&&(qe[e+1]+=1)},Qr=(e,r)=>(e=Ke.toValue(e))instanceof(r=Ke.toValue(r)),Kr=(e,r,t,n,o)=>jr[e](r,t,n,o),Yr=e=>"number"==typeof(e=Ke.toValue(e)),Jr=e=>{e=Ke.toValue(e);for(var r=new Array(e.length),t=0;t<e.length;t++)r[t]=e[t];return Ke.toHandle(r)},Zr=e=>Ke.toHandle(Vr(e)),et=()=>Ke.toHandle({}),rt=e=>{var r=Ke.toValue(e);De(r),Qe(e)},tt=(e,r,t)=>{e=Ke.toValue(e),r=Ke.toValue(r),t=Ke.toValue(t),e[r]=t},nt=(e,r,t,n)=>{var o=(new Date).getFullYear(),a=new Date(o,0,1),i=new Date(o,6,1),s=a.getTimezoneOffset(),u=i.getTimezoneOffset(),l=Math.max(s,u);v[e>>2]=60*l,h[r>>2]=Number(s!=u);var c=e=>{var r=e>=0?"-":"+",t=Math.abs(e);return`UTC${r}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%60).padStart(2,"0")}`},d=c(s),f=c(u);u<s?(xr(d,t,17),xr(f,n,17)):(xr(d,n,17),xr(f,t,17))},ot=()=>2147483648,at=(e,r)=>Math.ceil(e/r)*r,it=e=>{var r=(e-zt.buffer.byteLength+65535)/65536|0;try{return zt.grow(r),P(),1}catch(t){}},st=e=>{var r=f.length;e>>>=0;var t=ot();if(e>t)return!1;for(var n=1;n<=4;n*=2){var o=r*(1+.2/n);o=Math.min(o,e+100663296);var a=Math.min(t,at(Math.max(e,o),65536));if(it(a))return!0}return!1},ut=e=>!!(e.dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")),lt=e=>!!(e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")),ct=e=>!!(e.extPolygonOffsetClamp=e.getExtension("EXT_polygon_offset_clamp")),dt=e=>!!(e.extClipControl=e.getExtension("EXT_clip_control")),ft=e=>!!(e.webglPolygonMode=e.getExtension("WEBGL_polygon_mode")),mt=e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")),pt=e=>{var r=["EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return(e.getSupportedExtensions()||[]).filter(e=>r.includes(e))},ht={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{ht.lastError||(ht.lastError=e)},getNewId:e=>{for(var r=ht.counter++,t=e.length;t<r;t++)e[t]=null;return r},genObject:(e,r,t,n)=>{for(var o=0;o<e;o++){var a=wr[t](),i=a&&ht.getNewId(n);a?(a.name=i,n[i]=a):ht.recordError(1282),h[r+4*o>>2]=i}},getSource:(e,r,t,n)=>{for(var o="",a=0;a<r;++a){var i=n?v[n+4*a>>2]:void 0;o+=H(v[t+4*a>>2],i)}return o},createContext:(e,r)=>{if(n.preinitializedWebGLContext){var t=n.preinitializedWebGLContext;r.majorVersion=Number(t.getParameter(t.VERSION).match(/^WebGL (\d+).\d+/)[1])}else{if(!e.getContextSafariWebGL2Fixed){function o(r,t){var n=e.getContextSafariWebGL2Fixed(r,t);return"webgl"==r==n instanceof WebGLRenderingContext?n:null}e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=o}t=e.getContext("webgl2",r)}return t?ht.registerContext(t,r):0},registerContext:(e,r)=>{var t=ht.getNewId(ht.contexts),n={handle:t,attributes:r,version:r.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),ht.contexts[t]=n,(void 0===r.enableExtensionsByDefault||r.enableExtensionsByDefault)&&ht.initExtensions(n),t},makeContextCurrent:e=>(ht.currentContext=ht.contexts[e],n.ctx=wr=ht.currentContext?.GLctx,!(e&&!wr)),getContext:e=>ht.contexts[e],deleteContext:e=>{ht.currentContext===ht.contexts[e]&&(ht.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(ht.contexts[e].GLctx.canvas),ht.contexts[e]?.GLctx.canvas&&(ht.contexts[e].GLctx.canvas.GLctxObject=void 0),ht.contexts[e]=null},initExtensions:e=>{if(e||=ht.currentContext,!e.initExtensionsDone){e.initExtensionsDone=!0;var r=e.GLctx;for(var t of(mt(r),ct(r),dt(r),ft(r),ut(r),lt(r),e.version>=2&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!r.disjointTimerQueryExt)&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query")),pt(r)))t.includes("lose_context")||t.includes("debug")||r.getExtension(t)}}},vt=["default","low-power","high-performance"],gt=e=>e>2?H(e):e,wt=[0,document,window],yt=e=>(e=gt(e),wt[e]||document.querySelector(e)),Et=(e,r)=>{var t=r>>2,n=h[t+2],o={alpha:!!d[r+0],depth:!!d[r+1],stencil:!!d[r+2],antialias:!!d[r+3],premultipliedAlpha:!!d[r+4],preserveDrawingBuffer:!!d[r+5],powerPreference:vt[n],failIfMajorPerformanceCaveat:!!d[r+12],majorVersion:h[t+4],minorVersion:h[t+5],enableExtensionsByDefault:d[r+24],explicitSwapControl:d[r+25],proxyContextToMainThread:h[t+7],renderViaOffscreenBackBuffer:d[r+32]},a=yt(e);return a?o.explicitSwapControl?0:ht.createContext(a,o):0},_t=e=>ht.makeContextCurrent(e)?0:-5,bt={},kt=()=>o||"./this.program",xt=()=>{if(!xt.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:kt()};for(var r in bt)void 0===bt[r]?delete e[r]:e[r]=bt[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);xt.strings=t}return xt.strings},Tt=(e,r)=>{var t=0,n=0;for(var o of xt()){var a=r+t;v[e+n>>2]=a,t+=xr(o,a,1/0)+1,n+=4}return 0},Pt=(e,r)=>{var t=xt();v[e>>2]=t.length;var n=0;for(var o of t)n+=ne(o)+1;return v[r>>2]=n,0};function St(e){try{var r=xe.getStreamFromFD(e);return ke.close(r),0}catch(t){if(void 0===ke||"ErrnoError"!==t.name)throw t;return t.errno}}var At=(e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var i=v[r>>2],s=v[r+4>>2];r+=8;var u=ke.read(e,d,i,s,n);if(u<0)return-1;if(o+=u,u<s)break}return o};function Ft(e,r,t,n){try{var o=xe.getStreamFromFD(e),a=At(o,r,t);return v[n>>2]=a,0}catch(i){if(void 0===ke||"ErrnoError"!==i.name)throw i;return i.errno}}var Dt=9007199254740992,Bt=-9007199254740992,Ct=e=>e<Bt||e>Dt?NaN:Number(e);function Lt(e,r,t,n){r=Ct(r);try{if(isNaN(r))return 61;var o=xe.getStreamFromFD(e);return ke.llseek(o,r,t),y[n>>3]=BigInt(o.position),o.getdents&&0===r&&0===t&&(o.getdents=null),0}catch(a){if(void 0===ke||"ErrnoError"!==a.name)throw a;return a.errno}}var It=(e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var i=v[r>>2],s=v[r+4>>2];r+=8;var u=ke.write(e,d,i,s,n);if(u<0)return-1;if(o+=u,u<s)break}return o};function Mt(e,r,t,n){try{var o=xe.getStreamFromFD(e),a=It(o,r,t);return v[n>>2]=a,0}catch(i){if(void 0===ke||"ErrnoError"!==i.name)throw i;return i.errno}}var Nt,Wt,Rt,jt,zt,Ot,$t=e=>wr.activeTexture(e),Ut=(e,r)=>{wr.attachShader(ht.programs[e],ht.shaders[r])},Vt=(e,r,t)=>{wr.bindAttribLocation(ht.programs[e],r,H(t))},Gt=(e,r)=>{35051==e?wr.currentPixelPackBufferBinding=r:35052==e&&(wr.currentPixelUnpackBufferBinding=r),wr.bindBuffer(e,ht.buffers[r])},Ht=(e,r,t)=>{wr.bindBufferBase(e,r,ht.buffers[t])},Xt=(e,r,t,n,o)=>{wr.bindBufferRange(e,r,ht.buffers[t],n,o)},qt=(e,r)=>{wr.bindFramebuffer(e,ht.framebuffers[r])},Qt=(e,r)=>{wr.bindTexture(e,ht.textures[r])},Kt=e=>{wr.bindVertexArray(ht.vaos[e])},Yt=(e,r,t,n)=>{t&&r?wr.bufferData(e,f,n,t,r):wr.bufferData(e,r,n)},Jt=(e,r,t,n)=>{t&&wr.bufferSubData(e,r,f,n,t)},Zt=e=>wr.clear(e),en=(e,r,t,n)=>wr.clearBufferfi(e,r,t,n),rn=(e,r,t)=>{wr.clearBufferfv(e,r,g,t>>2)},tn=(e,r,t)=>{wr.clearBufferiv(e,r,h,t>>2)},nn=(e,r,t)=>{wr.clearBufferuiv(e,r,v,t>>2)},on=(e,r,t,n)=>wr.clearColor(e,r,t,n),an=e=>wr.clearDepth(e),sn=e=>wr.clearStencil(e),un=(e,r,t,n)=>{wr.colorMask(!!e,!!r,!!t,!!n)},ln=e=>{wr.compileShader(ht.shaders[e])},cn=()=>{var e=ht.getNewId(ht.programs),r=wr.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,ht.programs[e]=r,e},dn=e=>{var r=ht.getNewId(ht.shaders);return ht.shaders[r]=wr.createShader(e),r},fn=(e,r)=>{for(var t=0;t<e;t++){var n=h[r+4*t>>2],o=ht.buffers[n];o&&(wr.deleteBuffer(o),o.name=0,ht.buffers[n]=null,n==wr.currentPixelPackBufferBinding&&(wr.currentPixelPackBufferBinding=0),n==wr.currentPixelUnpackBufferBinding&&(wr.currentPixelUnpackBufferBinding=0))}},mn=(e,r)=>{for(var t=0;t<e;++t){var n=h[r+4*t>>2],o=ht.framebuffers[n];o&&(wr.deleteFramebuffer(o),o.name=0,ht.framebuffers[n]=null)}},pn=e=>{if(e){var r=ht.programs[e];r?(wr.deleteProgram(r),r.name=0,ht.programs[e]=null):ht.recordError(1281)}},hn=(e,r)=>{for(var t=0;t<e;t++){var n=h[r+4*t>>2],o=ht.queries[n];o&&(wr.deleteQuery(o),ht.queries[n]=null)}},vn=e=>{if(e){var r=ht.shaders[e];r?(wr.deleteShader(r),ht.shaders[e]=null):ht.recordError(1281)}},gn=(e,r)=>{for(var t=0;t<e;t++){var n=h[r+4*t>>2],o=ht.textures[n];o&&(wr.deleteTexture(o),o.name=0,ht.textures[n]=null)}},wn=(e,r)=>{for(var t=0;t<e;t++){var n=h[r+4*t>>2];wr.deleteVertexArray(ht.vaos[n]),ht.vaos[n]=null}},yn=(e,r,t)=>{wr.drawArrays(e,r,t)},En=[],_n=(e,r)=>{for(var t=En[e],n=0;n<e;n++)t[n]=h[r+4*n>>2];wr.drawBuffers(t)},bn=(e,r,t,n)=>{wr.drawElements(e,r,t,n)},kn=(e,r,t,n,o)=>{wr.drawElementsInstanced(e,r,t,n,o)},xn=e=>{wr.enableVertexAttribArray(e)},Tn=(e,r,t,n,o)=>{wr.framebufferTexture2D(e,r,t,ht.textures[n],o)},Pn=(e,r)=>{ht.genObject(e,r,"createBuffer",ht.buffers)},Sn=(e,r)=>{ht.genObject(e,r,"createFramebuffer",ht.framebuffers)},An=(e,r)=>{ht.genObject(e,r,"createQuery",ht.queries)},Fn=(e,r)=>{ht.genObject(e,r,"createTexture",ht.textures)},Dn=(e,r)=>{ht.genObject(e,r,"createVertexArray",ht.vaos)},Bn=e=>wr.generateMipmap(e),Cn=(e,r)=>{v[e>>2]=r;var t=v[e>>2];v[e+4>>2]=(r-t)/4294967296},Ln=()=>{var e=pt(wr);return e=e.concat(e.map(e=>"GL_"+e))},In=(e,r,t)=>{if(r){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return;case 34814:case 36345:n=0;break;case 34466:var o=wr.getParameter(34467);n=o?o.length:0;break;case 33309:if(ht.currentContext.version<2)return void ht.recordError(1282);n=Ln().length;break;case 33307:case 33308:if(ht.currentContext.version<2)return void ht.recordError(1280);n=33307==e?3:0}if(void 0===n){var a=wr.getParameter(e);switch(typeof a){case"number":n=a;break;case"boolean":n=a?1:0;break;case"string":return void ht.recordError(1280);case"object":if(null===a)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void ht.recordError(1280)}else{if(a instanceof Float32Array||a instanceof Uint32Array||a instanceof Int32Array||a instanceof Array){for(var i=0;i<a.length;++i)switch(t){case 0:h[r+4*i>>2]=a[i];break;case 2:g[r+4*i>>2]=a[i];break;case 4:d[r+i]=a[i]?1:0}return}try{n=0|a.name}catch(s){return ht.recordError(1280),void k(`GL_INVALID_ENUM in glGet${t}v: Unknown object returned from WebGL getParameter(${e})! (error: ${s})`)}}break;default:return ht.recordError(1280),void k(`GL_INVALID_ENUM in glGet${t}v: Native code calling glGet${t}v(${e}) and it returns ${a} of type ${typeof a}!`)}}switch(t){case 1:Cn(r,n);break;case 0:h[r>>2]=n;break;case 2:g[r>>2]=n;break;case 4:d[r]=n?1:0}}else ht.recordError(1281)},Mn=(e,r)=>In(e,r,0),Nn=(e,r,t)=>{if(t){var n,o=ht.queries[e];n=ht.currentContext.version<2?wr.disjointTimerQueryExt.getQueryObjectEXT(o,r):wr.getQueryParameter(o,r),Cn(t,"boolean"==typeof n?n?1:0:n)}else ht.recordError(1281)},Wn=(e,r,t)=>{if(t){var n,o=ht.queries[e],a=wr.disjointTimerQueryExt.getQueryObjectEXT(o,r);n="boolean"==typeof a?a?1:0:a,h[t>>2]=n}else ht.recordError(1281)},Rn=(e,r)=>wr.getUniformBlockIndex(ht.programs[e],H(r)),jn=e=>parseInt(e),zn=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),On=e=>{var r,t,n=e.uniformLocsById,o=e.uniformSizeAndIdsByName;if(!n){e.uniformLocsById=n={},e.uniformArrayNamesById={};var a=wr.getProgramParameter(e,35718);for(r=0;r<a;++r){var i=wr.getActiveUniform(e,r),s=i.name,u=i.size,l=zn(s),c=l>0?s.slice(0,l):s,d=e.uniformIdCounter;for(e.uniformIdCounter+=u,o[c]=[u,d],t=0;t<u;++t)n[d]=t,e.uniformArrayNamesById[d++]=c}}},$n=(e,r)=>{if(r=H(r),e=ht.programs[e]){On(e);var t=e.uniformLocsById,n=0,o=r,a=zn(r);a>0&&(n=jn(r.slice(a+1))>>>0,o=r.slice(0,a));var i=e.uniformSizeAndIdsByName[o];if(i&&n<i[0]&&(t[n+=i[1]]=t[n]||wr.getUniformLocation(e,r)))return n}else ht.recordError(1281);return-1},Un=e=>{e=ht.programs[e],wr.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},Vn=(e,r)=>{3317==e?ht.unpackAlignment=r:3314==e&&(ht.unpackRowLength=r),wr.pixelStorei(e,r)},Gn=(e,r)=>{wr.disjointTimerQueryExt.queryCounterEXT(ht.queries[e],r)},Hn=e=>wr.readBuffer(e),Xn=e=>0==(e-=5120)?d:1==e?f:2==e?m:4==e?h:6==e?g:5==e||28922==e||28520==e||30779==e||30782==e?v:p,qn=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),Qn=(e,r,t,n,o,a,i)=>{if(wr.currentPixelPackBufferBinding)wr.readPixels(e,r,t,n,o,a,i);else{var s=Xn(a),u=qn(i,s);wr.readPixels(e,r,t,n,o,a,s,u)}},Kn=(e,r,t,n)=>{var o=ht.getSource(e,r,t,n);wr.shaderSource(ht.shaders[e],o)},Yn=(e,r,t,n,o,a,i,s,u,l)=>{if(wr.currentPixelUnpackBufferBinding)wr.texImage3D(e,r,t,n,o,a,i,s,u,l);else if(l){var c=Xn(u);wr.texImage3D(e,r,t,n,o,a,i,s,u,c,qn(l,c))}else wr.texImage3D(e,r,t,n,o,a,i,s,u,null)},Jn=(e,r,t)=>wr.texParameteri(e,r,t),Zn=(e,r,t,n,o)=>wr.texStorage2D(e,r,t,n,o),eo=(e,r,t)=>{function n(e,r){return e+r-1&-r}return r*n((ht.unpackRowLength||e)*t,ht.unpackAlignment)},ro=e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1),to=(e,r,t,n,o,a)=>{var i=Xn(e),s=ro(r)*i.BYTES_PER_ELEMENT,u=eo(t,n,s);return i.subarray(qn(o,i),qn(o+u,i))},no=(e,r,t,n,o,a,i,s,u)=>{if(wr.currentPixelUnpackBufferBinding)wr.texSubImage2D(e,r,t,n,o,a,i,s,u);else if(u){var l=Xn(s);wr.texSubImage2D(e,r,t,n,o,a,i,s,l,qn(u,l))}else{var c=u?to(s,i,o,a,u):null;wr.texSubImage2D(e,r,t,n,o,a,i,s,c)}},oo=(e,r,t,n,o,a,i,s,u,l,c)=>{if(wr.currentPixelUnpackBufferBinding)wr.texSubImage3D(e,r,t,n,o,a,i,s,u,l,c);else if(c){var d=Xn(l);wr.texSubImage3D(e,r,t,n,o,a,i,s,u,l,d,qn(c,d))}else wr.texSubImage3D(e,r,t,n,o,a,i,s,u,l,null)},ao=e=>{var r=wr.currentProgram;if(r){var t=r.uniformLocsById[e];return"number"==typeof t&&(r.uniformLocsById[e]=t=wr.getUniformLocation(r,r.uniformArrayNamesById[e]+(t>0?`[${t}]`:""))),t}ht.recordError(1282)},io=(e,r)=>{wr.uniform1i(ao(e),r)},so=(e,r,t)=>{e=ht.programs[e],wr.uniformBlockBinding(e,r,t)},uo=e=>{e=ht.programs[e],wr.useProgram(e),wr.currentProgram=e},lo=(e,r,t,n,o)=>{wr.vertexAttribIPointer(e,r,t,n,o)},co=(e,r,t,n,o,a)=>{wr.vertexAttribPointer(e,r,t,!!n,o,a)},fo=(e,r)=>{if(Nt)for(var t=e;t<e+r;t++){var n=hr(t);n&&Nt.set(n,t)}},mo=e=>(Nt||(Nt=new WeakMap,fo(0,Ot.length)),Nt.get(e)||0),po=[],ho=()=>po.length?po.pop():Ot.grow(1),vo=(e,r)=>{Ot.set(e,r),pr[e]=Ot.get(e)},go=e=>{const r=e.length;return[r%128|128,r>>7,...e]},wo={i:127,p:127,j:126,f:125,d:124,e:111},yo=e=>go(Array.from(e,e=>wo[e])),Eo=(e,r)=>{var t=Uint8Array.of(0,97,115,109,1,0,0,0,1,...go([1,96,...yo(r.slice(1)),...yo("v"===r[0]?"":r[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),n=new WebAssembly.Module(t);return new WebAssembly.Instance(n,{e:{f:e}}).exports.f},_o=(e,r)=>{var t=mo(e);if(t)return t;var n=ho();try{vo(n,e)}catch(k){if(!(k instanceof TypeError))throw k;var o=Eo(e,r);vo(n,o)}return Nt.set(e,n),n},bo=(...e)=>ke.createPath(...e),ko=(...e)=>ke.unlink(...e),xo=(...e)=>ke.createLazyFile(...e),To=(...e)=>ke.createDevice(...e);ke.createPreloadedFile=be,ke.preloadFile=_e,ke.staticInit();for(let Do=0;Do<32;++Do)En.push(new Array(Do));if(n.noExitRuntime&&n.noExitRuntime,n.preloadPlugins&&(ye=n.preloadPlugins),n.print&&(b=n.print),n.printErr&&(k=n.printErr),n.wasmBinary&&(u=n.wasmBinary),n.arguments&&n.arguments,n.thisProgram&&(o=n.thisProgram),n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()();function Po(e){Wt=e.db,Rt=n._free=e.fb,jt=n._malloc=e.gb,zt=e.bb,Ot=e.eb}n.addRunDependency=we,n.removeRunDependency=ge,n.addFunction=_o,n.stringToUTF8=xr,n.lengthBytesUTF8=ne,n.specialHTMLTargets=wt,n.FS_preloadFile=_e,n.FS_unlink=ko,n.FS_createPath=bo,n.FS_createDevice=To,n.FS_createDataFile=pe,n.FS_createLazyFile=xo;var So,Ao={aa:X,p:Q,_:Te,Ya:Pe,Za:Se,_a:Ae,ia:Re,I:Ge,ga:He,ea:Je,J:nr,m:sr,H:lr,c:_r,k:br,h:kr,fa:Tr,C:Lr,ja:Ir,r:Mr,ha:Nr,da:Wr,K:Rr,g:Gr,a:Qe,t:Hr,j:Xr,s:qr,v:Qr,f:Kr,ka:Yr,ma:Jr,b:Zr,i:et,e:rt,d:tt,ca:nt,ba:st,pa:Et,na:_t,Ua:Tt,Va:Pt,$:St,Wa:Ft,Xa:Lt,G:Mt,Na:$t,x:Ut,Ea:Vt,Qa:Gt,Oa:Ht,Pa:Xt,A:qt,l:Qt,B:Kt,$a:Yt,T:Jt,V:Zt,Ia:en,E:rn,Ha:tn,U:nn,La:on,Ka:an,Ja:sn,la:un,P:ln,Fa:cn,R:dn,Z:fn,W:mn,Ga:pn,w:hn,q:vn,F:gn,O:wn,Ra:yn,Ma:_n,Sa:bn,Ta:kn,sa:xn,z:Tn,ab:Pn,X:Sn,N:An,za:Fn,ta:Dn,ua:Bn,u:Mn,L:Nn,oa:Wn,Da:Rn,Ba:$n,S:Un,n:Vn,M:Gn,D:Hn,y:Qn,Q:Kn,xa:Yn,o:Jn,ya:Zn,va:no,wa:oo,Aa:io,Ca:so,Y:uo,qa:lo,ra:co};function Fo(){function e(){n.calledRun=!0,x||(A(),l?.(n),n.onRuntimeInitialized?.(),F())}he>0?ve=Fo:(S(),he>0?ve=Fo:n.setStatus?(n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),1),e()},1)):e())}return So=await W(),Fo(),T?n:new Promise((e,r)=>{l=e,c=r})}export{e as default};
package/config.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="5.1.0-next.43";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
2
+ import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="5.1.0-next.45";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{toConst as n}from"./compilerUtils.js";import t from"./RandomLCG.js";const e=1.5,r=1/e,l=.5;function u(n,t){if(!t)return n;for(const e of t)n.push(e);return n}function o(n){return n}function f(n,t=o){if(!n||0===n.length)return;let e=n[0],r=t(e);for(let l=1;l<n.length;++l){const u=n[l],o=Number(t(u));o>r&&(r=o,e=u)}return e}function i(n,t=o){return f(n,n=>-t(n))}function c(n,t){return t?n.filter((n,e,r)=>r.findIndex(t.bind(null,n))===e):Array.from(new Set(n))}function s(n,t,e,r,l,u,o){if(null==n&&null==r)return!0;t=Math.max(0,t),l=Math.max(0,l),e=Math.max(0,e<0?(n?.length??0)+e:e),u=Math.max(0,u<0?(r?.length??0)+u:u);const f=e-t;if(null==n||null==r||f!==u-l)return!1;if(o){for(let i=0;i<f;i++)if(!o(n[t+i],r[l+i]))return!1}else for(let i=0;i<f;i++)if(n[t+i]!==r[l+i])return!1;return!0}function h(n,t,e){return s(n,0,n?.length??0,t,0,t?.length??0,e)}function a(){return(n,t)=>{if(null==n&&null==t)return!0;if(null==n||null==t||n.length!==t.length)return!1;for(let e=0;e<n.length;e++)if(n[e]!==t[e])return!1;return!0}}function g(n,t){let e=n.length!==t.length;e&&(n.length=t.length);for(let r=0;r<t.length;++r)n[r]!==t[r]&&(n[r]=t[r],e=!0);return e}function d(n,t,e){let r,l;return e?(r=t.filter(t=>!n.some(n=>e(n,t))),l=n.filter(n=>!t.some(t=>e(t,n)))):(r=t.filter(t=>!n.includes(t)),l=n.filter(n=>!t.includes(n))),{added:r,removed:l}}function m(n,t,e){return n&&t?e?n.filter(n=>t.findIndex(t=>e(n,t))>-1):n.filter(n=>t.includes(n)):[]}function p(n){return n&&"number"==typeof n.length}function M(n,t){const e=n.length;if(0===e)return[];const r=[];for(let l=0;l<e;l+=t)r.push(n.slice(l,l+t));return r}function x(n,t){void 0===t&&(t=n,n=0);const e=new Array(t-n);for(let r=n;r<t;r++)e[r-n]=r;return e}function w(n,t,e){const r=n.length;let l=0,u=r-1;for(;l<u;){const e=l+Math.floor((u-l)/2);t>n[e]?l=e+1:u=e}const o=n[l];return e?t>=n[r-1]?-1:o===t?l:l-1:o===t?l:-1}class y{constructor(){this.last=0}}const A=new y;function b(n,t,e,r){r=r||A;const l=Math.max(0,r.last-10);for(let o=l;o<e;++o)if(n[o]===t)return r.last=o,o;const u=Math.min(l,e);for(let o=0;o<u;++o)if(n[o]===t)return r.last=o,o;return-1}function S(t,e,r,l){const u=r??t.length,o=b(t,n(e),u,l);if(-1!==o)return t[o]=t[u-1],null==r&&t.pop(),e}const j=new Set;function v(n,t,e=n.length,r=t.length,l,u){if(0===r||0===e)return e;j.clear();for(let f=0;f<r;++f)j.add(t[f]);l=l||A;const o=Math.max(0,l.last-10);for(let f=o;f<e;++f)if(j.has(n[f])&&(u?.push(n[f]),j.delete(n[f]),n[f]=n[e-1],--e,--f,0===j.size||0===e))return j.clear(),e;for(let f=0;f<o;++f)if(j.has(n[f])&&(u?.push(n[f]),j.delete(n[f]),n[f]=n[e-1],--e,--f,0===j.size||0===e))return j.clear(),e;return j.clear(),e}function z(n,t){let e=0;for(let r=0;r<n.length;++r){const l=n[r];t(l,r)&&(n[e]=l,e++)}return n.length=e,n}function I(n,t,e){const r=n.length;if(t>=r)return n.slice();const l=C(e),u=new Set,o=[];for(;o.length<t;){const t=Math.floor(l()*r);u.has(t)||(u.add(t),o.push(n[t]))}return o}function C(n){return n?(F.seed=n,()=>F.getFloat()):Math.random}const F=new t;function G(n,t){if(!n)return n;const e=C(t);for(let r=n.length-1;r>0;r--){const t=Math.floor(e()*(r+1)),l=n[r];n[r]=n[t],n[t]=l}return n}function L(n,t){const e=n.indexOf(t);return-1!==e?(n.splice(e,1),t):null}function N(n,t){return null!=n}function O(n,...t){for(const e of t)null!=e&&n.push(e);return n.length}function R(n,t){return n.reduce((n,e)=>t(e)?n+1:n,0)}function U(n){return Array.isArray(n)}function k(n,t,e){for(t<n.length&&(n.length=t);n.length<t;)n.push(e())}function q(n,t){return n-t}const B=[];export{y as PositionHint,u as addMany,w as binaryIndexOf,R as countIf,d as difference,B as emptyArray,h as equals,z as filterInPlace,C as getRandomNumberGenerator,b as indexOf,m as intersect,p as isArrayLike,U as isArrayWithReadonly,N as isSome,a as makeArrayEquals,f as max,i as min,q as numericSort,I as pickRandom,O as pushIfSome,x as range,e as reallocGrowthFactor,r as reallocShrinkFactor,l as reallocShrinkThreshold,L as remove,S as removeUnordered,v as removeUnorderedMany,k as resizeFilled,G as shuffle,s as sliceEquals,M as splitIntoChunks,c as unique,g as update};
2
+ import{toConst as n}from"./compilerUtils.js";import t from"./RandomLCG.js";const e=1.5,r=1/e,l=.5;function o(n,t){if(!t)return n;for(const e of t)n.push(e);return n}function u(n){return n}function f(n,t=u){if(!n||0===n.length)return;let e=n[0],r=t(e);for(let l=1;l<n.length;++l){const o=n[l],u=Number(t(o));u>r&&(r=u,e=o)}return e}function i(n,t=u){return f(n,n=>-t(n))}function c(n,t){return t?n.filter((n,e,r)=>r.findIndex(t.bind(null,n))===e):Array.from(new Set(n))}function s(n,t,e,r,l,o,u){if(null==n&&null==r)return!0;t=Math.max(0,t),l=Math.max(0,l),e=Math.max(0,e<0?(n?.length??0)+e:e),o=Math.max(0,o<0?(r?.length??0)+o:o);const f=e-t;if(null==n||null==r||f!==o-l)return!1;if(u){for(let i=0;i<f;i++)if(!u(n[t+i],r[l+i]))return!1}else for(let i=0;i<f;i++)if(n[t+i]!==r[l+i])return!1;return!0}function h(n,t,e){return s(n,0,n?.length??0,t,0,t?.length??0,e)}function a(){return(n,t)=>{if(null==n&&null==t)return!0;if(null==n||null==t||n.length!==t.length)return!1;for(let e=0;e<n.length;e++)if(n[e]!==t[e])return!1;return!0}}function g(n,t){let e=n.length!==t.length;e&&(n.length=t.length);for(let r=0;r<t.length;++r)n[r]!==t[r]&&(n[r]=t[r],e=!0);return e}function d(n,t,e){let r,l;return e?(r=t.filter(t=>!n.some(n=>e(n,t))),l=n.filter(n=>!t.some(t=>e(t,n)))):(r=t.filter(t=>!n.includes(t)),l=n.filter(n=>!t.includes(n))),{added:r,removed:l}}function m(n,t,e){return n&&t?e?n.filter(n=>t.findIndex(t=>e(n,t))>-1):n.filter(n=>t.includes(n)):[]}function p(n){return n&&"number"==typeof n.length}function M(n,t){const e=n.length;if(0===e)return[];const r=[];for(let l=0;l<e;l+=t)r.push(n.slice(l,l+t));return r}function x(n,t){void 0===t&&(t=n,n=0);const e=new Array(t-n);for(let r=n;r<t;r++)e[r-n]=r;return e}function N(n,t,e){const r=n.length;let l=0,o=r-1;for(;l<o;){const e=l+Math.floor((o-l)/2);t>n[e]?l=e+1:o=e}const u=n[l];return e?t>=n[r-1]?-1:u===t?l:l-1:u===t?l:-1}function w(n,t,e,r){n.length>e&&(n.length=e);const l=n.length;let o=0,u=l;if(l===e){const e=r(n[l-1],t);if(e<=0||Number.isNaN(e))return}for(;o<u;){const e=o+u>>>1,l=r(n[e],t);l<=0||Number.isNaN(l)?o=e+1:u=e}l===e&&n.pop(),n.splice(o,0,t)}class b{constructor(){this.last=0}}const y=new b;function A(n,t,e,r){r=r||y;const l=Math.max(0,r.last-10);for(let u=l;u<e;++u)if(n[u]===t)return r.last=u,u;const o=Math.min(l,e);for(let u=0;u<o;++u)if(n[u]===t)return r.last=u,u;return-1}function S(t,e,r,l){const o=r??t.length,u=A(t,n(e),o,l);if(-1!==u)return t[u]=t[o-1],null==r&&t.pop(),e}const j=new Set;function v(n,t,e=n.length,r=t.length,l,o){if(0===r||0===e)return e;j.clear();for(let f=0;f<r;++f)j.add(t[f]);l=l||y;const u=Math.max(0,l.last-10);for(let f=u;f<e;++f)if(j.has(n[f])&&(o?.push(n[f]),j.delete(n[f]),n[f]=n[e-1],--e,--f,0===j.size||0===e))return j.clear(),e;for(let f=0;f<u;++f)if(j.has(n[f])&&(o?.push(n[f]),j.delete(n[f]),n[f]=n[e-1],--e,--f,0===j.size||0===e))return j.clear(),e;return j.clear(),e}function z(n,t){let e=0;for(let r=0;r<n.length;++r){const l=n[r];t(l,r)&&(n[e]=l,e++)}return n.length=e,n}function I(n,t,e){const r=n.length;if(t>=r)return n.slice();const l=C(e),o=new Set,u=[];for(;u.length<t;){const t=Math.floor(l()*r);o.has(t)||(o.add(t),u.push(n[t]))}return u}function C(n){return n?(F.seed=n,()=>F.getFloat()):Math.random}const F=new t;function G(n,t){if(!n)return n;const e=C(t);for(let r=n.length-1;r>0;r--){const t=Math.floor(e()*(r+1)),l=n[r];n[r]=n[t],n[t]=l}return n}function L(n,t){const e=n.indexOf(t);return-1!==e?(n.splice(e,1),t):null}function O(n,t){return null!=n}function R(n,...t){for(const e of t)null!=e&&n.push(e);return n.length}function U(n,t){return n.reduce((n,e)=>t(e)?n+1:n,0)}function k(n){return Array.isArray(n)}function q(n,t,e){for(t<n.length&&(n.length=t);n.length<t;)n.push(e())}function B(n,t){return n-t}const D=[];export{b as PositionHint,o as addMany,N as binaryIndexOf,U as countIf,d as difference,D as emptyArray,h as equals,z as filterInPlace,C as getRandomNumberGenerator,A as indexOf,w as insertSortedStableTopN,m as intersect,p as isArrayLike,k as isArrayWithReadonly,O as isSome,a as makeArrayEquals,f as max,i as min,B as numericSort,I as pickRandom,R as pushIfSome,x as range,e as reallocGrowthFactor,r as reallocShrinkFactor,l as reallocShrinkThreshold,L as remove,S as removeUnordered,v as removeUnorderedMany,q as resizeFilled,G as shuffle,s as sliceEquals,M as splitIntoChunks,c as unique,g as update};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{getMetersPerVerticalUnitForSR as o}from"../../core/units.js";import{isSphericalPCPF as n}from"../ellipsoidUtils.js";import{equals as t}from"./spatialReferenceUtils.js";import{getEndpoint as e}from"./curves/curveUtils.js";function r(o,n,t){const e=i(n,t);if(1!==e)switch(o){case"point":case"esriGeometryPoint":return o=>s(o,e);case"polyline":case"esriGeometryPolyline":return o=>c(o,e);case"polygon":case"esriGeometryPolygon":return o=>f(o,e);case"multipoint":case"esriGeometryMultipoint":return o=>l(o,e);case"extent":case"esriGeometryEnvelope":return o=>u(o,e);default:return}}function i(e,r){if(null==e||null==r||r.vcsWkid||t(e,r)||n(e)||n(r))return 1;return o(e)/o(r)}function s(o,n){null!=o?.z&&(o.z*=n)}function f(o,n){if(o){if(o.curveRings)for(const t of o.curveRings)for(const o of t){const t=e(o);t.length>2&&(t[2]*=n)}if(o.rings)for(const t of o.rings)for(const o of t)o.length>2&&(o[2]*=n)}}function c(o,n){if(o){if(o.curvePaths)for(const t of o.curvePaths)for(const o of t){const t=e(o);t.length>2&&(t[2]*=n)}if(o.paths)for(const t of o.paths)for(const o of t)o.length>2&&(o[2]*=n)}}function l(o,n){if(o)for(const t of o.points)t.length>2&&(t[2]*=n)}function u(o,n){o&&null!=o.zmin&&null!=o.zmax&&(o.zmin*=n,o.zmax*=n)}export{r as getGeometryZScaler,i as zScale};
2
+ import{getMetersPerVerticalUnitForSR as n}from"../../core/units.js";import{isSphericalPCPF as o}from"../ellipsoidUtils.js";import{equals as t}from"./spatialReferenceUtils.js";import{getEndpoint as e}from"./curves/curveUtils.js";function r(n,o,t){const e=i(o,t);if(1!==e)switch(n){case"point":case"esriGeometryPoint":return n=>s(n,e);case"polyline":case"esriGeometryPolyline":return n=>f(n,e);case"polygon":case"esriGeometryPolygon":return n=>c(n,e);case"multipoint":case"esriGeometryMultipoint":return n=>l(n,e);case"extent":case"esriGeometryEnvelope":return n=>u(n,e);default:return}}function i(e,r){if(null==e||null==r||(e.vcsWkid??null)!==(r.vcsWkid??null)||t(e,r)||o(e)||o(r))return 1;return n(e)/n(r)}function s(n,o){null!=n?.z&&(n.z*=o)}function c(n,o){if(n){if(n.curveRings)for(const t of n.curveRings)for(const n of t){const t=e(n);t.length>2&&(t[2]*=o)}if(n.rings)for(const t of n.rings)for(const n of t)n.length>2&&(n[2]*=o)}}function f(n,o){if(n){if(n.curvePaths)for(const t of n.curvePaths)for(const n of t){const t=e(n);t.length>2&&(t[2]*=o)}if(n.paths)for(const t of n.paths)for(const n of t)n.length>2&&(n[2]*=o)}}function l(n,o){if(n)for(const t of n.points)t.length>2&&(t[2]*=o)}function u(n,o){n&&null!=n.zmin&&null!=n.zmax&&(n.zmin*=o,n.zmax*=o)}export{r as getGeometryZScaler,i as zScale};
package/kernel.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.1";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.1.0-next.43",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
2
+ import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.1";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.1.0-next.45",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import i from"../request.js";import t from"../core/Accessor.js";import s from"../core/Error.js";import r from"../core/Logger.js";import{createAbortError as a,isAborted as n,isAbortError as o}from"../core/promiseUtils.js";import{watch as l}from"../core/reactiveUtils.js";import{addFrameTask as d}from"../core/scheduling.js";import{property as h,subclass as _}from"../core/accessorSupport/decorators.js";import y from"../geometry/SpatialReference.js";import{isGeographic as c}from"../geometry/support/spatialReferenceUtils.js";import u from"../geometry/support/WKIDUnitConversion.js";import{wasmFailedToInit as m,elevQueriesFull as g,elevQueriesGenericFail as w,invalidLayerView as p}from"./ILyr3DWasmPerSceneView.js";import{Lyr3DWorkerHandle as b}from"./Lyr3DWorkerHandle.js";import{getVCSFromHeightModelInfo as f}from"./support/tiles3DUtils.js";import{loadLyr3DMainWASM as v}from"../libs/lyr3d/Lyr3DModule.js";import{getElevationOffsetInMeters as D}from"../support/elevationInfoUtils.js";import{makeScheduleFunction as M}from"../views/3d/layers/support/makeScheduleFunction.js";const L=3857,k=32662,R=4326,S=5773,C=115700;let W=class extends t{constructor(e){super(e),this._lyr3DMainPromise=null,this._lyr3DMain=null,this._layers=new Map,this._viewSR=null,this._lyr3DBusyCount=0,this._lyr3DInternalMemoryBytes=0,this._isTerrainReady=!1,this._hasLayerThatReplacesTerrain=!1,this._elevationQueries=new Map,this._debugFlags=new Set,this._debugLevel=0,this._wasmNotLoaded="method requiring WASM was called when WASM isn't loaded",this._pulseTaskHandle=null,this._cameraElevationDirty=!0,this._debugFlags.add(0),this._debugFlags.add(1),this._debugFlags.add(2)}_debugLog(e,i,t,s=!0){if(this._debugFlags.has(e)&&this._debugLevel>=i){const e=s?`[js] ${t}`:`${t}`;0===i||1===i?r.getLogger(this).error(e):2===i&&r.getLogger(this).warn(e),r.getLogger(this).info(e)}}get lyr3DInternalMemoryBytes(){return this._lyr3DInternalMemoryBytes}initialize(){this._debugLevel>2&&(r.getLogger(this).level="info"),this._debugLog(0,3,"Lyr3DWasmPerSceneView.initialize()"),this.addHandles([l(()=>this.view.state?.contentCamera,()=>this._updateWasmCamera()),l(()=>this.view.state?.contentCamera.relativeElevation,()=>{this._cameraElevationDirty=!0,this._markAllLayerViewsUpdating()})]),this._pulseTaskHandle=d({preRender:()=>this._pulseTask()})}destroy(){this._debugLog(0,3,"Lyr3DWasmPerSceneView.destroy()"),this._lyr3DMain&&(this._layers.forEach(e=>{e.abortController.abort()}),this._elevationQueries.forEach((e,i)=>{this._lyr3DMain.cancel_elevation_query(i),e.rejectCallback(a())}),this._elevationQueries.clear(),this._lyr3DMain.uninitialize_lyr3d_wasm(),this._lyr3DMain=null);const e=this._workerHandle;e&&e.destroyWasm().then(()=>{this._workerHandle?.destroy(),this._workerHandle=null}),this._pulseTaskHandle?.remove(),this._pulseTaskHandle=null}addLayerView(e){return this._lyr3DMain?this._addLayerView(e):(this._debugLog(0,1,"Lyr3DWasmPerSceneView.add3DTilesLayerView() called when WASM wasn't initialized"),{wasmLayerId:m})}removeLayerView(e){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),0;this._doRemoveLayerView(e);const i=this._layers.size;return 0===i&&(this._debugLog(0,3,"Lyr3DWasmPerSceneView.remove3DTilesLayerView() no Lyr3D layers left after removing a layer, destroying"),this.destroy()),i}getValidLayerViewCount(){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),0;let e=0;return this._layers.forEach(i=>{i.layerView.wasmLayerId>=0&&++e}),e}setEnabled(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const t=this._layers.get(e.wasmLayerId);if(t){this._lyr3DMain.set_enabled(e.wasmLayerId,i),t.needMemoryUsageUpdate=!0;const s=this._isUpdating(t);t.needFrame=!0,s||t.layerView.updatingFlagChanged()}}setLayerOffset(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);this._layers.get(e.wasmLayerId)&&this._lyr3DMain.set_carto_offset_z(e.wasmLayerId,i)}getAttributionText(){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),[];return this._lyr3DMain.get_current_attribution_text().split("|")}onRenderableEvicted(e,i,t){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);this._layers.get(e.wasmLayerId)&&this._lyr3DMain.on_renderable_evicted(e.wasmLayerId,i,t)}setMeshModifications(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const t=this._layers.get(e.wasmLayerId);if(t){const s=this._lyr3DMain._malloc(8*i.length),r=new Float64Array(this._lyr3DMain.HEAPF64.buffer,s,i.length);for(let e=0;e<i.length;++e)r[e]=i[e];this._lyr3DMain.set_mesh_modification_polygons(e.wasmLayerId,s,i.length),this._lyr3DMain._free(s);const a=this._isUpdating(t);t.needFrame=!0,a||t.layerView.updatingFlagChanged()}}isUpdating(e){if(!this._lyr3DMain&&this._lyr3DMainPromise)return!0;const i=this._layers.get(e);return!!i&&(i.outstandingJobCount>0||i.outstandingRenderableCount>0||i.needFrame||this._lyr3DBusyCount>0)}initializeWasm(e,i){return this._lyr3DMain?Promise.resolve():this.view.renderSpatialReference?(this._debugLog(0,3,"Lyr3DWasmPerSceneView.initializeWasm()"),this._lyr3DMainPromise||(this._lyr3DMainPromise=v().then(t=>{this._lyr3DMain=t,this._lyr3DMainPromise=null;const s=this._lyr3DMain.addFunction(this._onNewJob.bind(this),"v"),r=this._lyr3DMain.addFunction(this._onNewRenderable.bind(this),"v"),a=this._lyr3DMain.addFunction(this._freeRenderables.bind(this),"viii"),n=this._lyr3DMain.addFunction(this._setRenderableVisibility.bind(this),"viiii"),o=this._lyr3DMain.addFunction(this._onWasmError.bind(this),"viiii"),l=this._lyr3DMain.addFunction(this._onElevQueryComplete.bind(this),"vi");if(!this.view.renderSpatialReference)return void(this._lyr3DMain=null);this._viewSR=this.view.renderSpatialReference?.toJSON();const d="global"===this.view.viewingMode?5:3;if(5===d)this._viewSR.wkid=this._viewSR.latestWkid=R,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(this.view.renderSpatialReference?.isWebMercator)this._viewSR.wkid=this._viewSR.latestWkid=L,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(this.view.renderSpatialReference?.wkid===k)this._viewSR.wkid=this._viewSR.latestWkid=R,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(!this._viewSR.latestVcsWkid&&!this._viewSR.vcsWkid){const e=f(this.view.heightModelInfo);if(e)this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=e;else{const e=this.view.heightModelInfo?.heightModel,i=!e||"gravity-related-height"===e;this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=i?S:C}}return this._lyr3DMain.initialize_lyr3d_wasm(o,s,r,a,n,l,e,i,d,this._cleanUpSR(this._makeSRWasmSerializable(this._viewSR)),Math.max(this._debugLevel,0),16)?(this._workerHandle=new b(M(this.view.resourceController)),this._workerHandle.promise?this._workerHandle.promise:void 0):(this._lyr3DMain=null,void this._debugLog(0,0,"Lyr3d Main WASM failed to initialize",!1))}).catch(e=>{this._debugLog(0,0,`Lyr3d WASM failed to download error = ${e}`,!1)})),this._lyr3DMainPromise):Promise.reject()}get isTerrainReady(){return this._isTerrainReady}setLodPixelThreshold(e,i){this._lyr3DMain?.set_lod_pixel_threshold(i);const t=this._layers.get(e.wasmLayerId);t&&(t.needFrame=!0)}setMaximumGaussianSplatCount(e){this._lyr3DMain.set_maximum_splat_count(e),this._layers.forEach(e=>{"gaussian-splat-3d"===e.layerView.type&&(e.needFrame=!0)})}queryElevation(e,i,t){if(!this._lyr3DMain)return Promise.reject(this._wasmNotLoaded);if(0===i.coordinates.length)return Promise.reject("no coordinates for elevation query");const s="global"===this.view.viewingMode?y.WGS84:this._viewSR.wkid===L?y.WebMercator:y.PlateCarree,r=i.projectSync(s);r&&(i=r);const a=2*i.coordinates.length,n=this._lyr3DMain._malloc(8*a),o=new Float64Array(this._lyr3DMain.HEAPF64.buffer,n,a);for(let y=0;y<i.coordinates.length;++y){const e=i.coordinates[y];o[2*y]=e.x,o[2*y+1]=e.y}const l=t?.maxGeometricError??0,d=this._lyr3DMain.create_elevation_query(e.wasmLayerId,l,n,a);if(this._lyr3DMain._free(n),d===g)return Promise.reject("max mesh elevation query limit exceeded");if(d===w)return Promise.reject("elevation query failed");const h={descriptor:i,signal:t?.signal,resolveCallback:null,rejectCallback:null},_=new Promise((e,i)=>{h.resolveCallback=e,h.rejectCallback=i});return this._elevationQueries.set(d,h),_}_checkForAbortedElevationQueries(){const e=[];this._elevationQueries.forEach((i,t)=>{n(i.signal)&&(this._lyr3DMain.cancel_elevation_query(t),i.rejectCallback(a()),e.push(t))});for(let i=0;i<e.length;++i)this._elevationQueries.delete(e[i])}_pulseTask(){if(this._lyr3DMain){if(this._cameraElevationDirty){const e=this.view.state?.contentCamera.relativeElevation;this._lyr3DMain.set_camera_elevation(e)}this._checkForAbortedElevationQueries();let e=0,i=0;this._layers.forEach(t=>{e+=t.layerView.usedMemory,i+=t.layerView.cachedMemory}),e/=1048576,i/=1048576;const t=this.view.resourceController.memoryController,s=t.usedMemory*t.maxMemory-e-this._lyr3DInternalMemoryBytes/1048576;this._lyr3DBusyCount=this._lyr3DMain.frame_pulse(t.memoryFactor,e,i,s,t.maxMemory),this._lyr3DInternalMemoryBytes=this._lyr3DMain.get_index_memory_bytes(),this._layers.forEach(e=>{this._cameraElevationDirty||(e.needFrame=!1),e.layerView.updatingFlagChanged()}),this._hasLayerThatReplacesTerrain&&!this._isTerrainReady&&(this._isTerrainReady=this._lyr3DMain.is_terrain_ready(),this._isTerrainReady&&this.notifyChange("isTerrainReady")),this._cameraElevationDirty=!1}}_isUpdating(e){return e.outstandingJobCount>0||e.outstandingRenderableCount>0||e.needFrame||this._lyr3DBusyCount>0}_incrementJobCount(e,i){if(i.isForElevationQuery)return;const t=this._isUpdating(e);e.outstandingJobCount+=1,t||e.layerView.updatingFlagChanged()}_decrementJobCount(e,i){if(i.isForElevationQuery)return;const t=this._isUpdating(e);e.outstandingJobCount-=1;t!==this._isUpdating(e)&&e.layerView.updatingFlagChanged()}_incrementRenderableCount(e){const i=this._isUpdating(e);e.outstandingRenderableCount+=1,i||e.layerView.updatingFlagChanged()}_decrementRenderableCount(e){const i=this._isUpdating(e);e.outstandingRenderableCount-=1;i!==this._isUpdating(e)&&e.layerView.updatingFlagChanged()}_onJobFailed(e,i,t){i.error.length&&this._debugLog(1,1,i.error,!1),this._lyr3DMain&&this._lyr3DMain.on_job_failed(t.jobId,t.desc),this._decrementJobCount(e,t)}_onJobSucceeded(e,i,t){if(this._lyr3DMain){if(e.layerView.destroyed)return void this._lyr3DMain.on_job_failed(t.jobId,t.desc);const s=i.data.byteLength,r=this._lyr3DMain._malloc(s);new Uint8Array(this._lyr3DMain.HEAPU8.buffer,r,s).set(i.data),this._lyr3DMain.on_job_completed(t.jobId,i.jobDescJson,r,s),this._lyr3DMain._free(r)}this._decrementJobCount(e,t)}_getRequestPromises(e,t,s,r){const a=[];for(const n of e){const e=new URL(n);if("integrated-mesh-3dtiles"===r.type){if(e.origin===s.origin&&e.pathname===s.pathname){if(r.rootTileset){a.push(Promise.resolve(r.rootTileset.slice()));continue}}else r.session&&e.searchParams.set("session",r.session)}a.push(i(e.toString(),t).then(e=>e.data))}return a}_getInitialPromise(e,i,t,s,r,a,n){const l=this._getRequestPromises(e.urls,i,t,s);return Promise.all(l).then(e=>(r.inputs=e,this._workerHandle.invoke(r,a))).then(e=>e).catch(i=>{let t=1;return o(i)?this._debugLog(1,2,`job ${e.jobId} was cancelled.`):n&&400===i.details?.httpStatus?(t=3,this._debugLog(1,2,"Session expired, trying to create new Session.")):this._debugLog(1,1,`job ${e.jobId} failed with error ${i}.`),{status:t,error:"",jobDescJson:"",data:new Uint8Array(0),missingInputUrls:[],inputs:[]}})}async _onNewJob(){const e=this._lyr3DMain.get_next_job(),i=this._layers.get(e.layerId);if(!i)return;this._incrementJobCount(i,e);const t=i.abortController.signal,s=i.layerView.layer,r="integrated-mesh-3dtiles"===s.type?s.key:null,a="integrated-mesh-3dtiles"===s.type?s.session:null,n={responseType:"array-buffer",signal:t,query:{...i.customParameters,token:i.apiKey,key:r}},l={id:e.jobId,inputs:[],jobDescJson:e.desc.slice(),isMissingResourceCase:!1},d=new URL(s.url),h=r=>{if(1===r.status)this._onJobFailed(i,r,e);else if(0===r.status)this._onJobSucceeded(i,r,e);else if(2===r.status){const a=this._getRequestPromises(r.missingInputUrls,n,d,s);Promise.all(a).then(e=>{l.jobDescJson=r.jobDescJson,r.originalInputs?l.inputs=r.originalInputs:l.inputs=[],l.isMissingResourceCase=!0;for(const i of e)l.inputs.push(i);return this._workerHandle.invoke(l,t)}).then(t=>{1===t.status?this._onJobFailed(i,t,e):0===t.status&&this._onJobSucceeded(i,t,e)}).catch(t=>{this._decrementJobCount(i,e),o(t)?this._debugLog(1,2,`job ${e.jobId} was cancelled.`):this._debugLog(1,1,`job ${e.jobId} failed with error ${t}.`),this._lyr3DMain&&this._lyr3DMain.on_job_failed(e.jobId,e.desc)})}};try{const i=await this._getInitialPromise(e,n,d,s,l,t,a);if(3===i.status&&"integrated-mesh-3dtiles"===s.type){a===s.session&&null!==s.session&&await s.requestRootAndSession(t);h(await this._getInitialPromise(e,n,d,s,l,t,s.session))}else h(i)}catch(_){_&&this._debugLog(1,1,_.toString(),!1),this._lyr3DMain&&this._lyr3DMain.on_job_failed(e.jobId,e.desc),this._decrementJobCount(i,e)}}_onNewRenderable(){const e=this._lyr3DMain.get_next_renderable(),{meshData:i}=e;i.data&&i.data.byteLength>0&&(i.data=i.data.slice());const t=this._layers.get(e.layerId);t&&(this._incrementRenderableCount(t),t.layerView.createRenderable(e).then(i=>{const s=i.numGaussians??0;this._lyr3DMain?.on_renderable_created(!0,e.layerId,e.handle,i.memUsageBytes,s),this._decrementRenderableCount(t)}).catch(i=>{o(i)||this._debugLog(2,1,`createRenderable failed with error ${i}.`),this._lyr3DMain?.on_renderable_created(!1,e.layerId,e.handle,0,0),this._decrementRenderableCount(t)}))}_freeRenderables(e,i,t){if(t<1)return;const s=this._layers.get(e);if(!s)return;const r=s.layerView,a=[],n=new Uint32Array(this._lyr3DMain.HEAPU32.buffer,i,t);for(let o=0;o<t;++o)a.push(n[o]);for(let o=0;o<t;++o)r.freeRenderable(a[o])}_setRenderableVisibility(e,i,t,s){if(s<1)return;const r=this._layers.get(e);if(!r)return;const a=r.layerView,n=[],o=[],l=new Uint32Array(this._lyr3DMain.HEAPU32.buffer,i,s),d=new Uint8Array(this._lyr3DMain.HEAPU8.buffer,t,s);for(let h=0;h<s;++h)n.push(l[h]),o.push(!!(1&d[h]));a.setRenderableVisibility(n,o,s)}_onWasmError(e,i,t,s){this._lyr3DMain&&this._debugLog(t,s,this._lyr3DMain.UTF8ToString(e,i),!1)}_onElevQueryComplete(e){const i=this._elevationQueries.get(e),t=this._lyr3DMain.get_elevation_query_result(e);if(i)if(t.succeeded&&t.zs){const s=t.zs.slice(),r=i.descriptor.clone();for(let e=0;e<s.length;++e)r.coordinates[e].z=s[e];this._debugLog(2,3,`Success EQ ${e}, number points ${s.length}.`),i.resolveCallback(r),this._elevationQueries.delete(e)}else i.rejectCallback(new s("elevation-query:error",t?.error??"Elevation query failed")),this._elevationQueries.delete(e);else this._debugLog(2,1,`_onElevQueryComplete called for unknown queryId ${e}.`)}_doRemoveLayerView(e){const i=this._layers.get(e.wasmLayerId);return!!i&&(i.abortController.abort(),this._lyr3DMain.remove_layer(e.wasmLayerId),this._is3DTilesIMLayerView(e)&&e.layer.replacesTerrain&&(this._hasLayerThatReplacesTerrain=!1,this._isTerrainReady=!1,this.notifyChange("isTerrainReady")),this._layers.delete(e.wasmLayerId),!0)}_is3DTilesIMLayerView(e){return"integrated-mesh-3dtiles"===e.layer.type}_isGaussianSplatLayerView(e){return"gaussian-splat"===e.layer.type}_isGaussianSplatLayer(e){return"gaussian-splat"===e.type}_toWasmQuality(e){switch(e){case"low":return 1;case"medium":return 2;case"high":return 3}}_addLayerView(e){const i=e.layer;if(!i.url||!i.rootTilesetJSON)return{wasmLayerId:p};const t="integrated-mesh-3dtiles"===i.type?0:2,s=this._lyr3DMain.validate_root_tileset(JSON.stringify(i.rootTilesetJSON),t);if(0!==s.errorCode)return{wasmLayerId:p,check:s};const a=this._lyr3DMain.get_next_layer_id(),n=new AbortController;this._layers.set(a,{layerView:e,abortController:n,needMemoryUsageUpdate:!1,outstandingJobCount:0,outstandingRenderableCount:0,customParameters:i.customParameters,apiKey:i.apiKey,needFrame:!0});const o=D(i.elevationInfo),l=this._toWasmQuality(this.view?.qualityProfile),d=e=>r.getLogger(this).error("add-spatial-reference-error","Error when adding SR:",e);let h=!1;if(this._isGaussianSplatLayerView(e)&&this._isGaussianSplatLayer(i)){let t=i.spatialReference;if(e.useEsriCrs&&i.esriCrsSpatialReference){t=i.esriCrsSpatialReference;const s=c(t);let r=1,a=1;!s&&t.wkid&&-1!==t.wkid&&(r=u.values[u[t.wkid]],a=e.metersPerVCSUnit),this._workerHandle.addSpatialReferenceInfo(this._cleanUpSR(this._makeSRWasmSerializable(t)),s,r,a).catch(d),t.vcsWkid&&this._viewSR.vcsWkid&&this._viewSR.vcsWkid!==t.vcsWkid&&this._workerHandle.addSpatialReferenceInfo(this._cleanUpSR(this._makeSRWasmSerializable(this._viewSR)),!1,1,1).catch(d)}h=this._lyr3DMain.add_gaussian_splat_layer(l,i.url,a,o)}else this._is3DTilesIMLayerView(e)&&(h=this._lyr3DMain.add_3dtiles_layer(l,i.url,a,o,e.layer.replacesTerrain),h&&e.layer.replacesTerrain&&(this._hasLayerThatReplacesTerrain=!0,this._isTerrainReady=!1,this.notifyChange("isTerrainReady")));return h?(this._updateWasmCamera(),e.updatingFlagChanged(),{wasmLayerId:a}):(this._layers.delete(a),{wasmLayerId:p})}_updateWasmCamera(){const e=this.view.state?.contentCamera;if(!e||!this._lyr3DMain)return;const{eye:i,center:t,up:s,near:r,far:a,fovY:n}=e,o=[e.viewport[2],e.viewport[3]],l=e.width/e.height;this._lyr3DMain.set_camera_parameters({eye:i,center:t,up:s,near:r,far:a,fov:n,aspectRatio:l,viewport:o}),this._markAllLayerViewsUpdating()}_markAllLayerViewsUpdating(){this._layers.forEach(e=>{const i=this._isUpdating(e);e.needFrame=!0,i||e.layerView.updatingFlagChanged()})}_makeSRWasmSerializable(e){return{wkid:e?.wkid??-1,latestWkid:e?.latestWkid??-1,vcsWkid:e?.vcsWkid??-1,latestVcsWkid:e?.latestVcsWkid??-1,wkt:e?.wkt??""}}_cleanUpSR(e){return-1===e?.wkid&&e.latestWkid&&-1!==e.latestWkid?e.wkid=e.latestWkid:-1===e?.latestWkid&&e.wkid&&-1!==e.wkid&&(e.latestWkid=e.wkid),-1===e?.vcsWkid&&e.latestVcsWkid&&-1!==e.latestVcsWkid?e.vcsWkid=e.latestVcsWkid:-1===e?.latestVcsWkid&&e.vcsWkid&&-1!==e.vcsWkid&&(e.latestVcsWkid=e.vcsWkid),e}};e([h({constructOnly:!0})],W.prototype,"view",void 0),e([h({readOnly:!0})],W.prototype,"isTerrainReady",null),W=e([_("esri.layers.Lyr3DWasmPerSceneView")],W);const V=W;export{V as default};
2
+ import{__decorate as e}from"tslib";import i from"../request.js";import{has}from"../applications/Components/baUtils.js";import t from"../core/Accessor.js";import s from"../core/Error.js";import r from"../core/Logger.js";import{createAbortError as a,isAborted as n,isAbortError as o}from"../core/promiseUtils.js";import{watch as l}from"../core/reactiveUtils.js";import{addFrameTask as d}from"../core/scheduling.js";import{property as h,subclass as _}from"../core/accessorSupport/decorators.js";import y from"../geometry/SpatialReference.js";import{isGeographic as c}from"../geometry/support/spatialReferenceUtils.js";import u from"../geometry/support/WKIDUnitConversion.js";import{wasmFailedToInit as m,elevQueriesFull as g,elevQueriesGenericFail as w,invalidLayerView as p}from"./ILyr3DWasmPerSceneView.js";import{Lyr3DWorkerHandle as b}from"./Lyr3DWorkerHandle.js";import{getVCSFromHeightModelInfo as f}from"./support/tiles3DUtils.js";import{loadLyr3DMainWASM as v}from"../libs/lyr3d/Lyr3DModule.js";import{getElevationOffsetInMeters as D}from"../support/elevationInfoUtils.js";import{makeScheduleFunction as M}from"../views/3d/layers/support/makeScheduleFunction.js";const L=3857,k=32662,R=4326,S=5773,C=115700;let W=class extends t{constructor(e){super(e),this._lyr3DMainPromise=null,this._lyr3DMain=null,this._layers=new Map,this._viewSR=null,this._lyr3DBusyCount=0,this._lyr3DInternalMemoryBytes=0,this._isTerrainReady=!1,this._hasLayerThatReplacesTerrain=!1,this._elevationQueries=new Map,this._debugFlags=new Set,this._debugLevel=0,this._wasmNotLoaded="method requiring WASM was called when WASM isn't loaded",this._pulseTaskHandle=null,this._cameraElevationDirty=!0,this._debugFlags.add(0),this._debugFlags.add(1),this._debugFlags.add(2)}_debugLog(e,i,t,s=!0){if(this._debugFlags.has(e)&&this._debugLevel>=i){const e=s?`[js] ${t}`:`${t}`;0===i||1===i?r.getLogger(this).error(e):2===i&&r.getLogger(this).warn(e),r.getLogger(this).info(e)}}get lyr3DInternalMemoryBytes(){return this._lyr3DInternalMemoryBytes}initialize(){this._debugLevel>2&&(r.getLogger(this).level="info"),this._debugLog(0,3,"Lyr3DWasmPerSceneView.initialize()"),this.addHandles([l(()=>this.view.state?.contentCamera,()=>this._updateWasmCamera()),l(()=>this.view.state?.contentCamera.relativeElevation,()=>{this._cameraElevationDirty=!0,this._markAllLayerViewsUpdating()})]),this._pulseTaskHandle=d({preRender:()=>this._pulseTask()})}destroy(){this._debugLog(0,3,"Lyr3DWasmPerSceneView.destroy()"),this._lyr3DMain&&(this._layers.forEach(e=>{e.abortController.abort()}),this._elevationQueries.forEach((e,i)=>{this._lyr3DMain.cancel_elevation_query(i),e.rejectCallback(a())}),this._elevationQueries.clear(),this._lyr3DMain.uninitialize_lyr3d_wasm(),this._lyr3DMain=null);const e=this._workerHandle;e&&e.destroyWasm().then(()=>{this._workerHandle?.destroy(),this._workerHandle=null}),this._pulseTaskHandle?.remove(),this._pulseTaskHandle=null}addLayerView(e){return this._lyr3DMain?this._addLayerView(e):(this._debugLog(0,1,"Lyr3DWasmPerSceneView.add3DTilesLayerView() called when WASM wasn't initialized"),{wasmLayerId:m})}removeLayerView(e){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),0;this._doRemoveLayerView(e);const i=this._layers.size;return 0===i&&(this._debugLog(0,3,"Lyr3DWasmPerSceneView.remove3DTilesLayerView() no Lyr3D layers left after removing a layer, destroying"),this.destroy()),i}getValidLayerViewCount(){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),0;let e=0;return this._layers.forEach(i=>{i.layerView.wasmLayerId>=0&&++e}),e}setEnabled(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const t=this._layers.get(e.wasmLayerId);if(t){this._lyr3DMain.set_enabled(e.wasmLayerId,i),t.needMemoryUsageUpdate=!0;const s=this._isUpdating(t);t.needFrame=!0,s||t.layerView.updatingFlagChanged()}}setLayerOffset(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);this._layers.get(e.wasmLayerId)&&this._lyr3DMain.set_carto_offset_z(e.wasmLayerId,i)}getAttributionText(){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),[];return this._lyr3DMain.get_current_attribution_text().split("|")}onRenderableEvicted(e,i,t){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);this._layers.get(e.wasmLayerId)&&this._lyr3DMain.on_renderable_evicted(e.wasmLayerId,i,t)}setMeshModifications(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const t=this._layers.get(e.wasmLayerId);if(t){const s=this._lyr3DMain._malloc(8*i.length),r=new Float64Array(this._lyr3DMain.HEAPF64.buffer,s,i.length);for(let e=0;e<i.length;++e)r[e]=i[e];this._lyr3DMain.set_mesh_modification_polygons(e.wasmLayerId,s,i.length),this._lyr3DMain._free(s);const a=this._isUpdating(t);t.needFrame=!0,a||t.layerView.updatingFlagChanged()}}isUpdating(e){if(!this._lyr3DMain&&this._lyr3DMainPromise)return!0;const i=this._layers.get(e);return!!i&&(i.outstandingJobCount>0||i.outstandingRenderableCount>0||i.needFrame||this._lyr3DBusyCount>0)}initializeWasm(e,i){return this._lyr3DMain?Promise.resolve():this.view.renderSpatialReference?(this._debugLog(0,3,"Lyr3DWasmPerSceneView.initializeWasm()"),this._lyr3DMainPromise||(this._lyr3DMainPromise=v().then(t=>{this._lyr3DMain=t,this._lyr3DMainPromise=null;const s=this._lyr3DMain.addFunction(this._onNewJob.bind(this),"v"),r=this._lyr3DMain.addFunction(this._onNewRenderable.bind(this),"v"),a=this._lyr3DMain.addFunction(this._freeRenderables.bind(this),"viii"),n=this._lyr3DMain.addFunction(this._setRenderableVisibility.bind(this),"viiii"),o=this._lyr3DMain.addFunction(this._onWasmError.bind(this),"viiii"),l=this._lyr3DMain.addFunction(this._onElevQueryComplete.bind(this),"vi");if(!this.view.renderSpatialReference)return void(this._lyr3DMain=null);this._viewSR=this.view.renderSpatialReference?.toJSON();const d="global"===this.view.viewingMode?5:3;if(5===d)this._viewSR.wkid=this._viewSR.latestWkid=R,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(this.view.renderSpatialReference?.isWebMercator)this._viewSR.wkid=this._viewSR.latestWkid=L,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(this.view.renderSpatialReference?.wkid===k)this._viewSR.wkid=this._viewSR.latestWkid=R,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(!this._viewSR.latestVcsWkid&&!this._viewSR.vcsWkid){const e=f(this.view.heightModelInfo);if(e)this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=e;else{const e=this.view.heightModelInfo?.heightModel,i=!e||"gravity-related-height"===e;this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=i?S:C}}const h=has("esri-lyr3D-max-concurrent-requests")??16;return this._lyr3DMain.initialize_lyr3d_wasm(o,s,r,a,n,l,e,i,d,this._cleanUpSR(this._makeSRWasmSerializable(this._viewSR)),Math.max(this._debugLevel,0),h)?(this._workerHandle=new b(M(this.view.resourceController)),this._workerHandle.promise?this._workerHandle.promise:void 0):(this._lyr3DMain=null,void this._debugLog(0,0,"Lyr3d Main WASM failed to initialize",!1))}).catch(e=>{this._debugLog(0,0,`Lyr3d WASM failed to download error = ${e}`,!1)})),this._lyr3DMainPromise):Promise.reject()}get isTerrainReady(){return this._isTerrainReady}setLodPixelThreshold(e,i){this._lyr3DMain?.set_lod_pixel_threshold(i);const t=this._layers.get(e.wasmLayerId);t&&(t.needFrame=!0)}setMaximumGaussianSplatCount(e){this._lyr3DMain.set_maximum_splat_count(e),this._layers.forEach(e=>{"gaussian-splat-3d"===e.layerView.type&&(e.needFrame=!0)})}queryElevation(e,i,t){if(!this._lyr3DMain)return Promise.reject(this._wasmNotLoaded);if(0===i.coordinates.length)return Promise.reject("no coordinates for elevation query");const s="global"===this.view.viewingMode?y.WGS84:this._viewSR.wkid===L?y.WebMercator:y.PlateCarree,r=i.projectSync(s);r&&(i=r);const a=2*i.coordinates.length,n=this._lyr3DMain._malloc(8*a),o=new Float64Array(this._lyr3DMain.HEAPF64.buffer,n,a);for(let y=0;y<i.coordinates.length;++y){const e=i.coordinates[y];o[2*y]=e.x,o[2*y+1]=e.y}const l=t?.maxGeometricError??0,d=this._lyr3DMain.create_elevation_query(e.wasmLayerId,l,n,a);if(this._lyr3DMain._free(n),d===g)return Promise.reject("max mesh elevation query limit exceeded");if(d===w)return Promise.reject("elevation query failed");const h={descriptor:i,signal:t?.signal,resolveCallback:null,rejectCallback:null},_=new Promise((e,i)=>{h.resolveCallback=e,h.rejectCallback=i});return this._elevationQueries.set(d,h),_}_checkForAbortedElevationQueries(){const e=[];this._elevationQueries.forEach((i,t)=>{n(i.signal)&&(this._lyr3DMain.cancel_elevation_query(t),i.rejectCallback(a()),e.push(t))});for(let i=0;i<e.length;++i)this._elevationQueries.delete(e[i])}_pulseTask(){if(this._lyr3DMain){if(this._cameraElevationDirty){const e=this.view.state?.contentCamera.relativeElevation;this._lyr3DMain.set_camera_elevation(e)}this._checkForAbortedElevationQueries();let e=0,i=0;this._layers.forEach(t=>{e+=t.layerView.usedMemory,i+=t.layerView.cachedMemory}),e/=1048576,i/=1048576;const t=this.view.resourceController.memoryController,s=t.usedMemory*t.maxMemory-e-this._lyr3DInternalMemoryBytes/1048576;this._lyr3DBusyCount=this._lyr3DMain.frame_pulse(t.memoryFactor,e,i,s,t.maxMemory),this._lyr3DInternalMemoryBytes=this._lyr3DMain.get_index_memory_bytes(),this._layers.forEach(e=>{this._cameraElevationDirty||(e.needFrame=!1),e.layerView.updatingFlagChanged()}),this._hasLayerThatReplacesTerrain&&!this._isTerrainReady&&(this._isTerrainReady=this._lyr3DMain.is_terrain_ready(),this._isTerrainReady&&this.notifyChange("isTerrainReady")),this._cameraElevationDirty=!1}}_isUpdating(e){return e.outstandingJobCount>0||e.outstandingRenderableCount>0||e.needFrame||this._lyr3DBusyCount>0}_incrementJobCount(e,i){if(i.isForElevationQuery)return;const t=this._isUpdating(e);e.outstandingJobCount+=1,t||e.layerView.updatingFlagChanged()}_decrementJobCount(e,i){if(i.isForElevationQuery)return;const t=this._isUpdating(e);e.outstandingJobCount-=1;t!==this._isUpdating(e)&&e.layerView.updatingFlagChanged()}_incrementRenderableCount(e){const i=this._isUpdating(e);e.outstandingRenderableCount+=1,i||e.layerView.updatingFlagChanged()}_decrementRenderableCount(e){const i=this._isUpdating(e);e.outstandingRenderableCount-=1;i!==this._isUpdating(e)&&e.layerView.updatingFlagChanged()}_onJobFailed(e,i,t){i.error.length&&this._debugLog(1,1,i.error,!1),this._lyr3DMain&&this._lyr3DMain.on_job_failed(t.jobId,t.desc),this._decrementJobCount(e,t)}_onJobSucceeded(e,i,t){if(this._lyr3DMain){if(e.layerView.destroyed)return void this._lyr3DMain.on_job_failed(t.jobId,t.desc);const s=i.data.byteLength,r=this._lyr3DMain._malloc(s);new Uint8Array(this._lyr3DMain.HEAPU8.buffer,r,s).set(i.data),this._lyr3DMain.on_job_completed(t.jobId,i.jobDescJson,r,s),this._lyr3DMain._free(r)}this._decrementJobCount(e,t)}_getRequestPromises(e,t,s,r){const a=[];for(const n of e){const e=new URL(n);if("integrated-mesh-3dtiles"===r.type){if(e.origin===s.origin&&e.pathname===s.pathname){if(r.rootTileset){a.push(Promise.resolve(r.rootTileset.slice()));continue}}else r.session&&e.searchParams.set("session",r.session)}a.push(i(e.toString(),t).then(e=>e.data))}return a}_getInitialPromise(e,i,t,s,r,a,n){const l=this._getRequestPromises(e.urls,i,t,s);return Promise.all(l).then(e=>(r.inputs=e,this._workerHandle.invoke(r,a))).then(e=>e).catch(i=>{let t=1;return o(i)?this._debugLog(1,2,`job ${e.jobId} was cancelled.`):n&&400===i.details?.httpStatus?(t=3,this._debugLog(1,2,"Session expired, trying to create new Session.")):this._debugLog(1,1,`job ${e.jobId} failed with error ${i}.`),{status:t,error:"",jobDescJson:"",data:new Uint8Array(0),missingInputUrls:[],inputs:[]}})}async _onNewJob(){const e=this._lyr3DMain.get_next_job(),i=this._layers.get(e.layerId);if(!i)return;this._incrementJobCount(i,e);const t=i.abortController.signal,s=i.layerView.layer,r="integrated-mesh-3dtiles"===s.type?s.key:null,a="integrated-mesh-3dtiles"===s.type?s.session:null,n={responseType:"array-buffer",signal:t,query:{...i.customParameters,token:i.apiKey,key:r}},l={id:e.jobId,inputs:[],jobDescJson:e.desc.slice(),isMissingResourceCase:!1},d=new URL(s.url),h=r=>{if(1===r.status)this._onJobFailed(i,r,e);else if(0===r.status)this._onJobSucceeded(i,r,e);else if(2===r.status){const a=this._getRequestPromises(r.missingInputUrls,n,d,s);Promise.all(a).then(e=>{l.jobDescJson=r.jobDescJson,r.originalInputs?l.inputs=r.originalInputs:l.inputs=[],l.isMissingResourceCase=!0;for(const i of e)l.inputs.push(i);return this._workerHandle.invoke(l,t)}).then(t=>{1===t.status?this._onJobFailed(i,t,e):0===t.status&&this._onJobSucceeded(i,t,e)}).catch(t=>{this._decrementJobCount(i,e),o(t)?this._debugLog(1,2,`job ${e.jobId} was cancelled.`):this._debugLog(1,1,`job ${e.jobId} failed with error ${t}.`),this._lyr3DMain&&this._lyr3DMain.on_job_failed(e.jobId,e.desc)})}};try{const i=await this._getInitialPromise(e,n,d,s,l,t,a);if(3===i.status&&"integrated-mesh-3dtiles"===s.type){a===s.session&&null!==s.session&&await s.requestRootAndSession(t);h(await this._getInitialPromise(e,n,d,s,l,t,s.session))}else h(i)}catch(_){_&&this._debugLog(1,1,_.toString(),!1),this._lyr3DMain&&this._lyr3DMain.on_job_failed(e.jobId,e.desc),this._decrementJobCount(i,e)}}_onNewRenderable(){const e=this._lyr3DMain.get_next_renderable(),{meshData:i}=e;i.data&&i.data.byteLength>0&&(i.data=i.data.slice());const t=this._layers.get(e.layerId);t&&(this._incrementRenderableCount(t),t.layerView.createRenderable(e).then(i=>{const s=i.numGaussians??0;this._lyr3DMain?.on_renderable_created(!0,e.layerId,e.handle,i.memUsageBytes,s),this._decrementRenderableCount(t)}).catch(i=>{o(i)||this._debugLog(2,1,`createRenderable failed with error ${i}.`),this._lyr3DMain?.on_renderable_created(!1,e.layerId,e.handle,0,0),this._decrementRenderableCount(t)}))}_freeRenderables(e,i,t){if(t<1)return;const s=this._layers.get(e);if(!s)return;const r=s.layerView,a=[],n=new Uint32Array(this._lyr3DMain.HEAPU32.buffer,i,t);for(let o=0;o<t;++o)a.push(n[o]);for(let o=0;o<t;++o)r.freeRenderable(a[o])}_setRenderableVisibility(e,i,t,s){if(s<1)return;const r=this._layers.get(e);if(!r)return;const a=r.layerView,n=[],o=[],l=new Uint32Array(this._lyr3DMain.HEAPU32.buffer,i,s),d=new Uint8Array(this._lyr3DMain.HEAPU8.buffer,t,s);for(let h=0;h<s;++h)n.push(l[h]),o.push(!!(1&d[h]));a.setRenderableVisibility(n,o,s)}_onWasmError(e,i,t,s){this._lyr3DMain&&this._debugLog(t,s,this._lyr3DMain.UTF8ToString(e,i),!1)}_onElevQueryComplete(e){const i=this._elevationQueries.get(e),t=this._lyr3DMain.get_elevation_query_result(e);if(i)if(t.succeeded&&t.zs){const s=t.zs.slice(),r=i.descriptor.clone();for(let e=0;e<s.length;++e)r.coordinates[e].z=s[e];this._debugLog(2,3,`Success EQ ${e}, number points ${s.length}.`),i.resolveCallback(r),this._elevationQueries.delete(e)}else i.rejectCallback(new s("elevation-query:error",t?.error??"Elevation query failed")),this._elevationQueries.delete(e);else this._debugLog(2,1,`_onElevQueryComplete called for unknown queryId ${e}.`)}_doRemoveLayerView(e){const i=this._layers.get(e.wasmLayerId);return!!i&&(i.abortController.abort(),this._lyr3DMain.remove_layer(e.wasmLayerId),this._is3DTilesIMLayerView(e)&&e.layer.replacesTerrain&&(this._hasLayerThatReplacesTerrain=!1,this._isTerrainReady=!1,this.notifyChange("isTerrainReady")),this._layers.delete(e.wasmLayerId),!0)}_is3DTilesIMLayerView(e){return"integrated-mesh-3dtiles"===e.layer.type}_isGaussianSplatLayerView(e){return"gaussian-splat"===e.layer.type}_isGaussianSplatLayer(e){return"gaussian-splat"===e.type}_toWasmQuality(e){switch(e){case"low":return 1;case"medium":return 2;case"high":return 3}}_addLayerView(e){const i=e.layer;if(!i.url||!i.rootTilesetJSON)return{wasmLayerId:p};const t="integrated-mesh-3dtiles"===i.type?0:2,s=this._lyr3DMain.validate_root_tileset(JSON.stringify(i.rootTilesetJSON),t);if(0!==s.errorCode)return{wasmLayerId:p,check:s};const a=this._lyr3DMain.get_next_layer_id(),n=new AbortController;this._layers.set(a,{layerView:e,abortController:n,needMemoryUsageUpdate:!1,outstandingJobCount:0,outstandingRenderableCount:0,customParameters:i.customParameters,apiKey:i.apiKey,needFrame:!0});const o=D(i.elevationInfo),l=this._toWasmQuality(this.view?.qualityProfile),d=e=>r.getLogger(this).error("add-spatial-reference-error","Error when adding SR:",e);let h=!1;if(this._isGaussianSplatLayerView(e)&&this._isGaussianSplatLayer(i)){let t=i.spatialReference;if(e.useEsriCrs&&i.esriCrsSpatialReference){t=i.esriCrsSpatialReference;const s=c(t);let r=1,a=1;!s&&t.wkid&&-1!==t.wkid&&(r=u.values[u[t.wkid]],a=e.metersPerVCSUnit),this._workerHandle.addSpatialReferenceInfo(this._cleanUpSR(this._makeSRWasmSerializable(t)),s,r,a).catch(d),t.vcsWkid&&this._viewSR.vcsWkid&&this._viewSR.vcsWkid!==t.vcsWkid&&this._workerHandle.addSpatialReferenceInfo(this._cleanUpSR(this._makeSRWasmSerializable(this._viewSR)),!1,1,1).catch(d)}h=this._lyr3DMain.add_gaussian_splat_layer(l,i.url,a,o)}else this._is3DTilesIMLayerView(e)&&(h=this._lyr3DMain.add_3dtiles_layer(l,i.url,a,o,e.layer.replacesTerrain),h&&e.layer.replacesTerrain&&(this._hasLayerThatReplacesTerrain=!0,this._isTerrainReady=!1,this.notifyChange("isTerrainReady")));return h?(this._updateWasmCamera(),e.updatingFlagChanged(),{wasmLayerId:a}):(this._layers.delete(a),{wasmLayerId:p})}_updateWasmCamera(){const e=this.view.state?.contentCamera;if(!e||!this._lyr3DMain)return;const{eye:i,center:t,up:s,near:r,far:a,fovY:n}=e,o=[e.viewport[2],e.viewport[3]],l=e.width/e.height;this._lyr3DMain.set_camera_parameters({eye:i,center:t,up:s,near:r,far:a,fov:n,aspectRatio:l,viewport:o}),this._markAllLayerViewsUpdating()}_markAllLayerViewsUpdating(){this._layers.forEach(e=>{const i=this._isUpdating(e);e.needFrame=!0,i||e.layerView.updatingFlagChanged()})}_makeSRWasmSerializable(e){return{wkid:e?.wkid??-1,latestWkid:e?.latestWkid??-1,vcsWkid:e?.vcsWkid??-1,latestVcsWkid:e?.latestVcsWkid??-1,wkt:e?.wkt??""}}_cleanUpSR(e){return-1===e?.wkid&&e.latestWkid&&-1!==e.latestWkid?e.wkid=e.latestWkid:-1===e?.latestWkid&&e.wkid&&-1!==e.wkid&&(e.latestWkid=e.wkid),-1===e?.vcsWkid&&e.latestVcsWkid&&-1!==e.latestVcsWkid?e.vcsWkid=e.latestVcsWkid:-1===e?.latestVcsWkid&&e.vcsWkid&&-1!==e.vcsWkid&&(e.latestVcsWkid=e.vcsWkid),e}};e([h({constructOnly:!0})],W.prototype,"view",void 0),e([h({readOnly:!0})],W.prototype,"isTerrainReady",null),W=e([_("esri.layers.Lyr3DWasmPerSceneView")],W);const V=W;export{V as default};
@@ -73,15 +73,18 @@ export interface SceneLayerProperties extends LayerProperties, APIKeyMixinProper
73
73
  */
74
74
  attributeTableTemplate?: AttributeTableTemplateProperties | null;
75
75
  /**
76
- * Specifies how features are placed on the vertical axis (z). See the [ElevationInfo sample](https://developers.arcgis.com/javascript/latest/sample-code/scene-elevationinfo/)
76
+ * Specifies how features are placed on the vertical axis (z). See the
77
+ * [ElevationInfo sample](https://developers.arcgis.com/javascript/latest/sample-code/scene-elevationinfo/)
77
78
  * for an example of how this property may be used.
78
79
  *
79
80
  * > [!WARNING]
80
81
  * >
81
- * > The `relative-to-scene` mode does not affect 3D Object [SceneLayers](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/). [SceneLayers](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/) with
82
- * > [Point](https://developers.arcgis.com/javascript/latest/references/core/geometry/Point/) geometries support all the elevation modes listed in the [ElevationInfo](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/ElevationInfo/).
83
- * > [ElevationInfo.featureExpressionInfo](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/ElevationInfo/#featureExpressionInfo) is not supported when the elevation info is specified for this class.
84
- * > If the elevation info is not specified, the effective elevation depends on the context and could vary per point.
82
+ * > The `relative-to-scene` mode does not affect 3D Object [SceneLayers](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/).
83
+ * > [SceneLayers](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/) with [Point](https://developers.arcgis.com/javascript/latest/references/core/geometry/Point/) geometries support all the elevation modes
84
+ * > listed in the [ElevationInfo](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/ElevationInfo/).
85
+ * > [ElevationInfo.featureExpressionInfo](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/ElevationInfo/#featureExpressionInfo) is not supported when the elevation info is
86
+ * > specified for this class. If the elevation info is not specified, the effective elevation depends on the context
87
+ * > and could vary per point.
85
88
  */
86
89
  elevationInfo?: ElevationInfoProperties | null;
87
90
  /**
@@ -681,15 +684,18 @@ export default class SceneLayer extends SceneLayerSuperclass {
681
684
  */
682
685
  get effectiveCapabilities(): SceneLayerCapabilities;
683
686
  /**
684
- * Specifies how features are placed on the vertical axis (z). See the [ElevationInfo sample](https://developers.arcgis.com/javascript/latest/sample-code/scene-elevationinfo/)
687
+ * Specifies how features are placed on the vertical axis (z). See the
688
+ * [ElevationInfo sample](https://developers.arcgis.com/javascript/latest/sample-code/scene-elevationinfo/)
685
689
  * for an example of how this property may be used.
686
690
  *
687
691
  * > [!WARNING]
688
692
  * >
689
- * > The `relative-to-scene` mode does not affect 3D Object [SceneLayers](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/). [SceneLayers](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/) with
690
- * > [Point](https://developers.arcgis.com/javascript/latest/references/core/geometry/Point/) geometries support all the elevation modes listed in the [ElevationInfo](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/ElevationInfo/).
691
- * > [ElevationInfo.featureExpressionInfo](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/ElevationInfo/#featureExpressionInfo) is not supported when the elevation info is specified for this class.
692
- * > If the elevation info is not specified, the effective elevation depends on the context and could vary per point.
693
+ * > The `relative-to-scene` mode does not affect 3D Object [SceneLayers](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/).
694
+ * > [SceneLayers](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/) with [Point](https://developers.arcgis.com/javascript/latest/references/core/geometry/Point/) geometries support all the elevation modes
695
+ * > listed in the [ElevationInfo](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/ElevationInfo/).
696
+ * > [ElevationInfo.featureExpressionInfo](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/ElevationInfo/#featureExpressionInfo) is not supported when the elevation info is
697
+ * > specified for this class. If the elevation info is not specified, the effective elevation depends on the context
698
+ * > and could vary per point.
693
699
  */
694
700
  get elevationInfo(): ElevationInfo | null | undefined;
695
701
  set elevationInfo(value: ElevationInfoProperties | null | undefined);