itowns 2.45.1-next.1 → 2.45.2-next.0

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 (220) hide show
  1. package/dist/455.js +1 -1
  2. package/dist/455.js.map +1 -1
  3. package/dist/debug.js +1 -1
  4. package/dist/debug.js.LICENSE.txt +8 -2
  5. package/dist/debug.js.map +1 -1
  6. package/dist/itowns.js +1 -1
  7. package/dist/itowns.js.LICENSE.txt +1 -1
  8. package/dist/itowns.js.map +1 -1
  9. package/dist/itowns_lasparser.js +1 -1
  10. package/dist/itowns_lasparser.js.map +1 -1
  11. package/dist/itowns_lasworker.js +1 -1
  12. package/dist/itowns_lasworker.js.map +1 -1
  13. package/dist/itowns_potree2worker.js +1 -1
  14. package/dist/itowns_potree2worker.js.map +1 -1
  15. package/dist/itowns_widgets.js +1 -1
  16. package/dist/itowns_widgets.js.map +1 -1
  17. package/examples/copc_simple_loader.html +3 -3
  18. package/examples/entwine_3d_loader.html +2 -2
  19. package/examples/entwine_simple_loader.html +10 -6
  20. package/examples/view_3d_map_webxr.html +2 -5
  21. package/lib/Controls/FirstPersonControls.d.ts +90 -0
  22. package/lib/Controls/FlyControls.d.ts +36 -0
  23. package/lib/Controls/GlobeControls.d.ts +274 -0
  24. package/lib/Controls/PlanarControls.d.ts +339 -0
  25. package/lib/Controls/StateControl.d.ts +140 -0
  26. package/lib/Controls/StreetControls.d.ts +134 -0
  27. package/lib/Controls/VRControls.d.ts +56 -0
  28. package/lib/Controls/VRControls.js +409 -0
  29. package/lib/Converter/Feature2Mesh.d.ts +42 -0
  30. package/lib/Converter/Feature2Texture.d.ts +5 -0
  31. package/lib/Converter/convertToTile.d.ts +5 -0
  32. package/lib/Converter/convertToTile.js +2 -2
  33. package/lib/Converter/textureConverter.d.ts +4 -0
  34. package/lib/Core/3DTiles/C3DTBatchTable.d.ts +49 -0
  35. package/lib/Core/3DTiles/C3DTBatchTableHierarchyExtension.d.ts +37 -0
  36. package/lib/Core/3DTiles/C3DTBoundingVolume.d.ts +39 -0
  37. package/lib/Core/3DTiles/C3DTExtensions.d.ts +75 -0
  38. package/lib/Core/3DTiles/C3DTFeature.d.ts +47 -0
  39. package/lib/Core/3DTiles/C3DTilesEnums.d.ts +14 -0
  40. package/lib/Core/3DTiles/C3DTileset.d.ts +46 -0
  41. package/lib/Core/3DTiles/utils/BinaryPropertyAccessor.d.ts +14 -0
  42. package/lib/Core/AnimationPlayer.d.ts +53 -0
  43. package/lib/Core/CopcNode.d.ts +67 -0
  44. package/lib/Core/CopcNode.js +50 -69
  45. package/lib/Core/Deprecated/Undeprecator.d.ts +6 -0
  46. package/lib/Core/EntwinePointTileNode.d.ts +58 -0
  47. package/lib/Core/EntwinePointTileNode.js +6 -34
  48. package/lib/Core/Feature.d.ts +323 -0
  49. package/lib/Core/Geographic/GeoidGrid.d.ts +86 -0
  50. package/lib/Core/Label.d.ts +86 -0
  51. package/lib/Core/MainLoop.d.ts +23 -0
  52. package/lib/Core/Picking.d.ts +6 -0
  53. package/lib/Core/Picking.js +4 -0
  54. package/lib/Core/PointCloudNode.d.ts +14 -0
  55. package/lib/Core/PointCloudNode.js +28 -0
  56. package/lib/Core/Potree2Node.d.ts +11 -0
  57. package/lib/Core/Potree2Node.js +3 -57
  58. package/lib/Core/Potree2PointAttributes.d.ts +97 -0
  59. package/lib/Core/PotreeNode.d.ts +13 -0
  60. package/lib/Core/PotreeNode.js +17 -17
  61. package/lib/Core/Prefab/Globe/Atmosphere.d.ts +66 -0
  62. package/lib/Core/Prefab/Globe/Atmosphere.js +10 -5
  63. package/lib/Core/Prefab/Globe/GlobeLayer.d.ts +48 -0
  64. package/lib/Core/Prefab/Globe/GlobeTileBuilder.d.ts +38 -0
  65. package/lib/Core/Prefab/Globe/SkyShader.d.ts +5 -0
  66. package/lib/Core/Prefab/Globe/SkyShader.js +3 -3
  67. package/lib/Core/Prefab/GlobeView.d.ts +65 -0
  68. package/lib/Core/Prefab/GlobeView.js +9 -0
  69. package/lib/Core/Prefab/Planar/PlanarLayer.d.ts +38 -0
  70. package/lib/Core/Prefab/Planar/PlanarTileBuilder.d.ts +32 -0
  71. package/lib/Core/Prefab/PlanarView.d.ts +33 -0
  72. package/lib/Core/Prefab/TileBuilder.d.ts +63 -0
  73. package/lib/Core/Prefab/computeBufferTileGeometry.d.ts +17 -0
  74. package/lib/Core/Scheduler/Cache.d.ts +25 -0
  75. package/lib/Core/Scheduler/CancelledCommandException.d.ts +12 -0
  76. package/lib/Core/Scheduler/Scheduler.d.ts +106 -0
  77. package/lib/Core/Style.d.ts +248 -0
  78. package/lib/Core/StyleOptions.d.ts +455 -0
  79. package/lib/Core/System/Capabilities.d.ts +9 -0
  80. package/lib/Core/Tile/Tile.d.ts +70 -0
  81. package/lib/Core/Tile/TileGrid.d.ts +12 -0
  82. package/lib/Core/TileGeometry.d.ts +46 -0
  83. package/lib/Core/TileMesh.d.ts +50 -0
  84. package/lib/Core/TileMesh.js +2 -4
  85. package/lib/Core/View.d.ts +403 -0
  86. package/lib/Core/View.js +1 -7
  87. package/lib/Layer/C3DTilesLayer.d.ts +140 -0
  88. package/lib/Layer/ColorLayer.d.ts +128 -0
  89. package/lib/Layer/ColorLayer.js +4 -4
  90. package/lib/Layer/CopcLayer.d.ts +42 -0
  91. package/lib/Layer/CopcLayer.js +3 -6
  92. package/lib/Layer/ElevationLayer.d.ts +96 -0
  93. package/lib/Layer/ElevationLayer.js +3 -3
  94. package/lib/Layer/EntwinePointTileLayer.d.ts +56 -0
  95. package/lib/Layer/EntwinePointTileLayer.js +4 -3
  96. package/lib/Layer/FeatureGeometryLayer.d.ts +62 -0
  97. package/lib/Layer/GeoidLayer.d.ts +41 -0
  98. package/lib/Layer/GeometryLayer.d.ts +120 -0
  99. package/lib/Layer/InfoLayer.d.ts +24 -0
  100. package/lib/Layer/InfoLayer.js +1 -1
  101. package/lib/Layer/LabelLayer.d.ts +93 -0
  102. package/lib/Layer/LabelLayer.js +2 -2
  103. package/lib/Layer/Layer.d.ts +185 -0
  104. package/lib/Layer/LayerUpdateState.d.ts +24 -0
  105. package/lib/Layer/LayerUpdateStrategy.d.ts +11 -0
  106. package/lib/Layer/LayerUpdateStrategy.js +2 -7
  107. package/lib/Layer/OGC3DTilesLayer.d.ts +277 -0
  108. package/lib/Layer/OGC3DTilesLayer.js +21 -0
  109. package/lib/Layer/OrientedImageLayer.d.ts +53 -0
  110. package/lib/Layer/PointCloudLayer.d.ts +103 -0
  111. package/lib/Layer/PointCloudLayer.js +1 -1
  112. package/lib/Layer/Potree2Layer.d.ts +56 -0
  113. package/lib/Layer/PotreeLayer.d.ts +55 -0
  114. package/lib/Layer/RasterLayer.d.ts +8 -0
  115. package/lib/Layer/RasterLayer.js +2 -2
  116. package/lib/Layer/ReferencingLayerProperties.d.ts +2 -0
  117. package/lib/Layer/ReferencingLayerProperties.js +0 -12
  118. package/lib/Layer/TiledGeometryLayer.d.ts +192 -0
  119. package/lib/Layer/TiledGeometryLayer.js +4 -3
  120. package/lib/Main.d.ts +89 -0
  121. package/lib/Main.js +3 -1
  122. package/lib/Parser/B3dmParser.d.ts +26 -0
  123. package/lib/Parser/CameraCalibrationParser.d.ts +32 -0
  124. package/lib/Parser/GDFParser.d.ts +24 -0
  125. package/lib/Parser/GTXParser.d.ts +28 -0
  126. package/lib/Parser/GeoJsonParser.d.ts +12 -0
  127. package/lib/Parser/GpxParser.d.ts +12 -0
  128. package/lib/Parser/ISGParser.d.ts +23 -0
  129. package/lib/Parser/KMLParser.d.ts +12 -0
  130. package/lib/Parser/LASParser.d.ts +61 -0
  131. package/lib/Parser/MapBoxUrlParser.d.ts +9 -0
  132. package/lib/Parser/PntsParser.d.ts +4 -0
  133. package/lib/Parser/Potree2BinParser.d.ts +8 -0
  134. package/lib/Parser/PotreeBinParser.d.ts +4 -0
  135. package/lib/Parser/PotreeCinParser.d.ts +4 -0
  136. package/lib/Parser/ShapefileParser.d.ts +25 -0
  137. package/lib/Parser/VectorTileParser.d.ts +34 -0
  138. package/lib/Parser/XbilParser.d.ts +18 -0
  139. package/lib/Parser/deprecated/LegacyGLTFLoader.d.ts +32 -0
  140. package/lib/Parser/iGLTFLoader.d.ts +104 -0
  141. package/lib/Process/3dTilesProcessing.d.ts +43 -0
  142. package/lib/Process/FeatureProcessing.d.ts +4 -0
  143. package/lib/Process/LayeredMaterialNodeProcessing.d.ts +3 -0
  144. package/lib/Process/LayeredMaterialNodeProcessing.js +12 -12
  145. package/lib/Process/ObjectRemovalHelper.d.ts +32 -0
  146. package/lib/Process/handlerNodeError.d.ts +1 -0
  147. package/lib/Provider/3dTilesProvider.d.ts +7 -0
  148. package/lib/Provider/DataSourceProvider.d.ts +4 -0
  149. package/lib/Provider/Fetcher.d.ts +101 -0
  150. package/lib/Provider/PointCloudProvider.d.ts +4 -0
  151. package/lib/Provider/TileProvider.d.ts +4 -0
  152. package/lib/Provider/URLBuilder.d.ts +28 -0
  153. package/lib/Renderer/Camera.d.ts +95 -0
  154. package/lib/Renderer/Color.d.ts +3 -0
  155. package/lib/Renderer/ColorLayersOrdering.d.ts +38 -0
  156. package/lib/Renderer/ColorLayersOrdering.js +2 -2
  157. package/lib/Renderer/CommonMaterial.d.ts +6 -0
  158. package/lib/Renderer/Label2DRenderer.d.ts +31 -0
  159. package/lib/Renderer/LayeredMaterial.d.ts +121 -0
  160. package/lib/Renderer/LayeredMaterial.js +221 -141
  161. package/lib/Renderer/OBB.d.ts +65 -0
  162. package/lib/Renderer/OrientedImageCamera.d.ts +36 -0
  163. package/lib/Renderer/OrientedImageMaterial.d.ts +68 -0
  164. package/lib/Renderer/PointsMaterial.d.ts +226 -0
  165. package/lib/Renderer/PointsMaterial.js +60 -22
  166. package/lib/Renderer/RasterTile.d.ts +53 -0
  167. package/lib/Renderer/RasterTile.js +8 -9
  168. package/lib/Renderer/RenderMode.d.ts +11 -0
  169. package/lib/Renderer/RenderMode.js +1 -0
  170. package/lib/Renderer/Shader/ShaderChunk.d.ts +78 -0
  171. package/lib/Renderer/Shader/ShaderUtils.d.ts +5 -0
  172. package/lib/Renderer/WebXR.d.ts +33 -0
  173. package/lib/Renderer/WebXR.js +128 -47
  174. package/lib/Renderer/c3DEngine.d.ts +55 -0
  175. package/lib/Renderer/c3DEngine.js +5 -1
  176. package/lib/Source/C3DTilesGoogleSource.d.ts +38 -0
  177. package/lib/Source/C3DTilesIonSource.d.ts +31 -0
  178. package/lib/Source/C3DTilesSource.d.ts +17 -0
  179. package/lib/Source/CopcSource.d.ts +79 -0
  180. package/lib/Source/EntwinePointTileSource.d.ts +40 -0
  181. package/lib/Source/EntwinePointTileSource.js +0 -5
  182. package/lib/Source/FileSource.d.ts +118 -0
  183. package/lib/Source/OGC3DTilesGoogleSource.d.ts +24 -0
  184. package/lib/Source/OGC3DTilesIonSource.d.ts +26 -0
  185. package/lib/Source/OGC3DTilesSource.d.ts +21 -0
  186. package/lib/Source/OrientedImageSource.d.ts +48 -0
  187. package/lib/Source/Potree2Source.d.ts +157 -0
  188. package/lib/Source/PotreeSource.d.ts +69 -0
  189. package/lib/Source/Source.d.ts +122 -0
  190. package/lib/Source/TMSSource.d.ts +77 -0
  191. package/lib/Source/VectorTilesSource.d.ts +56 -0
  192. package/lib/Source/WFSSource.d.ts +110 -0
  193. package/lib/Source/WMSSource.d.ts +85 -0
  194. package/lib/Source/WMTSSource.d.ts +65 -0
  195. package/lib/ThreeExtended/capabilities/WebGL.d.ts +9 -0
  196. package/lib/ThreeExtended/libs/ktx-parse.module.d.ts +274 -0
  197. package/lib/ThreeExtended/libs/motion-controllers.module.d.ts +64 -0
  198. package/lib/ThreeExtended/libs/motion-controllers.module.js +375 -0
  199. package/lib/ThreeExtended/libs/zstddec.module.d.ts +6 -0
  200. package/lib/ThreeExtended/loaders/DDSLoader.js +40 -1
  201. package/lib/ThreeExtended/loaders/DRACOLoader.d.ts +41 -0
  202. package/lib/ThreeExtended/loaders/GLTFLoader.d.ts +16 -0
  203. package/lib/ThreeExtended/loaders/GLTFLoader.js +22 -3
  204. package/lib/ThreeExtended/loaders/KTX2Loader.d.ts +116 -0
  205. package/lib/ThreeExtended/loaders/KTX2Loader.js +9 -2
  206. package/lib/ThreeExtended/math/ColorSpaces.d.ts +56 -0
  207. package/lib/ThreeExtended/utils/BufferGeometryUtils.d.ts +62 -0
  208. package/lib/ThreeExtended/utils/BufferGeometryUtils.js +2 -2
  209. package/lib/ThreeExtended/utils/WorkerPool.d.ts +19 -0
  210. package/lib/ThreeExtended/webxr/XRControllerModelFactory.d.ts +25 -0
  211. package/lib/ThreeExtended/webxr/XRControllerModelFactory.js +209 -0
  212. package/lib/Utils/CameraUtils.d.ts +132 -0
  213. package/lib/Utils/DEMUtils.d.ts +84 -0
  214. package/lib/Utils/DEMUtils.js +2 -2
  215. package/lib/Utils/FeaturesUtils.d.ts +17 -0
  216. package/lib/Utils/Gradients.d.ts +13 -0
  217. package/lib/Utils/ThreeUtils.d.ts +14 -0
  218. package/lib/Utils/placeObjectOnGround.d.ts +28 -0
  219. package/lib/global.d.js +0 -0
  220. package/package.json +18 -15
package/dist/455.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"455.js","mappings":"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","sources":["webpack:///./node_modules/copc/lib/copc/constants.js","webpack:///./node_modules/copc/lib/copc/copc.js","webpack:///./node_modules/copc/lib/copc/hierarchy.js","webpack:///./node_modules/copc/lib/copc/index.js","webpack:///./node_modules/copc/lib/copc/info.js","webpack:///./node_modules/copc/lib/ept/ept.js","webpack:///./node_modules/copc/lib/ept/hierarchy.js","webpack:///./node_modules/copc/lib/ept/index.js","webpack:///./node_modules/copc/lib/index.js","webpack:///./node_modules/copc/lib/las/constants.js","webpack:///./node_modules/copc/lib/las/dimensions.js","webpack:///./node_modules/copc/lib/las/extra-bytes.js","webpack:///./node_modules/copc/lib/las/extractor.js","webpack:///./node_modules/copc/lib/las/header.js","webpack:///./node_modules/copc/lib/las/index.js","webpack:///./node_modules/copc/lib/las/point-data.js","webpack:///./node_modules/copc/lib/las/utils.js","webpack:///./node_modules/copc/lib/las/view.js","webpack:///./node_modules/copc/lib/las/vlr.js","webpack:///./node_modules/copc/lib/utils/big-int.js","webpack:///./node_modules/copc/lib/utils/binary.js","webpack:///./node_modules/copc/lib/utils/bounds.js","webpack:///./node_modules/copc/lib/utils/dimension.js","webpack:///./node_modules/copc/lib/utils/getter.js","webpack:///./node_modules/copc/lib/utils/index.js","webpack:///./node_modules/copc/lib/utils/key.js","webpack:///./node_modules/copc/lib/utils/scale.js","webpack:///./node_modules/copc/lib/utils/step.js","webpack:///./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack:///./node_modules/is-observable/index.js","webpack:///./node_modules/laz-perf/lib/web/index.js","webpack:///./node_modules/laz-perf/lib/web/laz-perf.js","webpack:///./node_modules/threads/dist/common.js","webpack:///./node_modules/threads/dist/serializers.js","webpack:///./node_modules/threads/dist/symbols.js","webpack:///./node_modules/threads/dist/transferable.js","webpack:///./node_modules/threads/dist/types/messages.js","webpack:///./node_modules/threads/dist/worker/implementation.browser.js","webpack:///./node_modules/threads/dist/worker/index.js","webpack:///./node_modules/threads/worker.mjs"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hierarchyItemLength = exports.infoLength = void 0;\nexports.infoLength = 160;\nexports.hierarchyItemLength = 32;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Copc = void 0;\nconst Las = __importStar(require(\"../las\"));\nconst utils_1 = require(\"../utils\");\nconst hierarchy_1 = require(\"./hierarchy\");\nconst info_1 = require(\"./info\");\nexports.Copc = {\n create,\n loadHierarchyPage,\n loadPointDataBuffer,\n loadPointDataView,\n};\n/**\n * Parse the COPC header and walk VLR and EVLR metadata.\n */\nasync function create(filename) {\n const getRemote = utils_1.Getter.create(filename);\n // This is an optimization for the walking of VLRs - we'll grab a fixed size \n // buffer which is larger than the LAS header, and for subsequent requests\n // which fall within this buffer range, we can simply slice out the bytes\n // rather than making another remote fetch.\n const length = 65536;\n const promise = getRemote(0, length);\n async function get(begin, end) {\n if (end >= length)\n return getRemote(begin, end);\n const head = await promise;\n return head.slice(begin, end);\n }\n const header = Las.Header.parse(await get(0, Las.Constants.minHeaderLength));\n const vlrs = await Las.Vlr.walk(get, header);\n const infoVlr = Las.Vlr.find(vlrs, 'copc', 1);\n if (!infoVlr)\n throw new Error('COPC info VLR is required');\n const info = info_1.Info.parse(await Las.Vlr.fetch(get, infoVlr));\n let wkt;\n const wktVlr = Las.Vlr.find(vlrs, 'LASF_Projection', 2112);\n // There are a few corner-case possibilities here. Although the LAS 1.4 spec\n // says that this must be a null-terminated string, some files in the wild\n // exist with a zero content-length. We also want to consider the case of an\n // empty string which *does* include null-termination as a missing SRS.\n if (wktVlr && wktVlr.contentLength) {\n wkt = utils_1.Binary.toCString(await Las.Vlr.fetch(get, wktVlr));\n if (wkt === '')\n wkt = undefined;\n }\n let eb = [];\n const ebVlr = Las.Vlr.find(vlrs, 'LASF_Spec', 4);\n if (ebVlr)\n eb = Las.ExtraBytes.parse(await Las.Vlr.fetch(get, ebVlr));\n return { header, vlrs, info, wkt, eb };\n}\nasync function loadHierarchyPage(filename, page) {\n const get = utils_1.Getter.create(filename);\n return hierarchy_1.Hierarchy.load(get, page);\n}\nasync function loadCompressedPointDataBuffer(filename, { pointDataOffset, pointDataLength }) {\n const get = utils_1.Getter.create(filename);\n return get(pointDataOffset, pointDataOffset + pointDataLength);\n}\nasync function loadPointDataBuffer(filename, { pointDataRecordFormat, pointDataRecordLength }, node, lazPerf) {\n const compressed = await loadCompressedPointDataBuffer(filename, node);\n const { pointCount } = node;\n return Las.PointData.decompressChunk(compressed, { pointCount, pointDataRecordFormat, pointDataRecordLength }, lazPerf);\n}\nasync function loadPointDataView(filename, copc, node, { lazPerf, include } = {}) {\n const buffer = await loadPointDataBuffer(filename, copc.header, node, lazPerf);\n return Las.View.create(buffer, copc.header, copc.eb, include);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Hierarchy = void 0;\nconst utils_1 = require(\"../utils\");\nconst constants_1 = require(\"./constants\");\nexports.Hierarchy = { parse, load };\nfunction parse(buffer) {\n const dv = utils_1.Binary.toDataView(buffer);\n if (dv.byteLength % constants_1.hierarchyItemLength !== 0) {\n throw new Error(`Invalid hierarchy page length: ${dv.byteLength}`);\n }\n const nodes = {};\n const pages = {};\n for (let i = 0; i < dv.byteLength; i += constants_1.hierarchyItemLength) {\n const d = dv.getInt32(i + 0, true);\n const x = dv.getInt32(i + 4, true);\n const y = dv.getInt32(i + 8, true);\n const z = dv.getInt32(i + 12, true);\n const offset = (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, i + 16, true));\n const length = dv.getInt32(i + 24, true);\n const pointCount = dv.getInt32(i + 28, true);\n const key = utils_1.Key.toString([d, x, y, z]);\n if (pointCount < -1) {\n throw new Error(`Invalid hierarchy point count at key: ${key}`);\n }\n else if (pointCount === -1) {\n pages[key] = {\n pageOffset: offset,\n pageLength: length,\n };\n }\n else {\n nodes[key] = {\n pointCount,\n pointDataOffset: offset,\n pointDataLength: length,\n };\n }\n }\n return { nodes, pages };\n}\nasync function load(filename, page) {\n const get = utils_1.Getter.create(filename);\n return parse(await get(page.pageOffset, page.pageOffset + page.pageLength));\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Info = exports.Hierarchy = exports.Copc = exports.Constants = void 0;\nexports.Constants = __importStar(require(\"./constants\"));\nvar copc_1 = require(\"./copc\");\nObject.defineProperty(exports, \"Copc\", { enumerable: true, get: function () { return copc_1.Copc; } });\nvar hierarchy_1 = require(\"./hierarchy\");\nObject.defineProperty(exports, \"Hierarchy\", { enumerable: true, get: function () { return hierarchy_1.Hierarchy; } });\nvar info_1 = require(\"./info\");\nObject.defineProperty(exports, \"Info\", { enumerable: true, get: function () { return info_1.Info; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Info = void 0;\nconst utils_1 = require(\"../utils\");\nconst constants_1 = require(\"./constants\");\nexports.Info = { parse };\nfunction parse(buffer) {\n const dv = utils_1.Binary.toDataView(buffer);\n if (dv.byteLength !== constants_1.infoLength) {\n throw new Error(`Invalid COPC info VLR length (should be ${constants_1.infoLength}): ${dv.byteLength}`);\n }\n const center = [\n dv.getFloat64(0, true),\n dv.getFloat64(8, true),\n dv.getFloat64(16, true),\n ];\n const radius = dv.getFloat64(24, true);\n return {\n cube: [\n center[0] - radius,\n center[1] - radius,\n center[2] - radius,\n center[0] + radius,\n center[1] + radius,\n center[2] + radius,\n ],\n spacing: dv.getFloat64(32, true),\n rootHierarchyPage: {\n pageOffset: (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, 40, true)),\n pageLength: (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, 48, true)),\n },\n gpsTimeRange: [dv.getFloat64(56, true), dv.getFloat64(64, true)],\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Hierarchy = void 0;\nexports.Hierarchy = { parse };\nfunction parse(e) {\n return Object.entries(e).reduce((h, [keystring, pointCount]) => {\n if (pointCount === -1)\n h.pages[keystring] = {};\n else if (pointCount)\n h.nodes[keystring] = { pointCount };\n return h;\n }, { nodes: {}, pages: {} });\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ept\"), exports);\n__exportStar(require(\"./hierarchy\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Las = exports.Ept = void 0;\nexports.Ept = __importStar(require(\"./ept\"));\n__exportStar(require(\"./copc\"), exports);\nexports.Las = __importStar(require(\"./las\"));\n__exportStar(require(\"./utils\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evlrHeaderLength = exports.vlrHeaderLength = exports.minHeaderLength = void 0;\nexports.minHeaderLength = 375;\nexports.vlrHeaderLength = 54;\nexports.evlrHeaderLength = 60;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Dimensions = void 0;\nconst utils_1 = require(\"../utils\");\nconst extra_bytes_1 = require(\"./extra-bytes\");\nexports.Dimensions = { create };\nconst { Type } = utils_1.Dimension;\nconst typemap = {\n X: Type.float64,\n Y: Type.float64,\n Z: Type.float64,\n Intensity: Type.uint16,\n ReturnNumber: Type.uint8,\n NumberOfReturns: Type.uint8,\n ScanDirectionFlag: Type.boolean,\n EdgeOfFlightLine: Type.boolean,\n Classification: Type.uint8,\n Synthetic: Type.boolean,\n KeyPoint: Type.boolean,\n Withheld: Type.boolean,\n Overlap: Type.boolean,\n ScanAngle: Type.float32,\n UserData: Type.uint8,\n PointSourceId: Type.uint16,\n GpsTime: Type.float64,\n Red: Type.uint16,\n Green: Type.uint16,\n Blue: Type.uint16,\n ScannerChannel: Type.uint8,\n Infrared: Type.uint16,\n};\nfunction create(extractor, eb = []) {\n return Object.keys(extractor).reduce((map, name) => {\n const type = typemap[name];\n if (type)\n return { ...map, [name]: type };\n const e = eb.find((v) => v.name === name);\n const dimension = e && extra_bytes_1.ExtraBytes.getDimension(e);\n if (dimension)\n return { ...map, [name]: dimension };\n throw new Error(`Failed to look up LAS type: ${name}`);\n }, {});\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExtraBytes = void 0;\nconst utils_1 = require(\"../utils\");\nexports.ExtraBytes = { getDimension, parse, parseOne };\nconst entryLength = 192;\nfunction getDimension({ type, length: size, }) {\n switch (type) {\n case 'signed':\n case 'unsigned':\n switch (size) {\n case 1:\n case 2:\n case 4:\n case 8:\n return { type, size };\n }\n case 'float':\n switch (size) {\n case 4:\n case 8:\n return { type, size };\n }\n }\n}\nfunction parse(buffer) {\n if (buffer.byteLength % entryLength !== 0) {\n throw new Error(`Invalid extra bytes VLR length: ${buffer.byteLength}`);\n }\n const result = [];\n for (let offset = 0; offset < buffer.byteLength; offset += entryLength) {\n result.push(parseOne(buffer.slice(offset, offset + entryLength)));\n }\n return result;\n}\nfunction parseOne(buffer) {\n if (buffer.byteLength !== entryLength) {\n throw new Error(`Invalid extra bytes entry length: ${buffer.byteLength}`);\n }\n const dv = utils_1.Binary.toDataView(buffer);\n const name = utils_1.Binary.toCString(buffer.slice(4, 36));\n const description = utils_1.Binary.toCString(buffer.slice(60, 192));\n const rawtype = dv.getUint8(2);\n const rawoptions = dv.getUint8(3);\n if (rawtype >= 11) {\n throw new Error(`Invalid extra bytes \"type\" value: ${rawtype}`);\n }\n // If the \"type\" is 0, then these are \"undocumented extra bytes\". In this\n // case, the size of the field is specified the \"options\" field.\n if (rawtype === 0) {\n const length = rawoptions;\n return { name, description, length };\n }\n // Otherwise, these are normal extra bytes - parse out all the attributes.\n const options = parseOptions(rawoptions);\n const dimtype = parseType(rawtype);\n if (!dimtype)\n throw new Error(`Failed to extract dimension type: ${rawtype}`);\n const { type, size: length } = dimtype;\n // We need to extract the nodata/min/max differently depending on the EB\n // \"type\" field. For integers we extract the 64-bit version of whichever\n // signedness we have, and for float/double we extract doubles.\n function extractAnyType(offset) {\n switch (type) {\n case 'signed':\n return (0, utils_1.parseBigInt)(dv.getBigInt64(offset, true));\n case 'unsigned':\n return (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, offset, true));\n case 'float':\n return dv.getFloat64(offset, true);\n }\n }\n const eb = { name, description, type, length };\n if (options.hasNodata)\n eb.nodata = extractAnyType(40);\n if (options.hasMin)\n eb.min = extractAnyType(64);\n if (options.hasMax)\n eb.max = extractAnyType(88);\n if (options.hasScale)\n eb.scale = dv.getFloat64(112);\n if (options.hasOffset)\n eb.offset = dv.getFloat64(136);\n return eb;\n}\nfunction parseType(typecode) {\n switch (typecode) {\n case 1:\n return utils_1.Dimension.Type.uint8;\n case 2:\n return utils_1.Dimension.Type.int8;\n case 3:\n return utils_1.Dimension.Type.uint16;\n case 4:\n return utils_1.Dimension.Type.int16;\n case 5:\n return utils_1.Dimension.Type.uint32;\n case 6:\n return utils_1.Dimension.Type.int32;\n case 7:\n return utils_1.Dimension.Type.uint64;\n case 8:\n return utils_1.Dimension.Type.int64;\n case 9:\n return utils_1.Dimension.Type.float32;\n case 10:\n return utils_1.Dimension.Type.float64;\n }\n}\nfunction parseOptions(v) {\n return {\n hasNodata: Boolean(v & 1),\n hasMin: Boolean((v >> 1) & 1),\n hasMax: Boolean((v >> 2) & 1),\n hasScale: Boolean((v >> 3) & 1),\n hasOffset: Boolean((v >> 4) & 1),\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Extractor = void 0;\nconst utils_1 = require(\"../utils\");\nexports.Extractor = { create };\n// Get point data record length excluding extra bytes.\nfunction getBasePointLength(pdrf) {\n switch (pdrf) {\n case 0:\n return 20;\n case 1:\n return 28;\n case 2:\n return 26;\n case 3:\n return 34;\n case 6:\n return 30;\n case 7:\n return 36;\n case 8:\n return 38;\n default:\n throw new Error(`Unsupported point data record format: ${pdrf}`);\n }\n}\n// Create an extractor for an extra-bytes field ignoring scale/offset.\nfunction createAbsoluteExtraBytesExtractor(header, offset, // Offset within the point, so should be >= the base pdrf size.\n{ type, length }) {\n const getPointOffset = getPointOffsetGetter(header);\n switch (type) {\n case 'signed':\n switch (length) {\n case 1:\n return (dv, index) => dv.getInt8(getPointOffset(index) + offset);\n case 2:\n return (dv, index) => dv.getInt16(getPointOffset(index) + offset, true);\n case 4:\n return (dv, index) => dv.getInt32(getPointOffset(index) + offset, true);\n case 8:\n return (dv, index) => (0, utils_1.parseBigInt)(dv.getBigInt64(getPointOffset(index) + offset, true));\n }\n case 'unsigned':\n switch (length) {\n case 1:\n return (dv, index) => dv.getUint8(getPointOffset(index) + offset);\n case 2:\n return (dv, index) => dv.getUint16(getPointOffset(index) + offset, true);\n case 4:\n return (dv, index) => dv.getUint32(getPointOffset(index) + offset, true);\n case 8:\n return (dv, index) => (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, getPointOffset(index) + offset, true));\n }\n case 'float':\n switch (length) {\n case 4:\n return (dv, index) => dv.getFloat32(getPointOffset(index) + offset, true);\n case 8:\n return (dv, index) => dv.getFloat64(getPointOffset(index) + offset, true);\n }\n }\n}\nfunction createExtras(header, eb) {\n const basePointLength = getBasePointLength(header.pointDataRecordFormat);\n let position = basePointLength;\n return eb.reduce((map, v) => {\n const offset = position;\n position += v.length;\n const absoluteExtractor = createAbsoluteExtraBytesExtractor(header, offset, v);\n if (!absoluteExtractor)\n return map;\n const extractor = (dv, index) => utils_1.Scale.unapply(absoluteExtractor(dv, index), v.scale, v.offset);\n return { ...map, [v.name]: extractor };\n }, {});\n}\nfunction create(header, eb = []) {\n const extras = createExtras(header, eb);\n const core = (() => {\n const { pointDataRecordFormat: pdrf } = header;\n switch (pdrf) {\n case 0:\n return create0(header);\n case 1:\n return create1(header);\n case 2:\n return create2(header);\n case 3:\n return create3(header);\n case 6:\n return create6(header);\n case 7:\n return create7(header);\n case 8:\n return create8(header);\n default:\n throw new Error(`Unsupported point data record format: ${pdrf}`);\n }\n })();\n return { ...core, ...extras };\n}\nfunction create0(header) {\n const { scale, offset } = header;\n const getPointOffset = getPointOffsetGetter(header);\n function getScanFlags(dv, index) {\n return dv.getUint8(getPointOffset(index) + 14);\n }\n function getFullClassification(dv, index) {\n return dv.getUint8(getPointOffset(index) + 15);\n }\n function getClassification(dv, index) {\n return getFullClassification(dv, index) & 31;\n }\n return {\n X: (dv, index) => utils_1.Scale.unapply(dv.getInt32(getPointOffset(index), true), scale[0], offset[0]),\n Y: (dv, index) => utils_1.Scale.unapply(dv.getInt32(getPointOffset(index) + 4, true), scale[1], offset[1]),\n Z: (dv, index) => utils_1.Scale.unapply(dv.getInt32(getPointOffset(index) + 8, true), scale[2], offset[2]),\n Intensity: (dv, index) => dv.getUint16(getPointOffset(index) + 12, true),\n ReturnNumber: (dv, index) => getScanFlags(dv, index) & 7,\n NumberOfReturns: (dv, index) => (getScanFlags(dv, index) & 56) >> 3,\n ScanDirectionFlag: (dv, index) => (getScanFlags(dv, index) & 64) >> 6,\n EdgeOfFlightLine: (dv, index) => (getScanFlags(dv, index) & 128) >> 7,\n Classification: (dv, index) => {\n // We extract out Overlap as a separate dimension. In PDRFs > 6, it has\n // its own flag separate from Classification. But here, it is signified\n // by Classification = 12. In that case, we'll set our Overlap dimension\n // to 1, and set our Classification to 0.\n const classification = getClassification(dv, index);\n return classification === 12 ? 0 : classification;\n },\n Synthetic: (dv, index) => (getFullClassification(dv, index) & 32) >> 5,\n KeyPoint: (dv, index) => (getFullClassification(dv, index) & 64) >> 6,\n Withheld: (dv, index) => (getFullClassification(dv, index) & 128) >> 7,\n Overlap: (dv, index) => (getClassification(dv, index) === 12 ? 1 : 0),\n ScanAngle: (dv, index) => dv.getInt8(getPointOffset(index) + 16),\n UserData: (dv, index) => dv.getUint8(getPointOffset(index) + 17),\n PointSourceId: (dv, index) => dv.getUint16(getPointOffset(index) + 18, true),\n };\n}\nfunction create1(header) {\n const getPointOffset = getPointOffsetGetter(header);\n return {\n ...create0(header),\n GpsTime: (dv, index) => dv.getFloat64(getPointOffset(index) + 20, true),\n };\n}\nfunction create2(header) {\n const getPointOffset = getPointOffsetGetter(header);\n return {\n ...create0(header),\n Red: (dv, index) => dv.getUint16(getPointOffset(index) + 20, true),\n Green: (dv, index) => dv.getUint16(getPointOffset(index) + 22, true),\n Blue: (dv, index) => dv.getUint16(getPointOffset(index) + 24, true),\n };\n}\nfunction create3(header) {\n const getPointOffset = getPointOffsetGetter(header);\n return {\n ...create0(header),\n GpsTime: (dv, index) => dv.getFloat64(getPointOffset(index) + 20, true),\n Red: (dv, index) => dv.getUint16(getPointOffset(index) + 28, true),\n Green: (dv, index) => dv.getUint16(getPointOffset(index) + 30, true),\n Blue: (dv, index) => dv.getUint16(getPointOffset(index) + 32, true),\n };\n}\nfunction create6(header) {\n const { scale, offset } = header;\n const getPointOffset = getPointOffsetGetter(header);\n function getFlags(dv, index) {\n return dv.getUint8(getPointOffset(index) + 15);\n }\n return {\n X: (dv, index) => utils_1.Scale.unapply(dv.getInt32(getPointOffset(index), true), scale[0], offset[0]),\n Y: (dv, index) => utils_1.Scale.unapply(dv.getInt32(getPointOffset(index) + 4, true), scale[1], offset[1]),\n Z: (dv, index) => utils_1.Scale.unapply(dv.getInt32(getPointOffset(index) + 8, true), scale[2], offset[2]),\n Intensity: (dv, index) => dv.getUint16(getPointOffset(index) + 12, true),\n ReturnNumber: (dv, index) => dv.getUint16(getPointOffset(index) + 14, true) & 15,\n NumberOfReturns: (dv, index) => (dv.getUint16(getPointOffset(index) + 14, true) & 240) >> 4,\n Synthetic: (dv, index) => getFlags(dv, index) & 1,\n KeyPoint: (dv, index) => (getFlags(dv, index) & 2) >> 1,\n Withheld: (dv, index) => (getFlags(dv, index) & 4) >> 2,\n Overlap: (dv, index) => (getFlags(dv, index) & 8) >> 3,\n ScannerChannel: (dv, index) => (getFlags(dv, index) & 48) >> 4,\n ScanDirectionFlag: (dv, index) => (getFlags(dv, index) & 64) >> 6,\n EdgeOfFlightLine: (dv, index) => (getFlags(dv, index) & 128) >> 7,\n Classification: (dv, index) => dv.getUint8(getPointOffset(index) + 16),\n UserData: (dv, index) => dv.getUint8(getPointOffset(index) + 17),\n ScanAngle: (dv, index) => dv.getInt16(getPointOffset(index) + 18, true) * 0.006,\n PointSourceId: (dv, index) => dv.getUint16(getPointOffset(index) + 20, true),\n GpsTime: (dv, index) => dv.getFloat64(getPointOffset(index) + 22, true),\n };\n}\nfunction create7(header) {\n const getPointOffset = getPointOffsetGetter(header);\n return {\n ...create6(header),\n Red: (dv, index) => dv.getUint16(getPointOffset(index) + 30, true),\n Green: (dv, index) => dv.getUint16(getPointOffset(index) + 32, true),\n Blue: (dv, index) => dv.getUint16(getPointOffset(index) + 34, true),\n };\n}\nfunction create8(header) {\n const getPointOffset = getPointOffsetGetter(header);\n return {\n ...create7(header),\n Infrared: (dv, index) => dv.getUint16(getPointOffset(index) + 36, true),\n };\n}\nfunction getPointOffsetGetter(header) {\n const { pointDataRecordLength } = header;\n return function getPointOffset(index) {\n return index * pointDataRecordLength;\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Header = void 0;\nconst utils_1 = require(\"../utils\");\nconst constants_1 = require(\"./constants\");\nconst utils_2 = require(\"./utils\");\nexports.Header = { parse };\nfunction parse(buffer) {\n if (buffer.byteLength < constants_1.minHeaderLength) {\n throw new Error(`Invalid header: must be at least ${constants_1.minHeaderLength} bytes`);\n }\n const dv = utils_1.Binary.toDataView(buffer);\n const fileSignature = utils_1.Binary.toCString(buffer.slice(0, 4));\n if (fileSignature !== 'LASF') {\n throw new Error(`Invalid file signature: ${fileSignature}`);\n }\n const majorVersion = dv.getUint8(24);\n const minorVersion = dv.getUint8(25);\n if (majorVersion !== 1 || (minorVersion !== 2 && minorVersion !== 4)) {\n throw new Error(`Invalid version (only 1.2 and 1.4 supported): ${majorVersion}.${minorVersion}`);\n }\n const header = {\n fileSignature,\n fileSourceId: dv.getUint16(4, true),\n globalEncoding: dv.getUint16(6, true),\n projectId: (0, utils_2.formatGuid)(buffer.slice(8, 24)),\n majorVersion,\n minorVersion,\n systemIdentifier: utils_1.Binary.toCString(buffer.slice(26, 58)),\n generatingSoftware: utils_1.Binary.toCString(buffer.slice(58, 90)),\n fileCreationDayOfYear: dv.getUint16(90, true),\n fileCreationYear: dv.getUint16(92, true),\n headerLength: dv.getUint16(94, true),\n pointDataOffset: dv.getUint32(96, true),\n vlrCount: dv.getUint32(100, true),\n pointDataRecordFormat: dv.getUint8(104) & 0b1111,\n pointDataRecordLength: dv.getUint16(105, true),\n pointCount: dv.getUint32(107, true),\n pointCountByReturn: parseLegacyNumberOfPointsByReturn(buffer.slice(111, 131)),\n scale: (0, utils_2.parsePoint)(buffer.slice(131, 155)),\n offset: (0, utils_2.parsePoint)(buffer.slice(155, 179)),\n min: [\n dv.getFloat64(187, true),\n dv.getFloat64(203, true),\n dv.getFloat64(219, true),\n ],\n max: [\n dv.getFloat64(179, true),\n dv.getFloat64(195, true),\n dv.getFloat64(211, true),\n ],\n waveformDataOffset: 0,\n evlrOffset: 0,\n evlrCount: 0,\n };\n if (minorVersion == 2)\n return header;\n return {\n ...header,\n pointCount: (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, 247, true)),\n pointCountByReturn: parseNumberOfPointsByReturn(buffer.slice(255, 375)),\n waveformDataOffset: (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, 227, true)),\n evlrOffset: (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, 235, true)),\n evlrCount: dv.getUint32(243, true),\n };\n}\nfunction parseNumberOfPointsByReturn(buffer) {\n const dv = utils_1.Binary.toDataView(buffer);\n const bigs = [];\n for (let offset = 0; offset < 15 * 8; offset += 8) {\n bigs.push((0, utils_1.getBigUint64)(dv, offset, true));\n }\n return bigs.map((v) => (0, utils_1.parseBigInt)(v));\n}\nfunction parseLegacyNumberOfPointsByReturn(buffer) {\n const dv = utils_1.Binary.toDataView(buffer);\n const v = [];\n for (let offset = 0; offset < 5 * 4; offset += 4) {\n v.push(dv.getUint32(offset, true));\n }\n return v;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Vlr = exports.View = exports.PointData = exports.Header = exports.Extractor = exports.ExtraBytes = exports.Dimensions = exports.Constants = void 0;\n// Note that everything here is implicitly referring to LAS 1.4 - no other\n// versions are supported by these utilities.\nexports.Constants = __importStar(require(\"./constants\"));\nvar dimensions_1 = require(\"./dimensions\");\nObject.defineProperty(exports, \"Dimensions\", { enumerable: true, get: function () { return dimensions_1.Dimensions; } });\nvar extra_bytes_1 = require(\"./extra-bytes\");\nObject.defineProperty(exports, \"ExtraBytes\", { enumerable: true, get: function () { return extra_bytes_1.ExtraBytes; } });\nvar extractor_1 = require(\"./extractor\");\nObject.defineProperty(exports, \"Extractor\", { enumerable: true, get: function () { return extractor_1.Extractor; } });\nvar header_1 = require(\"./header\");\nObject.defineProperty(exports, \"Header\", { enumerable: true, get: function () { return header_1.Header; } });\nvar point_data_1 = require(\"./point-data\");\nObject.defineProperty(exports, \"PointData\", { enumerable: true, get: function () { return point_data_1.PointData; } });\nvar view_1 = require(\"./view\");\nObject.defineProperty(exports, \"View\", { enumerable: true, get: function () { return view_1.View; } });\nvar vlr_1 = require(\"./vlr\");\nObject.defineProperty(exports, \"Vlr\", { enumerable: true, get: function () { return vlr_1.Vlr; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decompressFile = exports.decompressChunk = exports.PointData = void 0;\nconst laz_perf_1 = require(\"laz-perf\");\nconst header_1 = require(\"./header\");\nexports.PointData = { createLazPerf: laz_perf_1.createLazPerf, decompressChunk, decompressFile };\nlet ourLazPerfPromise = undefined;\nasync function getLazPerf(suppliedLazPerf) {\n if (suppliedLazPerf)\n return suppliedLazPerf;\n if (!ourLazPerfPromise)\n ourLazPerfPromise = (0, laz_perf_1.createLazPerf)();\n return ourLazPerfPromise;\n}\nasync function decompressChunk(compressed, { pointCount, pointDataRecordFormat, pointDataRecordLength }, suppliedLazPerf) {\n const LazPerf = await getLazPerf(suppliedLazPerf);\n const outBuffer = new Uint8Array(pointCount * pointDataRecordLength);\n const blobPointer = LazPerf._malloc(compressed.byteLength);\n const dataPointer = LazPerf._malloc(pointDataRecordLength);\n const decoder = new LazPerf.ChunkDecoder();\n try {\n LazPerf.HEAPU8.set(new Uint8Array(compressed.buffer, compressed.byteOffset, compressed.byteLength), blobPointer);\n decoder.open(pointDataRecordFormat, pointDataRecordLength, blobPointer);\n for (let i = 0; i < pointCount; ++i) {\n decoder.getPoint(dataPointer);\n outBuffer.set(new Uint8Array(LazPerf.HEAPU8.buffer, dataPointer, pointDataRecordLength), i * pointDataRecordLength);\n }\n }\n finally {\n LazPerf._free(blobPointer);\n LazPerf._free(dataPointer);\n decoder.delete();\n }\n return outBuffer;\n}\nexports.decompressChunk = decompressChunk;\nasync function decompressFile(file, suppliedLazPerf) {\n const LazPerf = await getLazPerf(suppliedLazPerf);\n const header = header_1.Header.parse(file);\n const { pointCount, pointDataRecordLength } = header;\n const outBuffer = new Uint8Array(pointCount * pointDataRecordLength);\n const blobPointer = LazPerf._malloc(file.byteLength);\n const dataPointer = LazPerf._malloc(pointDataRecordLength);\n const reader = new LazPerf.LASZip();\n try {\n LazPerf.HEAPU8.set(new Uint8Array(file.buffer, file.byteOffset, file.byteLength), blobPointer);\n reader.open(blobPointer, file.byteLength);\n for (let i = 0; i < pointCount; ++i) {\n reader.getPoint(dataPointer);\n outBuffer.set(new Uint8Array(LazPerf.HEAPU8.buffer, dataPointer, pointDataRecordLength), i * pointDataRecordLength);\n }\n }\n finally {\n reader.delete();\n }\n return outBuffer;\n}\nexports.decompressFile = decompressFile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.formatGuid = exports.parsePoint = void 0;\nconst utils_1 = require(\"../utils\");\nfunction parsePoint(buffer) {\n const dv = utils_1.Binary.toDataView(buffer);\n if (dv.byteLength !== 24) {\n throw new Error(`Invalid tuple buffer length: ${dv.byteLength}`);\n }\n return [\n dv.getFloat64(0, true),\n dv.getFloat64(8, true),\n dv.getFloat64(16, true),\n ];\n}\nexports.parsePoint = parsePoint;\nfunction formatGuid(buffer) {\n const dv = utils_1.Binary.toDataView(buffer);\n if (dv.byteLength !== 16) {\n throw new Error(`Invalid GUID buffer length: ${dv.byteLength}`);\n }\n let s = '';\n for (let i = 0; i < dv.byteLength; i += 4) {\n const c = dv.getUint32(i, true);\n s += c.toString(16).padStart(8, '0');\n }\n return [s.slice(0, 8), s.slice(8, 12), s.slice(12, 16), s.slice(16, 32)].join('-');\n}\nexports.formatGuid = formatGuid;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.View = void 0;\nconst utils_1 = require(\"../utils\");\nconst dimensions_1 = require(\"./dimensions\");\nconst extractor_1 = require(\"./extractor\");\nexports.View = { create };\nfunction create(buffer, header, eb = [], include) {\n let extractors = extractor_1.Extractor.create(header, eb);\n if (include) {\n const set = new Set([...include]);\n extractors = Object.entries(extractors).reduce((extractors, [name, getter]) => {\n if (set.has(name))\n extractors[name] = getter;\n return extractors;\n }, {});\n }\n const dimensions = dimensions_1.Dimensions.create(extractors, eb);\n const dv = utils_1.Binary.toDataView(buffer);\n const pointLength = header.pointDataRecordLength;\n if (dv.byteLength % pointLength !== 0) {\n throw new Error(`Invalid buffer length (${dv.byteLength}) for point length ${pointLength}`);\n }\n const pointCount = dv.byteLength / header.pointDataRecordLength;\n function getter(name) {\n const extractor = extractors[name];\n if (!extractor)\n throw new Error(`No extractor for dimension: ${name}`);\n return function (index) {\n if (index >= pointCount) {\n throw new RangeError(`View index (${index}) out of range: ${pointCount}`);\n }\n return extractor(dv, index);\n };\n }\n return { pointCount, dimensions, getter };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Vlr = void 0;\nconst utils_1 = require(\"../utils\");\nconst constants_1 = require(\"./constants\");\nexports.Vlr = { walk, parse, find, at, fetch };\nfunction find(vlrs, userId, recordId) {\n return vlrs.find((v) => v.userId === userId && v.recordId === recordId);\n}\nfunction at(vlrs, userId, recordId) {\n const vlr = find(vlrs, userId, recordId);\n if (!vlr)\n throw new Error(`VLR not found: ${userId}/${recordId}`);\n return vlr;\n}\nfunction fetch(filename, { contentOffset, contentLength }) {\n if (contentLength === 0)\n return new Uint8Array();\n const get = utils_1.Getter.create(filename);\n return get(contentOffset, contentOffset + contentLength);\n}\nasync function walk(filename, header) {\n const get = utils_1.Getter.create(filename);\n const vlrs = await doWalk({\n get,\n startOffset: header.headerLength,\n count: header.vlrCount,\n isExtended: false,\n });\n const evlrs = await doWalk({\n get,\n startOffset: header.evlrOffset,\n count: header.evlrCount,\n isExtended: true,\n });\n return [...vlrs, ...evlrs];\n}\nfunction parse(buffer, isExtended) {\n return (isExtended ? parseExtended : parseNormal)(buffer);\n}\nfunction parseNormal(buffer) {\n const dv = utils_1.Binary.toDataView(buffer);\n if (dv.byteLength !== constants_1.vlrHeaderLength) {\n throw new Error(`Invalid VLR header length (must be ${constants_1.vlrHeaderLength}): ${dv.byteLength}`);\n }\n return {\n userId: utils_1.Binary.toCString(buffer.slice(2, 18)),\n recordId: dv.getUint16(18, true),\n contentLength: dv.getUint16(20, true),\n description: utils_1.Binary.toCString(buffer.slice(22, 54)),\n isExtended: false,\n };\n}\nfunction parseExtended(buffer) {\n const dv = utils_1.Binary.toDataView(buffer);\n if (dv.byteLength !== constants_1.evlrHeaderLength) {\n throw new Error(`Invalid EVLR header length (must be ${constants_1.evlrHeaderLength}): ${dv.byteLength}`);\n }\n return {\n userId: utils_1.Binary.toCString(buffer.slice(2, 18)),\n recordId: dv.getUint16(18, true),\n contentLength: (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, 20, true)),\n description: utils_1.Binary.toCString(buffer.slice(28, 60)),\n isExtended: true,\n };\n}\nasync function doWalk({ get, startOffset, count, isExtended }) {\n const vlrs = [];\n let pos = startOffset;\n const length = isExtended ? constants_1.evlrHeaderLength : constants_1.vlrHeaderLength;\n for (let i = 0; i < count; ++i) {\n const buffer = length ? await get(pos, pos + length) : new Uint8Array();\n const { userId, recordId, contentLength, description } = parse(buffer, isExtended);\n vlrs.push({\n userId,\n recordId,\n contentOffset: pos + length,\n contentLength,\n description,\n isExtended,\n });\n pos += length + contentLength;\n }\n return vlrs;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getBigUint64 = exports.parseBigInt = void 0;\nfunction parseBigInt(v) {\n if (v > BigInt(Number.MAX_SAFE_INTEGER) ||\n v < BigInt(-Number.MAX_SAFE_INTEGER)) {\n throw new Error(`Cannot convert bigint to number: ${v}`);\n }\n return Number(v);\n}\nexports.parseBigInt = parseBigInt;\n// Safari is non-conforming here and doesn't have the BigUint functions on their\n// DataView :\\\nfunction getBigUint64(dv, byteOffset, littleEndian) {\n if (dv.getBigUint64)\n return dv.getBigUint64(byteOffset, littleEndian);\n const [h, l] = littleEndian ? [4, 0] : [0, 4];\n const wh = BigInt(dv.getUint32(byteOffset + h, littleEndian));\n const wl = BigInt(dv.getUint32(byteOffset + l, littleEndian));\n return (wh << BigInt(32)) + wl;\n}\nexports.getBigUint64 = getBigUint64;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toCString = exports.toDataView = exports.Binary = void 0;\nexports.Binary = { toDataView, toCString };\nfunction toDataView(buffer) {\n return new DataView(buffer.buffer, buffer.byteOffset, buffer.length);\n}\nexports.toDataView = toDataView;\nfunction toCString(buffer) {\n const dv = toDataView(buffer);\n let s = '';\n for (let i = 0; i < dv.byteLength; ++i) {\n const c = dv.getInt8(i);\n if (c === 0)\n return s;\n s += String.fromCharCode(c);\n }\n return s;\n}\nexports.toCString = toCString;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Bounds = void 0;\nexports.Bounds = {\n min,\n max,\n mid,\n width,\n depth,\n height,\n cube,\n step,\n stepTo,\n intersection,\n};\nfunction min(b) {\n return [b[0], b[1], b[2]];\n}\nfunction max(b) {\n return [b[3], b[4], b[5]];\n}\nfunction mid([minx, miny, minz, maxx, maxy, maxz]) {\n return [\n minx + (maxx - minx) / 2,\n miny + (maxy - miny) / 2,\n minz + (maxz - minz) / 2,\n ];\n}\nfunction width(bounds) {\n return bounds[3] - bounds[0];\n}\nfunction depth(bounds) {\n return bounds[4] - bounds[1];\n}\nfunction height(bounds) {\n return bounds[5] - bounds[2];\n}\nfunction cube(bounds) {\n const point = mid(bounds);\n const radius = Math.max(width(bounds), depth(bounds), height(bounds)) / 2;\n return [\n point[0] - radius,\n point[1] - radius,\n point[2] - radius,\n point[0] + radius,\n point[1] + radius,\n point[2] + radius,\n ];\n}\nfunction step(bounds, [a, b, c]) {\n const [minx, miny, minz, maxx, maxy, maxz] = bounds;\n const [midx, midy, midz] = mid(bounds);\n return [\n a ? midx : minx,\n b ? midy : miny,\n c ? midz : minz,\n a ? maxx : midx,\n b ? maxy : midy,\n c ? maxz : midz,\n ];\n}\nfunction stepTo(bounds, [d, x, y, z]) {\n for (let i = d - 1; i >= 0; --i) {\n bounds = step(bounds, [(x >> i) & 1, (y >> i) & 1, (z >> i) & 1]);\n }\n return bounds;\n}\nfunction intersection(a, b) {\n return [\n Math.max(a[0], b[0]),\n Math.max(a[1], b[1]),\n Math.max(a[2], b[2]),\n Math.min(a[3], b[3]),\n Math.min(a[4], b[4]),\n Math.min(a[5], b[5]),\n ];\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Dimension = void 0;\nconst Type = {\n int8: { type: 'signed', size: 1 },\n int16: { type: 'signed', size: 2 },\n int32: { type: 'signed', size: 4 },\n int64: { type: 'signed', size: 8 },\n uint8: { type: 'unsigned', size: 1 },\n uint16: { type: 'unsigned', size: 2 },\n uint32: { type: 'unsigned', size: 4 },\n uint64: { type: 'unsigned', size: 8 },\n float32: { type: 'float', size: 4 },\n float64: { type: 'float', size: 8 },\n // Aliases.\n float: { type: 'float', size: 4 },\n double: { type: 'float', size: 8 },\n // Minimum size of one byte, so this is a convenience for a byte.\n bool: { type: 'unsigned', size: 1 },\n boolean: { type: 'unsigned', size: 1 },\n};\nexports.Dimension = { Type, ctype };\nfunction ctype({ type, size }) {\n switch (type) {\n case 'signed': {\n switch (size) {\n case 1:\n return 'int8';\n case 2:\n return 'int16';\n case 4:\n return 'int32';\n case 8:\n return 'int64';\n }\n }\n case 'unsigned': {\n switch (size) {\n case 1:\n return 'uint8';\n case 2:\n return 'uint16';\n case 4:\n return 'uint32';\n case 8:\n return 'uint64';\n }\n }\n case 'float': {\n switch (size) {\n case 4:\n return 'float';\n case 8:\n return 'double';\n }\n }\n }\n throw new Error(`Invalid dimension type/size: ${type}/${size}`);\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Getter = void 0;\nconst cross_fetch_1 = __importDefault(require(\"cross-fetch\"));\nexports.Getter = { create, http: getHttpGetter, file: getFsGetter };\nfunction create(arg) {\n if (typeof arg === 'function')\n return arg;\n if (arg.startsWith('http://') || arg.startsWith('https://')) {\n return getHttpGetter(arg);\n }\n return getFsGetter(arg);\n}\nfunction getHttpGetter(filename) {\n return async function getter(begin, end) {\n if (begin < 0 || end < 0 || begin > end)\n throw new Error('Invalid range');\n const response = await (0, cross_fetch_1.default)(filename, {\n headers: { Range: `bytes=${begin}-${end - 1}` },\n });\n const ab = await response.arrayBuffer();\n return new Uint8Array(ab);\n };\n}\nfunction getFsGetter(filename) {\n return async function getter(begin, end) {\n const fs = await Promise.resolve().then(() => __importStar(require('fs')));\n async function read(begin = 0, end = Infinity) {\n if (begin < 0 || end < 0 || begin > end)\n throw new Error('Invalid range');\n await fs.promises.access(filename);\n const stream = fs.createReadStream(filename, {\n start: begin,\n end: end - 1,\n autoClose: true,\n });\n return drain(stream);\n }\n return read(begin, end);\n };\n}\nasync function drain(stream) {\n return await new Promise((resolve, reject) => {\n const chunks = [];\n stream.on('data', (chunk) => chunks.push(chunk));\n stream.on('error', reject);\n stream.on('end', () => resolve(Buffer.concat(chunks)));\n });\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Step = exports.Scale = exports.Key = exports.Getter = exports.Dimension = exports.Bounds = exports.Binary = void 0;\n__exportStar(require(\"./big-int\"), exports);\nvar binary_1 = require(\"./binary\");\nObject.defineProperty(exports, \"Binary\", { enumerable: true, get: function () { return binary_1.Binary; } });\nvar bounds_1 = require(\"./bounds\");\nObject.defineProperty(exports, \"Bounds\", { enumerable: true, get: function () { return bounds_1.Bounds; } });\nvar dimension_1 = require(\"./dimension\");\nObject.defineProperty(exports, \"Dimension\", { enumerable: true, get: function () { return dimension_1.Dimension; } });\nvar getter_1 = require(\"./getter\");\nObject.defineProperty(exports, \"Getter\", { enumerable: true, get: function () { return getter_1.Getter; } });\nvar key_1 = require(\"./key\");\nObject.defineProperty(exports, \"Key\", { enumerable: true, get: function () { return key_1.Key; } });\nvar scale_1 = require(\"./scale\");\nObject.defineProperty(exports, \"Scale\", { enumerable: true, get: function () { return scale_1.Scale; } });\nvar step_1 = require(\"./step\");\nObject.defineProperty(exports, \"Step\", { enumerable: true, get: function () { return step_1.Step; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Key = void 0;\nexports.Key = { create, parse, toString, step, up, compare, depth };\nfunction create(key, x = 0, y = 0, z = 0) {\n if (typeof key !== 'number')\n return parse(key);\n return [key, x, y, z];\n}\nfunction parse(s) {\n if (typeof s !== 'string')\n return s;\n const [d, x, y, z, ...rest] = s.split('-').map((s) => parseInt(s, 10));\n const key = [d, x, y, z];\n if (rest.length !== 0 ||\n key.some((v) => typeof v !== 'number' || Number.isNaN(v))) {\n throw new Error(`Invalid key: ${s}`);\n }\n return key;\n}\nfunction toString(key) {\n if (typeof key === 'string')\n return key;\n return key.join('-');\n}\nfunction step(key, [a, b, c]) {\n const [d, x, y, z] = exports.Key.create(key);\n return [d + 1, x * 2 + a, y * 2 + b, z * 2 + c];\n}\nfunction up(key, n = 1) {\n const [d, x, y, z] = exports.Key.create(key);\n return [d - n, x >> n, y >> n, z >> n];\n}\nfunction compare(a, b) {\n for (let i = 0; i < a.length; ++i) {\n if (a[i] < b[i])\n return -1;\n if (a[i] > b[i])\n return 1;\n }\n return 0;\n}\nfunction depth(key) {\n return key[0];\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Scale = void 0;\nexports.Scale = {\n apply: (v, scale = 1, offset = 0) => (v - offset) / scale,\n unapply: (v, scale = 1, offset = 0) => v * scale + offset,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Step = void 0;\nexports.Step = { fromIndex, list };\nfunction fromIndex(i) {\n if (i < 0 || i >= 8)\n throw new Error(`Invalid step index: ${i}`);\n const x = (i >> 0) & 1 ? 1 : 0;\n const y = (i >> 1) & 1 ? 1 : 0;\n const z = (i >> 2) & 1 ? 1 : 0;\n return [x, y, z];\n}\nfunction list() {\n return [\n [0, 0, 0],\n [0, 0, 1],\n [0, 1, 0],\n [0, 1, 1],\n [1, 0, 0],\n [1, 0, 1],\n [1, 1, 0],\n [1, 1, 1],\n ];\n}\n","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","'use strict';\n\nmodule.exports = value => {\n\tif (!value) {\n\t\treturn false;\n\t}\n\n\t// eslint-disable-next-line no-use-extend-native/no-use-extend-native\n\tif (typeof Symbol.observable === 'symbol' && typeof value[Symbol.observable] === 'function') {\n\t\t// eslint-disable-next-line no-use-extend-native/no-use-extend-native\n\t\treturn value === value[Symbol.observable]();\n\t}\n\n\tif (typeof value['@@observable'] === 'function') {\n\t\treturn value === value['@@observable']();\n\t}\n\n\treturn false;\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LazPerf = exports.create = exports.createLazPerf = void 0;\nconst laz_perf_js_1 = __importDefault(require(\"./laz-perf.js\"));\nexports.createLazPerf = laz_perf_js_1.default;\nexports.create = laz_perf_js_1.default;\nexports.LazPerf = { create: laz_perf_js_1.default };\n","\nvar createLazPerf = (() => {\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n \n return (\nfunction(createLazPerf) {\n createLazPerf = createLazPerf || {};\n\nvar Module=typeof createLazPerf!=\"undefined\"?createLazPerf:{};var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});[\"_main\",\"___getTypeName\",\"__embind_initialize_bindings\",\"_fflush\",\"onRuntimeInitialized\"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(Module[\"ready\"],prop)){Object.defineProperty(Module[\"ready\"],prop,{get:()=>abort(\"You are getting \"+prop+\" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js\"),set:()=>abort(\"You are setting \"+prop+\" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js\")})}});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module[\"ENVIRONMENT\"]){throw new Error(\"Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)\")}var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;if(e&&typeof e==\"object\"&&e.stack){toLog=[e,e.stack]}err(\"exiting due to exception: \"+toLog)}if(ENVIRONMENT_IS_SHELL){if(typeof process==\"object\"&&typeof require===\"function\"||typeof window==\"object\"||typeof importScripts==\"function\")throw new Error(\"not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)\");if(typeof read!=\"undefined\"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){let data;if(typeof readbuffer==\"function\"){return new Uint8Array(readbuffer(f))}data=read(f,\"binary\");assert(typeof data==\"object\");return data};readAsync=function readAsync(f,onload,onerror){setTimeout(()=>onload(readBinary(f)),0)};if(typeof scriptArgs!=\"undefined\"){arguments_=scriptArgs}else if(typeof arguments!=\"undefined\"){arguments_=arguments}if(typeof quit==\"function\"){quit_=(status,toThrow)=>{logExceptionOnExit(toThrow);quit(status)}}if(typeof print!=\"undefined\"){if(typeof console==\"undefined\")console={};console.log=print;console.warn=console.error=typeof printErr!=\"undefined\"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}if(!(typeof window==\"object\"||typeof importScripts==\"function\"))throw new Error(\"not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)\");{read_=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{throw new Error(\"environment detection error\")}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module[\"arguments\"])arguments_=Module[\"arguments\"];legacyModuleProp(\"arguments\",\"arguments_\");if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];legacyModuleProp(\"thisProgram\",\"thisProgram\");if(Module[\"quit\"])quit_=Module[\"quit\"];legacyModuleProp(\"quit\",\"quit_\");assert(typeof Module[\"memoryInitializerPrefixURL\"]==\"undefined\",\"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"pthreadMainPrefixURL\"]==\"undefined\",\"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"cdInitializerPrefixURL\"]==\"undefined\",\"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"filePackagePrefixURL\"]==\"undefined\",\"Module.filePackagePrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"read\"]==\"undefined\",\"Module.read option was removed (modify read_ in JS)\");assert(typeof Module[\"readAsync\"]==\"undefined\",\"Module.readAsync option was removed (modify readAsync in JS)\");assert(typeof Module[\"readBinary\"]==\"undefined\",\"Module.readBinary option was removed (modify readBinary in JS)\");assert(typeof Module[\"setWindowTitle\"]==\"undefined\",\"Module.setWindowTitle option was removed (modify setWindowTitle in JS)\");assert(typeof Module[\"TOTAL_MEMORY\"]==\"undefined\",\"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY\");legacyModuleProp(\"read\",\"read_\");legacyModuleProp(\"readAsync\",\"readAsync\");legacyModuleProp(\"readBinary\",\"readBinary\");legacyModuleProp(\"setWindowTitle\",\"setWindowTitle\");assert(!ENVIRONMENT_IS_WORKER,\"worker environment detected but not enabled at build time. Add 'worker' to `-sENVIRONMENT` to enable.\");assert(!ENVIRONMENT_IS_NODE,\"node environment detected but not enabled at build time. Add 'node' to `-sENVIRONMENT` to enable.\");assert(!ENVIRONMENT_IS_SHELL,\"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable.\");var POINTER_SIZE=4;function legacyModuleProp(prop,newName){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get:function(){abort(\"Module.\"+prop+\" has been replaced with plain \"+newName+\" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)\")}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort(\"`Module.\"+prop+\"` was supplied but `\"+prop+\"` not included in INCOMING_MODULE_JS_API\")}}function isExportedByForceFilesystem(name){return name===\"FS_createPath\"||name===\"FS_createDataFile\"||name===\"FS_createPreloadedFile\"||name===\"FS_unlink\"||name===\"addRunDependency\"||name===\"FS_createLazyFile\"||name===\"FS_createDevice\"||name===\"removeRunDependency\"}function missingLibrarySymbol(sym){if(typeof globalThis!==\"undefined\"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get:function(){var msg=\"`\"+sym+\"` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line\";if(isExportedByForceFilesystem(sym)){msg+=\". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you\"}warnOnce(msg);return undefined}})}}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get:function(){var msg=\"'\"+sym+\"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)\";if(isExportedByForceFilesystem(sym)){msg+=\". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you\"}abort(msg)}})}}var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];legacyModuleProp(\"wasmBinary\",\"wasmBinary\");var noExitRuntime=Module[\"noExitRuntime\"]||true;legacyModuleProp(\"noExitRuntime\",\"noExitRuntime\");if(typeof WebAssembly!=\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(\"Assertion failed\"+(text?\": \"+text:\"\"))}}var UTF8Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{if((u0&248)!=240)warnOnce(\"Invalid UTF-8 leading byte 0x\"+u0.toString(16)+\" encountered when deserializing a UTF-8 string in wasm memory to a JS string!\");u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;if(u>1114111)warnOnce(\"Invalid Unicode code point 0x\"+u.toString(16)+\" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).\");heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){assert(typeof maxBytesToWrite==\"number\",\"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!\");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module[\"HEAP8\"]=HEAP8=new Int8Array(buf);Module[\"HEAP16\"]=HEAP16=new Int16Array(buf);Module[\"HEAP32\"]=HEAP32=new Int32Array(buf);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buf);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buf);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buf);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buf);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buf)}var TOTAL_STACK=65536;if(Module[\"TOTAL_STACK\"])assert(TOTAL_STACK===Module[\"TOTAL_STACK\"],\"the stack size can no longer be determined at runtime\");var INITIAL_MEMORY=Module[\"INITIAL_MEMORY\"]||262144;legacyModuleProp(\"INITIAL_MEMORY\",\"INITIAL_MEMORY\");assert(INITIAL_MEMORY>=TOTAL_STACK,\"INITIAL_MEMORY should be larger than TOTAL_STACK, was \"+INITIAL_MEMORY+\"! (TOTAL_STACK=\"+TOTAL_STACK+\")\");assert(typeof Int32Array!=\"undefined\"&&typeof Float64Array!==\"undefined\"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,\"JS engine does not provide full typed array support\");assert(!Module[\"wasmMemory\"],\"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally\");assert(INITIAL_MEMORY==262144,\"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically\");var wasmTable;function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort(\"Stack overflow! Stack cookie has been overwritten at 0x\"+max.toString(16)+\", expected hex dwords 0x89BACDFE and 0x2135467, but received 0x\"+cookie2.toString(16)+\" 0x\"+cookie1.toString(16))}if(HEAPU32[0]!==1668509029)abort(\"Runtime error: The application has corrupted its heap memory area (address zero)!\")}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw\"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)\"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();callRuntimeCallbacks(__ATINIT__)}function postRun(){checkStackCookie();if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}assert(Math.imul,\"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill\");assert(Math.fround,\"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill\");assert(Math.clz32,\"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill\");assert(Math.trunc,\"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill\");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=\"undefined\"){runDependencyWatcher=setInterval(function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err(\"still waiting on run dependencies:\")}err(\"dependency: \"+dep)}if(shown){err(\"(end of list)\")}},1e4)}}else{err(\"warning: run dependency added without ID\")}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err(\"warning: run dependency removed without ID\")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){{if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}}what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var FS={error:function(){abort(\"Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM\")},init:function(){FS.error()},createDataFile:function(){FS.error()},createPreloadedFile:function(){FS.error()},createLazyFile:function(){FS.error()},open:function(){FS.error()},mkdev:function(){FS.error()},registerDevice:function(){FS.error()},analyzePath:function(){FS.error()},loadFilesFromDB:function(){FS.error()},ErrnoError:function ErrnoError(){FS.error()}};Module[\"FS_createDataFile\"]=FS.createDataFile;Module[\"FS_createPreloadedFile\"]=FS.createPreloadedFile;var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith(\"file://\")}function createExportWrapper(name,fixedasm){return function(){var displayName=name;var asm=fixedasm;if(!fixedasm){asm=Module[\"asm\"]}assert(runtimeInitialized,\"native function `\"+displayName+\"` called before runtime initialization\");if(!asm[name]){assert(asm[name],\"exported native function `\"+displayName+\"` not found\")}return asm[name].apply(null,arguments)}}var wasmBinaryFile;wasmBinaryFile=\"laz-perf.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw\"both async and sync fetching of the wasm failed\"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==\"function\"){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){if(!response[\"ok\"]){throw\"failed to load wasm binary file at '\"+wasmBinaryFile+\"'\"}return response[\"arrayBuffer\"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={\"env\":asmLibraryArg,\"wasi_snapshot_preview1\":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module[\"asm\"]=exports;wasmMemory=Module[\"asm\"][\"memory\"];assert(wasmMemory,\"memory not found in wasm exports\");updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module[\"asm\"][\"__indirect_function_table\"];assert(wasmTable,\"table not found in wasm exports\");addOnInit(Module[\"asm\"][\"__wasm_call_ctors\"]);removeRunDependency(\"wasm-instantiate\")}addRunDependency(\"wasm-instantiate\");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,\"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?\");trueModule=null;receiveInstance(result[\"instance\"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err(\"failed to asynchronously prepare wasm: \"+reason);if(isFileURI(wasmBinaryFile)){err(\"warning: Loading from a file URI (\"+wasmBinaryFile+\") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing\")}abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==\"function\"&&!isDataURI(wasmBinaryFile)&&typeof fetch==\"function\"){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err(\"wasm streaming compile failed: \"+reason);err(\"falling back to ArrayBuffer instantiation\");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module[\"instantiateWasm\"]){try{var exports=Module[\"instantiateWasm\"](info,receiveInstance);return exports}catch(e){err(\"Module.instantiateWasm callback failed with error: \"+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function demangle(func){warnOnce(\"warning: build with -sDEMANGLE_SUPPORT to link in libcxxabi demangling\");return func}function demangleAll(text){var regex=/\\b_Z[\\w\\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+\" [\"+x+\"]\"})}function jsStackTrace(){var error=new Error;if(!error.stack){try{throw new Error}catch(e){error=e}if(!error.stack){return\"(no stack trace available)\"}}return error.stack.toString()}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}function writeArrayToMemory(array,buffer){assert(array.length>=0,\"writeArrayToMemory array must have a length (should be an array or typed array)\");HEAP8.set(array,buffer)}function ___cxa_allocate_exception(size){return _malloc(size+24)+24}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;assert(prev>0);return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr+\" - Exception catching is disabled, this exception cannot be caught. Compile with -sNO_DISABLE_EXCEPTION_CATCHING or -sEXCEPTION_CATCHING_ALLOWED=[..] to catch.\"}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(\"Unknown type size: \"+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret=\"\";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return\"_unknown\"}name=name.replace(/[^a-zA-Z0-9_]/g,\"$\");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return\"_\"+name}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function(\"body\",\"return function \"+name+\"() {\\n\"+' \"use strict\";'+\" return body.apply(this, arguments);\\n\"+\"};\\n\")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+\"\\n\"+stack.replace(/^Error(:[^\\n]*)?\\n/,\"\")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+\": \"+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError(\"Mismatched type converter count\")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach((dt,i)=>{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options={}){if(!(\"argPackAdvance\"in registeredInstance)){throw new TypeError(\"registerType registeredInstance requires argPackAdvance\")}var name=registeredInstance.name;if(!rawType){throwBindingError('type \"'+name+'\" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(\"Cannot register type '\"+name+\"' twice\")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(wt){return!!wt},\"toWireType\":function(destructors,o){return o?trueValue:falseValue},\"argPackAdvance\":8,\"readValueFromPointer\":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError(\"Unknown boolean type size: \"+name)}return this[\"fromWireType\"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+\" instance already deleted\")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj[\"delete\"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module[\"getInheritedInstanceCount\"]=getInheritedInstanceCount;Module[\"getLiveInheritedInstances\"]=getLiveInheritedInstances;Module[\"flushPendingDeletes\"]=flushPendingDeletes;Module[\"setDelayFunction\"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError(\"ptr should not be undefined\")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError(\"makeClassHandle requires ptr and ptrType\")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError(\"Both smartPtrType and smartPtr must be specified\")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance[\"clone\"]()}else{var rv=registeredInstance[\"clone\"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if(\"undefined\"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{console.warn(info.leakWarning.stack.replace(/^Error: /,\"\"));releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};var cls=$$.ptrType.registeredClass;info.leakWarning=new Error(\"Embind found a leaked C++ instance \"+cls.name+\" <0x\"+$$.ptr.toString(16)+\">.\\n\"+\"We'll free it automatically in this case, but this functionality is not reliable across various environments.\\n\"+\"Make sure to invoke .delete() manually once you're done with the instance instead.\\n\"+\"Originally allocated\");if(\"captureStackTrace\"in Error){Error.captureStackTrace(info.leakWarning,RegisteredPointer_fromWireType)}finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype[\"isAliasOf\"]=ClassHandle_isAliasOf;ClassHandle.prototype[\"clone\"]=ClassHandle_clone;ClassHandle.prototype[\"delete\"]=ClassHandle_delete;ClassHandle.prototype[\"isDeleted\"]=ClassHandle_isDeleted;ClassHandle.prototype[\"deleteLater\"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(\"Function '\"+humanName+\"' called with an invalid number of arguments (\"+arguments.length+\") - expects one of (\"+proto[methodName].overloadTable+\")!\")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(\"Cannot register public name '\"+name+\"' twice\")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(\"Cannot register multiple overloads of a function with the same number of arguments (\"+numArguments+\")!\")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(\"Expected null or instance of \"+desiredClass.name+\", got an instance of \"+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(\"null is not a valid \"+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass \"'+embindRepr(handle)+'\" as a '+this.name)}if(!handle.$$.ptr){throwBindingError(\"Cannot pass deleted object as a pointer of type \"+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(\"null is not a valid \"+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass \"'+embindRepr(handle)+'\" as a '+this.name)}if(!handle.$$.ptr){throwBindingError(\"Cannot pass deleted object as a pointer of type \"+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(\"Cannot convert argument of type \"+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+\" to parameter type \"+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError(\"Passing raw pointer to smart pointer is illegal\")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(\"Cannot convert argument of type \"+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+\" to parameter type \"+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle[\"clone\"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle[\"delete\"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError(\"Unsupporting sharing policy\")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(\"null is not a valid \"+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass \"'+embindRepr(handle)+'\" as a '+this.name)}if(!handle.$$.ptr){throwBindingError(\"Cannot pass deleted object as a pointer of type \"+this.name)}if(handle.$$.ptrType.isConst){throwBindingError(\"Cannot convert argument of type \"+handle.$$.ptrType.name+\" to parameter type \"+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this[\"fromWireType\"](HEAP32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle[\"delete\"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype[\"argPackAdvance\"]=8;RegisteredPointer.prototype[\"readValueFromPointer\"]=simpleReadValueFromPointer;RegisteredPointer.prototype[\"deleteObject\"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype[\"fromWireType\"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&&registeredClass.baseClass===undefined){if(isConst){this[\"toWireType\"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this[\"toWireType\"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this[\"toWireType\"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError(\"Replacing nonexistant public symbol\")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){assert(\"dynCall_\"+sig in Module,\"bad function pointer type - no table for sig '\"+sig+\"'\");if(args&&args.length){assert(args.length===sig.substring(1).replace(/j/g,\"--\").length)}else{assert(sig.length==1)}var f=Module[\"dynCall_\"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}assert(wasmTable.get(funcPtr)==func,\"JavaScript-side Wasm function table mirror is out of date!\");return func}function dynCall(sig,ptr,args){if(sig.includes(\"j\")){return dynCallLegacy(sig,ptr,args)}assert(getWasmTableEntry(ptr),\"missing table entry in dynCall: \"+ptr);var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){assert(sig.includes(\"j\")||sig.includes(\"p\"),\"getDynCaller should only be called with i64 sigs\");var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes(\"j\")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!=\"function\"){throwBindingError(\"unknown function pointer with signature \"+signature+\": \"+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+\": \"+unboundTypes.map(getTypeName).join([\", \"]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(\"Cannot construct \"+name+\" due to unbound types\",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError(\"Use 'new' to construct \"+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+\" has no accessible constructor\")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(\"Tried to invoke ctor of \"+name+\" with invalid number of parameters (\"+arguments.length+\") - expected (\"+Object.keys(registeredClass.constructor_body).toString()+\") parameters instead!\")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+\"*\",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+\" const*\",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAPU32[firstElement+i*4>>2])}return array}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError(\"new_ called with constructor type \"+typeof constructor+\" which is not a function\")}var dummy=createNamedFunction(constructor.name||\"unknownFunctionName\",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError(\"argTypes array size mismatch! Must at least get return value and 'this' types!\")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!==\"void\";var argsList=\"\";var argsListWired=\"\";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?\", \":\"\")+\"arg\"+i;argsListWired+=(i!==0?\", \":\"\")+\"arg\"+i+\"Wired\"}var invokerFnBody=\"return function \"+makeLegalFunctionName(humanName)+\"(\"+argsList+\") {\\n\"+\"if (arguments.length !== \"+(argCount-2)+\") {\\n\"+\"throwBindingError('function \"+humanName+\" called with ' + arguments.length + ' arguments, expected \"+(argCount-2)+\" args!');\\n\"+\"}\\n\";if(needsDestructorStack){invokerFnBody+=\"var destructors = [];\\n\"}var dtorStack=needsDestructorStack?\"destructors\":\"null\";var args1=[\"throwBindingError\",\"invoker\",\"fn\",\"runDestructors\",\"retType\",\"classParam\"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+=\"var thisWired = classParam.toWireType(\"+dtorStack+\", this);\\n\"}for(var i=0;i<argCount-2;++i){invokerFnBody+=\"var arg\"+i+\"Wired = argType\"+i+\".toWireType(\"+dtorStack+\", arg\"+i+\"); // \"+argTypes[i+2].name+\"\\n\";args1.push(\"argType\"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired=\"thisWired\"+(argsListWired.length>0?\", \":\"\")+argsListWired}invokerFnBody+=(returns?\"var rv = \":\"\")+\"invoker(fn\"+(argsListWired.length>0?\", \":\"\")+argsListWired+\");\\n\";if(needsDestructorStack){invokerFnBody+=\"runDestructors(destructors);\\n\"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?\"thisWired\":\"arg\"+(i-2)+\"Wired\";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+\"_dtor(\"+paramName+\"); // \"+argTypes[i].name+\"\\n\";args1.push(paramName+\"_dtor\");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+=\"var ret = retType.fromWireType(rv);\\n\"+\"return ret;\\n\"}else{}invokerFnBody+=\"}\\n\";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){assert(argCount>0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=\"constructor \"+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(\"Cannot register multiple constructors with identical number of parameters (\"+(argCount-1)+\") for class '\"+classType.name+\"'! Overload resolution is currently only performed using the parameter count, not actual type info!\")}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(\"Cannot construct \"+classType.name+\" due to unbound types\",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+\".\"+methodName;if(methodName.startsWith(\"@@\")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(\"Cannot call \"+humanName+\" due to unbound types\",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module[\"count_emval_handles\"]=count_emval_handles;Module[\"get_first_emval\"]=get_first_emval}var Emval={toValue:handle=>{if(!handle){throwBindingError(\"Cannot use deleted val. handle = \"+handle)}return emval_handle_array[handle].value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},\"toWireType\":function(destructors,value){return Emval.toHandle(value)},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return\"null\"}var t=typeof v;if(t===\"object\"||t===\"array\"||t===\"function\"){return v.toString()}else{return\"\"+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this[\"fromWireType\"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this[\"fromWireType\"](HEAPF64[pointer>>3])};default:throw new TypeError(\"Unknown float type: \"+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(value){return value},\"toWireType\":function(destructors,value){if(typeof value!=\"number\"&&typeof value!=\"boolean\"){throw new TypeError('Cannot convert \"'+embindRepr(value)+'\" to '+this.name)}return value},\"argPackAdvance\":8,\"readValueFromPointer\":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError(\"Unknown integer type: \"+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<<bitshift>>>bitshift}var isUnsignedType=name.includes(\"unsigned\");var checkAssertions=(value,toTypeName)=>{if(typeof value!=\"number\"&&typeof value!=\"boolean\"){throw new TypeError('Cannot convert \"'+embindRepr(value)+'\" to '+toTypeName)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number \"'+embindRepr(value)+'\" from JS side to C/C++ side to an argument of type \"'+name+'\", which is outside the valid range ['+minRange+\", \"+maxRange+\"]!\")}};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,\"fromWireType\":fromWireType,\"toWireType\":toWireType,\"argPackAdvance\":8,\"readValueFromPointer\":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":decodeMemoryView,\"argPackAdvance\":8,\"readValueFromPointer\":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name===\"std::string\";registerType(rawType,{name:name,\"fromWireType\":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[payload+i])}str=a.join(\"\")}_free(value);return str},\"toWireType\":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var length;var valueIsOfTypeString=typeof value==\"string\";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError(\"Cannot pass non-string to std::string\")}if(stdStringIsUTF8&&valueIsOfTypeString){length=lengthBytesUTF8(value)}else{length=value.length}var base=_malloc(4+length+1);var ptr=base+4;HEAPU32[base>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError(\"String has UTF-16 code units that do not fit in 8 bits\")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+i]=value[i]}}}if(destructors!==null){destructors.push(_free,base)}return base},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}var UTF16Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf-16le\"):undefined;function UTF16ToString(ptr,maxBytesToRead){assert(ptr%2==0,\"Pointer passed to UTF16ToString must be aligned to two bytes!\");var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var str=\"\";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}}function stringToUTF16(str,outPtr,maxBytesToWrite){assert(outPtr%2==0,\"Pointer passed to stringToUTF16 must be aligned to two bytes!\");assert(typeof maxBytesToWrite==\"number\",\"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!\");if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){assert(ptr%4==0,\"Pointer passed to UTF32ToString must be aligned to four bytes!\");var i=0;var str=\"\";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){assert(outPtr%4==0,\"Pointer passed to stringToUTF32 must be aligned to four bytes!\");assert(typeof maxBytesToWrite==\"number\",\"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!\");if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,\"fromWireType\":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},\"toWireType\":function(destructors,value){if(!(typeof value==\"string\")){throwBindingError(\"Cannot pass non-string to C++ string type \"+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,\"argPackAdvance\":0,\"fromWireType\":function(){return undefined},\"toWireType\":function(destructors,o){return undefined}})}function _abort(){abort(\"native code called abort()\")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){err(\"emscripten_realloc_buffer: Attempted to grow heap from \"+buffer.byteLength+\" bytes to \"+size+\" bytes, but got error: \"+e)}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err(\"Cannot enlarge memory, asked to go up to \"+requestedSize+\" bytes, but the limit is \"+maxHeapSize+\" bytes!\");return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}err(\"Failed to grow the heap from \"+oldSize+\" bytes to \"+newSize+\" bytes, not enough memory!\");return false}var ENV={};function getExecutableName(){return thisProgram||\"./this.program\"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\";var env={\"USER\":\"web_user\",\"LOGNAME\":\"web_user\",\"PATH\":\"/\",\"PWD\":\"/\",\"HOME\":\"/home/web_user\",\"LANG\":lang,\"_\":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+\"=\"+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){assert(str.charCodeAt(i)===(str.charCodeAt(i)&255));HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var SYSCALLS={varargs:undefined,get:function(){assert(SYSCALLS.varargs!=undefined);SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){abort(\"fd_close called without SYSCALLS_REQUIRE_FILESYSTEM\")}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function flush_NO_FILESYSTEM(){_fflush(0);if(printCharBuffers[1].length)printChar(1,10);if(printCharBuffers[2].length)printChar(2,10)}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j])}num+=len}HEAPU32[pnum>>2]=num;return 0}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):\"\"};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_1[rule])}var WEEKDAYS=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var MONTHS=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function leadingSomething(value,digits,character){var str=typeof value==\"number\"?value.toString():value||\"\";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,\"0\")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={\"%a\":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},\"%A\":function(date){return WEEKDAYS[date.tm_wday]},\"%b\":function(date){return MONTHS[date.tm_mon].substring(0,3)},\"%B\":function(date){return MONTHS[date.tm_mon]},\"%C\":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},\"%d\":function(date){return leadingNulls(date.tm_mday,2)},\"%e\":function(date){return leadingSomething(date.tm_mday,2,\" \")},\"%g\":function(date){return getWeekBasedYear(date).toString().substring(2)},\"%G\":function(date){return getWeekBasedYear(date)},\"%H\":function(date){return leadingNulls(date.tm_hour,2)},\"%I\":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},\"%j\":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},\"%m\":function(date){return leadingNulls(date.tm_mon+1,2)},\"%M\":function(date){return leadingNulls(date.tm_min,2)},\"%n\":function(){return\"\\n\"},\"%p\":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return\"AM\"}return\"PM\"},\"%S\":function(date){return leadingNulls(date.tm_sec,2)},\"%t\":function(){return\"\\t\"},\"%u\":function(date){return date.tm_wday||7},\"%U\":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},\"%V\":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},\"%w\":function(date){return date.tm_wday},\"%W\":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},\"%y\":function(date){return(date.tm_year+1900).toString().substring(2)},\"%Y\":function(date){return date.tm_year+1900},\"%z\":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?\"+\":\"-\")+String(\"0000\"+off).slice(-4)},\"%Z\":function(date){return date.tm_zone},\"%%\":function(){return\"%\"}};pattern=pattern.replace(/%%/g,\"\\0\\0\");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\\0\\0/g,\"%\");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function uleb128Encode(n,target){assert(n<16384);if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}}function sigToWasmTypes(sig){var typeNames={\"i\":\"i32\",\"j\":\"i64\",\"f\":\"f32\",\"d\":\"f64\",\"p\":\"i32\"};var type={parameters:[],results:sig[0]==\"v\"?[]:[typeNames[sig[0]]]};for(var i=1;i<sig.length;++i){assert(sig[i]in typeNames,\"invalid signature char: \"+sig[i]);type.parameters.push(typeNames[sig[i]])}return type}function convertJsFunctionToWasm(func,sig){if(typeof WebAssembly.Function==\"function\"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1,96];var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={\"i\":127,\"p\":127,\"j\":126,\"f\":125,\"d\":124};uleb128Encode(sigParam.length,typeSectionBody);for(var i=0;i<sigParam.length;++i){assert(sigParam[i]in typeCodes,\"invalid signature char: \"+sigParam[i]);typeSectionBody.push(typeCodes[sigParam[i]])}if(sigRet==\"v\"){typeSectionBody.push(0)}else{typeSectionBody.push(1,typeCodes[sigRet])}var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push.apply(bytes,typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{\"e\":{\"f\":func}});var wrappedFunc=instance.exports[\"f\"];return wrappedFunc}function updateTableMap(offset,count){if(functionsInTableMap){for(var i=offset;i<offset+count;i++){var item=getWasmTableEntry(i);if(item){functionsInTableMap.set(item,i)}}}}var functionsInTableMap=undefined;var freeTableIndexes=[];function getEmptyTableSlot(){if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw\"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.\"}return wasmTable.length-1}function setWasmTableEntry(idx,func){wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)}var ALLOC_STACK=1;function getCFunc(ident){var func=Module[\"_\"+ident];assert(func,\"Cannot call unknown function \"+ident+\", make sure it is exported\");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={\"string\":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},\"array\":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType===\"string\"){return UTF8ToString(ret)}if(returnType===\"boolean\")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!==\"array\",'Return type should not be \"array\".');if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret}embind_init_charCodes();BindingError=Module[\"BindingError\"]=extendError(Error,\"BindingError\");InternalError=Module[\"InternalError\"]=extendError(Error,\"InternalError\");init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module[\"UnboundTypeError\"]=extendError(Error,\"UnboundTypeError\");init_emval();var ASSERTIONS=true;function checkIncomingModuleAPI(){ignoredModuleProp(\"fetchSettings\")}var asmLibraryArg={\"__cxa_allocate_exception\":___cxa_allocate_exception,\"__cxa_throw\":___cxa_throw,\"_embind_register_bigint\":__embind_register_bigint,\"_embind_register_bool\":__embind_register_bool,\"_embind_register_class\":__embind_register_class,\"_embind_register_class_constructor\":__embind_register_class_constructor,\"_embind_register_class_function\":__embind_register_class_function,\"_embind_register_emval\":__embind_register_emval,\"_embind_register_float\":__embind_register_float,\"_embind_register_integer\":__embind_register_integer,\"_embind_register_memory_view\":__embind_register_memory_view,\"_embind_register_std_string\":__embind_register_std_string,\"_embind_register_std_wstring\":__embind_register_std_wstring,\"_embind_register_void\":__embind_register_void,\"abort\":_abort,\"emscripten_memcpy_big\":_emscripten_memcpy_big,\"emscripten_resize_heap\":_emscripten_resize_heap,\"environ_get\":_environ_get,\"environ_sizes_get\":_environ_sizes_get,\"fd_close\":_fd_close,\"fd_seek\":_fd_seek,\"fd_write\":_fd_write,\"strftime_l\":_strftime_l};var asm=createWasm();var ___wasm_call_ctors=Module[\"___wasm_call_ctors\"]=createExportWrapper(\"__wasm_call_ctors\");var _malloc=Module[\"_malloc\"]=createExportWrapper(\"malloc\");var _free=Module[\"_free\"]=createExportWrapper(\"free\");var ___getTypeName=Module[\"___getTypeName\"]=createExportWrapper(\"__getTypeName\");var __embind_initialize_bindings=Module[\"__embind_initialize_bindings\"]=createExportWrapper(\"_embind_initialize_bindings\");var ___errno_location=Module[\"___errno_location\"]=createExportWrapper(\"__errno_location\");var _fflush=Module[\"_fflush\"]=createExportWrapper(\"fflush\");var _emscripten_stack_init=Module[\"_emscripten_stack_init\"]=function(){return(_emscripten_stack_init=Module[\"_emscripten_stack_init\"]=Module[\"asm\"][\"emscripten_stack_init\"]).apply(null,arguments)};var _emscripten_stack_get_free=Module[\"_emscripten_stack_get_free\"]=function(){return(_emscripten_stack_get_free=Module[\"_emscripten_stack_get_free\"]=Module[\"asm\"][\"emscripten_stack_get_free\"]).apply(null,arguments)};var _emscripten_stack_get_base=Module[\"_emscripten_stack_get_base\"]=function(){return(_emscripten_stack_get_base=Module[\"_emscripten_stack_get_base\"]=Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null,arguments)};var _emscripten_stack_get_end=Module[\"_emscripten_stack_get_end\"]=function(){return(_emscripten_stack_get_end=Module[\"_emscripten_stack_get_end\"]=Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null,arguments)};var stackSave=Module[\"stackSave\"]=createExportWrapper(\"stackSave\");var stackRestore=Module[\"stackRestore\"]=createExportWrapper(\"stackRestore\");var stackAlloc=Module[\"stackAlloc\"]=createExportWrapper(\"stackAlloc\");var ___cxa_is_pointer_type=Module[\"___cxa_is_pointer_type\"]=createExportWrapper(\"__cxa_is_pointer_type\");var dynCall_viijii=Module[\"dynCall_viijii\"]=createExportWrapper(\"dynCall_viijii\");var dynCall_ji=Module[\"dynCall_ji\"]=createExportWrapper(\"dynCall_ji\");var dynCall_jiji=Module[\"dynCall_jiji\"]=createExportWrapper(\"dynCall_jiji\");var dynCall_iiiiij=Module[\"dynCall_iiiiij\"]=createExportWrapper(\"dynCall_iiiiij\");var dynCall_iiiiijj=Module[\"dynCall_iiiiijj\"]=createExportWrapper(\"dynCall_iiiiijj\");var dynCall_iiiiiijj=Module[\"dynCall_iiiiiijj\"]=createExportWrapper(\"dynCall_iiiiiijj\");var unexportedRuntimeSymbols=[\"run\",\"UTF8ArrayToString\",\"UTF8ToString\",\"stringToUTF8Array\",\"stringToUTF8\",\"lengthBytesUTF8\",\"addOnPreRun\",\"addOnInit\",\"addOnPreMain\",\"addOnExit\",\"addOnPostRun\",\"addRunDependency\",\"removeRunDependency\",\"FS_createFolder\",\"FS_createPath\",\"FS_createDataFile\",\"FS_createPreloadedFile\",\"FS_createLazyFile\",\"FS_createLink\",\"FS_createDevice\",\"FS_unlink\",\"getLEB\",\"getFunctionTables\",\"alignFunctionTables\",\"registerFunctions\",\"prettyPrint\",\"getCompilerSetting\",\"print\",\"printErr\",\"callMain\",\"abort\",\"keepRuntimeAlive\",\"wasmMemory\",\"stackAlloc\",\"stackSave\",\"stackRestore\",\"getTempRet0\",\"setTempRet0\",\"writeStackCookie\",\"checkStackCookie\",\"ptrToString\",\"zeroMemory\",\"stringToNewUTF8\",\"exitJS\",\"getHeapMax\",\"emscripten_realloc_buffer\",\"ENV\",\"ERRNO_CODES\",\"ERRNO_MESSAGES\",\"setErrNo\",\"inetPton4\",\"inetNtop4\",\"inetPton6\",\"inetNtop6\",\"readSockaddr\",\"writeSockaddr\",\"DNS\",\"getHostByName\",\"Protocols\",\"Sockets\",\"getRandomDevice\",\"warnOnce\",\"traverseStack\",\"UNWIND_CACHE\",\"convertPCtoSourceLocation\",\"readAsmConstArgsArray\",\"readAsmConstArgs\",\"mainThreadEM_ASM\",\"jstoi_q\",\"jstoi_s\",\"getExecutableName\",\"listenOnce\",\"autoResumeAudioContext\",\"dynCallLegacy\",\"getDynCaller\",\"dynCall\",\"handleException\",\"runtimeKeepalivePush\",\"runtimeKeepalivePop\",\"callUserCallback\",\"maybeExit\",\"safeSetTimeout\",\"asmjsMangle\",\"asyncLoad\",\"alignMemory\",\"mmapAlloc\",\"writeI53ToI64\",\"writeI53ToI64Clamped\",\"writeI53ToI64Signaling\",\"writeI53ToU64Clamped\",\"writeI53ToU64Signaling\",\"readI53FromI64\",\"readI53FromU64\",\"convertI32PairToI53\",\"convertI32PairToI53Checked\",\"convertU32PairToI53\",\"getCFunc\",\"ccall\",\"cwrap\",\"uleb128Encode\",\"sigToWasmTypes\",\"convertJsFunctionToWasm\",\"freeTableIndexes\",\"functionsInTableMap\",\"getEmptyTableSlot\",\"updateTableMap\",\"addFunction\",\"removeFunction\",\"reallyNegative\",\"unSign\",\"strLen\",\"reSign\",\"formatString\",\"setValue\",\"getValue\",\"PATH\",\"PATH_FS\",\"intArrayFromString\",\"intArrayToString\",\"AsciiToString\",\"stringToAscii\",\"UTF16Decoder\",\"UTF16ToString\",\"stringToUTF16\",\"lengthBytesUTF16\",\"UTF32ToString\",\"stringToUTF32\",\"lengthBytesUTF32\",\"allocateUTF8\",\"allocateUTF8OnStack\",\"writeStringToMemory\",\"writeArrayToMemory\",\"writeAsciiToMemory\",\"SYSCALLS\",\"getSocketFromFD\",\"getSocketAddress\",\"JSEvents\",\"registerKeyEventCallback\",\"specialHTMLTargets\",\"maybeCStringToJsString\",\"findEventTarget\",\"findCanvasEventTarget\",\"getBoundingClientRect\",\"fillMouseEventData\",\"registerMouseEventCallback\",\"registerWheelEventCallback\",\"registerUiEventCallback\",\"registerFocusEventCallback\",\"fillDeviceOrientationEventData\",\"registerDeviceOrientationEventCallback\",\"fillDeviceMotionEventData\",\"registerDeviceMotionEventCallback\",\"screenOrientation\",\"fillOrientationChangeEventData\",\"registerOrientationChangeEventCallback\",\"fillFullscreenChangeEventData\",\"registerFullscreenChangeEventCallback\",\"JSEvents_requestFullscreen\",\"JSEvents_resizeCanvasForFullscreen\",\"registerRestoreOldStyle\",\"hideEverythingExceptGivenElement\",\"restoreHiddenElements\",\"setLetterbox\",\"currentFullscreenStrategy\",\"restoreOldWindowedStyle\",\"softFullscreenResizeWebGLRenderTarget\",\"doRequestFullscreen\",\"fillPointerlockChangeEventData\",\"registerPointerlockChangeEventCallback\",\"registerPointerlockErrorEventCallback\",\"requestPointerLock\",\"fillVisibilityChangeEventData\",\"registerVisibilityChangeEventCallback\",\"registerTouchEventCallback\",\"fillGamepadEventData\",\"registerGamepadEventCallback\",\"registerBeforeUnloadEventCallback\",\"fillBatteryEventData\",\"battery\",\"registerBatteryEventCallback\",\"setCanvasElementSize\",\"getCanvasElementSize\",\"demangle\",\"demangleAll\",\"jsStackTrace\",\"stackTrace\",\"ExitStatus\",\"getEnvStrings\",\"checkWasiClock\",\"flush_NO_FILESYSTEM\",\"dlopenMissingError\",\"setImmediateWrapped\",\"clearImmediateWrapped\",\"polyfillSetImmediate\",\"uncaughtExceptionCount\",\"exceptionLast\",\"exceptionCaught\",\"ExceptionInfo\",\"exception_addRef\",\"exception_decRef\",\"Browser\",\"setMainLoop\",\"wget\",\"FS\",\"MEMFS\",\"TTY\",\"PIPEFS\",\"SOCKFS\",\"_setNetworkCallback\",\"tempFixedLengthArray\",\"miniTempWebGLFloatBuffers\",\"heapObjectForWebGLType\",\"heapAccessShiftForWebGLHeap\",\"GL\",\"emscriptenWebGLGet\",\"computeUnpackAlignedImageSize\",\"emscriptenWebGLGetTexPixelData\",\"emscriptenWebGLGetUniform\",\"webglGetUniformLocation\",\"webglPrepareUniformLocationsBeforeFirstUse\",\"webglGetLeftBracePos\",\"emscriptenWebGLGetVertexAttrib\",\"writeGLArray\",\"AL\",\"SDL_unicode\",\"SDL_ttfContext\",\"SDL_audio\",\"SDL\",\"SDL_gfx\",\"GLUT\",\"EGL\",\"GLFW_Window\",\"GLFW\",\"GLEW\",\"IDBStore\",\"runAndAbortIfError\",\"ALLOC_NORMAL\",\"ALLOC_STACK\",\"allocate\",\"InternalError\",\"BindingError\",\"UnboundTypeError\",\"PureVirtualError\",\"init_embind\",\"throwInternalError\",\"throwBindingError\",\"throwUnboundTypeError\",\"ensureOverloadTable\",\"exposePublicSymbol\",\"replacePublicSymbol\",\"extendError\",\"createNamedFunction\",\"embindRepr\",\"registeredInstances\",\"getBasestPointer\",\"registerInheritedInstance\",\"unregisterInheritedInstance\",\"getInheritedInstance\",\"getInheritedInstanceCount\",\"getLiveInheritedInstances\",\"registeredTypes\",\"awaitingDependencies\",\"typeDependencies\",\"registeredPointers\",\"registerType\",\"whenDependentTypesAreResolved\",\"embind_charCodes\",\"embind_init_charCodes\",\"readLatin1String\",\"getTypeName\",\"heap32VectorToArray\",\"requireRegisteredType\",\"getShiftFromSize\",\"integerReadValueFromPointer\",\"enumReadValueFromPointer\",\"floatReadValueFromPointer\",\"simpleReadValueFromPointer\",\"runDestructors\",\"new_\",\"craftInvokerFunction\",\"embind__requireFunction\",\"tupleRegistrations\",\"structRegistrations\",\"genericPointerToWireType\",\"constNoSmartPtrRawPointerToWireType\",\"nonConstNoSmartPtrRawPointerToWireType\",\"init_RegisteredPointer\",\"RegisteredPointer\",\"RegisteredPointer_getPointee\",\"RegisteredPointer_destructor\",\"RegisteredPointer_deleteObject\",\"RegisteredPointer_fromWireType\",\"runDestructor\",\"releaseClassHandle\",\"finalizationRegistry\",\"detachFinalizer_deps\",\"detachFinalizer\",\"attachFinalizer\",\"makeClassHandle\",\"init_ClassHandle\",\"ClassHandle\",\"ClassHandle_isAliasOf\",\"throwInstanceAlreadyDeleted\",\"ClassHandle_clone\",\"ClassHandle_delete\",\"deletionQueue\",\"ClassHandle_isDeleted\",\"ClassHandle_deleteLater\",\"flushPendingDeletes\",\"delayFunction\",\"setDelayFunction\",\"RegisteredClass\",\"shallowCopyInternalPointer\",\"downcastPointer\",\"upcastPointer\",\"validateThis\",\"char_0\",\"char_9\",\"makeLegalFunctionName\",\"emval_handle_array\",\"emval_free_list\",\"emval_symbols\",\"init_emval\",\"count_emval_handles\",\"get_first_emval\",\"getStringOrSymbol\",\"Emval\",\"emval_newers\",\"craftEmvalAllocator\",\"emval_get_global\",\"emval_lookupTypes\",\"emval_allocateDestructors\",\"emval_methodCallers\",\"emval_addMethodCaller\",\"emval_registeredMethods\"];unexportedRuntimeSymbols.forEach(unexportedRuntimeSymbol);var missingLibrarySymbols=[\"ptrToString\",\"zeroMemory\",\"stringToNewUTF8\",\"exitJS\",\"setErrNo\",\"inetPton4\",\"inetNtop4\",\"inetPton6\",\"inetNtop6\",\"readSockaddr\",\"writeSockaddr\",\"getHostByName\",\"getRandomDevice\",\"traverseStack\",\"convertPCtoSourceLocation\",\"readAsmConstArgs\",\"mainThreadEM_ASM\",\"jstoi_q\",\"jstoi_s\",\"listenOnce\",\"autoResumeAudioContext\",\"runtimeKeepalivePush\",\"runtimeKeepalivePop\",\"callUserCallback\",\"maybeExit\",\"safeSetTimeout\",\"asmjsMangle\",\"asyncLoad\",\"alignMemory\",\"mmapAlloc\",\"writeI53ToI64\",\"writeI53ToI64Clamped\",\"writeI53ToI64Signaling\",\"writeI53ToU64Clamped\",\"writeI53ToU64Signaling\",\"readI53FromI64\",\"readI53FromU64\",\"convertI32PairToI53\",\"convertU32PairToI53\",\"reallyNegative\",\"unSign\",\"strLen\",\"reSign\",\"formatString\",\"getSocketFromFD\",\"getSocketAddress\",\"registerKeyEventCallback\",\"maybeCStringToJsString\",\"findEventTarget\",\"findCanvasEventTarget\",\"getBoundingClientRect\",\"fillMouseEventData\",\"registerMouseEventCallback\",\"registerWheelEventCallback\",\"registerUiEventCallback\",\"registerFocusEventCallback\",\"fillDeviceOrientationEventData\",\"registerDeviceOrientationEventCallback\",\"fillDeviceMotionEventData\",\"registerDeviceMotionEventCallback\",\"screenOrientation\",\"fillOrientationChangeEventData\",\"registerOrientationChangeEventCallback\",\"fillFullscreenChangeEventData\",\"registerFullscreenChangeEventCallback\",\"JSEvents_requestFullscreen\",\"JSEvents_resizeCanvasForFullscreen\",\"registerRestoreOldStyle\",\"hideEverythingExceptGivenElement\",\"restoreHiddenElements\",\"setLetterbox\",\"softFullscreenResizeWebGLRenderTarget\",\"doRequestFullscreen\",\"fillPointerlockChangeEventData\",\"registerPointerlockChangeEventCallback\",\"registerPointerlockErrorEventCallback\",\"requestPointerLock\",\"fillVisibilityChangeEventData\",\"registerVisibilityChangeEventCallback\",\"registerTouchEventCallback\",\"fillGamepadEventData\",\"registerGamepadEventCallback\",\"registerBeforeUnloadEventCallback\",\"fillBatteryEventData\",\"battery\",\"registerBatteryEventCallback\",\"setCanvasElementSize\",\"getCanvasElementSize\",\"checkWasiClock\",\"setImmediateWrapped\",\"clearImmediateWrapped\",\"polyfillSetImmediate\",\"exception_addRef\",\"exception_decRef\",\"setMainLoop\",\"_setNetworkCallback\",\"heapObjectForWebGLType\",\"heapAccessShiftForWebGLHeap\",\"emscriptenWebGLGet\",\"computeUnpackAlignedImageSize\",\"emscriptenWebGLGetTexPixelData\",\"emscriptenWebGLGetUniform\",\"webglGetUniformLocation\",\"webglPrepareUniformLocationsBeforeFirstUse\",\"webglGetLeftBracePos\",\"emscriptenWebGLGetVertexAttrib\",\"writeGLArray\",\"SDL_unicode\",\"SDL_ttfContext\",\"SDL_audio\",\"GLFW_Window\",\"runAndAbortIfError\",\"registerInheritedInstance\",\"unregisterInheritedInstance\",\"requireRegisteredType\",\"enumReadValueFromPointer\",\"validateThis\",\"getStringOrSymbol\",\"craftEmvalAllocator\",\"emval_get_global\",\"emval_lookupTypes\",\"emval_allocateDestructors\",\"emval_addMethodCaller\"];missingLibrarySymbols.forEach(missingLibrarySymbol);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function stackCheckInit(){_emscripten_stack_init();writeStackCookie()}function run(args){args=args||arguments_;if(runDependencies>0){return}stackCheckInit();preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();assert(!Module[\"_main\"],'compiled without a main, but one is present. if you added it from JS, use Module[\"onRuntimeInitialized\"]');postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(function(){setTimeout(function(){Module[\"setStatus\"](\"\")},1);doRun()},1)}else{doRun()}checkStackCookie()}if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}run();\n\n\n return createLazPerf.ready\n}\n);\n})();\nif (typeof exports === 'object' && typeof module === 'object')\n module.exports = createLazPerf;\nelse if (typeof define === 'function' && define['amd'])\n define([], function() { return createLazPerf; });\nelse if (typeof exports === 'object')\n exports[\"createLazPerf\"] = createLazPerf;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serialize = exports.deserialize = exports.registerSerializer = void 0;\nconst serializers_1 = require(\"./serializers\");\nlet registeredSerializer = serializers_1.DefaultSerializer;\nfunction registerSerializer(serializer) {\n registeredSerializer = serializers_1.extendSerializer(registeredSerializer, serializer);\n}\nexports.registerSerializer = registerSerializer;\nfunction deserialize(message) {\n return registeredSerializer.deserialize(message);\n}\nexports.deserialize = deserialize;\nfunction serialize(input) {\n return registeredSerializer.serialize(input);\n}\nexports.serialize = serialize;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefaultSerializer = exports.extendSerializer = void 0;\nfunction extendSerializer(extend, implementation) {\n const fallbackDeserializer = extend.deserialize.bind(extend);\n const fallbackSerializer = extend.serialize.bind(extend);\n return {\n deserialize(message) {\n return implementation.deserialize(message, fallbackDeserializer);\n },\n serialize(input) {\n return implementation.serialize(input, fallbackSerializer);\n }\n };\n}\nexports.extendSerializer = extendSerializer;\nconst DefaultErrorSerializer = {\n deserialize(message) {\n return Object.assign(Error(message.message), {\n name: message.name,\n stack: message.stack\n });\n },\n serialize(error) {\n return {\n __error_marker: \"$$error\",\n message: error.message,\n name: error.name,\n stack: error.stack\n };\n }\n};\nconst isSerializedError = (thing) => thing && typeof thing === \"object\" && \"__error_marker\" in thing && thing.__error_marker === \"$$error\";\nexports.DefaultSerializer = {\n deserialize(message) {\n if (isSerializedError(message)) {\n return DefaultErrorSerializer.deserialize(message);\n }\n else {\n return message;\n }\n },\n serialize(input) {\n if (input instanceof Error) {\n return DefaultErrorSerializer.serialize(input);\n }\n else {\n return input;\n }\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$worker = exports.$transferable = exports.$terminate = exports.$events = exports.$errors = void 0;\nexports.$errors = Symbol(\"thread.errors\");\nexports.$events = Symbol(\"thread.events\");\nexports.$terminate = Symbol(\"thread.terminate\");\nexports.$transferable = Symbol(\"thread.transferable\");\nexports.$worker = Symbol(\"thread.worker\");\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Transfer = exports.isTransferDescriptor = void 0;\nconst symbols_1 = require(\"./symbols\");\nfunction isTransferable(thing) {\n if (!thing || typeof thing !== \"object\")\n return false;\n // Don't check too thoroughly, since the list of transferable things in JS might grow over time\n return true;\n}\nfunction isTransferDescriptor(thing) {\n return thing && typeof thing === \"object\" && thing[symbols_1.$transferable];\n}\nexports.isTransferDescriptor = isTransferDescriptor;\nfunction Transfer(payload, transferables) {\n if (!transferables) {\n if (!isTransferable(payload))\n throw Error();\n transferables = [payload];\n }\n return {\n [symbols_1.$transferable]: true,\n send: payload,\n transferables\n };\n}\nexports.Transfer = Transfer;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WorkerMessageType = exports.MasterMessageType = void 0;\n/////////////////////////////\n// Messages sent by master:\nvar MasterMessageType;\n(function (MasterMessageType) {\n MasterMessageType[\"cancel\"] = \"cancel\";\n MasterMessageType[\"run\"] = \"run\";\n})(MasterMessageType = exports.MasterMessageType || (exports.MasterMessageType = {}));\n////////////////////////////\n// Messages sent by worker:\nvar WorkerMessageType;\n(function (WorkerMessageType) {\n WorkerMessageType[\"error\"] = \"error\";\n WorkerMessageType[\"init\"] = \"init\";\n WorkerMessageType[\"result\"] = \"result\";\n WorkerMessageType[\"running\"] = \"running\";\n WorkerMessageType[\"uncaughtError\"] = \"uncaughtError\";\n})(WorkerMessageType = exports.WorkerMessageType || (exports.WorkerMessageType = {}));\n","\"use strict\";\n/// <reference lib=\"dom\" />\n// tslint:disable no-shadowed-variable\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst isWorkerRuntime = function isWorkerRuntime() {\n const isWindowContext = typeof self !== \"undefined\" && typeof Window !== \"undefined\" && self instanceof Window;\n return typeof self !== \"undefined\" && self.postMessage && !isWindowContext ? true : false;\n};\nconst postMessageToMaster = function postMessageToMaster(data, transferList) {\n self.postMessage(data, transferList);\n};\nconst subscribeToMasterMessages = function subscribeToMasterMessages(onMessage) {\n const messageHandler = (messageEvent) => {\n onMessage(messageEvent.data);\n };\n const unsubscribe = () => {\n self.removeEventListener(\"message\", messageHandler);\n };\n self.addEventListener(\"message\", messageHandler);\n return unsubscribe;\n};\nexports.default = {\n isWorkerRuntime,\n postMessageToMaster,\n subscribeToMasterMessages\n};\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.expose = exports.isWorkerRuntime = exports.Transfer = exports.registerSerializer = void 0;\nconst is_observable_1 = __importDefault(require(\"is-observable\"));\nconst common_1 = require(\"../common\");\nconst transferable_1 = require(\"../transferable\");\nconst messages_1 = require(\"../types/messages\");\nconst implementation_1 = __importDefault(require(\"./implementation\"));\nvar common_2 = require(\"../common\");\nObject.defineProperty(exports, \"registerSerializer\", { enumerable: true, get: function () { return common_2.registerSerializer; } });\nvar transferable_2 = require(\"../transferable\");\nObject.defineProperty(exports, \"Transfer\", { enumerable: true, get: function () { return transferable_2.Transfer; } });\n/** Returns `true` if this code is currently running in a worker. */\nexports.isWorkerRuntime = implementation_1.default.isWorkerRuntime;\nlet exposeCalled = false;\nconst activeSubscriptions = new Map();\nconst isMasterJobCancelMessage = (thing) => thing && thing.type === messages_1.MasterMessageType.cancel;\nconst isMasterJobRunMessage = (thing) => thing && thing.type === messages_1.MasterMessageType.run;\n/**\n * There are issues with `is-observable` not recognizing zen-observable's instances.\n * We are using `observable-fns`, but it's based on zen-observable, too.\n */\nconst isObservable = (thing) => is_observable_1.default(thing) || isZenObservable(thing);\nfunction isZenObservable(thing) {\n return thing && typeof thing === \"object\" && typeof thing.subscribe === \"function\";\n}\nfunction deconstructTransfer(thing) {\n return transferable_1.isTransferDescriptor(thing)\n ? { payload: thing.send, transferables: thing.transferables }\n : { payload: thing, transferables: undefined };\n}\nfunction postFunctionInitMessage() {\n const initMessage = {\n type: messages_1.WorkerMessageType.init,\n exposed: {\n type: \"function\"\n }\n };\n implementation_1.default.postMessageToMaster(initMessage);\n}\nfunction postModuleInitMessage(methodNames) {\n const initMessage = {\n type: messages_1.WorkerMessageType.init,\n exposed: {\n type: \"module\",\n methods: methodNames\n }\n };\n implementation_1.default.postMessageToMaster(initMessage);\n}\nfunction postJobErrorMessage(uid, rawError) {\n const { payload: error, transferables } = deconstructTransfer(rawError);\n const errorMessage = {\n type: messages_1.WorkerMessageType.error,\n uid,\n error: common_1.serialize(error)\n };\n implementation_1.default.postMessageToMaster(errorMessage, transferables);\n}\nfunction postJobResultMessage(uid, completed, resultValue) {\n const { payload, transferables } = deconstructTransfer(resultValue);\n const resultMessage = {\n type: messages_1.WorkerMessageType.result,\n uid,\n complete: completed ? true : undefined,\n payload\n };\n implementation_1.default.postMessageToMaster(resultMessage, transferables);\n}\nfunction postJobStartMessage(uid, resultType) {\n const startMessage = {\n type: messages_1.WorkerMessageType.running,\n uid,\n resultType\n };\n implementation_1.default.postMessageToMaster(startMessage);\n}\nfunction postUncaughtErrorMessage(error) {\n try {\n const errorMessage = {\n type: messages_1.WorkerMessageType.uncaughtError,\n error: common_1.serialize(error)\n };\n implementation_1.default.postMessageToMaster(errorMessage);\n }\n catch (subError) {\n // tslint:disable-next-line no-console\n console.error(\"Not reporting uncaught error back to master thread as it \" +\n \"occured while reporting an uncaught error already.\" +\n \"\\nLatest error:\", subError, \"\\nOriginal error:\", error);\n }\n}\nfunction runFunction(jobUID, fn, args) {\n return __awaiter(this, void 0, void 0, function* () {\n let syncResult;\n try {\n syncResult = fn(...args);\n }\n catch (error) {\n return postJobErrorMessage(jobUID, error);\n }\n const resultType = isObservable(syncResult) ? \"observable\" : \"promise\";\n postJobStartMessage(jobUID, resultType);\n if (isObservable(syncResult)) {\n const subscription = syncResult.subscribe(value => postJobResultMessage(jobUID, false, common_1.serialize(value)), error => {\n postJobErrorMessage(jobUID, common_1.serialize(error));\n activeSubscriptions.delete(jobUID);\n }, () => {\n postJobResultMessage(jobUID, true);\n activeSubscriptions.delete(jobUID);\n });\n activeSubscriptions.set(jobUID, subscription);\n }\n else {\n try {\n const result = yield syncResult;\n postJobResultMessage(jobUID, true, common_1.serialize(result));\n }\n catch (error) {\n postJobErrorMessage(jobUID, common_1.serialize(error));\n }\n }\n });\n}\n/**\n * Expose a function or a module (an object whose values are functions)\n * to the main thread. Must be called exactly once in every worker thread\n * to signal its API to the main thread.\n *\n * @param exposed Function or object whose values are functions\n */\nfunction expose(exposed) {\n if (!implementation_1.default.isWorkerRuntime()) {\n throw Error(\"expose() called in the master thread.\");\n }\n if (exposeCalled) {\n throw Error(\"expose() called more than once. This is not possible. Pass an object to expose() if you want to expose multiple functions.\");\n }\n exposeCalled = true;\n if (typeof exposed === \"function\") {\n implementation_1.default.subscribeToMasterMessages(messageData => {\n if (isMasterJobRunMessage(messageData) && !messageData.method) {\n runFunction(messageData.uid, exposed, messageData.args.map(common_1.deserialize));\n }\n });\n postFunctionInitMessage();\n }\n else if (typeof exposed === \"object\" && exposed) {\n implementation_1.default.subscribeToMasterMessages(messageData => {\n if (isMasterJobRunMessage(messageData) && messageData.method) {\n runFunction(messageData.uid, exposed[messageData.method], messageData.args.map(common_1.deserialize));\n }\n });\n const methodNames = Object.keys(exposed).filter(key => typeof exposed[key] === \"function\");\n postModuleInitMessage(methodNames);\n }\n else {\n throw Error(`Invalid argument passed to expose(). Expected a function or an object, got: ${exposed}`);\n }\n implementation_1.default.subscribeToMasterMessages(messageData => {\n if (isMasterJobCancelMessage(messageData)) {\n const jobUID = messageData.uid;\n const subscription = activeSubscriptions.get(jobUID);\n if (subscription) {\n subscription.unsubscribe();\n activeSubscriptions.delete(jobUID);\n }\n }\n });\n}\nexports.expose = expose;\nif (typeof self !== \"undefined\" && typeof self.addEventListener === \"function\" && implementation_1.default.isWorkerRuntime()) {\n self.addEventListener(\"error\", event => {\n // Post with some delay, so the master had some time to subscribe to messages\n setTimeout(() => postUncaughtErrorMessage(event.error || event), 250);\n });\n self.addEventListener(\"unhandledrejection\", event => {\n const error = event.reason;\n if (error && typeof error.message === \"string\") {\n // Post with some delay, so the master had some time to subscribe to messages\n setTimeout(() => postUncaughtErrorMessage(error), 250);\n }\n });\n}\nif (typeof process !== \"undefined\" && typeof process.on === \"function\" && implementation_1.default.isWorkerRuntime()) {\n process.on(\"uncaughtException\", (error) => {\n // Post with some delay, so the master had some time to subscribe to messages\n setTimeout(() => postUncaughtErrorMessage(error), 250);\n });\n process.on(\"unhandledRejection\", (error) => {\n if (error && typeof error.message === \"string\") {\n // Post with some delay, so the master had some time to subscribe to messages\n setTimeout(() => postUncaughtErrorMessage(error), 250);\n }\n });\n}\n","import WorkerContext from \"./dist/worker/index.js\"\n\nexport const expose = WorkerContext.expose\nexport const registerSerializer = WorkerContext.registerSerializer\nexport const Transfer = WorkerContext.Transfer\n"],"names":["Object","defineProperty","exports","value","hierarchyItemLength","infoLength","__createBinding","this","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","__setModuleDefault","v","__importStar","mod","result","prototype","hasOwnProperty","call","Copc","Las","utils_1","hierarchy_1","info_1","async","loadPointDataBuffer","filename","pointDataRecordFormat","pointDataRecordLength","node","lazPerf","compressed","pointDataOffset","pointDataLength","Getter","loadCompressedPointDataBuffer","pointCount","PointData","decompressChunk","getRemote","promise","begin","end","slice","header","Header","parse","Constants","minHeaderLength","vlrs","Vlr","walk","infoVlr","find","Error","info","Info","fetch","wkt","wktVlr","contentLength","Binary","toCString","eb","ebVlr","ExtraBytes","loadHierarchyPage","page","Hierarchy","load","loadPointDataView","copc","include","buffer","View","constants_1","dv","toDataView","byteLength","nodes","pages","i","d","getInt32","x","y","z","offset","parseBigInt","getBigUint64","length","key","Key","toString","pageOffset","pageLength","copc_1","center","getFloat64","radius","cube","spacing","rootHierarchyPage","gpsTimeRange","e","entries","reduce","h","keystring","__exportStar","p","Ept","evlrHeaderLength","vlrHeaderLength","Dimensions","extra_bytes_1","extractor","keys","map","name","type","typemap","dimension","getDimension","Type","Dimension","X","float64","Y","Z","Intensity","uint16","ReturnNumber","uint8","NumberOfReturns","ScanDirectionFlag","boolean","EdgeOfFlightLine","Classification","Synthetic","KeyPoint","Withheld","Overlap","ScanAngle","float32","UserData","PointSourceId","GpsTime","Red","Green","Blue","ScannerChannel","Infrared","size","entryLength","push","parseOne","description","rawtype","getUint8","rawoptions","options","hasNodata","Boolean","hasMin","hasMax","hasScale","hasOffset","dimtype","typecode","int8","int16","uint32","int32","uint64","int64","parseType","extractAnyType","getBigInt64","nodata","min","max","scale","Extractor","create0","getPointOffset","getPointOffsetGetter","getScanFlags","index","getFullClassification","getClassification","Scale","unapply","getUint16","classification","getInt8","create6","getFlags","getInt16","create7","extras","position","pdrf","getBasePointLength","absoluteExtractor","getUint32","getFloat32","createAbsoluteExtraBytesExtractor","createExtras","create1","create2","create3","create8","utils_2","parseNumberOfPointsByReturn","bigs","parseLegacyNumberOfPointsByReturn","fileSignature","majorVersion","minorVersion","fileSourceId","globalEncoding","projectId","formatGuid","systemIdentifier","generatingSoftware","fileCreationDayOfYear","fileCreationYear","headerLength","vlrCount","pointCountByReturn","parsePoint","waveformDataOffset","evlrOffset","evlrCount","dimensions_1","extractor_1","header_1","point_data_1","view_1","vlr_1","decompressFile","laz_perf_1","ourLazPerfPromise","getLazPerf","suppliedLazPerf","createLazPerf","LazPerf","outBuffer","Uint8Array","blobPointer","_malloc","dataPointer","decoder","ChunkDecoder","HEAPU8","set","byteOffset","open","getPoint","_free","delete","file","reader","LASZip","s","padStart","join","extractors","Set","getter","has","dimensions","pointLength","RangeError","userId","recordId","isExtended","parseExtended","parseNormal","doWalk","startOffset","count","pos","contentOffset","at","vlr","BigInt","Number","MAX_SAFE_INTEGER","littleEndian","l","wh","wl","DataView","c","String","fromCharCode","mid","minx","miny","minz","maxx","maxy","maxz","width","bounds","depth","height","step","a","b","midx","midy","midz","Bounds","point","Math","stepTo","intersection","float","double","bool","ctype","__importDefault","cross_fetch_1","getHttpGetter","response","default","headers","Range","ab","arrayBuffer","getFsGetter","fs","Promise","resolve","then","Infinity","promises","access","stream","reject","chunks","on","chunk","Buffer","concat","drain","createReadStream","start","autoClose","read","arg","startsWith","http","Step","binary_1","bounds_1","dimension_1","getter_1","key_1","scale_1","step_1","rest","split","parseInt","some","isNaN","up","n","compare","apply","fromIndex","list","global","self","__self__","F","DOMException","support","Symbol","Blob","viewClasses","isArrayBufferView","ArrayBuffer","isView","obj","indexOf","normalizeName","test","TypeError","toLowerCase","normalizeValue","iteratorFor","items","iterator","next","shift","done","Headers","forEach","append","Array","isArray","getOwnPropertyNames","consumed","body","bodyUsed","fileReaderReady","onload","onerror","error","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","bufferClone","buf","view","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","rejected","text","readAsText","chars","readArrayBufferAsText","formData","decode","json","JSON","oldValue","callback","thisArg","values","methods","Request","input","method","upcased","url","credentials","mode","signal","toUpperCase","referrer","form","trim","bytes","replace","decodeURIComponent","Response","bodyInit","status","ok","statusText","clone","redirectStatuses","redirect","location","err","message","stack","constructor","init","request","aborted","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill","ponyfill","ctx","module","observable","laz_perf_js_1","_scriptDir","document","currentScript","src","readyPromiseResolve","readyPromiseReject","Module","prop","moduleOverrides","assign","arguments_","thisProgram","scriptDirectory","substr","lastIndexOf","window","importScripts","wasmBinary","wasmMemory","out","console","log","bind","warn","legacyModuleProp","newName","isExportedByForceFilesystem","assert","WebAssembly","ABORT","condition","HEAP8","HEAP16","HEAPU16","HEAP32","HEAPU32","HEAPF32","HEAPF64","UTF8Decoder","TextDecoder","UTF8ArrayToString","heapOrArray","idx","maxBytesToRead","endIdx","endPtr","subarray","str","u0","u1","u2","warnOnce","ch","UTF8ToString","ptr","stringToUTF8Array","heap","outIdx","maxBytesToWrite","startIdx","u","charCodeAt","lengthBytesUTF8","len","updateGlobalBufferAndViews","Int8Array","Int16Array","Int32Array","Uint16Array","Uint32Array","Float32Array","Float64Array","TOTAL_STACK","wasmTable","INITIAL_MEMORY","checkStackCookie","_emscripten_stack_get_end","cookie1","cookie2","h16","h8","__ATPRERUN__","__ATINIT__","__ATPOSTRUN__","runtimeInitialized","imul","fround","clz32","trunc","runDependencies","runDependencyWatcher","dependenciesFulfilled","runDependencyTracking","what","RuntimeError","wasmBinaryFile","path","FS","createDataFile","createPreloadedFile","createLazyFile","mkdev","registerDevice","analyzePath","loadFilesFromDB","ErrnoError","isDataURI","createExportWrapper","fixedasm","displayName","asm","arguments","getBinary","callRuntimeCallbacks","callbacks","shown","ExceptionInfo","excPtr","set_type","get_type","set_destructor","destructor","get_destructor","set_refcount","refcount","set_caught","caught","get_caught","set_rethrown","rethrown","get_rethrown","set_adjusted_ptr","add_ref","release_ref","prev","adjustedPtr","get_adjusted_ptr","get_exception_ptr","___cxa_is_pointer_type","adjusted","getShiftFromSize","embind_charCodes","readLatin1String","ret","awaitingDependencies","registeredTypes","typeDependencies","makeLegalFunctionName","f","createNamedFunction","Function","extendError","baseErrorType","errorName","errorClass","BindingError","throwBindingError","InternalError","throwInternalError","whenDependentTypesAreResolved","myTypes","dependentTypes","getTypeConverters","onComplete","typeConverters","myTypeConverters","registerType","unregisteredTypes","registered","dt","rawType","registeredInstance","ignoreDuplicateRegistrations","cb","throwInstanceAlreadyDeleted","$$","ptrType","registeredClass","finalizationRegistry","detachFinalizer","handle","releaseClassHandle","smartPtr","smartPtrType","rawDestructor","runDestructor","downcastPointer","ptrClass","desiredClass","baseClass","rv","downcast","registeredPointers","deletionQueue","flushPendingDeletes","pop","deleteScheduled","delayFunction","registeredInstances","makeClassHandle","record","attachFinalizer","RegisteredPointer_fromWireType","rawPointer","getPointee","class_","upcast","getBasestPointer","getInheritedInstance","makeDefaultHandle","isSmartPointer","instancePrototype","pointeeType","toType","actualType","getActualType","registeredPointerRecord","isConst","constPointerType","pointerType","dp","FinalizationRegistry","leakWarning","cls","captureStackTrace","register","unregister","ClassHandle","ensureOverloadTable","proto","methodName","humanName","overloadTable","prevFunc","argCount","RegisteredClass","pureVirtualFunctions","upcastPointer","constNoSmartPtrRawPointerToWireType","destructors","isReference","embindRepr","handleClass","genericPointerToWireType","rawConstructor","sharingPolicy","clonedHandle","rawShare","Emval","toHandle","nonConstNoSmartPtrRawPointerToWireType","simpleReadValueFromPointer","pointer","RegisteredPointer","rawGetPointee","destructorFunction","wasmTableMirror","getWasmTableEntry","funcPtr","func","embind__requireFunction","signature","rawFunction","fp","includes","sig","argCache","args","substring","dynCallLegacy","dynCall","getDynCaller","UnboundTypeError","getTypeName","___getTypeName","throwUnboundTypeError","types","unboundTypes","seen","visit","heap32VectorToArray","firstElement","array","runDestructors","del","craftInvokerFunction","argTypes","classType","cppInvokerFunc","cppTargetFunc","isClassMethodFunc","needsDestructorStack","returns","argsList","argsListWired","invokerFnBody","dtorStack","args1","args2","paramName","argumentList","dummy","r","new_","emval_free_list","emval_handle_array","toValue","t","floatReadValueFromPointer","integerReadValueFromPointer","signed","UTF16Decoder","UTF16ToString","maxIdx","codeUnit","stringToUTF16","outPtr","startPtr","numCharsToWrite","lengthBytesUTF16","UTF32ToString","utf32","stringToUTF32","lengthBytesUTF32","emscripten_realloc_buffer","grow","ENV","getEnvStrings","strings","env","navigator","languages","printCharBuffers","printChar","curr","__isLeapYear","year","__MONTH_DAYS_LEAP","__MONTH_DAYS_REGULAR","_strftime","maxsize","format","tm","tm_zone","date","tm_sec","tm_min","tm_hour","tm_mday","tm_mon","tm_year","tm_wday","tm_yday","tm_isdst","tm_gmtoff","pattern","EXPANSION_RULES_1","rule","RegExp","WEEKDAYS","MONTHS","leadingSomething","digits","character","leadingNulls","compareByDay","date1","date2","sgn","getFullYear","getMonth","getDate","getFirstWeekStartDate","janFourth","getDay","Date","getWeekBasedYear","thisDate","days","newDate","getTime","leap","currentMonth","daysInCurrentMonth","setDate","setMonth","setFullYear","__addDays","janFourthThisYear","janFourthNextYear","firstWeekStartThisYear","firstWeekStartNextYear","EXPANSION_RULES_2","twelveHour","sum","__arraySum","floor","val","jan1","dec31","off","ahead","abs","stringy","u8array","writeArrayToMemory","codes","embind_init_charCodes","other","leftClass","left","rightClass","right","preservePointerOnDelete","getPrototypeOf","fn","calledRun","asmLibraryArg","primitiveType","minRange","maxRange","trueValue","falseValue","wt","rawPointerType","rawConstPointerType","baseClassRawType","getActualTypeSignature","upcastSignature","downcastSignature","destructorSignature","legalFunctionName","numArguments","exposePublicSymbol","base","basePrototype","constructor_body","referenceConverter","pointerConverter","constPointerConverter","replacePublicSymbol","rawClassType","rawArgTypesAddr","invokerSignature","invoker","rawArgTypes","splice","rawInvoker","context","isPureVirtual","unboundTypesHandler","className","memberFunction","__emval_decref","fromWireType","bitshift","isUnsignedType","checkAssertions","toTypeName","dataTypeIndex","TA","decodeMemoryView","data","stdStringIsUTF8","payload","decodeStartPtr","currentBytePtr","stringSegment","valueIsOfTypeString","Uint8ClampedArray","charCode","charSize","decodeString","encodeString","getHeap","lengthBytesUTF","HEAP","isVoid","dest","num","copyWithin","requestedSize","oldSize","maxHeapSize","cutDown","overGrownHeapSize","newSize","__environ","environ_buf","bufSize","string","writeAsciiToMemory","penviron_count","penviron_buf_size","fd","offset_low","offset_high","whence","newOffset","iov","iovcnt","pnum","j","id","receiveInstance","instance","unshift","clearInterval","removeRunDependency","setInterval","dep","trueModule","receiveInstantiationResult","instantiateArrayBuffer","receiver","catch","binary","instantiate","reason","instantiateStreaming","createWasm","_emscripten_stack_init","run","doRun","postRun","preRun","setTimeout","sym","msg","globalThis","runCaller","ready","serialize","deserialize","registerSerializer","serializers_1","registeredSerializer","DefaultSerializer","serializer","extendSerializer","extend","implementation","fallbackDeserializer","fallbackSerializer","DefaultErrorSerializer","__error_marker","thing","$worker","$transferable","$terminate","$events","$errors","Transfer","isTransferDescriptor","symbols_1","transferables","WorkerMessageType","MasterMessageType","isWorkerRuntime","isWindowContext","Window","postMessage","postMessageToMaster","transferList","subscribeToMasterMessages","onMessage","messageHandler","messageEvent","__awaiter","_arguments","P","generator","fulfilled","expose","is_observable_1","common_1","transferable_1","messages_1","implementation_1","common_2","transferable_2","exposeCalled","activeSubscriptions","Map","isMasterJobRunMessage","isObservable","subscribe","isZenObservable","deconstructTransfer","postJobErrorMessage","uid","rawError","errorMessage","postJobResultMessage","completed","resultValue","resultMessage","complete","postUncaughtErrorMessage","uncaughtError","subError","runFunction","jobUID","syncResult","resultType","startMessage","running","postJobStartMessage","subscription","exposed","messageData","initMessage","postFunctionInitMessage","methodNames","postModuleInitMessage","filter","cancel","unsubscribe","event","process"],"sourceRoot":""}
1
+ {"version":3,"file":"455.js","mappings":"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","sources":["webpack://itowns-repository/./node_modules/copc/lib/utils/index.js","webpack://itowns-repository/./node_modules/copc/lib/las/extractor.js","webpack://itowns-repository/./node_modules/threads/dist/worker/index.js","webpack://itowns-repository/./node_modules/threads/dist/types/messages.js","webpack://itowns-repository/./node_modules/copc/lib/index.js","webpack://itowns-repository/./node_modules/copc/lib/copc/info.js","webpack://itowns-repository/./node_modules/threads/worker.mjs","webpack://itowns-repository/./node_modules/copc/lib/utils/big-int.js","webpack://itowns-repository/./node_modules/copc/lib/utils/bounds.js","webpack://itowns-repository/./node_modules/copc/lib/ept/hierarchy.js","webpack://itowns-repository/./node_modules/threads/dist/serializers.js","webpack://itowns-repository/./node_modules/laz-perf/lib/web/index.js","webpack://itowns-repository/./node_modules/copc/lib/utils/getter.js","webpack://itowns-repository/./node_modules/copc/lib/las/index.js","webpack://itowns-repository/./node_modules/copc/lib/las/vlr.js","webpack://itowns-repository/./node_modules/copc/lib/utils/binary.js","webpack://itowns-repository/./node_modules/copc/lib/copc/index.js","webpack://itowns-repository/./node_modules/copc/lib/utils/dimension.js","webpack://itowns-repository/./node_modules/copc/lib/las/utils.js","webpack://itowns-repository/./node_modules/copc/lib/las/constants.js","webpack://itowns-repository/./node_modules/copc/lib/copc/constants.js","webpack://itowns-repository/./node_modules/copc/lib/las/dimensions.js","webpack://itowns-repository/./node_modules/copc/lib/utils/key.js","webpack://itowns-repository/./node_modules/copc/lib/las/view.js","webpack://itowns-repository/./node_modules/threads/dist/worker/implementation.browser.js","webpack://itowns-repository/./node_modules/threads/dist/transferable.js","webpack://itowns-repository/./node_modules/copc/lib/utils/scale.js","webpack://itowns-repository/./node_modules/laz-perf/lib/web/laz-perf.js","webpack://itowns-repository/./node_modules/copc/lib/las/header.js","webpack://itowns-repository/./node_modules/copc/lib/ept/index.js","webpack://itowns-repository/./node_modules/copc/lib/ept/ept.js","webpack://itowns-repository/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://itowns-repository/./node_modules/threads/dist/symbols.js","webpack://itowns-repository/./node_modules/copc/lib/copc/copc.js","webpack://itowns-repository/./node_modules/copc/lib/las/point-data.js","webpack://itowns-repository/./node_modules/copc/lib/las/extra-bytes.js","webpack://itowns-repository/./node_modules/copc/lib/utils/step.js","webpack://itowns-repository/./node_modules/is-observable/index.js","webpack://itowns-repository/./node_modules/copc/lib/copc/hierarchy.js","webpack://itowns-repository/./node_modules/threads/dist/common.js"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Step = exports.Scale = exports.Key = exports.Getter = exports.Dimension = exports.Bounds = exports.Binary = void 0;\n__exportStar(require(\"./big-int\"), exports);\nvar binary_1 = require(\"./binary\");\nObject.defineProperty(exports, \"Binary\", { enumerable: true, get: function () { return binary_1.Binary; } });\nvar bounds_1 = require(\"./bounds\");\nObject.defineProperty(exports, \"Bounds\", { enumerable: true, get: function () { return bounds_1.Bounds; } });\nvar dimension_1 = require(\"./dimension\");\nObject.defineProperty(exports, \"Dimension\", { enumerable: true, get: function () { return dimension_1.Dimension; } });\nvar getter_1 = require(\"./getter\");\nObject.defineProperty(exports, \"Getter\", { enumerable: true, get: function () { return getter_1.Getter; } });\nvar key_1 = require(\"./key\");\nObject.defineProperty(exports, \"Key\", { enumerable: true, get: function () { return key_1.Key; } });\nvar scale_1 = require(\"./scale\");\nObject.defineProperty(exports, \"Scale\", { enumerable: true, get: function () { return scale_1.Scale; } });\nvar step_1 = require(\"./step\");\nObject.defineProperty(exports, \"Step\", { enumerable: true, get: function () { return step_1.Step; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Extractor = void 0;\nconst utils_1 = require(\"../utils\");\nexports.Extractor = { create };\n// Get point data record length excluding extra bytes.\nfunction getBasePointLength(pdrf) {\n switch (pdrf) {\n case 0:\n return 20;\n case 1:\n return 28;\n case 2:\n return 26;\n case 3:\n return 34;\n case 6:\n return 30;\n case 7:\n return 36;\n case 8:\n return 38;\n default:\n throw new Error(`Unsupported point data record format: ${pdrf}`);\n }\n}\n// Create an extractor for an extra-bytes field ignoring scale/offset.\nfunction createAbsoluteExtraBytesExtractor(header, offset, // Offset within the point, so should be >= the base pdrf size.\n{ type, length }) {\n const getPointOffset = getPointOffsetGetter(header);\n switch (type) {\n case 'signed':\n switch (length) {\n case 1:\n return (dv, index) => dv.getInt8(getPointOffset(index) + offset);\n case 2:\n return (dv, index) => dv.getInt16(getPointOffset(index) + offset, true);\n case 4:\n return (dv, index) => dv.getInt32(getPointOffset(index) + offset, true);\n case 8:\n return (dv, index) => (0, utils_1.parseBigInt)(dv.getBigInt64(getPointOffset(index) + offset, true));\n }\n case 'unsigned':\n switch (length) {\n case 1:\n return (dv, index) => dv.getUint8(getPointOffset(index) + offset);\n case 2:\n return (dv, index) => dv.getUint16(getPointOffset(index) + offset, true);\n case 4:\n return (dv, index) => dv.getUint32(getPointOffset(index) + offset, true);\n case 8:\n return (dv, index) => (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, getPointOffset(index) + offset, true));\n }\n case 'float':\n switch (length) {\n case 4:\n return (dv, index) => dv.getFloat32(getPointOffset(index) + offset, true);\n case 8:\n return (dv, index) => dv.getFloat64(getPointOffset(index) + offset, true);\n }\n }\n}\nfunction createExtras(header, eb) {\n const basePointLength = getBasePointLength(header.pointDataRecordFormat);\n let position = basePointLength;\n return eb.reduce((map, v) => {\n const offset = position;\n position += v.length;\n const absoluteExtractor = createAbsoluteExtraBytesExtractor(header, offset, v);\n if (!absoluteExtractor)\n return map;\n const extractor = (dv, index) => utils_1.Scale.unapply(absoluteExtractor(dv, index), v.scale, v.offset);\n return { ...map, [v.name]: extractor };\n }, {});\n}\nfunction create(header, eb = []) {\n const extras = createExtras(header, eb);\n const core = (() => {\n const { pointDataRecordFormat: pdrf } = header;\n switch (pdrf) {\n case 0:\n return create0(header);\n case 1:\n return create1(header);\n case 2:\n return create2(header);\n case 3:\n return create3(header);\n case 6:\n return create6(header);\n case 7:\n return create7(header);\n case 8:\n return create8(header);\n default:\n throw new Error(`Unsupported point data record format: ${pdrf}`);\n }\n })();\n return { ...core, ...extras };\n}\nfunction create0(header) {\n const { scale, offset } = header;\n const getPointOffset = getPointOffsetGetter(header);\n function getScanFlags(dv, index) {\n return dv.getUint8(getPointOffset(index) + 14);\n }\n function getFullClassification(dv, index) {\n return dv.getUint8(getPointOffset(index) + 15);\n }\n function getClassification(dv, index) {\n return getFullClassification(dv, index) & 31;\n }\n return {\n X: (dv, index) => utils_1.Scale.unapply(dv.getInt32(getPointOffset(index), true), scale[0], offset[0]),\n Y: (dv, index) => utils_1.Scale.unapply(dv.getInt32(getPointOffset(index) + 4, true), scale[1], offset[1]),\n Z: (dv, index) => utils_1.Scale.unapply(dv.getInt32(getPointOffset(index) + 8, true), scale[2], offset[2]),\n Intensity: (dv, index) => dv.getUint16(getPointOffset(index) + 12, true),\n ReturnNumber: (dv, index) => getScanFlags(dv, index) & 7,\n NumberOfReturns: (dv, index) => (getScanFlags(dv, index) & 56) >> 3,\n ScanDirectionFlag: (dv, index) => (getScanFlags(dv, index) & 64) >> 6,\n EdgeOfFlightLine: (dv, index) => (getScanFlags(dv, index) & 128) >> 7,\n Classification: (dv, index) => {\n // We extract out Overlap as a separate dimension. In PDRFs > 6, it has\n // its own flag separate from Classification. But here, it is signified\n // by Classification = 12. In that case, we'll set our Overlap dimension\n // to 1, and set our Classification to 0.\n const classification = getClassification(dv, index);\n return classification === 12 ? 0 : classification;\n },\n Synthetic: (dv, index) => (getFullClassification(dv, index) & 32) >> 5,\n KeyPoint: (dv, index) => (getFullClassification(dv, index) & 64) >> 6,\n Withheld: (dv, index) => (getFullClassification(dv, index) & 128) >> 7,\n Overlap: (dv, index) => (getClassification(dv, index) === 12 ? 1 : 0),\n ScanAngle: (dv, index) => dv.getInt8(getPointOffset(index) + 16),\n UserData: (dv, index) => dv.getUint8(getPointOffset(index) + 17),\n PointSourceId: (dv, index) => dv.getUint16(getPointOffset(index) + 18, true),\n };\n}\nfunction create1(header) {\n const getPointOffset = getPointOffsetGetter(header);\n return {\n ...create0(header),\n GpsTime: (dv, index) => dv.getFloat64(getPointOffset(index) + 20, true),\n };\n}\nfunction create2(header) {\n const getPointOffset = getPointOffsetGetter(header);\n return {\n ...create0(header),\n Red: (dv, index) => dv.getUint16(getPointOffset(index) + 20, true),\n Green: (dv, index) => dv.getUint16(getPointOffset(index) + 22, true),\n Blue: (dv, index) => dv.getUint16(getPointOffset(index) + 24, true),\n };\n}\nfunction create3(header) {\n const getPointOffset = getPointOffsetGetter(header);\n return {\n ...create0(header),\n GpsTime: (dv, index) => dv.getFloat64(getPointOffset(index) + 20, true),\n Red: (dv, index) => dv.getUint16(getPointOffset(index) + 28, true),\n Green: (dv, index) => dv.getUint16(getPointOffset(index) + 30, true),\n Blue: (dv, index) => dv.getUint16(getPointOffset(index) + 32, true),\n };\n}\nfunction create6(header) {\n const { scale, offset } = header;\n const getPointOffset = getPointOffsetGetter(header);\n function getFlags(dv, index) {\n return dv.getUint8(getPointOffset(index) + 15);\n }\n return {\n X: (dv, index) => utils_1.Scale.unapply(dv.getInt32(getPointOffset(index), true), scale[0], offset[0]),\n Y: (dv, index) => utils_1.Scale.unapply(dv.getInt32(getPointOffset(index) + 4, true), scale[1], offset[1]),\n Z: (dv, index) => utils_1.Scale.unapply(dv.getInt32(getPointOffset(index) + 8, true), scale[2], offset[2]),\n Intensity: (dv, index) => dv.getUint16(getPointOffset(index) + 12, true),\n ReturnNumber: (dv, index) => dv.getUint16(getPointOffset(index) + 14, true) & 15,\n NumberOfReturns: (dv, index) => (dv.getUint16(getPointOffset(index) + 14, true) & 240) >> 4,\n Synthetic: (dv, index) => getFlags(dv, index) & 1,\n KeyPoint: (dv, index) => (getFlags(dv, index) & 2) >> 1,\n Withheld: (dv, index) => (getFlags(dv, index) & 4) >> 2,\n Overlap: (dv, index) => (getFlags(dv, index) & 8) >> 3,\n ScannerChannel: (dv, index) => (getFlags(dv, index) & 48) >> 4,\n ScanDirectionFlag: (dv, index) => (getFlags(dv, index) & 64) >> 6,\n EdgeOfFlightLine: (dv, index) => (getFlags(dv, index) & 128) >> 7,\n Classification: (dv, index) => dv.getUint8(getPointOffset(index) + 16),\n UserData: (dv, index) => dv.getUint8(getPointOffset(index) + 17),\n ScanAngle: (dv, index) => dv.getInt16(getPointOffset(index) + 18, true) * 0.006,\n PointSourceId: (dv, index) => dv.getUint16(getPointOffset(index) + 20, true),\n GpsTime: (dv, index) => dv.getFloat64(getPointOffset(index) + 22, true),\n };\n}\nfunction create7(header) {\n const getPointOffset = getPointOffsetGetter(header);\n return {\n ...create6(header),\n Red: (dv, index) => dv.getUint16(getPointOffset(index) + 30, true),\n Green: (dv, index) => dv.getUint16(getPointOffset(index) + 32, true),\n Blue: (dv, index) => dv.getUint16(getPointOffset(index) + 34, true),\n };\n}\nfunction create8(header) {\n const getPointOffset = getPointOffsetGetter(header);\n return {\n ...create7(header),\n Infrared: (dv, index) => dv.getUint16(getPointOffset(index) + 36, true),\n };\n}\nfunction getPointOffsetGetter(header) {\n const { pointDataRecordLength } = header;\n return function getPointOffset(index) {\n return index * pointDataRecordLength;\n };\n}\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.expose = exports.isWorkerRuntime = exports.Transfer = exports.registerSerializer = void 0;\nconst is_observable_1 = __importDefault(require(\"is-observable\"));\nconst common_1 = require(\"../common\");\nconst transferable_1 = require(\"../transferable\");\nconst messages_1 = require(\"../types/messages\");\nconst implementation_1 = __importDefault(require(\"./implementation\"));\nvar common_2 = require(\"../common\");\nObject.defineProperty(exports, \"registerSerializer\", { enumerable: true, get: function () { return common_2.registerSerializer; } });\nvar transferable_2 = require(\"../transferable\");\nObject.defineProperty(exports, \"Transfer\", { enumerable: true, get: function () { return transferable_2.Transfer; } });\n/** Returns `true` if this code is currently running in a worker. */\nexports.isWorkerRuntime = implementation_1.default.isWorkerRuntime;\nlet exposeCalled = false;\nconst activeSubscriptions = new Map();\nconst isMasterJobCancelMessage = (thing) => thing && thing.type === messages_1.MasterMessageType.cancel;\nconst isMasterJobRunMessage = (thing) => thing && thing.type === messages_1.MasterMessageType.run;\n/**\n * There are issues with `is-observable` not recognizing zen-observable's instances.\n * We are using `observable-fns`, but it's based on zen-observable, too.\n */\nconst isObservable = (thing) => is_observable_1.default(thing) || isZenObservable(thing);\nfunction isZenObservable(thing) {\n return thing && typeof thing === \"object\" && typeof thing.subscribe === \"function\";\n}\nfunction deconstructTransfer(thing) {\n return transferable_1.isTransferDescriptor(thing)\n ? { payload: thing.send, transferables: thing.transferables }\n : { payload: thing, transferables: undefined };\n}\nfunction postFunctionInitMessage() {\n const initMessage = {\n type: messages_1.WorkerMessageType.init,\n exposed: {\n type: \"function\"\n }\n };\n implementation_1.default.postMessageToMaster(initMessage);\n}\nfunction postModuleInitMessage(methodNames) {\n const initMessage = {\n type: messages_1.WorkerMessageType.init,\n exposed: {\n type: \"module\",\n methods: methodNames\n }\n };\n implementation_1.default.postMessageToMaster(initMessage);\n}\nfunction postJobErrorMessage(uid, rawError) {\n const { payload: error, transferables } = deconstructTransfer(rawError);\n const errorMessage = {\n type: messages_1.WorkerMessageType.error,\n uid,\n error: common_1.serialize(error)\n };\n implementation_1.default.postMessageToMaster(errorMessage, transferables);\n}\nfunction postJobResultMessage(uid, completed, resultValue) {\n const { payload, transferables } = deconstructTransfer(resultValue);\n const resultMessage = {\n type: messages_1.WorkerMessageType.result,\n uid,\n complete: completed ? true : undefined,\n payload\n };\n implementation_1.default.postMessageToMaster(resultMessage, transferables);\n}\nfunction postJobStartMessage(uid, resultType) {\n const startMessage = {\n type: messages_1.WorkerMessageType.running,\n uid,\n resultType\n };\n implementation_1.default.postMessageToMaster(startMessage);\n}\nfunction postUncaughtErrorMessage(error) {\n try {\n const errorMessage = {\n type: messages_1.WorkerMessageType.uncaughtError,\n error: common_1.serialize(error)\n };\n implementation_1.default.postMessageToMaster(errorMessage);\n }\n catch (subError) {\n // tslint:disable-next-line no-console\n console.error(\"Not reporting uncaught error back to master thread as it \" +\n \"occured while reporting an uncaught error already.\" +\n \"\\nLatest error:\", subError, \"\\nOriginal error:\", error);\n }\n}\nfunction runFunction(jobUID, fn, args) {\n return __awaiter(this, void 0, void 0, function* () {\n let syncResult;\n try {\n syncResult = fn(...args);\n }\n catch (error) {\n return postJobErrorMessage(jobUID, error);\n }\n const resultType = isObservable(syncResult) ? \"observable\" : \"promise\";\n postJobStartMessage(jobUID, resultType);\n if (isObservable(syncResult)) {\n const subscription = syncResult.subscribe(value => postJobResultMessage(jobUID, false, common_1.serialize(value)), error => {\n postJobErrorMessage(jobUID, common_1.serialize(error));\n activeSubscriptions.delete(jobUID);\n }, () => {\n postJobResultMessage(jobUID, true);\n activeSubscriptions.delete(jobUID);\n });\n activeSubscriptions.set(jobUID, subscription);\n }\n else {\n try {\n const result = yield syncResult;\n postJobResultMessage(jobUID, true, common_1.serialize(result));\n }\n catch (error) {\n postJobErrorMessage(jobUID, common_1.serialize(error));\n }\n }\n });\n}\n/**\n * Expose a function or a module (an object whose values are functions)\n * to the main thread. Must be called exactly once in every worker thread\n * to signal its API to the main thread.\n *\n * @param exposed Function or object whose values are functions\n */\nfunction expose(exposed) {\n if (!implementation_1.default.isWorkerRuntime()) {\n throw Error(\"expose() called in the master thread.\");\n }\n if (exposeCalled) {\n throw Error(\"expose() called more than once. This is not possible. Pass an object to expose() if you want to expose multiple functions.\");\n }\n exposeCalled = true;\n if (typeof exposed === \"function\") {\n implementation_1.default.subscribeToMasterMessages(messageData => {\n if (isMasterJobRunMessage(messageData) && !messageData.method) {\n runFunction(messageData.uid, exposed, messageData.args.map(common_1.deserialize));\n }\n });\n postFunctionInitMessage();\n }\n else if (typeof exposed === \"object\" && exposed) {\n implementation_1.default.subscribeToMasterMessages(messageData => {\n if (isMasterJobRunMessage(messageData) && messageData.method) {\n runFunction(messageData.uid, exposed[messageData.method], messageData.args.map(common_1.deserialize));\n }\n });\n const methodNames = Object.keys(exposed).filter(key => typeof exposed[key] === \"function\");\n postModuleInitMessage(methodNames);\n }\n else {\n throw Error(`Invalid argument passed to expose(). Expected a function or an object, got: ${exposed}`);\n }\n implementation_1.default.subscribeToMasterMessages(messageData => {\n if (isMasterJobCancelMessage(messageData)) {\n const jobUID = messageData.uid;\n const subscription = activeSubscriptions.get(jobUID);\n if (subscription) {\n subscription.unsubscribe();\n activeSubscriptions.delete(jobUID);\n }\n }\n });\n}\nexports.expose = expose;\nif (typeof self !== \"undefined\" && typeof self.addEventListener === \"function\" && implementation_1.default.isWorkerRuntime()) {\n self.addEventListener(\"error\", event => {\n // Post with some delay, so the master had some time to subscribe to messages\n setTimeout(() => postUncaughtErrorMessage(event.error || event), 250);\n });\n self.addEventListener(\"unhandledrejection\", event => {\n const error = event.reason;\n if (error && typeof error.message === \"string\") {\n // Post with some delay, so the master had some time to subscribe to messages\n setTimeout(() => postUncaughtErrorMessage(error), 250);\n }\n });\n}\nif (typeof process !== \"undefined\" && typeof process.on === \"function\" && implementation_1.default.isWorkerRuntime()) {\n process.on(\"uncaughtException\", (error) => {\n // Post with some delay, so the master had some time to subscribe to messages\n setTimeout(() => postUncaughtErrorMessage(error), 250);\n });\n process.on(\"unhandledRejection\", (error) => {\n if (error && typeof error.message === \"string\") {\n // Post with some delay, so the master had some time to subscribe to messages\n setTimeout(() => postUncaughtErrorMessage(error), 250);\n }\n });\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WorkerMessageType = exports.MasterMessageType = void 0;\n/////////////////////////////\n// Messages sent by master:\nvar MasterMessageType;\n(function (MasterMessageType) {\n MasterMessageType[\"cancel\"] = \"cancel\";\n MasterMessageType[\"run\"] = \"run\";\n})(MasterMessageType = exports.MasterMessageType || (exports.MasterMessageType = {}));\n////////////////////////////\n// Messages sent by worker:\nvar WorkerMessageType;\n(function (WorkerMessageType) {\n WorkerMessageType[\"error\"] = \"error\";\n WorkerMessageType[\"init\"] = \"init\";\n WorkerMessageType[\"result\"] = \"result\";\n WorkerMessageType[\"running\"] = \"running\";\n WorkerMessageType[\"uncaughtError\"] = \"uncaughtError\";\n})(WorkerMessageType = exports.WorkerMessageType || (exports.WorkerMessageType = {}));\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Las = exports.Ept = void 0;\nexports.Ept = __importStar(require(\"./ept\"));\n__exportStar(require(\"./copc\"), exports);\nexports.Las = __importStar(require(\"./las\"));\n__exportStar(require(\"./utils\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Info = void 0;\nconst utils_1 = require(\"../utils\");\nconst constants_1 = require(\"./constants\");\nexports.Info = { parse };\nfunction parse(buffer) {\n const dv = utils_1.Binary.toDataView(buffer);\n if (dv.byteLength !== constants_1.infoLength) {\n throw new Error(`Invalid COPC info VLR length (should be ${constants_1.infoLength}): ${dv.byteLength}`);\n }\n const center = [\n dv.getFloat64(0, true),\n dv.getFloat64(8, true),\n dv.getFloat64(16, true),\n ];\n const radius = dv.getFloat64(24, true);\n return {\n cube: [\n center[0] - radius,\n center[1] - radius,\n center[2] - radius,\n center[0] + radius,\n center[1] + radius,\n center[2] + radius,\n ],\n spacing: dv.getFloat64(32, true),\n rootHierarchyPage: {\n pageOffset: (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, 40, true)),\n pageLength: (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, 48, true)),\n },\n gpsTimeRange: [dv.getFloat64(56, true), dv.getFloat64(64, true)],\n };\n}\n","import WorkerContext from \"./dist/worker/index.js\"\n\nexport const expose = WorkerContext.expose\nexport const registerSerializer = WorkerContext.registerSerializer\nexport const Transfer = WorkerContext.Transfer\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getBigUint64 = exports.parseBigInt = void 0;\nfunction parseBigInt(v) {\n if (v > BigInt(Number.MAX_SAFE_INTEGER) ||\n v < BigInt(-Number.MAX_SAFE_INTEGER)) {\n throw new Error(`Cannot convert bigint to number: ${v}`);\n }\n return Number(v);\n}\nexports.parseBigInt = parseBigInt;\n// Safari is non-conforming here and doesn't have the BigUint functions on their\n// DataView :\\\nfunction getBigUint64(dv, byteOffset, littleEndian) {\n if (dv.getBigUint64)\n return dv.getBigUint64(byteOffset, littleEndian);\n const [h, l] = littleEndian ? [4, 0] : [0, 4];\n const wh = BigInt(dv.getUint32(byteOffset + h, littleEndian));\n const wl = BigInt(dv.getUint32(byteOffset + l, littleEndian));\n return (wh << BigInt(32)) + wl;\n}\nexports.getBigUint64 = getBigUint64;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Bounds = void 0;\nexports.Bounds = {\n min,\n max,\n mid,\n width,\n depth,\n height,\n cube,\n step,\n stepTo,\n intersection,\n};\nfunction min(b) {\n return [b[0], b[1], b[2]];\n}\nfunction max(b) {\n return [b[3], b[4], b[5]];\n}\nfunction mid([minx, miny, minz, maxx, maxy, maxz]) {\n return [\n minx + (maxx - minx) / 2,\n miny + (maxy - miny) / 2,\n minz + (maxz - minz) / 2,\n ];\n}\nfunction width(bounds) {\n return bounds[3] - bounds[0];\n}\nfunction depth(bounds) {\n return bounds[4] - bounds[1];\n}\nfunction height(bounds) {\n return bounds[5] - bounds[2];\n}\nfunction cube(bounds) {\n const point = mid(bounds);\n const radius = Math.max(width(bounds), depth(bounds), height(bounds)) / 2;\n return [\n point[0] - radius,\n point[1] - radius,\n point[2] - radius,\n point[0] + radius,\n point[1] + radius,\n point[2] + radius,\n ];\n}\nfunction step(bounds, [a, b, c]) {\n const [minx, miny, minz, maxx, maxy, maxz] = bounds;\n const [midx, midy, midz] = mid(bounds);\n return [\n a ? midx : minx,\n b ? midy : miny,\n c ? midz : minz,\n a ? maxx : midx,\n b ? maxy : midy,\n c ? maxz : midz,\n ];\n}\nfunction stepTo(bounds, [d, x, y, z]) {\n for (let i = d - 1; i >= 0; --i) {\n bounds = step(bounds, [(x >> i) & 1, (y >> i) & 1, (z >> i) & 1]);\n }\n return bounds;\n}\nfunction intersection(a, b) {\n return [\n Math.max(a[0], b[0]),\n Math.max(a[1], b[1]),\n Math.max(a[2], b[2]),\n Math.min(a[3], b[3]),\n Math.min(a[4], b[4]),\n Math.min(a[5], b[5]),\n ];\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Hierarchy = void 0;\nexports.Hierarchy = { parse };\nfunction parse(e) {\n return Object.entries(e).reduce((h, [keystring, pointCount]) => {\n if (pointCount === -1)\n h.pages[keystring] = {};\n else if (pointCount)\n h.nodes[keystring] = { pointCount };\n return h;\n }, { nodes: {}, pages: {} });\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefaultSerializer = exports.extendSerializer = void 0;\nfunction extendSerializer(extend, implementation) {\n const fallbackDeserializer = extend.deserialize.bind(extend);\n const fallbackSerializer = extend.serialize.bind(extend);\n return {\n deserialize(message) {\n return implementation.deserialize(message, fallbackDeserializer);\n },\n serialize(input) {\n return implementation.serialize(input, fallbackSerializer);\n }\n };\n}\nexports.extendSerializer = extendSerializer;\nconst DefaultErrorSerializer = {\n deserialize(message) {\n return Object.assign(Error(message.message), {\n name: message.name,\n stack: message.stack\n });\n },\n serialize(error) {\n return {\n __error_marker: \"$$error\",\n message: error.message,\n name: error.name,\n stack: error.stack\n };\n }\n};\nconst isSerializedError = (thing) => thing && typeof thing === \"object\" && \"__error_marker\" in thing && thing.__error_marker === \"$$error\";\nexports.DefaultSerializer = {\n deserialize(message) {\n if (isSerializedError(message)) {\n return DefaultErrorSerializer.deserialize(message);\n }\n else {\n return message;\n }\n },\n serialize(input) {\n if (input instanceof Error) {\n return DefaultErrorSerializer.serialize(input);\n }\n else {\n return input;\n }\n }\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LazPerf = exports.create = exports.createLazPerf = void 0;\nconst laz_perf_js_1 = __importDefault(require(\"./laz-perf.js\"));\nexports.createLazPerf = laz_perf_js_1.default;\nexports.create = laz_perf_js_1.default;\nexports.LazPerf = { create: laz_perf_js_1.default };\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Getter = void 0;\nconst cross_fetch_1 = __importDefault(require(\"cross-fetch\"));\nexports.Getter = { create, http: getHttpGetter, file: getFsGetter };\nfunction create(arg) {\n if (typeof arg === 'function')\n return arg;\n if (arg.startsWith('http://') || arg.startsWith('https://')) {\n return getHttpGetter(arg);\n }\n return getFsGetter(arg);\n}\nfunction getHttpGetter(filename) {\n return async function getter(begin, end) {\n if (begin < 0 || end < 0 || begin > end)\n throw new Error('Invalid range');\n const response = await (0, cross_fetch_1.default)(filename, {\n headers: { Range: `bytes=${begin}-${end - 1}` },\n });\n const ab = await response.arrayBuffer();\n return new Uint8Array(ab);\n };\n}\nfunction getFsGetter(filename) {\n return async function getter(begin, end) {\n const fs = await Promise.resolve().then(() => __importStar(require('fs')));\n async function read(begin = 0, end = Infinity) {\n if (begin < 0 || end < 0 || begin > end)\n throw new Error('Invalid range');\n await fs.promises.access(filename);\n const stream = fs.createReadStream(filename, {\n start: begin,\n end: end - 1,\n autoClose: true,\n });\n return drain(stream);\n }\n return read(begin, end);\n };\n}\nasync function drain(stream) {\n return await new Promise((resolve, reject) => {\n const chunks = [];\n stream.on('data', (chunk) => chunks.push(chunk));\n stream.on('error', reject);\n stream.on('end', () => resolve(Buffer.concat(chunks)));\n });\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Vlr = exports.View = exports.PointData = exports.Header = exports.Extractor = exports.ExtraBytes = exports.Dimensions = exports.Constants = void 0;\n// Note that everything here is implicitly referring to LAS 1.4 - no other\n// versions are supported by these utilities.\nexports.Constants = __importStar(require(\"./constants\"));\nvar dimensions_1 = require(\"./dimensions\");\nObject.defineProperty(exports, \"Dimensions\", { enumerable: true, get: function () { return dimensions_1.Dimensions; } });\nvar extra_bytes_1 = require(\"./extra-bytes\");\nObject.defineProperty(exports, \"ExtraBytes\", { enumerable: true, get: function () { return extra_bytes_1.ExtraBytes; } });\nvar extractor_1 = require(\"./extractor\");\nObject.defineProperty(exports, \"Extractor\", { enumerable: true, get: function () { return extractor_1.Extractor; } });\nvar header_1 = require(\"./header\");\nObject.defineProperty(exports, \"Header\", { enumerable: true, get: function () { return header_1.Header; } });\nvar point_data_1 = require(\"./point-data\");\nObject.defineProperty(exports, \"PointData\", { enumerable: true, get: function () { return point_data_1.PointData; } });\nvar view_1 = require(\"./view\");\nObject.defineProperty(exports, \"View\", { enumerable: true, get: function () { return view_1.View; } });\nvar vlr_1 = require(\"./vlr\");\nObject.defineProperty(exports, \"Vlr\", { enumerable: true, get: function () { return vlr_1.Vlr; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Vlr = void 0;\nconst utils_1 = require(\"../utils\");\nconst constants_1 = require(\"./constants\");\nexports.Vlr = { walk, parse, find, at, fetch };\nfunction find(vlrs, userId, recordId) {\n return vlrs.find((v) => v.userId === userId && v.recordId === recordId);\n}\nfunction at(vlrs, userId, recordId) {\n const vlr = find(vlrs, userId, recordId);\n if (!vlr)\n throw new Error(`VLR not found: ${userId}/${recordId}`);\n return vlr;\n}\nfunction fetch(filename, { contentOffset, contentLength }) {\n if (contentLength === 0)\n return new Uint8Array();\n const get = utils_1.Getter.create(filename);\n return get(contentOffset, contentOffset + contentLength);\n}\nasync function walk(filename, header) {\n const get = utils_1.Getter.create(filename);\n const vlrs = await doWalk({\n get,\n startOffset: header.headerLength,\n count: header.vlrCount,\n isExtended: false,\n });\n const evlrs = await doWalk({\n get,\n startOffset: header.evlrOffset,\n count: header.evlrCount,\n isExtended: true,\n });\n return [...vlrs, ...evlrs];\n}\nfunction parse(buffer, isExtended) {\n return (isExtended ? parseExtended : parseNormal)(buffer);\n}\nfunction parseNormal(buffer) {\n const dv = utils_1.Binary.toDataView(buffer);\n if (dv.byteLength !== constants_1.vlrHeaderLength) {\n throw new Error(`Invalid VLR header length (must be ${constants_1.vlrHeaderLength}): ${dv.byteLength}`);\n }\n return {\n userId: utils_1.Binary.toCString(buffer.slice(2, 18)),\n recordId: dv.getUint16(18, true),\n contentLength: dv.getUint16(20, true),\n description: utils_1.Binary.toCString(buffer.slice(22, 54)),\n isExtended: false,\n };\n}\nfunction parseExtended(buffer) {\n const dv = utils_1.Binary.toDataView(buffer);\n if (dv.byteLength !== constants_1.evlrHeaderLength) {\n throw new Error(`Invalid EVLR header length (must be ${constants_1.evlrHeaderLength}): ${dv.byteLength}`);\n }\n return {\n userId: utils_1.Binary.toCString(buffer.slice(2, 18)),\n recordId: dv.getUint16(18, true),\n contentLength: (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, 20, true)),\n description: utils_1.Binary.toCString(buffer.slice(28, 60)),\n isExtended: true,\n };\n}\nasync function doWalk({ get, startOffset, count, isExtended }) {\n const vlrs = [];\n let pos = startOffset;\n const length = isExtended ? constants_1.evlrHeaderLength : constants_1.vlrHeaderLength;\n for (let i = 0; i < count; ++i) {\n const buffer = length ? await get(pos, pos + length) : new Uint8Array();\n const { userId, recordId, contentLength, description } = parse(buffer, isExtended);\n vlrs.push({\n userId,\n recordId,\n contentOffset: pos + length,\n contentLength,\n description,\n isExtended,\n });\n pos += length + contentLength;\n }\n return vlrs;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toCString = exports.toDataView = exports.Binary = void 0;\nexports.Binary = { toDataView, toCString };\nfunction toDataView(buffer) {\n return new DataView(buffer.buffer, buffer.byteOffset, buffer.length);\n}\nexports.toDataView = toDataView;\nfunction toCString(buffer) {\n const dv = toDataView(buffer);\n let s = '';\n for (let i = 0; i < dv.byteLength; ++i) {\n const c = dv.getInt8(i);\n if (c === 0)\n return s;\n s += String.fromCharCode(c);\n }\n return s;\n}\nexports.toCString = toCString;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Info = exports.Hierarchy = exports.Copc = exports.Constants = void 0;\nexports.Constants = __importStar(require(\"./constants\"));\nvar copc_1 = require(\"./copc\");\nObject.defineProperty(exports, \"Copc\", { enumerable: true, get: function () { return copc_1.Copc; } });\nvar hierarchy_1 = require(\"./hierarchy\");\nObject.defineProperty(exports, \"Hierarchy\", { enumerable: true, get: function () { return hierarchy_1.Hierarchy; } });\nvar info_1 = require(\"./info\");\nObject.defineProperty(exports, \"Info\", { enumerable: true, get: function () { return info_1.Info; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Dimension = void 0;\nconst Type = {\n int8: { type: 'signed', size: 1 },\n int16: { type: 'signed', size: 2 },\n int32: { type: 'signed', size: 4 },\n int64: { type: 'signed', size: 8 },\n uint8: { type: 'unsigned', size: 1 },\n uint16: { type: 'unsigned', size: 2 },\n uint32: { type: 'unsigned', size: 4 },\n uint64: { type: 'unsigned', size: 8 },\n float32: { type: 'float', size: 4 },\n float64: { type: 'float', size: 8 },\n // Aliases.\n float: { type: 'float', size: 4 },\n double: { type: 'float', size: 8 },\n // Minimum size of one byte, so this is a convenience for a byte.\n bool: { type: 'unsigned', size: 1 },\n boolean: { type: 'unsigned', size: 1 },\n};\nexports.Dimension = { Type, ctype };\nfunction ctype({ type, size }) {\n switch (type) {\n case 'signed': {\n switch (size) {\n case 1:\n return 'int8';\n case 2:\n return 'int16';\n case 4:\n return 'int32';\n case 8:\n return 'int64';\n }\n }\n case 'unsigned': {\n switch (size) {\n case 1:\n return 'uint8';\n case 2:\n return 'uint16';\n case 4:\n return 'uint32';\n case 8:\n return 'uint64';\n }\n }\n case 'float': {\n switch (size) {\n case 4:\n return 'float';\n case 8:\n return 'double';\n }\n }\n }\n throw new Error(`Invalid dimension type/size: ${type}/${size}`);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.formatGuid = exports.parsePoint = void 0;\nconst utils_1 = require(\"../utils\");\nfunction parsePoint(buffer) {\n const dv = utils_1.Binary.toDataView(buffer);\n if (dv.byteLength !== 24) {\n throw new Error(`Invalid tuple buffer length: ${dv.byteLength}`);\n }\n return [\n dv.getFloat64(0, true),\n dv.getFloat64(8, true),\n dv.getFloat64(16, true),\n ];\n}\nexports.parsePoint = parsePoint;\nfunction formatGuid(buffer) {\n const dv = utils_1.Binary.toDataView(buffer);\n if (dv.byteLength !== 16) {\n throw new Error(`Invalid GUID buffer length: ${dv.byteLength}`);\n }\n let s = '';\n for (let i = 0; i < dv.byteLength; i += 4) {\n const c = dv.getUint32(i, true);\n s += c.toString(16).padStart(8, '0');\n }\n return [s.slice(0, 8), s.slice(8, 12), s.slice(12, 16), s.slice(16, 32)].join('-');\n}\nexports.formatGuid = formatGuid;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evlrHeaderLength = exports.vlrHeaderLength = exports.minHeaderLength = void 0;\nexports.minHeaderLength = 375;\nexports.vlrHeaderLength = 54;\nexports.evlrHeaderLength = 60;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hierarchyItemLength = exports.infoLength = void 0;\nexports.infoLength = 160;\nexports.hierarchyItemLength = 32;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Dimensions = void 0;\nconst utils_1 = require(\"../utils\");\nconst extra_bytes_1 = require(\"./extra-bytes\");\nexports.Dimensions = { create };\nconst { Type } = utils_1.Dimension;\nconst typemap = {\n X: Type.float64,\n Y: Type.float64,\n Z: Type.float64,\n Intensity: Type.uint16,\n ReturnNumber: Type.uint8,\n NumberOfReturns: Type.uint8,\n ScanDirectionFlag: Type.boolean,\n EdgeOfFlightLine: Type.boolean,\n Classification: Type.uint8,\n Synthetic: Type.boolean,\n KeyPoint: Type.boolean,\n Withheld: Type.boolean,\n Overlap: Type.boolean,\n ScanAngle: Type.float32,\n UserData: Type.uint8,\n PointSourceId: Type.uint16,\n GpsTime: Type.float64,\n Red: Type.uint16,\n Green: Type.uint16,\n Blue: Type.uint16,\n ScannerChannel: Type.uint8,\n Infrared: Type.uint16,\n};\nfunction create(extractor, eb = []) {\n return Object.keys(extractor).reduce((map, name) => {\n const type = typemap[name];\n if (type)\n return { ...map, [name]: type };\n const e = eb.find((v) => v.name === name);\n const dimension = e && extra_bytes_1.ExtraBytes.getDimension(e);\n if (dimension)\n return { ...map, [name]: dimension };\n throw new Error(`Failed to look up LAS type: ${name}`);\n }, {});\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Key = void 0;\nexports.Key = { create, parse, toString, step, up, compare, depth };\nfunction create(key, x = 0, y = 0, z = 0) {\n if (typeof key !== 'number')\n return parse(key);\n return [key, x, y, z];\n}\nfunction parse(s) {\n if (typeof s !== 'string')\n return s;\n const [d, x, y, z, ...rest] = s.split('-').map((s) => parseInt(s, 10));\n const key = [d, x, y, z];\n if (rest.length !== 0 ||\n key.some((v) => typeof v !== 'number' || Number.isNaN(v))) {\n throw new Error(`Invalid key: ${s}`);\n }\n return key;\n}\nfunction toString(key) {\n if (typeof key === 'string')\n return key;\n return key.join('-');\n}\nfunction step(key, [a, b, c]) {\n const [d, x, y, z] = exports.Key.create(key);\n return [d + 1, x * 2 + a, y * 2 + b, z * 2 + c];\n}\nfunction up(key, n = 1) {\n const [d, x, y, z] = exports.Key.create(key);\n return [d - n, x >> n, y >> n, z >> n];\n}\nfunction compare(a, b) {\n for (let i = 0; i < a.length; ++i) {\n if (a[i] < b[i])\n return -1;\n if (a[i] > b[i])\n return 1;\n }\n return 0;\n}\nfunction depth(key) {\n return key[0];\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.View = void 0;\nconst utils_1 = require(\"../utils\");\nconst dimensions_1 = require(\"./dimensions\");\nconst extractor_1 = require(\"./extractor\");\nexports.View = { create };\nfunction create(buffer, header, eb = [], include) {\n let extractors = extractor_1.Extractor.create(header, eb);\n if (include) {\n const set = new Set([...include]);\n extractors = Object.entries(extractors).reduce((extractors, [name, getter]) => {\n if (set.has(name))\n extractors[name] = getter;\n return extractors;\n }, {});\n }\n const dimensions = dimensions_1.Dimensions.create(extractors, eb);\n const dv = utils_1.Binary.toDataView(buffer);\n const pointLength = header.pointDataRecordLength;\n if (dv.byteLength % pointLength !== 0) {\n throw new Error(`Invalid buffer length (${dv.byteLength}) for point length ${pointLength}`);\n }\n const pointCount = dv.byteLength / header.pointDataRecordLength;\n function getter(name) {\n const extractor = extractors[name];\n if (!extractor)\n throw new Error(`No extractor for dimension: ${name}`);\n return function (index) {\n if (index >= pointCount) {\n throw new RangeError(`View index (${index}) out of range: ${pointCount}`);\n }\n return extractor(dv, index);\n };\n }\n return { pointCount, dimensions, getter };\n}\n","\"use strict\";\n/// <reference lib=\"dom\" />\n// tslint:disable no-shadowed-variable\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst isWorkerRuntime = function isWorkerRuntime() {\n const isWindowContext = typeof self !== \"undefined\" && typeof Window !== \"undefined\" && self instanceof Window;\n return typeof self !== \"undefined\" && self.postMessage && !isWindowContext ? true : false;\n};\nconst postMessageToMaster = function postMessageToMaster(data, transferList) {\n self.postMessage(data, transferList);\n};\nconst subscribeToMasterMessages = function subscribeToMasterMessages(onMessage) {\n const messageHandler = (messageEvent) => {\n onMessage(messageEvent.data);\n };\n const unsubscribe = () => {\n self.removeEventListener(\"message\", messageHandler);\n };\n self.addEventListener(\"message\", messageHandler);\n return unsubscribe;\n};\nexports.default = {\n isWorkerRuntime,\n postMessageToMaster,\n subscribeToMasterMessages\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Transfer = exports.isTransferDescriptor = void 0;\nconst symbols_1 = require(\"./symbols\");\nfunction isTransferable(thing) {\n if (!thing || typeof thing !== \"object\")\n return false;\n // Don't check too thoroughly, since the list of transferable things in JS might grow over time\n return true;\n}\nfunction isTransferDescriptor(thing) {\n return thing && typeof thing === \"object\" && thing[symbols_1.$transferable];\n}\nexports.isTransferDescriptor = isTransferDescriptor;\nfunction Transfer(payload, transferables) {\n if (!transferables) {\n if (!isTransferable(payload))\n throw Error();\n transferables = [payload];\n }\n return {\n [symbols_1.$transferable]: true,\n send: payload,\n transferables\n };\n}\nexports.Transfer = Transfer;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Scale = void 0;\nexports.Scale = {\n apply: (v, scale = 1, offset = 0) => (v - offset) / scale,\n unapply: (v, scale = 1, offset = 0) => v * scale + offset,\n};\n","\nvar createLazPerf = (() => {\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n \n return (\nfunction(createLazPerf) {\n createLazPerf = createLazPerf || {};\n\nvar Module=typeof createLazPerf!=\"undefined\"?createLazPerf:{};var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});[\"_main\",\"___getTypeName\",\"__embind_initialize_bindings\",\"_fflush\",\"onRuntimeInitialized\"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(Module[\"ready\"],prop)){Object.defineProperty(Module[\"ready\"],prop,{get:()=>abort(\"You are getting \"+prop+\" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js\"),set:()=>abort(\"You are setting \"+prop+\" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js\")})}});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module[\"ENVIRONMENT\"]){throw new Error(\"Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)\")}var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;if(e&&typeof e==\"object\"&&e.stack){toLog=[e,e.stack]}err(\"exiting due to exception: \"+toLog)}if(ENVIRONMENT_IS_SHELL){if(typeof process==\"object\"&&typeof require===\"function\"||typeof window==\"object\"||typeof importScripts==\"function\")throw new Error(\"not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)\");if(typeof read!=\"undefined\"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){let data;if(typeof readbuffer==\"function\"){return new Uint8Array(readbuffer(f))}data=read(f,\"binary\");assert(typeof data==\"object\");return data};readAsync=function readAsync(f,onload,onerror){setTimeout(()=>onload(readBinary(f)),0)};if(typeof scriptArgs!=\"undefined\"){arguments_=scriptArgs}else if(typeof arguments!=\"undefined\"){arguments_=arguments}if(typeof quit==\"function\"){quit_=(status,toThrow)=>{logExceptionOnExit(toThrow);quit(status)}}if(typeof print!=\"undefined\"){if(typeof console==\"undefined\")console={};console.log=print;console.warn=console.error=typeof printErr!=\"undefined\"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}if(!(typeof window==\"object\"||typeof importScripts==\"function\"))throw new Error(\"not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)\");{read_=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{throw new Error(\"environment detection error\")}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module[\"arguments\"])arguments_=Module[\"arguments\"];legacyModuleProp(\"arguments\",\"arguments_\");if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];legacyModuleProp(\"thisProgram\",\"thisProgram\");if(Module[\"quit\"])quit_=Module[\"quit\"];legacyModuleProp(\"quit\",\"quit_\");assert(typeof Module[\"memoryInitializerPrefixURL\"]==\"undefined\",\"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"pthreadMainPrefixURL\"]==\"undefined\",\"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"cdInitializerPrefixURL\"]==\"undefined\",\"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"filePackagePrefixURL\"]==\"undefined\",\"Module.filePackagePrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"read\"]==\"undefined\",\"Module.read option was removed (modify read_ in JS)\");assert(typeof Module[\"readAsync\"]==\"undefined\",\"Module.readAsync option was removed (modify readAsync in JS)\");assert(typeof Module[\"readBinary\"]==\"undefined\",\"Module.readBinary option was removed (modify readBinary in JS)\");assert(typeof Module[\"setWindowTitle\"]==\"undefined\",\"Module.setWindowTitle option was removed (modify setWindowTitle in JS)\");assert(typeof Module[\"TOTAL_MEMORY\"]==\"undefined\",\"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY\");legacyModuleProp(\"read\",\"read_\");legacyModuleProp(\"readAsync\",\"readAsync\");legacyModuleProp(\"readBinary\",\"readBinary\");legacyModuleProp(\"setWindowTitle\",\"setWindowTitle\");assert(!ENVIRONMENT_IS_WORKER,\"worker environment detected but not enabled at build time. Add 'worker' to `-sENVIRONMENT` to enable.\");assert(!ENVIRONMENT_IS_NODE,\"node environment detected but not enabled at build time. Add 'node' to `-sENVIRONMENT` to enable.\");assert(!ENVIRONMENT_IS_SHELL,\"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable.\");var POINTER_SIZE=4;function legacyModuleProp(prop,newName){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get:function(){abort(\"Module.\"+prop+\" has been replaced with plain \"+newName+\" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)\")}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort(\"`Module.\"+prop+\"` was supplied but `\"+prop+\"` not included in INCOMING_MODULE_JS_API\")}}function isExportedByForceFilesystem(name){return name===\"FS_createPath\"||name===\"FS_createDataFile\"||name===\"FS_createPreloadedFile\"||name===\"FS_unlink\"||name===\"addRunDependency\"||name===\"FS_createLazyFile\"||name===\"FS_createDevice\"||name===\"removeRunDependency\"}function missingLibrarySymbol(sym){if(typeof globalThis!==\"undefined\"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get:function(){var msg=\"`\"+sym+\"` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line\";if(isExportedByForceFilesystem(sym)){msg+=\". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you\"}warnOnce(msg);return undefined}})}}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get:function(){var msg=\"'\"+sym+\"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)\";if(isExportedByForceFilesystem(sym)){msg+=\". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you\"}abort(msg)}})}}var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];legacyModuleProp(\"wasmBinary\",\"wasmBinary\");var noExitRuntime=Module[\"noExitRuntime\"]||true;legacyModuleProp(\"noExitRuntime\",\"noExitRuntime\");if(typeof WebAssembly!=\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(\"Assertion failed\"+(text?\": \"+text:\"\"))}}var UTF8Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{if((u0&248)!=240)warnOnce(\"Invalid UTF-8 leading byte 0x\"+u0.toString(16)+\" encountered when deserializing a UTF-8 string in wasm memory to a JS string!\");u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;if(u>1114111)warnOnce(\"Invalid Unicode code point 0x\"+u.toString(16)+\" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).\");heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){assert(typeof maxBytesToWrite==\"number\",\"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!\");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module[\"HEAP8\"]=HEAP8=new Int8Array(buf);Module[\"HEAP16\"]=HEAP16=new Int16Array(buf);Module[\"HEAP32\"]=HEAP32=new Int32Array(buf);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buf);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buf);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buf);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buf);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buf)}var TOTAL_STACK=65536;if(Module[\"TOTAL_STACK\"])assert(TOTAL_STACK===Module[\"TOTAL_STACK\"],\"the stack size can no longer be determined at runtime\");var INITIAL_MEMORY=Module[\"INITIAL_MEMORY\"]||262144;legacyModuleProp(\"INITIAL_MEMORY\",\"INITIAL_MEMORY\");assert(INITIAL_MEMORY>=TOTAL_STACK,\"INITIAL_MEMORY should be larger than TOTAL_STACK, was \"+INITIAL_MEMORY+\"! (TOTAL_STACK=\"+TOTAL_STACK+\")\");assert(typeof Int32Array!=\"undefined\"&&typeof Float64Array!==\"undefined\"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,\"JS engine does not provide full typed array support\");assert(!Module[\"wasmMemory\"],\"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally\");assert(INITIAL_MEMORY==262144,\"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically\");var wasmTable;function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort(\"Stack overflow! Stack cookie has been overwritten at 0x\"+max.toString(16)+\", expected hex dwords 0x89BACDFE and 0x2135467, but received 0x\"+cookie2.toString(16)+\" 0x\"+cookie1.toString(16))}if(HEAPU32[0]!==1668509029)abort(\"Runtime error: The application has corrupted its heap memory area (address zero)!\")}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw\"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)\"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();callRuntimeCallbacks(__ATINIT__)}function postRun(){checkStackCookie();if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}assert(Math.imul,\"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill\");assert(Math.fround,\"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill\");assert(Math.clz32,\"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill\");assert(Math.trunc,\"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill\");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=\"undefined\"){runDependencyWatcher=setInterval(function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err(\"still waiting on run dependencies:\")}err(\"dependency: \"+dep)}if(shown){err(\"(end of list)\")}},1e4)}}else{err(\"warning: run dependency added without ID\")}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err(\"warning: run dependency removed without ID\")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){{if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}}what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var FS={error:function(){abort(\"Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM\")},init:function(){FS.error()},createDataFile:function(){FS.error()},createPreloadedFile:function(){FS.error()},createLazyFile:function(){FS.error()},open:function(){FS.error()},mkdev:function(){FS.error()},registerDevice:function(){FS.error()},analyzePath:function(){FS.error()},loadFilesFromDB:function(){FS.error()},ErrnoError:function ErrnoError(){FS.error()}};Module[\"FS_createDataFile\"]=FS.createDataFile;Module[\"FS_createPreloadedFile\"]=FS.createPreloadedFile;var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith(\"file://\")}function createExportWrapper(name,fixedasm){return function(){var displayName=name;var asm=fixedasm;if(!fixedasm){asm=Module[\"asm\"]}assert(runtimeInitialized,\"native function `\"+displayName+\"` called before runtime initialization\");if(!asm[name]){assert(asm[name],\"exported native function `\"+displayName+\"` not found\")}return asm[name].apply(null,arguments)}}var wasmBinaryFile;wasmBinaryFile=\"laz-perf.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw\"both async and sync fetching of the wasm failed\"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==\"function\"){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){if(!response[\"ok\"]){throw\"failed to load wasm binary file at '\"+wasmBinaryFile+\"'\"}return response[\"arrayBuffer\"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={\"env\":asmLibraryArg,\"wasi_snapshot_preview1\":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module[\"asm\"]=exports;wasmMemory=Module[\"asm\"][\"memory\"];assert(wasmMemory,\"memory not found in wasm exports\");updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module[\"asm\"][\"__indirect_function_table\"];assert(wasmTable,\"table not found in wasm exports\");addOnInit(Module[\"asm\"][\"__wasm_call_ctors\"]);removeRunDependency(\"wasm-instantiate\")}addRunDependency(\"wasm-instantiate\");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,\"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?\");trueModule=null;receiveInstance(result[\"instance\"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err(\"failed to asynchronously prepare wasm: \"+reason);if(isFileURI(wasmBinaryFile)){err(\"warning: Loading from a file URI (\"+wasmBinaryFile+\") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing\")}abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==\"function\"&&!isDataURI(wasmBinaryFile)&&typeof fetch==\"function\"){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err(\"wasm streaming compile failed: \"+reason);err(\"falling back to ArrayBuffer instantiation\");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module[\"instantiateWasm\"]){try{var exports=Module[\"instantiateWasm\"](info,receiveInstance);return exports}catch(e){err(\"Module.instantiateWasm callback failed with error: \"+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function demangle(func){warnOnce(\"warning: build with -sDEMANGLE_SUPPORT to link in libcxxabi demangling\");return func}function demangleAll(text){var regex=/\\b_Z[\\w\\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+\" [\"+x+\"]\"})}function jsStackTrace(){var error=new Error;if(!error.stack){try{throw new Error}catch(e){error=e}if(!error.stack){return\"(no stack trace available)\"}}return error.stack.toString()}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}function writeArrayToMemory(array,buffer){assert(array.length>=0,\"writeArrayToMemory array must have a length (should be an array or typed array)\");HEAP8.set(array,buffer)}function ___cxa_allocate_exception(size){return _malloc(size+24)+24}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;assert(prev>0);return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr+\" - Exception catching is disabled, this exception cannot be caught. Compile with -sNO_DISABLE_EXCEPTION_CATCHING or -sEXCEPTION_CATCHING_ALLOWED=[..] to catch.\"}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(\"Unknown type size: \"+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret=\"\";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return\"_unknown\"}name=name.replace(/[^a-zA-Z0-9_]/g,\"$\");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return\"_\"+name}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return function(){\"use strict\";return body.apply(this,arguments)}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+\"\\n\"+stack.replace(/^Error(:[^\\n]*)?\\n/,\"\")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+\": \"+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError(\"Mismatched type converter count\")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach((dt,i)=>{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options={}){if(!(\"argPackAdvance\"in registeredInstance)){throw new TypeError(\"registerType registeredInstance requires argPackAdvance\")}var name=registeredInstance.name;if(!rawType){throwBindingError('type \"'+name+'\" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(\"Cannot register type '\"+name+\"' twice\")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(wt){return!!wt},\"toWireType\":function(destructors,o){return o?trueValue:falseValue},\"argPackAdvance\":8,\"readValueFromPointer\":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError(\"Unknown boolean type size: \"+name)}return this[\"fromWireType\"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+\" instance already deleted\")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj[\"delete\"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module[\"getInheritedInstanceCount\"]=getInheritedInstanceCount;Module[\"getLiveInheritedInstances\"]=getLiveInheritedInstances;Module[\"flushPendingDeletes\"]=flushPendingDeletes;Module[\"setDelayFunction\"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError(\"ptr should not be undefined\")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError(\"makeClassHandle requires ptr and ptrType\")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError(\"Both smartPtrType and smartPtr must be specified\")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance[\"clone\"]()}else{var rv=registeredInstance[\"clone\"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if(\"undefined\"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{console.warn(info.leakWarning.stack.replace(/^Error: /,\"\"));releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};var cls=$$.ptrType.registeredClass;info.leakWarning=new Error(\"Embind found a leaked C++ instance \"+cls.name+\" <0x\"+$$.ptr.toString(16)+\">.\\n\"+\"We'll free it automatically in this case, but this functionality is not reliable across various environments.\\n\"+\"Make sure to invoke .delete() manually once you're done with the instance instead.\\n\"+\"Originally allocated\");if(\"captureStackTrace\"in Error){Error.captureStackTrace(info.leakWarning,RegisteredPointer_fromWireType)}finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype[\"isAliasOf\"]=ClassHandle_isAliasOf;ClassHandle.prototype[\"clone\"]=ClassHandle_clone;ClassHandle.prototype[\"delete\"]=ClassHandle_delete;ClassHandle.prototype[\"isDeleted\"]=ClassHandle_isDeleted;ClassHandle.prototype[\"deleteLater\"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(\"Function '\"+humanName+\"' called with an invalid number of arguments (\"+arguments.length+\") - expects one of (\"+proto[methodName].overloadTable+\")!\")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(\"Cannot register public name '\"+name+\"' twice\")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(\"Cannot register multiple overloads of a function with the same number of arguments (\"+numArguments+\")!\")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(\"Expected null or instance of \"+desiredClass.name+\", got an instance of \"+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(\"null is not a valid \"+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass \"'+embindRepr(handle)+'\" as a '+this.name)}if(!handle.$$.ptr){throwBindingError(\"Cannot pass deleted object as a pointer of type \"+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(\"null is not a valid \"+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass \"'+embindRepr(handle)+'\" as a '+this.name)}if(!handle.$$.ptr){throwBindingError(\"Cannot pass deleted object as a pointer of type \"+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(\"Cannot convert argument of type \"+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+\" to parameter type \"+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError(\"Passing raw pointer to smart pointer is illegal\")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(\"Cannot convert argument of type \"+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+\" to parameter type \"+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle[\"clone\"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle[\"delete\"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError(\"Unsupporting sharing policy\")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(\"null is not a valid \"+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass \"'+embindRepr(handle)+'\" as a '+this.name)}if(!handle.$$.ptr){throwBindingError(\"Cannot pass deleted object as a pointer of type \"+this.name)}if(handle.$$.ptrType.isConst){throwBindingError(\"Cannot convert argument of type \"+handle.$$.ptrType.name+\" to parameter type \"+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this[\"fromWireType\"](HEAP32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle[\"delete\"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype[\"argPackAdvance\"]=8;RegisteredPointer.prototype[\"readValueFromPointer\"]=simpleReadValueFromPointer;RegisteredPointer.prototype[\"deleteObject\"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype[\"fromWireType\"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&&registeredClass.baseClass===undefined){if(isConst){this[\"toWireType\"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this[\"toWireType\"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this[\"toWireType\"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError(\"Replacing nonexistant public symbol\")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){assert(\"dynCall_\"+sig in Module,\"bad function pointer type - no table for sig '\"+sig+\"'\");if(args&&args.length){assert(args.length===sig.substring(1).replace(/j/g,\"--\").length)}else{assert(sig.length==1)}var f=Module[\"dynCall_\"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}assert(wasmTable.get(funcPtr)==func,\"JavaScript-side Wasm function table mirror is out of date!\");return func}function dynCall(sig,ptr,args){if(sig.includes(\"j\")){return dynCallLegacy(sig,ptr,args)}assert(getWasmTableEntry(ptr),\"missing table entry in dynCall: \"+ptr);var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){assert(sig.includes(\"j\")||sig.includes(\"p\"),\"getDynCaller should only be called with i64 sigs\");var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes(\"j\")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!=\"function\"){throwBindingError(\"unknown function pointer with signature \"+signature+\": \"+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+\": \"+unboundTypes.map(getTypeName).join([\", \"]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(\"Cannot construct \"+name+\" due to unbound types\",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError(\"Use 'new' to construct \"+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+\" has no accessible constructor\")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(\"Tried to invoke ctor of \"+name+\" with invalid number of parameters (\"+arguments.length+\") - expected (\"+Object.keys(registeredClass.constructor_body).toString()+\") parameters instead!\")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+\"*\",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+\" const*\",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAPU32[firstElement+i*4>>2])}return array}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError(\"argTypes array size mismatch! Must at least get return value and 'this' types!\")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!==\"void\";var expectedArgCount=argCount-2;var argsWired=new Array(expectedArgCount);var invokerFuncArgs=[];var destructors=[];return function(){if(arguments.length!==expectedArgCount){throwBindingError(\"function \"+humanName+\" called with \"+arguments.length+\" arguments, expected \"+expectedArgCount+\" args!\")}destructors.length=0;var thisWired;invokerFuncArgs.length=isClassMethodFunc?2:1;invokerFuncArgs[0]=cppTargetFunc;if(isClassMethodFunc){thisWired=argTypes[1][\"toWireType\"](destructors,this);invokerFuncArgs[1]=thisWired}for(var i=0;i<expectedArgCount;++i){argsWired[i]=argTypes[i+2][\"toWireType\"](destructors,arguments[i]);invokerFuncArgs.push(argsWired[i])}var rv=cppInvokerFunc.apply(null,invokerFuncArgs);function onDone(rv){if(needsDestructorStack){runDestructors(destructors)}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;i++){var param=i===1?thisWired:argsWired[i-2];if(argTypes[i].destructorFunction!==null){argTypes[i].destructorFunction(param)}}}if(returns){return argTypes[0][\"fromWireType\"](rv)}}return onDone(rv)}}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){assert(argCount>0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=\"constructor \"+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(\"Cannot register multiple constructors with identical number of parameters (\"+(argCount-1)+\") for class '\"+classType.name+\"'! Overload resolution is currently only performed using the parameter count, not actual type info!\")}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(\"Cannot construct \"+classType.name+\" due to unbound types\",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+\".\"+methodName;if(methodName.startsWith(\"@@\")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(\"Cannot call \"+humanName+\" due to unbound types\",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module[\"count_emval_handles\"]=count_emval_handles;Module[\"get_first_emval\"]=get_first_emval}var Emval={toValue:handle=>{if(!handle){throwBindingError(\"Cannot use deleted val. handle = \"+handle)}return emval_handle_array[handle].value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},\"toWireType\":function(destructors,value){return Emval.toHandle(value)},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return\"null\"}var t=typeof v;if(t===\"object\"||t===\"array\"||t===\"function\"){return v.toString()}else{return\"\"+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this[\"fromWireType\"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this[\"fromWireType\"](HEAPF64[pointer>>3])};default:throw new TypeError(\"Unknown float type: \"+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(value){return value},\"toWireType\":function(destructors,value){if(typeof value!=\"number\"&&typeof value!=\"boolean\"){throw new TypeError('Cannot convert \"'+embindRepr(value)+'\" to '+this.name)}return value},\"argPackAdvance\":8,\"readValueFromPointer\":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError(\"Unknown integer type: \"+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<<bitshift>>>bitshift}var isUnsignedType=name.includes(\"unsigned\");var checkAssertions=(value,toTypeName)=>{if(typeof value!=\"number\"&&typeof value!=\"boolean\"){throw new TypeError('Cannot convert \"'+embindRepr(value)+'\" to '+toTypeName)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number \"'+embindRepr(value)+'\" from JS side to C/C++ side to an argument of type \"'+name+'\", which is outside the valid range ['+minRange+\", \"+maxRange+\"]!\")}};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,\"fromWireType\":fromWireType,\"toWireType\":toWireType,\"argPackAdvance\":8,\"readValueFromPointer\":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":decodeMemoryView,\"argPackAdvance\":8,\"readValueFromPointer\":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name===\"std::string\";registerType(rawType,{name:name,\"fromWireType\":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[payload+i])}str=a.join(\"\")}_free(value);return str},\"toWireType\":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var length;var valueIsOfTypeString=typeof value==\"string\";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError(\"Cannot pass non-string to std::string\")}if(stdStringIsUTF8&&valueIsOfTypeString){length=lengthBytesUTF8(value)}else{length=value.length}var base=_malloc(4+length+1);var ptr=base+4;HEAPU32[base>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError(\"String has UTF-16 code units that do not fit in 8 bits\")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+i]=value[i]}}}if(destructors!==null){destructors.push(_free,base)}return base},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}var UTF16Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf-16le\"):undefined;function UTF16ToString(ptr,maxBytesToRead){assert(ptr%2==0,\"Pointer passed to UTF16ToString must be aligned to two bytes!\");var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var str=\"\";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}}function stringToUTF16(str,outPtr,maxBytesToWrite){assert(outPtr%2==0,\"Pointer passed to stringToUTF16 must be aligned to two bytes!\");assert(typeof maxBytesToWrite==\"number\",\"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!\");if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){assert(ptr%4==0,\"Pointer passed to UTF32ToString must be aligned to four bytes!\");var i=0;var str=\"\";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){assert(outPtr%4==0,\"Pointer passed to stringToUTF32 must be aligned to four bytes!\");assert(typeof maxBytesToWrite==\"number\",\"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!\");if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,\"fromWireType\":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},\"toWireType\":function(destructors,value){if(!(typeof value==\"string\")){throwBindingError(\"Cannot pass non-string to C++ string type \"+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,\"argPackAdvance\":0,\"fromWireType\":function(){return undefined},\"toWireType\":function(destructors,o){return undefined}})}function _abort(){abort(\"native code called abort()\")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){err(\"emscripten_realloc_buffer: Attempted to grow heap from \"+buffer.byteLength+\" bytes to \"+size+\" bytes, but got error: \"+e)}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err(\"Cannot enlarge memory, asked to go up to \"+requestedSize+\" bytes, but the limit is \"+maxHeapSize+\" bytes!\");return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}err(\"Failed to grow the heap from \"+oldSize+\" bytes to \"+newSize+\" bytes, not enough memory!\");return false}var ENV={};function getExecutableName(){return thisProgram||\"./this.program\"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\";var env={\"USER\":\"web_user\",\"LOGNAME\":\"web_user\",\"PATH\":\"/\",\"PWD\":\"/\",\"HOME\":\"/home/web_user\",\"LANG\":lang,\"_\":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+\"=\"+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){assert(str.charCodeAt(i)===(str.charCodeAt(i)&255));HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var SYSCALLS={varargs:undefined,get:function(){assert(SYSCALLS.varargs!=undefined);SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){abort(\"fd_close called without SYSCALLS_REQUIRE_FILESYSTEM\")}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function flush_NO_FILESYSTEM(){_fflush(0);if(printCharBuffers[1].length)printChar(1,10);if(printCharBuffers[2].length)printChar(2,10)}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j])}num+=len}HEAPU32[pnum>>2]=num;return 0}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):\"\"};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_1[rule])}var WEEKDAYS=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var MONTHS=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function leadingSomething(value,digits,character){var str=typeof value==\"number\"?value.toString():value||\"\";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,\"0\")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={\"%a\":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},\"%A\":function(date){return WEEKDAYS[date.tm_wday]},\"%b\":function(date){return MONTHS[date.tm_mon].substring(0,3)},\"%B\":function(date){return MONTHS[date.tm_mon]},\"%C\":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},\"%d\":function(date){return leadingNulls(date.tm_mday,2)},\"%e\":function(date){return leadingSomething(date.tm_mday,2,\" \")},\"%g\":function(date){return getWeekBasedYear(date).toString().substring(2)},\"%G\":function(date){return getWeekBasedYear(date)},\"%H\":function(date){return leadingNulls(date.tm_hour,2)},\"%I\":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},\"%j\":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},\"%m\":function(date){return leadingNulls(date.tm_mon+1,2)},\"%M\":function(date){return leadingNulls(date.tm_min,2)},\"%n\":function(){return\"\\n\"},\"%p\":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return\"AM\"}return\"PM\"},\"%S\":function(date){return leadingNulls(date.tm_sec,2)},\"%t\":function(){return\"\\t\"},\"%u\":function(date){return date.tm_wday||7},\"%U\":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},\"%V\":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},\"%w\":function(date){return date.tm_wday},\"%W\":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},\"%y\":function(date){return(date.tm_year+1900).toString().substring(2)},\"%Y\":function(date){return date.tm_year+1900},\"%z\":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?\"+\":\"-\")+String(\"0000\"+off).slice(-4)},\"%Z\":function(date){return date.tm_zone},\"%%\":function(){return\"%\"}};pattern=pattern.replace(/%%/g,\"\\0\\0\");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\\0\\0/g,\"%\");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function uleb128Encode(n,target){assert(n<16384);if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}}function sigToWasmTypes(sig){var typeNames={\"i\":\"i32\",\"j\":\"i64\",\"f\":\"f32\",\"d\":\"f64\",\"p\":\"i32\"};var type={parameters:[],results:sig[0]==\"v\"?[]:[typeNames[sig[0]]]};for(var i=1;i<sig.length;++i){assert(sig[i]in typeNames,\"invalid signature char: \"+sig[i]);type.parameters.push(typeNames[sig[i]])}return type}function convertJsFunctionToWasm(func,sig){if(typeof WebAssembly.Function==\"function\"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1,96];var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={\"i\":127,\"p\":127,\"j\":126,\"f\":125,\"d\":124};uleb128Encode(sigParam.length,typeSectionBody);for(var i=0;i<sigParam.length;++i){assert(sigParam[i]in typeCodes,\"invalid signature char: \"+sigParam[i]);typeSectionBody.push(typeCodes[sigParam[i]])}if(sigRet==\"v\"){typeSectionBody.push(0)}else{typeSectionBody.push(1,typeCodes[sigRet])}var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push.apply(bytes,typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{\"e\":{\"f\":func}});var wrappedFunc=instance.exports[\"f\"];return wrappedFunc}function updateTableMap(offset,count){if(functionsInTableMap){for(var i=offset;i<offset+count;i++){var item=getWasmTableEntry(i);if(item){functionsInTableMap.set(item,i)}}}}var functionsInTableMap=undefined;var freeTableIndexes=[];function getEmptyTableSlot(){if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw\"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.\"}return wasmTable.length-1}function setWasmTableEntry(idx,func){wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)}var ALLOC_STACK=1;function getCFunc(ident){var func=Module[\"_\"+ident];assert(func,\"Cannot call unknown function \"+ident+\", make sure it is exported\");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={\"string\":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},\"array\":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType===\"string\"){return UTF8ToString(ret)}if(returnType===\"boolean\")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!==\"array\",'Return type should not be \"array\".');if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret}embind_init_charCodes();BindingError=Module[\"BindingError\"]=extendError(Error,\"BindingError\");InternalError=Module[\"InternalError\"]=extendError(Error,\"InternalError\");init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module[\"UnboundTypeError\"]=extendError(Error,\"UnboundTypeError\");init_emval();var ASSERTIONS=true;function checkIncomingModuleAPI(){ignoredModuleProp(\"fetchSettings\")}var asmLibraryArg={\"__cxa_allocate_exception\":___cxa_allocate_exception,\"__cxa_throw\":___cxa_throw,\"_embind_register_bigint\":__embind_register_bigint,\"_embind_register_bool\":__embind_register_bool,\"_embind_register_class\":__embind_register_class,\"_embind_register_class_constructor\":__embind_register_class_constructor,\"_embind_register_class_function\":__embind_register_class_function,\"_embind_register_emval\":__embind_register_emval,\"_embind_register_float\":__embind_register_float,\"_embind_register_integer\":__embind_register_integer,\"_embind_register_memory_view\":__embind_register_memory_view,\"_embind_register_std_string\":__embind_register_std_string,\"_embind_register_std_wstring\":__embind_register_std_wstring,\"_embind_register_void\":__embind_register_void,\"abort\":_abort,\"emscripten_memcpy_big\":_emscripten_memcpy_big,\"emscripten_resize_heap\":_emscripten_resize_heap,\"environ_get\":_environ_get,\"environ_sizes_get\":_environ_sizes_get,\"fd_close\":_fd_close,\"fd_seek\":_fd_seek,\"fd_write\":_fd_write,\"strftime_l\":_strftime_l};var asm=createWasm();var ___wasm_call_ctors=Module[\"___wasm_call_ctors\"]=createExportWrapper(\"__wasm_call_ctors\");var _malloc=Module[\"_malloc\"]=createExportWrapper(\"malloc\");var _free=Module[\"_free\"]=createExportWrapper(\"free\");var ___getTypeName=Module[\"___getTypeName\"]=createExportWrapper(\"__getTypeName\");var __embind_initialize_bindings=Module[\"__embind_initialize_bindings\"]=createExportWrapper(\"_embind_initialize_bindings\");var ___errno_location=Module[\"___errno_location\"]=createExportWrapper(\"__errno_location\");var _fflush=Module[\"_fflush\"]=createExportWrapper(\"fflush\");var _emscripten_stack_init=Module[\"_emscripten_stack_init\"]=function(){return(_emscripten_stack_init=Module[\"_emscripten_stack_init\"]=Module[\"asm\"][\"emscripten_stack_init\"]).apply(null,arguments)};var _emscripten_stack_get_free=Module[\"_emscripten_stack_get_free\"]=function(){return(_emscripten_stack_get_free=Module[\"_emscripten_stack_get_free\"]=Module[\"asm\"][\"emscripten_stack_get_free\"]).apply(null,arguments)};var _emscripten_stack_get_base=Module[\"_emscripten_stack_get_base\"]=function(){return(_emscripten_stack_get_base=Module[\"_emscripten_stack_get_base\"]=Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null,arguments)};var _emscripten_stack_get_end=Module[\"_emscripten_stack_get_end\"]=function(){return(_emscripten_stack_get_end=Module[\"_emscripten_stack_get_end\"]=Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null,arguments)};var stackSave=Module[\"stackSave\"]=createExportWrapper(\"stackSave\");var stackRestore=Module[\"stackRestore\"]=createExportWrapper(\"stackRestore\");var stackAlloc=Module[\"stackAlloc\"]=createExportWrapper(\"stackAlloc\");var ___cxa_is_pointer_type=Module[\"___cxa_is_pointer_type\"]=createExportWrapper(\"__cxa_is_pointer_type\");var dynCall_viijii=Module[\"dynCall_viijii\"]=createExportWrapper(\"dynCall_viijii\");var dynCall_ji=Module[\"dynCall_ji\"]=createExportWrapper(\"dynCall_ji\");var dynCall_jiji=Module[\"dynCall_jiji\"]=createExportWrapper(\"dynCall_jiji\");var dynCall_iiiiij=Module[\"dynCall_iiiiij\"]=createExportWrapper(\"dynCall_iiiiij\");var dynCall_iiiiijj=Module[\"dynCall_iiiiijj\"]=createExportWrapper(\"dynCall_iiiiijj\");var dynCall_iiiiiijj=Module[\"dynCall_iiiiiijj\"]=createExportWrapper(\"dynCall_iiiiiijj\");var unexportedRuntimeSymbols=[\"run\",\"UTF8ArrayToString\",\"UTF8ToString\",\"stringToUTF8Array\",\"stringToUTF8\",\"lengthBytesUTF8\",\"addOnPreRun\",\"addOnInit\",\"addOnPreMain\",\"addOnExit\",\"addOnPostRun\",\"addRunDependency\",\"removeRunDependency\",\"FS_createFolder\",\"FS_createPath\",\"FS_createDataFile\",\"FS_createPreloadedFile\",\"FS_createLazyFile\",\"FS_createLink\",\"FS_createDevice\",\"FS_unlink\",\"getLEB\",\"getFunctionTables\",\"alignFunctionTables\",\"registerFunctions\",\"prettyPrint\",\"getCompilerSetting\",\"print\",\"printErr\",\"callMain\",\"abort\",\"keepRuntimeAlive\",\"wasmMemory\",\"stackAlloc\",\"stackSave\",\"stackRestore\",\"getTempRet0\",\"setTempRet0\",\"writeStackCookie\",\"checkStackCookie\",\"ptrToString\",\"zeroMemory\",\"stringToNewUTF8\",\"exitJS\",\"getHeapMax\",\"emscripten_realloc_buffer\",\"ENV\",\"ERRNO_CODES\",\"ERRNO_MESSAGES\",\"setErrNo\",\"inetPton4\",\"inetNtop4\",\"inetPton6\",\"inetNtop6\",\"readSockaddr\",\"writeSockaddr\",\"DNS\",\"getHostByName\",\"Protocols\",\"Sockets\",\"getRandomDevice\",\"warnOnce\",\"traverseStack\",\"UNWIND_CACHE\",\"convertPCtoSourceLocation\",\"readAsmConstArgsArray\",\"readAsmConstArgs\",\"mainThreadEM_ASM\",\"jstoi_q\",\"jstoi_s\",\"getExecutableName\",\"listenOnce\",\"autoResumeAudioContext\",\"dynCallLegacy\",\"getDynCaller\",\"dynCall\",\"handleException\",\"runtimeKeepalivePush\",\"runtimeKeepalivePop\",\"callUserCallback\",\"maybeExit\",\"safeSetTimeout\",\"asmjsMangle\",\"asyncLoad\",\"alignMemory\",\"mmapAlloc\",\"writeI53ToI64\",\"writeI53ToI64Clamped\",\"writeI53ToI64Signaling\",\"writeI53ToU64Clamped\",\"writeI53ToU64Signaling\",\"readI53FromI64\",\"readI53FromU64\",\"convertI32PairToI53\",\"convertI32PairToI53Checked\",\"convertU32PairToI53\",\"getCFunc\",\"ccall\",\"cwrap\",\"uleb128Encode\",\"sigToWasmTypes\",\"convertJsFunctionToWasm\",\"freeTableIndexes\",\"functionsInTableMap\",\"getEmptyTableSlot\",\"updateTableMap\",\"addFunction\",\"removeFunction\",\"reallyNegative\",\"unSign\",\"strLen\",\"reSign\",\"formatString\",\"setValue\",\"getValue\",\"PATH\",\"PATH_FS\",\"intArrayFromString\",\"intArrayToString\",\"AsciiToString\",\"stringToAscii\",\"UTF16Decoder\",\"UTF16ToString\",\"stringToUTF16\",\"lengthBytesUTF16\",\"UTF32ToString\",\"stringToUTF32\",\"lengthBytesUTF32\",\"allocateUTF8\",\"allocateUTF8OnStack\",\"writeStringToMemory\",\"writeArrayToMemory\",\"writeAsciiToMemory\",\"SYSCALLS\",\"getSocketFromFD\",\"getSocketAddress\",\"JSEvents\",\"registerKeyEventCallback\",\"specialHTMLTargets\",\"maybeCStringToJsString\",\"findEventTarget\",\"findCanvasEventTarget\",\"getBoundingClientRect\",\"fillMouseEventData\",\"registerMouseEventCallback\",\"registerWheelEventCallback\",\"registerUiEventCallback\",\"registerFocusEventCallback\",\"fillDeviceOrientationEventData\",\"registerDeviceOrientationEventCallback\",\"fillDeviceMotionEventData\",\"registerDeviceMotionEventCallback\",\"screenOrientation\",\"fillOrientationChangeEventData\",\"registerOrientationChangeEventCallback\",\"fillFullscreenChangeEventData\",\"registerFullscreenChangeEventCallback\",\"JSEvents_requestFullscreen\",\"JSEvents_resizeCanvasForFullscreen\",\"registerRestoreOldStyle\",\"hideEverythingExceptGivenElement\",\"restoreHiddenElements\",\"setLetterbox\",\"currentFullscreenStrategy\",\"restoreOldWindowedStyle\",\"softFullscreenResizeWebGLRenderTarget\",\"doRequestFullscreen\",\"fillPointerlockChangeEventData\",\"registerPointerlockChangeEventCallback\",\"registerPointerlockErrorEventCallback\",\"requestPointerLock\",\"fillVisibilityChangeEventData\",\"registerVisibilityChangeEventCallback\",\"registerTouchEventCallback\",\"fillGamepadEventData\",\"registerGamepadEventCallback\",\"registerBeforeUnloadEventCallback\",\"fillBatteryEventData\",\"battery\",\"registerBatteryEventCallback\",\"setCanvasElementSize\",\"getCanvasElementSize\",\"demangle\",\"demangleAll\",\"jsStackTrace\",\"stackTrace\",\"ExitStatus\",\"getEnvStrings\",\"checkWasiClock\",\"flush_NO_FILESYSTEM\",\"dlopenMissingError\",\"setImmediateWrapped\",\"clearImmediateWrapped\",\"polyfillSetImmediate\",\"uncaughtExceptionCount\",\"exceptionLast\",\"exceptionCaught\",\"ExceptionInfo\",\"exception_addRef\",\"exception_decRef\",\"Browser\",\"setMainLoop\",\"wget\",\"FS\",\"MEMFS\",\"TTY\",\"PIPEFS\",\"SOCKFS\",\"_setNetworkCallback\",\"tempFixedLengthArray\",\"miniTempWebGLFloatBuffers\",\"heapObjectForWebGLType\",\"heapAccessShiftForWebGLHeap\",\"GL\",\"emscriptenWebGLGet\",\"computeUnpackAlignedImageSize\",\"emscriptenWebGLGetTexPixelData\",\"emscriptenWebGLGetUniform\",\"webglGetUniformLocation\",\"webglPrepareUniformLocationsBeforeFirstUse\",\"webglGetLeftBracePos\",\"emscriptenWebGLGetVertexAttrib\",\"writeGLArray\",\"AL\",\"SDL_unicode\",\"SDL_ttfContext\",\"SDL_audio\",\"SDL\",\"SDL_gfx\",\"GLUT\",\"EGL\",\"GLFW_Window\",\"GLFW\",\"GLEW\",\"IDBStore\",\"runAndAbortIfError\",\"ALLOC_NORMAL\",\"ALLOC_STACK\",\"allocate\",\"InternalError\",\"BindingError\",\"UnboundTypeError\",\"PureVirtualError\",\"init_embind\",\"throwInternalError\",\"throwBindingError\",\"throwUnboundTypeError\",\"ensureOverloadTable\",\"exposePublicSymbol\",\"replacePublicSymbol\",\"extendError\",\"createNamedFunction\",\"embindRepr\",\"registeredInstances\",\"getBasestPointer\",\"registerInheritedInstance\",\"unregisterInheritedInstance\",\"getInheritedInstance\",\"getInheritedInstanceCount\",\"getLiveInheritedInstances\",\"registeredTypes\",\"awaitingDependencies\",\"typeDependencies\",\"registeredPointers\",\"registerType\",\"whenDependentTypesAreResolved\",\"embind_charCodes\",\"embind_init_charCodes\",\"readLatin1String\",\"getTypeName\",\"heap32VectorToArray\",\"requireRegisteredType\",\"getShiftFromSize\",\"integerReadValueFromPointer\",\"enumReadValueFromPointer\",\"floatReadValueFromPointer\",\"simpleReadValueFromPointer\",\"runDestructors\",\"new_\",\"craftInvokerFunction\",\"embind__requireFunction\",\"tupleRegistrations\",\"structRegistrations\",\"genericPointerToWireType\",\"constNoSmartPtrRawPointerToWireType\",\"nonConstNoSmartPtrRawPointerToWireType\",\"init_RegisteredPointer\",\"RegisteredPointer\",\"RegisteredPointer_getPointee\",\"RegisteredPointer_destructor\",\"RegisteredPointer_deleteObject\",\"RegisteredPointer_fromWireType\",\"runDestructor\",\"releaseClassHandle\",\"finalizationRegistry\",\"detachFinalizer_deps\",\"detachFinalizer\",\"attachFinalizer\",\"makeClassHandle\",\"init_ClassHandle\",\"ClassHandle\",\"ClassHandle_isAliasOf\",\"throwInstanceAlreadyDeleted\",\"ClassHandle_clone\",\"ClassHandle_delete\",\"deletionQueue\",\"ClassHandle_isDeleted\",\"ClassHandle_deleteLater\",\"flushPendingDeletes\",\"delayFunction\",\"setDelayFunction\",\"RegisteredClass\",\"shallowCopyInternalPointer\",\"downcastPointer\",\"upcastPointer\",\"validateThis\",\"char_0\",\"char_9\",\"makeLegalFunctionName\",\"emval_handle_array\",\"emval_free_list\",\"emval_symbols\",\"init_emval\",\"count_emval_handles\",\"get_first_emval\",\"getStringOrSymbol\",\"Emval\",\"emval_newers\",\"craftEmvalAllocator\",\"emval_get_global\",\"emval_lookupTypes\",\"emval_allocateDestructors\",\"emval_methodCallers\",\"emval_addMethodCaller\",\"emval_registeredMethods\"];unexportedRuntimeSymbols.forEach(unexportedRuntimeSymbol);var missingLibrarySymbols=[\"ptrToString\",\"zeroMemory\",\"stringToNewUTF8\",\"exitJS\",\"setErrNo\",\"inetPton4\",\"inetNtop4\",\"inetPton6\",\"inetNtop6\",\"readSockaddr\",\"writeSockaddr\",\"getHostByName\",\"getRandomDevice\",\"traverseStack\",\"convertPCtoSourceLocation\",\"readAsmConstArgs\",\"mainThreadEM_ASM\",\"jstoi_q\",\"jstoi_s\",\"listenOnce\",\"autoResumeAudioContext\",\"runtimeKeepalivePush\",\"runtimeKeepalivePop\",\"callUserCallback\",\"maybeExit\",\"safeSetTimeout\",\"asmjsMangle\",\"asyncLoad\",\"alignMemory\",\"mmapAlloc\",\"writeI53ToI64\",\"writeI53ToI64Clamped\",\"writeI53ToI64Signaling\",\"writeI53ToU64Clamped\",\"writeI53ToU64Signaling\",\"readI53FromI64\",\"readI53FromU64\",\"convertI32PairToI53\",\"convertU32PairToI53\",\"reallyNegative\",\"unSign\",\"strLen\",\"reSign\",\"formatString\",\"getSocketFromFD\",\"getSocketAddress\",\"registerKeyEventCallback\",\"maybeCStringToJsString\",\"findEventTarget\",\"findCanvasEventTarget\",\"getBoundingClientRect\",\"fillMouseEventData\",\"registerMouseEventCallback\",\"registerWheelEventCallback\",\"registerUiEventCallback\",\"registerFocusEventCallback\",\"fillDeviceOrientationEventData\",\"registerDeviceOrientationEventCallback\",\"fillDeviceMotionEventData\",\"registerDeviceMotionEventCallback\",\"screenOrientation\",\"fillOrientationChangeEventData\",\"registerOrientationChangeEventCallback\",\"fillFullscreenChangeEventData\",\"registerFullscreenChangeEventCallback\",\"JSEvents_requestFullscreen\",\"JSEvents_resizeCanvasForFullscreen\",\"registerRestoreOldStyle\",\"hideEverythingExceptGivenElement\",\"restoreHiddenElements\",\"setLetterbox\",\"softFullscreenResizeWebGLRenderTarget\",\"doRequestFullscreen\",\"fillPointerlockChangeEventData\",\"registerPointerlockChangeEventCallback\",\"registerPointerlockErrorEventCallback\",\"requestPointerLock\",\"fillVisibilityChangeEventData\",\"registerVisibilityChangeEventCallback\",\"registerTouchEventCallback\",\"fillGamepadEventData\",\"registerGamepadEventCallback\",\"registerBeforeUnloadEventCallback\",\"fillBatteryEventData\",\"battery\",\"registerBatteryEventCallback\",\"setCanvasElementSize\",\"getCanvasElementSize\",\"checkWasiClock\",\"setImmediateWrapped\",\"clearImmediateWrapped\",\"polyfillSetImmediate\",\"exception_addRef\",\"exception_decRef\",\"setMainLoop\",\"_setNetworkCallback\",\"heapObjectForWebGLType\",\"heapAccessShiftForWebGLHeap\",\"emscriptenWebGLGet\",\"computeUnpackAlignedImageSize\",\"emscriptenWebGLGetTexPixelData\",\"emscriptenWebGLGetUniform\",\"webglGetUniformLocation\",\"webglPrepareUniformLocationsBeforeFirstUse\",\"webglGetLeftBracePos\",\"emscriptenWebGLGetVertexAttrib\",\"writeGLArray\",\"SDL_unicode\",\"SDL_ttfContext\",\"SDL_audio\",\"GLFW_Window\",\"runAndAbortIfError\",\"registerInheritedInstance\",\"unregisterInheritedInstance\",\"requireRegisteredType\",\"enumReadValueFromPointer\",\"validateThis\",\"getStringOrSymbol\",\"craftEmvalAllocator\",\"emval_get_global\",\"emval_lookupTypes\",\"emval_allocateDestructors\",\"emval_addMethodCaller\"];missingLibrarySymbols.forEach(missingLibrarySymbol);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function stackCheckInit(){_emscripten_stack_init();writeStackCookie()}function run(args){args=args||arguments_;if(runDependencies>0){return}stackCheckInit();preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();assert(!Module[\"_main\"],'compiled without a main, but one is present. if you added it from JS, use Module[\"onRuntimeInitialized\"]');postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(function(){setTimeout(function(){Module[\"setStatus\"](\"\")},1);doRun()},1)}else{doRun()}checkStackCookie()}if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}run();\n\n\n return createLazPerf.ready\n}\n);\n})();\nif (typeof exports === 'object' && typeof module === 'object')\n module.exports = createLazPerf;\nelse if (typeof define === 'function' && define['amd'])\n define([], function() { return createLazPerf; });\nelse if (typeof exports === 'object')\n exports[\"createLazPerf\"] = createLazPerf;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Header = void 0;\nconst utils_1 = require(\"../utils\");\nconst constants_1 = require(\"./constants\");\nconst utils_2 = require(\"./utils\");\nexports.Header = { parse };\nfunction parse(buffer) {\n if (buffer.byteLength < constants_1.minHeaderLength) {\n throw new Error(`Invalid header: must be at least ${constants_1.minHeaderLength} bytes`);\n }\n const dv = utils_1.Binary.toDataView(buffer);\n const fileSignature = utils_1.Binary.toCString(buffer.slice(0, 4));\n if (fileSignature !== 'LASF') {\n throw new Error(`Invalid file signature: ${fileSignature}`);\n }\n const majorVersion = dv.getUint8(24);\n const minorVersion = dv.getUint8(25);\n if (majorVersion !== 1 || (minorVersion !== 2 && minorVersion !== 4)) {\n throw new Error(`Invalid version (only 1.2 and 1.4 supported): ${majorVersion}.${minorVersion}`);\n }\n const header = {\n fileSignature,\n fileSourceId: dv.getUint16(4, true),\n globalEncoding: dv.getUint16(6, true),\n projectId: (0, utils_2.formatGuid)(buffer.slice(8, 24)),\n majorVersion,\n minorVersion,\n systemIdentifier: utils_1.Binary.toCString(buffer.slice(26, 58)),\n generatingSoftware: utils_1.Binary.toCString(buffer.slice(58, 90)),\n fileCreationDayOfYear: dv.getUint16(90, true),\n fileCreationYear: dv.getUint16(92, true),\n headerLength: dv.getUint16(94, true),\n pointDataOffset: dv.getUint32(96, true),\n vlrCount: dv.getUint32(100, true),\n pointDataRecordFormat: dv.getUint8(104) & 0b1111,\n pointDataRecordLength: dv.getUint16(105, true),\n pointCount: dv.getUint32(107, true),\n pointCountByReturn: parseLegacyNumberOfPointsByReturn(buffer.slice(111, 131)),\n scale: (0, utils_2.parsePoint)(buffer.slice(131, 155)),\n offset: (0, utils_2.parsePoint)(buffer.slice(155, 179)),\n min: [\n dv.getFloat64(187, true),\n dv.getFloat64(203, true),\n dv.getFloat64(219, true),\n ],\n max: [\n dv.getFloat64(179, true),\n dv.getFloat64(195, true),\n dv.getFloat64(211, true),\n ],\n waveformDataOffset: 0,\n evlrOffset: 0,\n evlrCount: 0,\n };\n if (minorVersion == 2)\n return header;\n return {\n ...header,\n pointCount: (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, 247, true)),\n pointCountByReturn: parseNumberOfPointsByReturn(buffer.slice(255, 375)),\n waveformDataOffset: (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, 227, true)),\n evlrOffset: (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, 235, true)),\n evlrCount: dv.getUint32(243, true),\n };\n}\nfunction parseNumberOfPointsByReturn(buffer) {\n const dv = utils_1.Binary.toDataView(buffer);\n const bigs = [];\n for (let offset = 0; offset < 15 * 8; offset += 8) {\n bigs.push((0, utils_1.getBigUint64)(dv, offset, true));\n }\n return bigs.map((v) => (0, utils_1.parseBigInt)(v));\n}\nfunction parseLegacyNumberOfPointsByReturn(buffer) {\n const dv = utils_1.Binary.toDataView(buffer);\n const v = [];\n for (let offset = 0; offset < 5 * 4; offset += 4) {\n v.push(dv.getUint32(offset, true));\n }\n return v;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ept\"), exports);\n__exportStar(require(\"./hierarchy\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$worker = exports.$transferable = exports.$terminate = exports.$events = exports.$errors = void 0;\nexports.$errors = Symbol(\"thread.errors\");\nexports.$events = Symbol(\"thread.events\");\nexports.$terminate = Symbol(\"thread.terminate\");\nexports.$transferable = Symbol(\"thread.transferable\");\nexports.$worker = Symbol(\"thread.worker\");\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Copc = void 0;\nconst Las = __importStar(require(\"../las\"));\nconst utils_1 = require(\"../utils\");\nconst hierarchy_1 = require(\"./hierarchy\");\nconst info_1 = require(\"./info\");\nexports.Copc = {\n create,\n loadHierarchyPage,\n loadCompressedPointDataBuffer,\n loadPointDataBuffer,\n loadPointDataView,\n};\n/**\n * Parse the COPC header and walk VLR and EVLR metadata.\n */\nasync function create(filename) {\n const getRemote = utils_1.Getter.create(filename);\n // This is an optimization for the walking of VLRs - we'll grab a fixed size\n // buffer which is larger than the LAS header, and for subsequent requests\n // which fall within this buffer range, we can simply slice out the bytes\n // rather than making another remote fetch.\n const length = 65536;\n const promise = getRemote(0, length);\n async function get(begin, end) {\n if (end >= length)\n return getRemote(begin, end);\n const head = await promise;\n return head.slice(begin, end);\n }\n const header = Las.Header.parse(await get(0, Las.Constants.minHeaderLength));\n const vlrs = await Las.Vlr.walk(get, header);\n const infoVlr = Las.Vlr.find(vlrs, 'copc', 1);\n if (!infoVlr)\n throw new Error('COPC info VLR is required');\n const info = info_1.Info.parse(await Las.Vlr.fetch(get, infoVlr));\n let wkt;\n const wktVlr = Las.Vlr.find(vlrs, 'LASF_Projection', 2112);\n // There are a few corner-case possibilities here. Although the LAS 1.4 spec\n // says that this must be a null-terminated string, some files in the wild\n // exist with a zero content-length. We also want to consider the case of an\n // empty string which *does* include null-termination as a missing SRS.\n if (wktVlr && wktVlr.contentLength) {\n wkt = utils_1.Binary.toCString(await Las.Vlr.fetch(get, wktVlr));\n if (wkt === '')\n wkt = undefined;\n }\n let eb = [];\n const ebVlr = Las.Vlr.find(vlrs, 'LASF_Spec', 4);\n if (ebVlr)\n eb = Las.ExtraBytes.parse(await Las.Vlr.fetch(get, ebVlr));\n return { header, vlrs, info, wkt, eb };\n}\nasync function loadHierarchyPage(filename, page) {\n const get = utils_1.Getter.create(filename);\n return hierarchy_1.Hierarchy.load(get, page);\n}\nasync function loadCompressedPointDataBuffer(filename, { pointDataOffset, pointDataLength }) {\n const get = utils_1.Getter.create(filename);\n return get(pointDataOffset, pointDataOffset + pointDataLength);\n}\nasync function loadPointDataBuffer(filename, { pointDataRecordFormat, pointDataRecordLength }, node, lazPerf) {\n const compressed = await loadCompressedPointDataBuffer(filename, node);\n const { pointCount } = node;\n return Las.PointData.decompressChunk(compressed, { pointCount, pointDataRecordFormat, pointDataRecordLength }, lazPerf);\n}\nasync function loadPointDataView(filename, copc, node, { lazPerf, include } = {}) {\n const buffer = await loadPointDataBuffer(filename, copc.header, node, lazPerf);\n return Las.View.create(buffer, copc.header, copc.eb, include);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decompressFile = exports.decompressChunk = exports.PointData = void 0;\nconst laz_perf_1 = require(\"laz-perf\");\nconst header_1 = require(\"./header\");\nexports.PointData = { createLazPerf: laz_perf_1.createLazPerf, decompressChunk, decompressFile };\nlet ourLazPerfPromise = undefined;\nasync function getLazPerf(suppliedLazPerf) {\n if (suppliedLazPerf)\n return suppliedLazPerf;\n if (!ourLazPerfPromise)\n ourLazPerfPromise = (0, laz_perf_1.createLazPerf)();\n return ourLazPerfPromise;\n}\nasync function decompressChunk(compressed, { pointCount, pointDataRecordFormat, pointDataRecordLength }, suppliedLazPerf) {\n const LazPerf = await getLazPerf(suppliedLazPerf);\n const outBuffer = new Uint8Array(pointCount * pointDataRecordLength);\n const blobPointer = LazPerf._malloc(compressed.byteLength);\n const dataPointer = LazPerf._malloc(pointDataRecordLength);\n const decoder = new LazPerf.ChunkDecoder();\n try {\n LazPerf.HEAPU8.set(new Uint8Array(compressed.buffer, compressed.byteOffset, compressed.byteLength), blobPointer);\n decoder.open(pointDataRecordFormat, pointDataRecordLength, blobPointer);\n for (let i = 0; i < pointCount; ++i) {\n decoder.getPoint(dataPointer);\n outBuffer.set(new Uint8Array(LazPerf.HEAPU8.buffer, dataPointer, pointDataRecordLength), i * pointDataRecordLength);\n }\n }\n finally {\n LazPerf._free(blobPointer);\n LazPerf._free(dataPointer);\n decoder.delete();\n }\n return outBuffer;\n}\nexports.decompressChunk = decompressChunk;\nasync function decompressFile(file, suppliedLazPerf) {\n const LazPerf = await getLazPerf(suppliedLazPerf);\n const header = header_1.Header.parse(file);\n const { pointCount, pointDataRecordLength } = header;\n const outBuffer = new Uint8Array(pointCount * pointDataRecordLength);\n const blobPointer = LazPerf._malloc(file.byteLength);\n const dataPointer = LazPerf._malloc(pointDataRecordLength);\n const reader = new LazPerf.LASZip();\n try {\n LazPerf.HEAPU8.set(new Uint8Array(file.buffer, file.byteOffset, file.byteLength), blobPointer);\n reader.open(blobPointer, file.byteLength);\n for (let i = 0; i < pointCount; ++i) {\n reader.getPoint(dataPointer);\n outBuffer.set(new Uint8Array(LazPerf.HEAPU8.buffer, dataPointer, pointDataRecordLength), i * pointDataRecordLength);\n }\n }\n finally {\n reader.delete();\n }\n return outBuffer;\n}\nexports.decompressFile = decompressFile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExtraBytes = void 0;\nconst utils_1 = require(\"../utils\");\nexports.ExtraBytes = { getDimension, parse, parseOne };\nconst entryLength = 192;\nfunction getDimension({ type, length: size, }) {\n switch (type) {\n case 'signed':\n case 'unsigned':\n switch (size) {\n case 1:\n case 2:\n case 4:\n case 8:\n return { type, size };\n }\n case 'float':\n switch (size) {\n case 4:\n case 8:\n return { type, size };\n }\n }\n}\nfunction parse(buffer) {\n if (buffer.byteLength % entryLength !== 0) {\n throw new Error(`Invalid extra bytes VLR length: ${buffer.byteLength}`);\n }\n const result = [];\n for (let offset = 0; offset < buffer.byteLength; offset += entryLength) {\n result.push(parseOne(buffer.slice(offset, offset + entryLength)));\n }\n return result;\n}\nfunction parseOne(buffer) {\n if (buffer.byteLength !== entryLength) {\n throw new Error(`Invalid extra bytes entry length: ${buffer.byteLength}`);\n }\n const dv = utils_1.Binary.toDataView(buffer);\n const name = utils_1.Binary.toCString(buffer.slice(4, 36));\n const description = utils_1.Binary.toCString(buffer.slice(60, 192));\n const rawtype = dv.getUint8(2);\n const rawoptions = dv.getUint8(3);\n if (rawtype >= 11) {\n throw new Error(`Invalid extra bytes \"type\" value: ${rawtype}`);\n }\n // If the \"type\" is 0, then these are \"undocumented extra bytes\". In this\n // case, the size of the field is specified the \"options\" field.\n if (rawtype === 0) {\n const length = rawoptions;\n return { name, description, length };\n }\n // Otherwise, these are normal extra bytes - parse out all the attributes.\n const options = parseOptions(rawoptions);\n const dimtype = parseType(rawtype);\n if (!dimtype)\n throw new Error(`Failed to extract dimension type: ${rawtype}`);\n const { type, size: length } = dimtype;\n // We need to extract the nodata/min/max differently depending on the EB\n // \"type\" field. For integers we extract the 64-bit version of whichever\n // signedness we have, and for float/double we extract doubles.\n function extractAnyType(offset) {\n switch (type) {\n case 'signed':\n return (0, utils_1.parseBigInt)(dv.getBigInt64(offset, true));\n case 'unsigned':\n return (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, offset, true));\n case 'float':\n return dv.getFloat64(offset, true);\n }\n }\n const eb = { name, description, type, length };\n if (options.hasNodata)\n eb.nodata = extractAnyType(40);\n if (options.hasMin)\n eb.min = extractAnyType(64);\n if (options.hasMax)\n eb.max = extractAnyType(88);\n if (options.hasScale)\n eb.scale = dv.getFloat64(112);\n if (options.hasOffset)\n eb.offset = dv.getFloat64(136);\n return eb;\n}\nfunction parseType(typecode) {\n switch (typecode) {\n case 1:\n return utils_1.Dimension.Type.uint8;\n case 2:\n return utils_1.Dimension.Type.int8;\n case 3:\n return utils_1.Dimension.Type.uint16;\n case 4:\n return utils_1.Dimension.Type.int16;\n case 5:\n return utils_1.Dimension.Type.uint32;\n case 6:\n return utils_1.Dimension.Type.int32;\n case 7:\n return utils_1.Dimension.Type.uint64;\n case 8:\n return utils_1.Dimension.Type.int64;\n case 9:\n return utils_1.Dimension.Type.float32;\n case 10:\n return utils_1.Dimension.Type.float64;\n }\n}\nfunction parseOptions(v) {\n return {\n hasNodata: Boolean(v & 1),\n hasMin: Boolean((v >> 1) & 1),\n hasMax: Boolean((v >> 2) & 1),\n hasScale: Boolean((v >> 3) & 1),\n hasOffset: Boolean((v >> 4) & 1),\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Step = void 0;\nexports.Step = { fromIndex, list };\nfunction fromIndex(i) {\n if (i < 0 || i >= 8)\n throw new Error(`Invalid step index: ${i}`);\n const x = (i >> 0) & 1 ? 1 : 0;\n const y = (i >> 1) & 1 ? 1 : 0;\n const z = (i >> 2) & 1 ? 1 : 0;\n return [x, y, z];\n}\nfunction list() {\n return [\n [0, 0, 0],\n [0, 0, 1],\n [0, 1, 0],\n [0, 1, 1],\n [1, 0, 0],\n [1, 0, 1],\n [1, 1, 0],\n [1, 1, 1],\n ];\n}\n","'use strict';\n\nmodule.exports = value => {\n\tif (!value) {\n\t\treturn false;\n\t}\n\n\t// eslint-disable-next-line no-use-extend-native/no-use-extend-native\n\tif (typeof Symbol.observable === 'symbol' && typeof value[Symbol.observable] === 'function') {\n\t\t// eslint-disable-next-line no-use-extend-native/no-use-extend-native\n\t\treturn value === value[Symbol.observable]();\n\t}\n\n\tif (typeof value['@@observable'] === 'function') {\n\t\treturn value === value['@@observable']();\n\t}\n\n\treturn false;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Hierarchy = void 0;\nconst utils_1 = require(\"../utils\");\nconst constants_1 = require(\"./constants\");\nexports.Hierarchy = { parse, load };\nfunction parse(buffer) {\n const dv = utils_1.Binary.toDataView(buffer);\n if (dv.byteLength % constants_1.hierarchyItemLength !== 0) {\n throw new Error(`Invalid hierarchy page length: ${dv.byteLength}`);\n }\n const nodes = {};\n const pages = {};\n for (let i = 0; i < dv.byteLength; i += constants_1.hierarchyItemLength) {\n const d = dv.getInt32(i + 0, true);\n const x = dv.getInt32(i + 4, true);\n const y = dv.getInt32(i + 8, true);\n const z = dv.getInt32(i + 12, true);\n const offset = (0, utils_1.parseBigInt)((0, utils_1.getBigUint64)(dv, i + 16, true));\n const length = dv.getInt32(i + 24, true);\n const pointCount = dv.getInt32(i + 28, true);\n const key = utils_1.Key.toString([d, x, y, z]);\n if (pointCount < -1) {\n throw new Error(`Invalid hierarchy point count at key: ${key}`);\n }\n else if (pointCount === -1) {\n pages[key] = {\n pageOffset: offset,\n pageLength: length,\n };\n }\n else {\n nodes[key] = {\n pointCount,\n pointDataOffset: offset,\n pointDataLength: length,\n };\n }\n }\n return { nodes, pages };\n}\nasync function load(filename, page) {\n const get = utils_1.Getter.create(filename);\n return parse(await get(page.pageOffset, page.pageOffset + page.pageLength));\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serialize = exports.deserialize = exports.registerSerializer = void 0;\nconst serializers_1 = require(\"./serializers\");\nlet registeredSerializer = serializers_1.DefaultSerializer;\nfunction registerSerializer(serializer) {\n registeredSerializer = serializers_1.extendSerializer(registeredSerializer, serializer);\n}\nexports.registerSerializer = registerSerializer;\nfunction deserialize(message) {\n return registeredSerializer.deserialize(message);\n}\nexports.deserialize = deserialize;\nfunction serialize(input) {\n return registeredSerializer.serialize(input);\n}\nexports.serialize = serialize;\n"],"names":["__createBinding","this","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__exportStar","exports","p","prototype","hasOwnProperty","call","value","Step","Scale","Key","Getter","Dimension","Bounds","Binary","binary_1","bounds_1","dimension_1","getter_1","key_1","scale_1","step_1","Extractor","utils_1","create0","header","scale","offset","getPointOffset","getPointOffsetGetter","getScanFlags","dv","index","getUint8","getFullClassification","getClassification","X","unapply","getInt32","Y","Z","Intensity","getUint16","ReturnNumber","NumberOfReturns","ScanDirectionFlag","EdgeOfFlightLine","Classification","classification","Synthetic","KeyPoint","Withheld","Overlap","ScanAngle","getInt8","UserData","PointSourceId","create6","getFlags","ScannerChannel","getInt16","GpsTime","getFloat64","create7","Red","Green","Blue","pointDataRecordLength","eb","extras","position","pdrf","Error","getBasePointLength","pointDataRecordFormat","reduce","map","v","length","absoluteExtractor","type","parseBigInt","getBigInt64","getUint32","getBigUint64","getFloat32","createAbsoluteExtraBytesExtractor","name","createExtras","create1","create2","create3","Infrared","create8","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__importDefault","mod","expose","isWorkerRuntime","Transfer","registerSerializer","is_observable_1","common_1","transferable_1","messages_1","implementation_1","common_2","transferable_2","default","exposeCalled","activeSubscriptions","Map","isMasterJobRunMessage","thing","MasterMessageType","run","isObservable","subscribe","isZenObservable","deconstructTransfer","isTransferDescriptor","payload","send","transferables","postJobErrorMessage","uid","rawError","error","errorMessage","WorkerMessageType","serialize","postMessageToMaster","postJobResultMessage","completed","resultValue","resultMessage","complete","postUncaughtErrorMessage","uncaughtError","subError","console","runFunction","jobUID","fn","args","syncResult","resultType","startMessage","running","postJobStartMessage","subscription","delete","set","exposed","subscribeToMasterMessages","messageData","method","deserialize","initMessage","init","postFunctionInitMessage","methodNames","methods","postModuleInitMessage","keys","filter","key","cancel","unsubscribe","self","addEventListener","event","setTimeout","reason","message","process","on","__setModuleDefault","__importStar","Las","Ept","Info","constants_1","parse","buffer","toDataView","byteLength","infoLength","center","radius","cube","spacing","rootHierarchyPage","pageOffset","pageLength","gpsTimeRange","BigInt","Number","MAX_SAFE_INTEGER","byteOffset","littleEndian","h","l","wh","wl","mid","minx","miny","minz","maxx","maxy","maxz","width","bounds","depth","height","a","b","c","midx","midy","midz","min","max","point","Math","stepTo","d","x","y","z","i","intersection","Hierarchy","entries","keystring","pointCount","pages","nodes","DefaultSerializer","extendSerializer","extend","implementation","fallbackDeserializer","bind","fallbackSerializer","input","DefaultErrorSerializer","assign","stack","__error_marker","LazPerf","createLazPerf","laz_perf_js_1","cross_fetch_1","getHttpGetter","filename","async","begin","end","response","headers","Range","ab","arrayBuffer","Uint8Array","getFsGetter","fs","Infinity","promises","access","stream","chunks","chunk","push","Buffer","concat","drain","createReadStream","start","autoClose","read","arg","startsWith","http","file","Vlr","View","PointData","Header","ExtraBytes","Dimensions","Constants","dimensions_1","extra_bytes_1","extractor_1","header_1","point_data_1","view_1","vlr_1","find","vlrs","userId","recordId","isExtended","parseExtended","parseNormal","vlrHeaderLength","toCString","slice","contentLength","description","evlrHeaderLength","doWalk","startOffset","count","pos","contentOffset","walk","headerLength","vlrCount","evlrOffset","evlrCount","at","vlr","fetch","DataView","s","String","fromCharCode","Copc","copc_1","hierarchy_1","info_1","Type","int8","size","int16","int32","int64","uint8","uint16","uint32","uint64","float32","float64","float","double","bool","boolean","ctype","formatGuid","parsePoint","toString","padStart","join","minHeaderLength","hierarchyItemLength","extractor","typemap","dimension","getDimension","rest","split","parseInt","some","isNaN","up","n","compare","include","extractors","Set","getter","has","dimensions","pointLength","RangeError","isWindowContext","Window","postMessage","data","transferList","onMessage","messageHandler","messageEvent","removeEventListener","symbols_1","$transferable","_scriptDir","document","currentScript","src","readyPromiseResolve","readyPromiseReject","Module","forEach","prop","abort","moduleOverrides","arguments_","thisProgram","scriptDirectory","indexOf","substr","replace","lastIndexOf","window","importScripts","wasmBinary","wasmMemory","out","log","err","warn","legacyModuleProp","newName","isExportedByForceFilesystem","assert","WebAssembly","ABORT","condition","text","HEAP8","HEAPU8","HEAP16","HEAPU16","HEAP32","HEAPU32","HEAPF32","HEAPF64","UTF8Decoder","TextDecoder","UTF8ArrayToString","heapOrArray","idx","maxBytesToRead","endIdx","endPtr","decode","subarray","str","u0","u1","u2","warnOnce","ch","UTF8ToString","ptr","stringToUTF8Array","heap","outIdx","maxBytesToWrite","startIdx","u","charCodeAt","lengthBytesUTF8","len","updateGlobalBufferAndViews","buf","Int8Array","Int16Array","Int32Array","Uint16Array","Uint32Array","Float32Array","Float64Array","TOTAL_STACK","wasmTable","INITIAL_MEMORY","checkStackCookie","_emscripten_stack_get_end","cookie1","cookie2","h16","h8","__ATPRERUN__","__ATINIT__","__ATPOSTRUN__","runtimeInitialized","imul","fround","clz32","trunc","runDependencies","runDependencyWatcher","dependenciesFulfilled","runDependencyTracking","what","RuntimeError","wasmBinaryFile","path","FS","createDataFile","createPreloadedFile","createLazyFile","open","mkdev","registerDevice","analyzePath","loadFilesFromDB","ErrnoError","isDataURI","createExportWrapper","fixedasm","displayName","asm","arguments","getBinary","callRuntimeCallbacks","callbacks","shift","shown","ExceptionInfo","excPtr","set_type","get_type","set_destructor","destructor","get_destructor","set_refcount","refcount","set_caught","caught","get_caught","set_rethrown","rethrown","get_rethrown","set_adjusted_ptr","add_ref","release_ref","prev","adjustedPtr","get_adjusted_ptr","get_exception_ptr","___cxa_is_pointer_type","adjusted","getShiftFromSize","TypeError","embind_charCodes","readLatin1String","ret","awaitingDependencies","registeredTypes","typeDependencies","makeLegalFunctionName","f","createNamedFunction","body","extendError","baseErrorType","errorName","errorClass","constructor","BindingError","throwBindingError","InternalError","throwInternalError","whenDependentTypesAreResolved","myTypes","dependentTypes","getTypeConverters","onComplete","typeConverters","myTypeConverters","registerType","Array","unregisteredTypes","registered","dt","rawType","registeredInstance","options","ignoreDuplicateRegistrations","cb","throwInstanceAlreadyDeleted","obj","$$","ptrType","registeredClass","finalizationRegistry","detachFinalizer","handle","releaseClassHandle","smartPtr","smartPtrType","rawDestructor","runDestructor","downcastPointer","ptrClass","desiredClass","baseClass","rv","downcast","registeredPointers","deletionQueue","flushPendingDeletes","pop","deleteScheduled","delayFunction","registeredInstances","makeClassHandle","record","attachFinalizer","RegisteredPointer_fromWireType","rawPointer","getPointee","class_","upcast","getBasestPointer","getInheritedInstance","makeDefaultHandle","isSmartPointer","instancePrototype","pointeeType","toType","actualType","getActualType","registeredPointerRecord","isConst","constPointerType","pointerType","dp","FinalizationRegistry","info","leakWarning","cls","captureStackTrace","register","unregister","ClassHandle","ensureOverloadTable","proto","methodName","humanName","overloadTable","prevFunc","argCount","RegisteredClass","pureVirtualFunctions","upcastPointer","constNoSmartPtrRawPointerToWireType","destructors","isReference","embindRepr","handleClass","genericPointerToWireType","rawConstructor","sharingPolicy","clonedHandle","rawShare","Emval","toHandle","nonConstNoSmartPtrRawPointerToWireType","simpleReadValueFromPointer","pointer","RegisteredPointer","rawGetPointee","destructorFunction","wasmTableMirror","getWasmTableEntry","funcPtr","func","embind__requireFunction","signature","rawFunction","fp","includes","sig","argCache","substring","dynCallLegacy","dynCall","getDynCaller","UnboundTypeError","getTypeName","___getTypeName","_free","throwUnboundTypeError","types","unboundTypes","seen","visit","heap32VectorToArray","firstElement","array","craftInvokerFunction","argTypes","classType","cppInvokerFunc","cppTargetFunc","isClassMethodFunc","needsDestructorStack","returns","expectedArgCount","argsWired","invokerFuncArgs","thisWired","del","runDestructors","param","onDone","emval_free_list","emval_handle_array","toValue","t","floatReadValueFromPointer","integerReadValueFromPointer","signed","UTF16Decoder","UTF16ToString","maxIdx","codeUnit","stringToUTF16","outPtr","startPtr","numCharsToWrite","lengthBytesUTF16","UTF32ToString","utf32","stringToUTF32","lengthBytesUTF32","emscripten_realloc_buffer","grow","ENV","getEnvStrings","strings","env","navigator","languages","printCharBuffers","printChar","curr","__isLeapYear","year","__MONTH_DAYS_LEAP","__MONTH_DAYS_REGULAR","_strftime","maxsize","format","tm","tm_zone","date","tm_sec","tm_min","tm_hour","tm_mday","tm_mon","tm_year","tm_wday","tm_yday","tm_isdst","tm_gmtoff","pattern","EXPANSION_RULES_1","rule","RegExp","WEEKDAYS","MONTHS","leadingSomething","digits","character","leadingNulls","compareByDay","date1","date2","sgn","getFullYear","getMonth","getDate","getFirstWeekStartDate","janFourth","getDay","Date","getWeekBasedYear","thisDate","days","newDate","getTime","leap","currentMonth","daysInCurrentMonth","setDate","setMonth","setFullYear","__addDays","janFourthThisYear","janFourthNextYear","firstWeekStartThisYear","firstWeekStartNextYear","EXPANSION_RULES_2","twelveHour","sum","__arraySum","floor","val","jan1","dec31","off","ahead","abs","stringy","u8array","bytes","writeArrayToMemory","codes","embind_init_charCodes","other","leftClass","left","rightClass","right","preservePointerOnDelete","clone","getPrototypeOf","calledRun","asmLibraryArg","_malloc","primitiveType","minRange","maxRange","trueValue","falseValue","wt","rawPointerType","rawConstPointerType","baseClassRawType","getActualTypeSignature","upcastSignature","downcastSignature","destructorSignature","legalFunctionName","numArguments","exposePublicSymbol","base","basePrototype","constructor_body","referenceConverter","pointerConverter","constPointerConverter","replacePublicSymbol","rawClassType","rawArgTypesAddr","invokerSignature","invoker","rawArgTypes","splice","rawInvoker","context","isPureVirtual","unboundTypesHandler","Symbol","className","memberFunction","__emval_decref","fromWireType","bitshift","isUnsignedType","checkAssertions","toTypeName","dataTypeIndex","TA","decodeMemoryView","stdStringIsUTF8","decodeStartPtr","currentBytePtr","stringSegment","ArrayBuffer","valueIsOfTypeString","Uint8ClampedArray","charCode","charSize","decodeString","encodeString","getHeap","lengthBytesUTF","HEAP","isVoid","dest","num","copyWithin","requestedSize","oldSize","maxHeapSize","cutDown","overGrownHeapSize","newSize","__environ","environ_buf","bufSize","string","writeAsciiToMemory","penviron_count","penviron_buf_size","fd","offset_low","offset_high","whence","newOffset","iov","iovcnt","pnum","j","id","receiveInstance","instance","module","unshift","clearInterval","callback","removeRunDependency","setInterval","dep","trueModule","receiveInstantiationResult","instantiateArrayBuffer","receiver","credentials","catch","binary","instantiate","instantiateStreaming","createWasm","_emscripten_stack_init","doRun","postRun","preRun","sym","msg","globalThis","runCaller","ready","utils_2","parseNumberOfPointsByReturn","bigs","parseLegacyNumberOfPointsByReturn","fileSignature","majorVersion","minorVersion","fileSourceId","globalEncoding","projectId","systemIdentifier","generatingSoftware","fileCreationDayOfYear","fileCreationYear","pointDataOffset","pointCountByReturn","waveformDataOffset","global","__self__","F","DOMException","support","Blob","viewClasses","isArrayBufferView","isView","normalizeName","test","toLowerCase","normalizeValue","iteratorFor","items","iterator","Headers","append","isArray","getOwnPropertyNames","consumed","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","view","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","readAsText","chars","readArrayBufferAsText","formData","json","JSON","oldValue","values","Request","upcased","url","mode","signal","toUpperCase","referrer","form","trim","decodeURIComponent","Response","bodyInit","status","ok","statusText","redirectStatuses","redirect","location","request","aborted","xhr","XMLHttpRequest","abortXhr","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","withCredentials","responseType","setRequestHeader","onreadystatechange","readyState","polyfill","ponyfill","ctx","$worker","$terminate","$events","$errors","loadCompressedPointDataBuffer","pointDataLength","loadPointDataBuffer","node","lazPerf","compressed","decompressChunk","getRemote","infoVlr","wkt","wktVlr","ebVlr","loadHierarchyPage","page","load","loadPointDataView","copc","decompressFile","laz_perf_1","ourLazPerfPromise","getLazPerf","suppliedLazPerf","outBuffer","blobPointer","dataPointer","decoder","ChunkDecoder","getPoint","LASZip","entryLength","parseOne","rawtype","rawoptions","hasNodata","Boolean","hasMin","hasMax","hasScale","hasOffset","dimtype","typecode","parseType","extractAnyType","nodata","fromIndex","list","observable","serializers_1","registeredSerializer","serializer"],"sourceRoot":""}