@roomle/web-sdk 2.19.0-alpha.1 → 2.19.0-alpha.5
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.
- package/lib/{banana-for-scale-a07b26b1.js → banana-for-scale-355fcf91.js} +2 -2
- package/lib/{banana-for-scale-a07b26b1.js.map → banana-for-scale-355fcf91.js.map} +1 -1
- package/lib/{banana-for-scale-c4c531c7.nomodule.js → banana-for-scale-9de01393.nomodule.js} +2 -2
- package/lib/{banana-for-scale-c4c531c7.nomodule.js.map → banana-for-scale-9de01393.nomodule.js.map} +1 -1
- package/lib/{component-dimensioning-57fff7bc.nomodule.js → component-dimensioning-4d83a9c3.nomodule.js} +2 -2
- package/lib/component-dimensioning-4d83a9c3.nomodule.js.map +1 -0
- package/lib/{component-dimensioning-d7dd5f83.js → component-dimensioning-d00ca4a8.js} +2 -2
- package/lib/component-dimensioning-d00ca4a8.js.map +1 -0
- package/lib/configurator-77a25cc9.js +2 -0
- package/lib/{configurator-b44d4749.js.map → configurator-77a25cc9.js.map} +1 -1
- package/lib/configurator-a858be94.nomodule.js +2 -0
- package/lib/{configurator-b17d82a9.nomodule.js.map → configurator-a858be94.nomodule.js.map} +1 -1
- package/lib/configurator-main-3f04dd5c.js +2 -0
- package/lib/configurator-main-3f04dd5c.js.map +1 -0
- package/lib/configurator-main.nomodule.js +1 -1
- package/lib/{configurator-mesh-generator-2440898b.js → configurator-mesh-generator-d464ec75.js} +2 -2
- package/lib/configurator-mesh-generator-d464ec75.js.map +1 -0
- package/lib/{configurator-mesh-generator-70ad08b0.nomodule.js → configurator-mesh-generator-ea5536da.nomodule.js} +2 -2
- package/lib/configurator-mesh-generator-ea5536da.nomodule.js.map +1 -0
- package/lib/{default-light-setting-8903ac89.js → default-light-setting-10439bcd.js} +2 -2
- package/lib/default-light-setting-10439bcd.js.map +1 -0
- package/lib/{default-light-setting-ace35a21.nomodule.js → default-light-setting-94cc064d.nomodule.js} +2 -2
- package/lib/default-light-setting-94cc064d.nomodule.js.map +1 -0
- package/lib/definitions/common-core/mock/tween-mock.d.ts +4 -0
- package/lib/definitions/common-core/src/cameracontrol/camera-control-3d.d.ts +0 -1
- package/lib/definitions/common-core/src/utils/threejs-utils.d.ts +4 -0
- package/lib/definitions/configurator-core/src/utils/component-raycast-helper.d.ts +2 -0
- package/lib/definitions/configurator-core/src/utils/raycast-helper.d.ts +2 -2
- package/lib/definitions/configurator-core/src/utils/selection-handler.d.ts +2 -0
- package/lib/definitions/configurator-core/src/webgl/configurator-scene-event-handler.d.ts +2 -0
- package/lib/definitions/planner-core/src/view-model/plan-view-model.d.ts +1 -0
- package/lib/{dimensioning-helper-bb822d6f.js → dimensioning-helper-4f07dfb2.js} +2 -2
- package/lib/dimensioning-helper-4f07dfb2.js.map +1 -0
- package/lib/{dimensioning-helper-1851ef1b.nomodule.js → dimensioning-helper-bfb68dda.nomodule.js} +2 -2
- package/lib/dimensioning-helper-bfb68dda.nomodule.js.map +1 -0
- package/lib/{glb-viewer-eacfa20c.js → glb-viewer-5203b4c3.js} +2 -2
- package/lib/{glb-viewer-eacfa20c.js.map → glb-viewer-5203b4c3.js.map} +1 -1
- package/lib/{glb-viewer-07c67d99.nomodule.js → glb-viewer-6fae9993.nomodule.js} +2 -2
- package/lib/{glb-viewer-07c67d99.nomodule.js.map → glb-viewer-6fae9993.nomodule.js.map} +1 -1
- package/lib/glb-viewer-main-8db04fe8.js +2 -0
- package/lib/glb-viewer-main-8db04fe8.js.map +1 -0
- package/lib/glb-viewer-main.nomodule.js +1 -1
- package/lib/image-renderer-1c2de902.nomodule.js +2 -0
- package/lib/{image-renderer-cad9cce5.nomodule.js.map → image-renderer-1c2de902.nomodule.js.map} +1 -1
- package/lib/image-renderer-7eba536d.js +2 -0
- package/lib/{image-renderer-8b621134.js.map → image-renderer-7eba536d.js.map} +1 -1
- package/lib/legacy/{banana-for-scale-8e37587e.legacy.js → banana-for-scale-3e0c928c.legacy.js} +2 -2
- package/lib/legacy/{banana-for-scale-8e37587e.legacy.js.map → banana-for-scale-3e0c928c.legacy.js.map} +1 -1
- package/lib/legacy/{component-dimensioning-7702446a.legacy.js → component-dimensioning-a3aa8660.legacy.js} +2 -2
- package/lib/legacy/component-dimensioning-a3aa8660.legacy.js.map +1 -0
- package/lib/legacy/configurator-575211fd.legacy.js +2 -0
- package/lib/legacy/{configurator-f6d8647d.legacy.js.map → configurator-575211fd.legacy.js.map} +1 -1
- package/lib/legacy/configurator-main.legacy.js +1 -1
- package/lib/legacy/{configurator-mesh-generator-210e5ffe.legacy.js → configurator-mesh-generator-00d7df37.legacy.js} +2 -2
- package/lib/legacy/configurator-mesh-generator-00d7df37.legacy.js.map +1 -0
- package/lib/legacy/{default-light-setting-92bb70ce.legacy.js → default-light-setting-b10dcc3b.legacy.js} +2 -2
- package/lib/legacy/default-light-setting-b10dcc3b.legacy.js.map +1 -0
- package/lib/legacy/{dimensioning-helper-71f8c8cf.legacy.js → dimensioning-helper-61dc4ccb.legacy.js} +2 -2
- package/lib/legacy/dimensioning-helper-61dc4ccb.legacy.js.map +1 -0
- package/lib/legacy/{glb-viewer-c541bffb.legacy.js → glb-viewer-0ddafc07.legacy.js} +2 -2
- package/lib/legacy/{glb-viewer-c541bffb.legacy.js.map → glb-viewer-0ddafc07.legacy.js.map} +1 -1
- package/lib/legacy/glb-viewer-main.legacy.js +1 -1
- package/lib/legacy/image-renderer-dc9f270b.legacy.js +2 -0
- package/lib/legacy/{image-renderer-c831cb02.legacy.js.map → image-renderer-dc9f270b.legacy.js.map} +1 -1
- package/lib/legacy/{material-viewer-9d5181b8.legacy.js → material-viewer-21e51b88.legacy.js} +2 -2
- package/lib/legacy/material-viewer-21e51b88.legacy.js.map +1 -0
- package/lib/legacy/material-viewer-main.legacy.js +1 -1
- package/lib/legacy/{mesh-generator-ddb18de3.legacy.js → mesh-generator-53ccff60.legacy.js} +2 -2
- package/lib/legacy/mesh-generator-53ccff60.legacy.js.map +1 -0
- package/lib/legacy/pixotron-8a5609ec.legacy.js +2 -0
- package/lib/legacy/{pixotron-769d1fe5.legacy.js.map → pixotron-8a5609ec.legacy.js.map} +1 -1
- package/lib/legacy/planner-97c9b4fa.legacy.js +2 -0
- package/lib/legacy/{planner-5818e32b.legacy.js.map → planner-97c9b4fa.legacy.js.map} +1 -1
- package/lib/legacy/planner-main.legacy.js +1 -1
- package/lib/legacy/{rapi-access-1db44eda.legacy.js → rapi-access-d7e49c75.legacy.js} +3 -3
- package/lib/legacy/{rapi-access-1db44eda.legacy.js.map → rapi-access-d7e49c75.legacy.js.map} +1 -1
- package/lib/legacy/roomle-sdk.legacy.js +1 -1
- package/lib/legacy/{scene-manager-2bb96268.legacy.js → scene-manager-b17faa96.legacy.js} +2 -2
- package/lib/legacy/scene-manager-b17faa96.legacy.js.map +1 -0
- package/lib/legacy/static/{ConfiguratorKernel-40b689d07289b673.js → ConfiguratorKernel-5b0df4117228a3b3.js} +6 -6
- package/lib/legacy/static/ConfiguratorKernel-6f506effcdf62da4.wasm +0 -0
- package/lib/legacy/static/ConfiguratorKernelJs-38320d4e8f22ad34.mem +0 -0
- package/lib/legacy/static/ConfiguratorKernelJs-51de0d49f85185e3.js +183 -0
- package/lib/legacy/static/RoomleCore-0ac3d29f9bd4c5d7.js +147 -0
- package/lib/legacy/static/RoomleCore-48e64f95ef7bff41.wasm +0 -0
- package/lib/legacy/static/RoomleCoreJs-973e591d820f477b.mem +0 -0
- package/lib/legacy/static/RoomleCoreJs-da15526d821d8696.js +198 -0
- package/lib/legacy/static/shaders-1f34237810f50436.json +1 -0
- package/lib/legacy/{stats-helper-f3d5141e.legacy.js → stats-helper-45acb364.legacy.js} +2 -2
- package/lib/legacy/{stats-helper-f3d5141e.legacy.js.map → stats-helper-45acb364.legacy.js.map} +1 -1
- package/lib/{material-viewer-771c5d31.nomodule.js → material-viewer-366f947f.nomodule.js} +2 -2
- package/lib/material-viewer-366f947f.nomodule.js.map +1 -0
- package/lib/{material-viewer-de8c3416.js → material-viewer-70151465.js} +2 -2
- package/lib/material-viewer-70151465.js.map +1 -0
- package/lib/material-viewer-main-5d012646.js +2 -0
- package/lib/material-viewer-main-5d012646.js.map +1 -0
- package/lib/material-viewer-main.nomodule.js +1 -1
- package/lib/{mesh-generator-e479dd88.nomodule.js → mesh-generator-ab71fd1a.nomodule.js} +2 -2
- package/lib/mesh-generator-ab71fd1a.nomodule.js.map +1 -0
- package/lib/{mesh-generator-9db153b3.js → mesh-generator-eb2be854.js} +2 -2
- package/lib/mesh-generator-eb2be854.js.map +1 -0
- package/lib/pixotron-4211bd0a.js +2 -0
- package/lib/{pixotron-c552d639.js.map → pixotron-4211bd0a.js.map} +1 -1
- package/lib/pixotron-d0258bc6.nomodule.js +2 -0
- package/lib/{pixotron-8125b43b.nomodule.js.map → pixotron-d0258bc6.nomodule.js.map} +1 -1
- package/lib/planner-3a4f0927.js +2 -0
- package/lib/{planner-82e7e808.js.map → planner-3a4f0927.js.map} +1 -1
- package/lib/planner-6f67ecc9.nomodule.js +2 -0
- package/lib/{planner-969b7c00.nomodule.js.map → planner-6f67ecc9.nomodule.js.map} +1 -1
- package/lib/planner-main-5a4d30e7.js +2 -0
- package/lib/planner-main-5a4d30e7.js.map +1 -0
- package/lib/planner-main.nomodule.js +1 -1
- package/lib/{rapi-access-482df27d.js → rapi-access-8fc227f2.js} +3 -3
- package/lib/{rapi-access-482df27d.js.map → rapi-access-8fc227f2.js.map} +1 -1
- package/lib/{rapi-access-e27314d5.nomodule.js → rapi-access-f2154541.nomodule.js} +3 -3
- package/lib/{rapi-access-e27314d5.nomodule.js.map → rapi-access-f2154541.nomodule.js.map} +1 -1
- package/lib/{roomle-sdk-c187aef7.js → roomle-sdk-0a5a228a.js} +2 -2
- package/lib/roomle-sdk-0a5a228a.js.map +1 -0
- package/lib/roomle-sdk.nomodule.js +1 -1
- package/lib/{scene-manager-0ab80786.nomodule.js → scene-manager-358e5a19.nomodule.js} +2 -2
- package/lib/scene-manager-358e5a19.nomodule.js.map +1 -0
- package/lib/{scene-manager-e9c40231.js → scene-manager-dd75a06a.js} +2 -2
- package/lib/scene-manager-dd75a06a.js.map +1 -0
- package/lib/static/ConfiguratorKernel-5b0df4117228a3b3.js +1 -0
- package/lib/static/{ConfiguratorKernel-40b689d07289b673.js.map → ConfiguratorKernel-5b0df4117228a3b3.js.map} +1 -1
- package/lib/static/ConfiguratorKernel-6f506effcdf62da4.wasm +0 -0
- package/lib/static/ConfiguratorKernelJs-38320d4e8f22ad34.mem +0 -0
- package/lib/static/ConfiguratorKernelJs-51de0d49f85185e3.js +183 -0
- package/lib/static/RoomleCore-0ac3d29f9bd4c5d7.js +1 -0
- package/lib/static/RoomleCore-0ac3d29f9bd4c5d7.js.map +1 -0
- package/lib/static/RoomleCore-48e64f95ef7bff41.wasm +0 -0
- package/lib/static/RoomleCoreJs-973e591d820f477b.mem +0 -0
- package/lib/static/RoomleCoreJs-da15526d821d8696.js +198 -0
- package/lib/static/shaders-1f34237810f50436.json +1 -0
- package/lib/{stats-helper-4afb7056.js → stats-helper-4d7bf878.js} +2 -2
- package/lib/{stats-helper-4afb7056.js.map → stats-helper-4d7bf878.js.map} +1 -1
- package/lib/{stats-helper-dc6eaf67.nomodule.js → stats-helper-8b411909.nomodule.js} +2 -2
- package/lib/{stats-helper-dc6eaf67.nomodule.js.map → stats-helper-8b411909.nomodule.js.map} +1 -1
- package/package.json +2 -2
- package/lib/component-dimensioning-57fff7bc.nomodule.js.map +0 -1
- package/lib/component-dimensioning-d7dd5f83.js.map +0 -1
- package/lib/configurator-b17d82a9.nomodule.js +0 -2
- package/lib/configurator-b44d4749.js +0 -2
- package/lib/configurator-main-7dbbbe6f.js +0 -2
- package/lib/configurator-main-7dbbbe6f.js.map +0 -1
- package/lib/configurator-mesh-generator-2440898b.js.map +0 -1
- package/lib/configurator-mesh-generator-70ad08b0.nomodule.js.map +0 -1
- package/lib/default-light-setting-8903ac89.js.map +0 -1
- package/lib/default-light-setting-ace35a21.nomodule.js.map +0 -1
- package/lib/dimensioning-helper-1851ef1b.nomodule.js.map +0 -1
- package/lib/dimensioning-helper-bb822d6f.js.map +0 -1
- package/lib/glb-viewer-main-495501bb.js +0 -2
- package/lib/glb-viewer-main-495501bb.js.map +0 -1
- package/lib/image-renderer-8b621134.js +0 -2
- package/lib/image-renderer-cad9cce5.nomodule.js +0 -2
- package/lib/legacy/component-dimensioning-7702446a.legacy.js.map +0 -1
- package/lib/legacy/configurator-f6d8647d.legacy.js +0 -2
- package/lib/legacy/configurator-mesh-generator-210e5ffe.legacy.js.map +0 -1
- package/lib/legacy/default-light-setting-92bb70ce.legacy.js.map +0 -1
- package/lib/legacy/dimensioning-helper-71f8c8cf.legacy.js.map +0 -1
- package/lib/legacy/image-renderer-c831cb02.legacy.js +0 -2
- package/lib/legacy/material-viewer-9d5181b8.legacy.js.map +0 -1
- package/lib/legacy/mesh-generator-ddb18de3.legacy.js.map +0 -1
- package/lib/legacy/pixotron-769d1fe5.legacy.js +0 -2
- package/lib/legacy/planner-5818e32b.legacy.js +0 -2
- package/lib/legacy/scene-manager-2bb96268.legacy.js.map +0 -1
- package/lib/legacy/static/ConfiguratorKernel-ed501b2f4963cf8d.wasm +0 -0
- package/lib/legacy/static/ConfiguratorKernelJs-0be227f14fe2e673.mem +0 -0
- package/lib/legacy/static/ConfiguratorKernelJs-4fd6b79d456c6dca.js +0 -183
- package/lib/legacy/static/RoomleCore-05f5edf8c36dcc71.wasm +0 -0
- package/lib/legacy/static/RoomleCore-1f77b9044f56b8c2.js +0 -147
- package/lib/legacy/static/RoomleCoreJs-29688f673479bbaf.mem +0 -0
- package/lib/legacy/static/RoomleCoreJs-3e36d829df9822ea.js +0 -197
- package/lib/legacy/static/shaders-0331cd7d06525760.json +0 -1
- package/lib/material-viewer-771c5d31.nomodule.js.map +0 -1
- package/lib/material-viewer-de8c3416.js.map +0 -1
- package/lib/material-viewer-main-a62694c1.js +0 -2
- package/lib/material-viewer-main-a62694c1.js.map +0 -1
- package/lib/mesh-generator-9db153b3.js.map +0 -1
- package/lib/mesh-generator-e479dd88.nomodule.js.map +0 -1
- package/lib/pixotron-8125b43b.nomodule.js +0 -2
- package/lib/pixotron-c552d639.js +0 -2
- package/lib/planner-82e7e808.js +0 -2
- package/lib/planner-969b7c00.nomodule.js +0 -2
- package/lib/planner-main-f7817887.js +0 -2
- package/lib/planner-main-f7817887.js.map +0 -1
- package/lib/roomle-sdk-c187aef7.js.map +0 -1
- package/lib/scene-manager-0ab80786.nomodule.js.map +0 -1
- package/lib/scene-manager-e9c40231.js.map +0 -1
- package/lib/static/ConfiguratorKernel-40b689d07289b673.js +0 -1
- package/lib/static/ConfiguratorKernel-ed501b2f4963cf8d.wasm +0 -0
- package/lib/static/ConfiguratorKernelJs-0be227f14fe2e673.mem +0 -0
- package/lib/static/ConfiguratorKernelJs-4fd6b79d456c6dca.js +0 -183
- package/lib/static/RoomleCore-05f5edf8c36dcc71.wasm +0 -0
- package/lib/static/RoomleCore-1f77b9044f56b8c2.js +0 -1
- package/lib/static/RoomleCore-1f77b9044f56b8c2.js.map +0 -1
- package/lib/static/RoomleCoreJs-29688f673479bbaf.mem +0 -0
- package/lib/static/RoomleCoreJs-3e36d829df9822ea.js +0 -197
- package/lib/static/shaders-0331cd7d06525760.json +0 -1
package/lib/planner-82e7e808.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"./query-params-helper-a271f9dc.js";import{h as getGUI,_ as __decorate,i as inject,W as convertToKernel,X as convertToTHREE,H as fadeIn,Y as getMaterialId,e as dispose,Z as getBoundingBoxMaterial,N as PREVIEW_MATERIAL_COLOR,$ as getColorFromInt,O as PREVIEW_MATERIAL_OPACITY,a0 as getSelectionGeometry,a1 as convertToThreeDimensions,a2 as checkGLB,d as CANVAS_ID,z as AsyncGuard,a3 as setWallTransparencyBasedOnCamera,j as kernelBoxToThreeBox,B as Benchmark,a4 as setWallTransparency,q as isIdItemId,G as GLTF_LOADER_FILE_NAME,a5 as DRACO_LOADER_FILE_NAME,c as convertCObject,a6 as ConfiguratorViewModel,r as RoomleDependencyInjection,C as CommonKernelAccess,E as Env,M as MESH_DEFAULT_FORMAT,V as disposeMesh,U as UiCallback,m as DependencyInjectionAssignment,L as Logger,n as RapiAccess}from"./rapi-access-482df27d.js";import{s as setCursor,j as getGlbUrl,k as copy,l as isString}from"./main-thread-to-worker-815feb19.js";import{S as SceneEventHandler,G as GLTF_EXPORTER_FILE_NAME,a as prepareTopImage,p as preparePerspectiveImage,g as getCameraTargetForBBox}from"./image-renderer-8b621134.js";import{L as LightSetting,B as BakedShadowEnvironment,a as BackgroundEnvironment,C as CameraControl3D,h as INITIAL_PITCH,T as TWEEN_FILE_NAME,e as PIXOTRON_EFFETCS,g as PIXOTRON_FILE_NAME,I as InputManager,E as EventDispatcher,S as ScriptLoader,M as Main}from"./pixotron-c552d639.js";import{M as MeshGenerator}from"./mesh-generator-9db153b3.js";import{D as DefaultLightSetting}from"./default-light-setting-8903ac89.js";import{S as SceneManager,C as CameraControl2D,a as CameraControlFirstPerson}from"./scene-manager-e9c40231.js";class PlannerLightSetting extends LightSetting{constructor(e,t){super(e,t),this._center=new THREE.Vector3(0,0,0),this._params={ambientLight:{color:"#ffffff"},hemiLight:{color:"#ffffff"},mainDirLight:{direction:{x:.03,y:1,z:.03},color:"#ffffff"}},this._ambientLight=new THREE.AmbientLight(new THREE.Color(this._params.ambientLight.color),.3),this._ambientLight.layers.set(1),this._mainDirLight=new THREE.DirectionalLight(new THREE.Color(this._params.mainDirLight.color),.5),this._mainDirLight.castShadow=!0,this._mainDirLight.shadow.camera.near=.5,this._mainDirLight.shadow.camera.far=100,this._mainDirLight.shadow.mapSize=new THREE.Vector2(1024,1024),this._mainDirLight.visible=!0,this.addToScene()}updateSunPosition(e,t){}addToScene(){this._scene.add(this._mainDirLight),this._scene.add(this._ambientLight),this._scene.add(this._mainDirLight.target)}removeFromScene(){this._scene.remove(this._mainDirLight),this._scene.remove(this._ambientLight),this._scene.remove(this._mainDirLight.target)}reload(){this.removeFromScene(),this.addToScene()}needsBounds(){return!0}updateBounds(e){this._center.copy(e.getCenter(new THREE.Vector3));const t=new THREE.Sphere;e.getBoundingSphere(t);const n=t.radius,a=new THREE.Vector3(this._params.mainDirLight.direction.x,this._params.mainDirLight.direction.y,this._params.mainDirLight.direction.z);a.normalize(),a.multiplyScalar(n),this._mainDirLight.position.copy(this._center),this._mainDirLight.position.add(a),this._mainDirLight.target.position.copy(this._center),this._mainDirLight.target.updateMatrixWorld(!0),this._mainDirLight.shadow.camera.top=n,this._mainDirLight.shadow.camera.bottom=-n,this._mainDirLight.shadow.camera.left=-n,this._mainDirLight.shadow.camera.right=n,this._mainDirLight.shadow.camera.near=.01,this._mainDirLight.shadow.camera.far=2*n,this._mainDirLight.shadow.camera.updateProjectionMatrix()}showGUI(){let e=getGUI();if(e){if(this._ambientLight){let t=e.addFolder("Ambient Light");t.add(this._ambientLight,"visible"),t.add(this._ambientLight,"intensity").min(0).max(5).step(.1),t.addColor(this._params.ambientLight,"color").onChange(e=>this._ambientLight.color=new THREE.Color(e))}if(this._hemiLight){let t=e.addFolder("Hemi Light");t.add(this._hemiLight,"visible"),t.add(this._hemiLight,"intensity").min(0).max(5).step(.1),t.addColor(this._params.hemiLight,"color").onChange(e=>this._hemiLight.color=new THREE.Color(e))}if(this._mainDirLight){let t=e.addFolder("Main Directional Light");t.add(this._mainDirLight,"visible"),t.add(this._mainDirLight,"intensity").min(0).max(10).step(.1),t.add(this._mainDirLight,"castShadow"),t.addColor(this._params.mainDirLight,"color").onChange(e=>this._mainDirLight.color=new THREE.Color(e)),t.add(this._mainDirLight.position,"x").min(-10).max(10).step(.1).onChange(()=>this._mainDirLight.lookAt(this._center)),t.add(this._mainDirLight.position,"y").min(-10).max(50).step(.1).onChange(()=>this._mainDirLight.lookAt(this._center)),t.add(this._mainDirLight.position,"z").min(-10).max(10).step(.1).onChange(()=>this._mainDirLight.lookAt(this._center))}}}}class SceneEventInfo{constructor(e){const{planElementViewModel:t,resetCamera:n,state:a,oldState:i}=e;this.planElementViewModel=t,this.resetCamera=void 0===n||n,this.state=void 0===a?0:a,this.oldState=void 0===i?0:i}}let PlannerSceneEventHandler=(()=>{class e extends SceneEventHandler{constructor(e,t,n,a){super(e,t,n,a),this._state=0,this._inputManager.addEventListener(4,()=>this._position=null,this),this._raycastHelper.setMode(0);const i=new THREE.Layers;i.enable(3),i.enable(6),this._raycastHelper.setLayers(i),this._raycastHelper.addEventListener(3,()=>{this._plannerSelectionHandler.cancelSelection()},this),this._plannerSelectionHandler.addEventListener(0,({planElementViewModel:e})=>{this.dispatchEvent(0,new SceneEventInfo({planElementViewModel:e}))},this),this._plannerSelectionHandler.addEventListener(1,({planElementViewModel:e})=>{this.setState(0),this.dispatchEvent(1,new SceneEventInfo({planElementViewModel:e}))},this),this._inputManager.addEventListener(6,e=>this._move(e),this)}getSelectionMode(){return this._plannerSelectionHandler.getSelectionMode()}async addPlanObjectHandlers(e,t){t||(t=await e.getObjectAsync());const n={hasListener:!0,priority:1,roomleId:e.getId()};this._addPlanObjectHandlers(e,t,n)}addWallHandlers(e){this._addPlanElementHandlers(e,e.getBoundingBox(),{hasListener:!0,priority:1,roomleId:e.getId()})}_addPlanObjectHandlers(e,t,n){t.userData.hasListener||(t.userData=n,t.addEventListener("select",()=>this._clickElement(e)),t.addEventListener("drag_start",()=>this._dragStart(e)),t.addEventListener("drag",t=>this._drag(e,t.attachment.position)),t.addEventListener("drag_end",t=>this._dragEnd(e,t.attachment.position)),t.addEventListener("hover_on",()=>this._hoverOn(e)),t.addEventListener("hover_off",()=>this._hoverOff(e)),t.addEventListener("rotate",t=>this._rotate(e,t.attachment.rotation)))}_addPlanElementHandlers(e,t,n){t.userData.hasListener||(t.userData=n,t.addEventListener("select",()=>this._clickElement(e)),t.addEventListener("drag_start",()=>this._dragStart(e)),t.addEventListener("drag",t=>this._drag(e,t.attachment.position)),t.addEventListener("drag_end",t=>this._dragEnd(e,t.attachment.position)),t.addEventListener("hover_on",()=>this._hoverOn(e)),t.addEventListener("hover_off",()=>this._hoverOff(e)))}_clickElement(e){this._debug&&e.getId(),this._plannerSelectionHandler.check(e),this._setCursor()}_hoverOn(e){this._hoveredObject=e,this._setCursor()}_hoverOff(e){this._hoveredObject=null,this._setCursor()}_setCursor(){2===this._state&&this._hasSelection()?setCursor("ew-resize"):1===this._state?setCursor("grabbing"):this._hoveredObject&&this._plannerSelectionHandler.isSelected(this._hoveredObject.getId())?setCursor("move"):this._hoveredObject?setCursor("pointer"):setCursor("default")}setCamera(e){this._raycastHelper.setCamera(e)}setScene(e){this._raycastHelper.setScene(e)}getSelectedIds(){return this._plannerSelectionHandler.getSelectedIds()}setSelectionMode(e){this._plannerSelectionHandler.setSelectionMode(e)}setPlanViewModel(e){this._planViewModel=e}cancelSelection(){this._plannerSelectionHandler.cancelSelection()}_dragStart(e){this._plannerSelectionHandler.isSelected(e.getId())&&0===this._state&&(this._draggedObject=e,this.setState(1),this.dispatchEvent(4,new SceneEventInfo({planElementViewModel:e})),this._setCursor())}_drag(e,t){if(!this._draggedObject||1!==this._state)return;const n=this._plannerKernelAccess.planInteractionHandler;if(this._plannerSelectionHandler.getSelectedIds().length>1){const e=new this._plannerKernelAccess.kernelContainer.PlanObjectPtrList;let a=t.sub(this._draggedObject.getPosition());this._plannerSelectionHandler.getSelectedIds().forEach(t=>e.push_back(this._planViewModel.getPlanObjectForId(t).getPlanObject())),n.moveObjectsBy(e,convertToKernel(a))}else n.moveElementTo(e.getPlanElement(),convertToKernel(t));this.dispatchEvent(5,new SceneEventInfo({planElementViewModel:e}))}_dragEnd(e,t){this._draggedObject&&(this._draggedObject=null,this.setState(0),this.dispatchEvent(6,new SceneEventInfo({planElementViewModel:e})),this._dragIn&&(this.cancelSelection(),this.setDragIn(!1)),this._setCursor())}_rotate(e,t){if(this._plannerSelectionHandler.isSelected(e.getId())){const n=this._plannerKernelAccess.planInteractionHandler,a=e.getPlanObject();n.setObjectRotation(e.getPlanElement(),a.rotation-t)}}setState(e){const t=this._state;this._state=e,this._setCursor(),this.dispatchEvent(2,new SceneEventInfo({state:this._state,oldState:t})),this._position=null,2===this._state&&this._plannerKernelAccess.planInteractionHandler.deactivateAllSnappingActivity()}resetState(){this.setState(0)}_move(e){if(2===this._state&&this._hasSelection()){this._setCursor();let t=Math.PI/180;const{x:n,y:a}=e.positionRelative;this._position?t=1.4*e.positionRelative.x*Math.PI-1.4*this._position.x*Math.PI:this._position=new THREE.Vector3(e.positionRelative.x,e.positionRelative.y,0);const i=new this._plannerKernelAccess.kernelContainer.PlanObjectPtrList,s=new THREE.Box3;this.getSelectedIds().forEach(e=>{var t;const n=null===(t=this._planViewModel)||void 0===t?void 0:t.getPlanObjectForId(e);n&&n.getObject()&&(i.push_back(n.getPlanObject()),s.expandByObject(n.getContainer()))});const r=s.getCenter(new THREE.Vector3);this._plannerKernelAccess.planInteractionHandler.rotateObjectsBy(i,t,convertToKernel(r)),this._position.copy(new THREE.Vector3(n,a,0))}}_hasSelection(){return this._plannerSelectionHandler.getSelectedIds().length>0}selectPlanElement(e){this._plannerSelectionHandler.check(e)}_interaction(e){this.dispatchEvent(0,new SceneEventInfo({}))}addComponentDragInHandler(e){if(!this._dragIn)return;const t=e.getBoundingBox();this._addPlanElementHandlers(e,t,{hasListener:!0,priority:1,roomleId:e.getId()}),this._raycastHelper.enableDragIn(t),this._dragStart(e)}}return __decorate([inject],e.prototype,"_plannerSelectionHandler",void 0),__decorate([inject],e.prototype,"_plannerKernelAccess",void 0),e})();class Waiter{constructor(){this._promiseExecutors=[]}create(){return new Promise((e,t)=>{this._promiseExecutors.push({resolve:e,reject:t})})}resolve(e){return new Promise(t=>{this._promiseExecutors.forEach(t=>t.resolve(e)),this._promiseExecutors=[],t(e)})}reject(e){return new Promise((t,n)=>{this._promiseExecutors.forEach(t=>t.reject(e)),this._promiseExecutors=[],n(e)})}}class PlanElementViewModel extends class{constructor(e){this._coreReference=e.clone()}clearReference(){this._coreReference.delete(),this._coreReference=null}getKernelObject(){return this._coreReference}}{constructor(e){super(e),this._objectWaiter=new Waiter;const t=convertToTHREE(e.getCenter());this._container=new THREE.Object3D,this._container.position.copy(t),this._boundingBox=this._generateBoundingBox(this.getSize(),e.customColor),fadeIn(this._boundingBox),this._container.add(this._boundingBox),2!==this.getPlanElement().getType().value&&(this._object=new THREE.Object3D,this._container.add(this._object))}getSize(){return this._object?(new THREE.Box3).setFromObject(this._object).getSize(new THREE.Vector3):new THREE.Vector3}update(){this._container.position.copy(convertToTHREE(this.getPlanElement().getCenter()))}getPosition(){return this._container.position}getRotation(){return this._container.rotation.y}getBounds(){let e=new THREE.Box3;return e.setFromObject(this._container),e}getBoundingBox(){return this._boundingBox}getPlanElement(){return this._coreReference}setObject(e){this._object=e,this._objectWaiter.resolve(e)}getObject(){return this._object}async getObjectAsync(){return this._object?Promise.resolve(this._object):this._objectWaiter.create()}addMesh(e){this._object.add(e),this.hidePreviewBox()}getMesh(e){if(!this._object||0===this._object.children.length)return null;const t=getMaterialId(e,this.getPlanElement().getType());return this._object.children.find(e=>e.userData.material===t)}getContainer(){return this._container}getId(){return this.getPlanElement().getId()}clear(){dispose(this._container),this._selectionMesh&&dispose(this._selectionMesh)}hidePreviewBox(){this._container&&this._boundingBox&&(this._boundingBox.material=getBoundingBoxMaterial())}_generateBoundingBox(e,t){e.addScalar(.01);let n=new THREE.BoxGeometry(e.x,e.y,e.z),a=new THREE.Color(PREVIEW_MATERIAL_COLOR);t>0&&(a=getColorFromInt(t));let i=new THREE.MeshStandardMaterial({color:a,opacity:PREVIEW_MATERIAL_OPACITY,transparent:!0}),s=new THREE.Mesh(n,i);return s.name="bounding box",s.position.y=e.y/2,s.castShadow=!1,s.receiveShadow=!1,s.layers.set(5),s}select(){if(!this._selectionMesh){let e=new THREE.MeshStandardMaterial({color:this._primaryColor,opacity:PREVIEW_MATERIAL_OPACITY,transparent:!0});const t=convertToTHREE(this.getPlanElement().getCenter());this._selectionMesh=new THREE.Mesh(getSelectionGeometry(t,this.getSize()),e)}this._container.add(this._selectionMesh)}deselect(){this._selectionMesh&&this._container.remove(this._selectionMesh)}setPrimaryColor(e){this._primaryColor=e}}class PlanObjectViewModel extends PlanElementViewModel{constructor(e){super(e),this._container.rotation.y=e.rotation}getPlanObject(){return this.getPlanElement()}getSize(){return convertToThreeDimensions(this.getPlanObject().size)}update(){super.update(),this._container.rotation.y=this.getPlanObject().rotation}}let StaticPlanObjectViewModel=(()=>{class e extends PlanObjectViewModel{constructor(e){super(e),this._container.name="Static "+this._container.name}setRapiItem(e){return this._addStaticItem(e)}_addStaticItem(e){this._rapiItem=e;let t=this.getPlanObject();this._glbUrl=getGlbUrl(e);let n=e.scaleable?convertToThreeDimensions(t.size):void 0,a=new THREE.Vector3(1,1,1);return t.flipX&&(a.x*=-1),t.flipY&&(a.z*=-1),new Promise(i=>{this._staticItemLoader.loadGLB(this._glbUrl,void 0,void 0,n,a,t.customColor,e.colorable).then(t=>{t.name=e.label,this.setObject(t),checkGLB(t,this._glbUrl),fadeIn(t),this._container.add(this.getObject()),this.hidePreviewBox(),i()})})}getRapiItem(){return this._rapiItem}needsRapiItem(){return!this._glbUrl}getGLBUrl(){return this._glbUrl}}return __decorate([inject],e.prototype,"_staticItemLoader",void 0),e})();class ConfiguratorPlanObjectViewModel extends PlanObjectViewModel{constructor(e){super(e),this._container.name="Configurable "+this._container.name}addRootComponent(e){this.setObject(e),this._container.add(this.getObject())}getConfigurationRuntimeId(){return this.getPlanObject().getConfigurationRuntimeId()}}let PlannerSceneManager=(()=>{class e extends SceneManager{constructor(e,t,n,a){super(e,t,CANVAS_ID.HSP,a),this._staticItemGuard=new AsyncGuard,this._configurableItemGuard=new AsyncGuard,this._roomlePlannerCallback=n,this._plannerMeshGenerator.maxAnisotropy=this._renderer.capabilities.getMaxAnisotropy(),this._plannerMeshGenerator.maxTextures=this._renderer.capabilities.maxTextures,this._plannerSceneEventHandler=new PlannerSceneEventHandler(e,this._scene,this._cameraControl.getCamera(),this._getInputManager()),this._plannerSceneEventHandler.addEventListener(2,({state:e,oldState:t})=>{2===t&&e!==t&&this._roomlePlannerUiCallback.onRotationCancel(),2===e||1===e?this._cameraControl.lock():this._cameraControl.unlock()},this),this._plannerSceneEventHandler.addEventListener(0,({planElementViewModel:e})=>{e instanceof StaticPlanObjectViewModel&&this._initData.debug&&e.getGLBUrl(),this._highlight(e),this._onSelectionChange(e)},this),this._plannerSceneEventHandler.addEventListener(1,()=>{this._highlight(null),this._roomlePlannerUiCallback.onSelectionCancel()},this),this._plannerSceneEventHandler.addEventListener(4,()=>{this._cameraControl.lock(),this._environment instanceof BakedShadowEnvironment&&this._environment.removeFromScene(),this._requestRender(),this._dragStartBounds=this.getBounds()},this),this._plannerSceneEventHandler.addEventListener(5,({planElementViewModel:e})=>{this._cameraControl.checkNearFarDistance(e.getPosition()),this._requestRender()},this),this._plannerSceneEventHandler.addEventListener(6,({planElementViewModel:e})=>{this._cameraControl.unlock(),this._environment instanceof BakedShadowEnvironment&&this._environment.addToScene();const t=this._getDragPosition(e.getPosition());t&&this._plannerKernelAccess.planInteractionHandler.moveElementTo(e.getPlanElement(),convertToKernel(t)),this._requestRender(!0),this.updateEnvironment(this.getBounds(),!0),this._zoomToBounds()},this),this._plannerKernelAccess.addPlannerListener(this),this._plannerMeshGenerator.setMaterialLoadedListener(()=>{this._planViewModel.tryToMergeComponents(),this._configurableItemGuard.resolve(),this._requestRender()}),window.onbeforeunload=this.clearScene.bind(this)}_getDragPosition(e){if(!this._plannerSceneEventHandler.isDragIn())return null;const t=this._dragStartBounds?this._dragStartBounds:this.getBounds(),n=t.getCenter(new THREE.Vector3),a=e.distanceTo(n),i=t.getSize(new THREE.Vector3),s=Math.max(i.x,i.z)+3;if(a>s){const t=(new THREE.Vector3).subVectors(e,n).normalize();return n.clone().add(t.multiplyScalar(s))}return null}_onSelectionChange(e){let t;e instanceof StaticPlanObjectViewModel&&(t="static"),e instanceof ConfiguratorPlanObjectViewModel&&(t="configuration");const n={};if(e instanceof StaticPlanObjectViewModel&&(n.item=e.getRapiItem()),e instanceof ConfiguratorPlanObjectViewModel){const t=e.getConfigurationRuntimeId();n.configurationRuntimeId=t}const a=(async()=>{const n={};if(e instanceof StaticPlanObjectViewModel&&(n.item=e.getRapiItem()),e instanceof ConfiguratorPlanObjectViewModel){const a=e.getConfigurationRuntimeId(),i=e.getPlanObject().getCatalogItemId(),s=this._plannerKernelAccess.kernelInstance.getHashOfConfiguration(a);let r;if(i&&isIdItemId(i)){const e=await this._rapiAccess.getItem(i);n.item=e,r=e.rootComponentId?e.rootComponentId:null}else try{const e=await this._rapiAccess.getConfiguration(s);n.configuration=e,r=e.rootComponentId?e.rootComponentId:null}catch(e){console.warn("Could not get RAPI configuration for kernel hash "+s+", saving configuration...");const t=await this._plannerKernelAccess.getConfigurationData(a),i=await this._rapiAccess.saveConfiguration(t);n.configuration=i,r=i.rootComponentId?i.rootComponentId:null}if(r){const e=await this._rapiAccess.getComponent(r);n.component=e}n.configurationRuntimeId=a,t="configuration"}return copy(n)})();this._roomlePlannerUiCallback.onSelectionChange(copy(this._plannerSceneEventHandler.getSelectionMode()),copy(t),copy(n),a)}_setupScene(e,t){super._setupScene(e,t),this._initData.moc?(this._lightSetting=new DefaultLightSetting(this._scene),this._setEnvironment(new BackgroundEnvironment(this._scene,this._environment,new THREE.Color(this._initData.colors.DEFAULT_BACKGROUND)))):(this._lightSetting=new PlannerLightSetting(this._scene),this._addSky(),this._setEnvironment(new BakedShadowEnvironment(this._scene,this._environment)))}onBeforeRender(){this._cameraControl instanceof CameraControl3D&&this._plannerMeshGenerator.wallMeshes.forEach(e=>setWallTransparencyBasedOnCamera(this._cameraControl.getCamera(),e.material))}_getInputManager(){return this._plannerInputManager}createCameraControl(e){this.setMode(e)}resetCamera(){this._cameraControl.hasSavedState()?this.resetCameraToState():this.resetCameraPositionToStart()}resetCameraToState(){this._cameraControl.resetToState()}resetCameraPositionToStart(){this._requestRender()}_getYRotationOfObject(e){let t=e.getWorldDirection(new THREE.Vector3).clone();t.y=0,t.lengthSq()<.01&&(t=new THREE.Vector3(0,1,0),t.applyQuaternion(e.quaternion),t.y=0),t.normalize();let n=Math.asin(t.x);return t.z<0&&(n=Math.PI-n),n<0&&(n+=2*Math.PI),n}loadStaticPlanObjects(){let e=new Map;this._planViewModel.getStaticPlanObjectViewModels().forEach(t=>{let n=t.getPlanObject();e.has(n.getCatalogItemId())?e.get(n.getCatalogItemId()).push(t):e.set(n.getCatalogItemId(),[t])}),this._rapiAccess.getItems(Array.from(e.keys())).then(t=>{let n=[];t.forEach(t=>{this._plannerKernelAccess.catalogItemLoaded(t),e.get(t.id).forEach(e=>{n.push(new Promise((n,a)=>{e.setRapiItem(t).then(()=>{this._requestRender(),n()},a)}))})}),Promise.all(n).then(()=>this._staticItemsLoaded())})}_staticItemsLoaded(){this._requestRender(!0),this._staticItemGuard.resolve(),this._roomlePlannerUiCallback.onItemsLoaded()}preload(e){this._planId=e;let t=this._localStorageHelper.getItem(this._planId,"rml_plans");t&&this._loadGLTF(t).then(e=>{this._preloadScene=e,this._preloadScene&&this._scene.add(this._preloadScene),this._requestRender()})}planXMLLoaded(e){this.endPlanConstruction(e);const t=e.getBounds(),n=kernelBoxToThreeBox(t);this._updateBounds(n),this.loadStaticPlanObjects()}planCompletelyLoaded(e){}handlerSwitchedPlans(e){if(this._planViewModel=e,this._planViewModel.setPlannerSceneEventHandler(this._plannerSceneEventHandler),this._planViewModel.setGeometriesMergedListener(()=>{this._requestRender()}),this._plannerSceneEventHandler.setPlanViewModel(this._planViewModel),this.clearScene(),!this._initData.moc){this._addSky();let e=new THREE.PlaneGeometry(1e3,1e3);e.rotateX(-Math.PI/2);let t=new THREE.MeshStandardMaterial({color:"#f0f0f0",roughness:1,metalness:0}),n=new THREE.Mesh(e,t);n.name="Ground",n.position.y=-.01,n.receiveShadow=!0,this._scene.add(n)}this.resetCamera(),this._setCeiling(),this._staticItemGuard.reset(),this._configurableItemGuard.reset(),Promise.all([this._staticItemGuard.wait(),this._configurableItemGuard.wait()]).then(this._itemsLoaded.bind(this))}_itemsLoaded(){const e=this._planViewModel.getCorePlan();if(this._pixotron){const t=kernelBoxToThreeBox(e.getBounds());this._pixotron.getShadowPass().setShadowRecieverBBox(t)}this._roomlePlannerUiCallback.onCompletelyLoaded(),this._requestRender(),Benchmark.end("loadingTime")}beginPlanConstruction(e){}addPlanMesh(e,t,n,a,i,s,r){}endPlanConstruction(e){this._renderLoopFunction=()=>{this._scene.add(this._planViewModel.getConstructionGroup()),this._scene.add(this._planViewModel.getCeilingGroup()),this._lightSetting.needsBounds()&&this._lightSetting.updateBounds(this._planViewModel.getBoundingBox()),this._scene.remove(this._preloadScene)}}addPlanObjectToScene(e){const t=e.getContainer();fadeIn(t),this._scene.add(t),this._zoomToBounds(),this._plannerSceneEventHandler.isDragIn()&&(this._plannerSceneEventHandler.selectPlanElement(e),this._plannerSceneEventHandler.addComponentDragInHandler(e),this._requestRender())}removePlanObjectFromScene(e){this._scene.remove(e.getContainer()),this.updateEnvironment(this.getBounds()),this._requestRender(!0)}planElementChanged(e,t){this.updateEnvironment(this.getBounds(),!0),this._requestRender(!0),this._onPlanChanged()}exportGLB(e,t){this._scriptLoader.fetch(GLTF_EXPORTER_FILE_NAME,{id:"gltf-exporter"}).then(()=>{let n=new THREE.GLTFExporter;e||(e=[],this._scene.children.forEach(t=>{this._isPartOfScene(t)&&e.push(t)})),n.parse(e,e=>{let n=t||"test";this._localStorageHelper.addItem(n,JSON.stringify(e),"rml_plans")},{binary:!1,embedImages:!0,forceIndices:!0})})}importGLB(e){this._loadGLB(e).then(e=>this._scene.add(e))}clearScene(){this._plannerMeshGenerator.clear(),this._planViewModel.sceneCleared(),super.clearScene()}_addSky(){this._sky=new THREE.Sky,this._sky.name="Sky",this._sky.scale.setScalar(45e4),this._scene.add(this._sky),this._sky.material.uniforms.turbidity.value=10,this._sky.material.uniforms.rayleigh.value=2,this._sky.material.uniforms.luminance.value=1,this._sky.material.uniforms.mieCoefficient.value=.005,this._sky.material.uniforms.mieDirectionalG.value=.8;let e=new THREE.Mesh(new THREE.SphereBufferGeometry(2e4,16,8),new THREE.MeshBasicMaterial({color:16777215}));e.name="Sunsphere",e.position.y=-7e5,e.visible=!1,this._scene.add(e);let t=-.2*Math.PI,n=2*Math.PI*-.25;e.position.x=4e5*Math.cos(n),e.position.y=4e5*Math.sin(n)*Math.sin(t),e.position.z=4e5*Math.sin(n)*Math.cos(t),e.visible=!0,this._sky.material.uniforms.sunPosition.value.copy(e.position),this._lightSetting instanceof PlannerLightSetting&&this._lightSetting.updateSunPosition(.3,.25)}switchTo2D(){this._cameraControl instanceof CameraControl2D||(this._requestRender(),this._changeCameraControl(new CameraControl2D(this._creator_,this._getInputManager())),this._updateCamera(),this._addCameraControlListener(),this._setCeiling(),this._roomlePlannerUiCallback.onCameraChanged("2D"))}switchTo3D(){this._cameraControl instanceof CameraControl3D||(this._changeCameraControl(new CameraControl3D(this._creator_,this._getInputManager(),new THREE.Vector3(0,10,0),this.getPerspectiveOffsetCamera())),this._updateCamera(),this._addCameraControlListener(),this._setCeiling(),this._roomlePlannerUiCallback.onCameraChanged("3D"))}_setCeiling(){this._planViewModel&&(this._cameraControl instanceof CameraControlFirstPerson?this._planViewModel.getCeilingGroup().visible=!0:this._planViewModel.getCeilingGroup().visible=!1)}cameraControlChanged(){super.cameraControlChanged(),this._plannerSceneEventHandler&&this._plannerSceneEventHandler.setCamera(this._cameraControl.getCamera())}sceneChanged(){this._plannerSceneEventHandler&&this._plannerSceneEventHandler.setScene(this._scene)}closeHSC(){this._requestRender(),this._cameraControl instanceof CameraControl3D&&this._cameraControl.resetToState()}switchToFirstPerson(){if(this._cameraControl instanceof CameraControlFirstPerson)return;this._plannerMeshGenerator.wallMeshes.forEach(e=>setWallTransparency(e.material,!1,!1)),this._requestRender();let e=new THREE.Vector3(0,0,0);this._planViewModel&&(e=this._planViewModel.getBoundingBox().getCenter(new THREE.Vector3)),this._cameraControl&&this._cameraControl.cleanUp(),this._changeCameraControl(new CameraControlFirstPerson(this._creator_,this._getInputManager(),e,this.getPerspectiveOffsetCamera())),this._addCameraControlListener(),this._setCeiling(),this._roomlePlannerUiCallback.onCameraChanged("FP")}_onKeyDown(e){super._onKeyDown(e),this._initData.debug&&this._checkNumKey(e),!e.key||"Meta"!==e.key&&"Control"!==e.key||(this._plannerSceneEventHandler.setSelectionMode("multiselect"),e.preventDefault()),e.key&&e.key.includes("Shift")&&this._cameraControl instanceof CameraControl3D&&(this._cameraControl.enablePanning(),e.preventDefault())}_checkNumKey(e){e.key&&"1"===e.key&&(this.switchTo2D(),e.preventDefault()),e.key&&"2"===e.key&&(this.switchTo3D(),e.preventDefault()),e.key&&"3"===e.key&&(this.switchToFirstPerson(),e.preventDefault())}_onKeyUp(e){super._onKeyDown(e),!e.key||"Meta"!==e.key&&"Control"!==e.key||(this._plannerSceneEventHandler.setSelectionMode("standard"),e.preventDefault()),e.key&&e.key.includes("Shift")&&this._cameraControl instanceof CameraControl3D&&(this._cameraControl.disablePanning(),e.preventDefault())}setMode(e){switch(e){case"2D":this.switchTo2D();break;case"3D":this.switchTo3D();break;case"FP":this.switchToFirstPerson()}}_highlight(e){let t=new Set;e&&e.getObject()&&e.getObject().children&&e.getObject().children.forEach(e=>t.add(e)),this._plannerSceneEventHandler.getSelectedIds().forEach(e=>{const n=this._planViewModel.getPlanObjectForId(e);n&&n.getObject()&&n.getObject().children&&n.getObject().children.forEach(e=>t.add(e))}),this._pixotron&&this._pixotron.highlightObjects(Array.from(t))}destroy(){super.destroy(),this._plannerMeshGenerator.removeMaterialLoadedListener(),this._planViewModel.removeGeometriesMergedListener()}getPixotronParams(){return{saoparams:{intensity:.5,occlusionWorldRadius:.6,smoothTransition:!0,samplesPerFrame:4,bias:.02,numSamples:100,accumulative:!1,falloff:2},shadowparams:{shadowMapResolution:1024,shadowRadius:3,shadowQuality:1,smoothTransition:!0,enableAccumulation:!0,shadowBiasMultiplier:.6,nearPlane:.01,farPlane:50,fov:110,side:THREE.FrontSide,numSamples:100},outlineparams:{highlightColor:new THREE.Color(this._initData.colors.SELECTION),edgeStrength:1,transparency:.9,edgeThickness:2}}}getBakedShadowParams(){return{enable:!0,shadowMapResolution:1024,smoothTransition:!0,numSamples:500,numSamplesPerFrame:4,bShadowMaterial:!0,falloff:1.8,darkness:.3,size:1.2,lightDirection:new THREE.Vector3(0,1,0),lightSolidAngle:40,yPosition:.006}}planObjectConfigurationLoaded(e,t,n){if(e&&e.extRef&&t&&t.extRef){let e=t.extRef.jsObject.getPlanObject().getConfigurationRuntimeId();e>0&&this._planViewModel.constructComponents(e)}}addMesh(e,t,n,a,i,s){}_updateBounds(e){e&&(this._updateCamera(e),super._updateBounds(e))}_updateCamera(e){if(e||(e=this.getBounds()),e){if(this._cameraControl instanceof CameraControl3D){const t=e.getSize(new THREE.Vector3),n=Math.max(t.x,t.z),a=this._initData.moc?.5*n*-1:5,i=this._initData.moc?INITIAL_PITCH:70;this._cameraControl.updateAndReset(t,e.getCenter(new THREE.Vector3),-15,i,a,!1)}this._cameraControl instanceof CameraControl2D&&this._cameraControl.updateToBounds(e.getSize(new THREE.Vector3),e.getCenter(new THREE.Vector3))}}_zoomToBounds(){const e=this.getBounds();this._cameraControl instanceof CameraControl3D&&this._cameraControl.zoomToFitBounds(e)}getBounds(){return this._planViewModel?this._planViewModel.getBoundingBox():null}cancelSelection(){this._plannerSceneEventHandler.cancelSelection(),this._highlight(null),this._requestRender(!0)}deleteSelection(){const e=this._plannerSceneEventHandler.getSelectedIds();this.cancelSelection(),e.forEach(e=>{const t=this._planViewModel.getPlanObjectForId(e);t&&t.getObject()&&this._plannerKernelAccess.planInteractionHandler.removeElement(t.getKernelObject())})}rotateSelection(e){const t=new this._plannerKernelAccess.kernelContainer.PlanObjectPtrList,n=new THREE.Box3;this._plannerSceneEventHandler.getSelectedIds().forEach(e=>{const a=this._planViewModel.getPlanObjectForId(e);a&&a.getObject()&&(t.push_back(a.getPlanObject()),n.expandByObject(a.getContainer()))});const a=n.getCenter(new THREE.Vector3),i=this._plannerKernelAccess.planInteractionHandler.groupObjects(t);this._plannerKernelAccess.planInteractionHandler.rotateGroupBy(i,e,convertToKernel(a))}planBoundsChanged(){this.updateEnvironment(this.getBounds()),this._requestRender(!0)}planElementRemoved(e){this._onPlanChanged()}_onPlanChanged(){this._roomlePlannerUiCallback.onPlanChanged()}prepareTopImage(e={}){return new Promise(t=>{this._planViewModel.materialQueue.finished(!0).then(async()=>{let n=this._calculateBoundingBoxOfAllMeshes(.1);this._lightSetting.removeFromScene();let a=await prepareTopImage(this._scene,null,n,e);this._lightSetting.addToScene(),this._requestRender(),t(a)})})}preparePerspectiveImage(e={}){return new Promise((t,n)=>{this._planViewModel.materialQueue.finished(!0).then(async()=>{let n;n=this._cameraControl instanceof CameraControl3D?this._cameraControl.getCamera().clone():this.getPerspectiveOffsetCamera();let a=this._calculateBoundingBoxOfAllMeshes();this._lightSetting.removeFromScene();const i=await preparePerspectiveImage(this._scene,n,a,e);this._lightSetting.addToScene(),this._requestRender(),t(i)},n)})}_calculateBoundingBoxOfAllMeshes(e=0){const t=this.getBounds();return getCameraTargetForBBox(t,e)}enableRotation(){this._plannerSceneEventHandler.setState(2)}disableRotation(){this._plannerSceneEventHandler.resetState()}dragIn(e){this._plannerSceneEventHandler.setDragIn(!0,e)}getPlannerSceneEventHandler(){return this._plannerSceneEventHandler}}return __decorate([inject],e.prototype,"_plannerKernelAccess",void 0),__decorate([inject],e.prototype,"_rapiAccess",void 0),__decorate([inject],e.prototype,"_plannerMeshGenerator",void 0),__decorate([inject],e.prototype,"_plannerInputManager",void 0),__decorate([inject],e.prototype,"_roomlePlannerUiCallback",void 0),__decorate([inject],e.prototype,"_localStorageHelper",void 0),e})();const OFFSET={left:0,top:1,right:1,bottom:0};let RoomlePlanner=(()=>{class e{constructor(e){this._hscInstance=null,this._glbInstance=null,this._creator_=e,this._kernelAccessCallback.addListener(this),this._backstack.init([CANVAS_ID.HSP],this)}deleteSelection(){this._sceneManager.deleteSelection()}rotateSelection(e){this._sceneManager.rotateSelection(e)}cancelSelection(){this._sceneManager.cancelSelection()}init(e,t,n){return Benchmark.start("loadingTime"),this._domHelper.setDomElement(e),this._sceneManager?(this._lifeCycleManager.resume(),Promise.resolve()):(this._preloadPlanId=t,this.setOverrides(n),new Promise(this._initPromiseCallback.bind(this)))}loadPlanXml(e,t){return this.setOverrides(t),new Promise(t=>{this._plan=this._planInteractionHandler.loadPlanXML(e),this._sceneManager.planXMLLoaded(this._plan),this._roomlePlannerUiCallback.onTotalFloorAreaChanged(this._planInteractionHandler.getPlan().getTotalFloorArea()),this._backstack.bringIntoForeground(CANVAS_ID.HSP),this._initData.moc&&this._rapiAccess.trackView("planXML"),t()})}loadPlan(e,t){return this.setOverrides(t),new Promise((t,n)=>{this._rapiAccess.getPlan(e).then(n=>{this._plan=this._planInteractionHandler.loadPlanXML(n.planObjects),this._sceneManager.planXMLLoaded(this._plan),this._roomlePlannerUiCallback.onTotalFloorAreaChanged(this._planInteractionHandler.getPlan().getTotalFloorArea()),this._backstack.bringIntoForeground(CANVAS_ID.HSP),this._initData.moc&&this._rapiAccess.trackView(e),t()},n)})}setOverrides(e){e&&(this._initData.setOverrides(e),this._globalInitData.setOverrides(e))}switch2D(){this._sceneManager.switchTo2D()}switch3D(){this._sceneManager.switchTo3D()}switchToFirstPerson(){this._sceneManager.switchToFirstPerson()}exportGLB(){this._sceneManager.exportGLB()}importGLB(e){this._sceneManager.importGLB(e)}_initPromiseCallback(e,t){this._threeLoader.fetch().then(()=>{let t=this._scriptLoader.fetch(GLTF_LOADER_FILE_NAME,{id:"gltf-loader"}),n=this._scriptLoader.fetch(DRACO_LOADER_FILE_NAME,{id:"draco-loader"}),a=this._scriptLoader.fetch(TWEEN_FILE_NAME,{id:"tween-js"}),i=this._scriptLoader.fetch("static/Sky-6621935ea8a523af.js",{id:"sky-js"});Promise.all([t,n,a,i]).then(()=>{this._kernelReadyCallback=e;const{mode:t,stats:n}=this._initData;this._sceneManager||(this._sceneManager=new PlannerSceneManager(this._creator_,OFFSET,this,t)),this._preloadPlanId&&this._sceneManager.preload(this._preloadPlanId),n?this.showStats():this.enableHD(),this._planInteractionHandler&&this._kernelReadyCallback()})})}enableHD(){return new Promise((e,t)=>{const n=()=>{this._sceneManager.enableHD(),e()};this._threeLoader.fetch().then(()=>Promise.all(PIXOTRON_EFFETCS.map(e=>this._scriptLoader.fetch(e,{id:e})))).then(()=>{this._scriptLoader.fetch(PIXOTRON_FILE_NAME,{id:"pi-js"}).then(n,t)},t)})}isReady(){this._planInteractionHandler=this._plannerKernelAccess.planInteractionHandler,this._kernelReadyCallback&&this._kernelReadyCallback()}showBenchmarks(){Benchmark.showBenchmarks()}async switchToConfigurator(){const e=await this._singlePromiseFactory.create(3,"startHSC",e=>{if(this._hscInstance)return e(this._hscInstance);import("./configurator-b44d4749.js").then((function(e){return e.c})).then(({Configurator:t})=>{const n=new t(this._creator_);n.boot({kernelInstance:this._planInteractionHandler.getConfiguratorKernel(),kernelContainer:this._plannerKernelAccess.kernelContainer}),n.getApi().setOverrides(this._initData),n.getApi().init(this._domHelper.element).then(()=>{this._hscInstance=n,e(this._hscInstance)})})});return this._backstack.bringIntoForeground(CANVAS_ID.HSC),this.cancelSelection(),e}async switchToViewer(){const e=await this._singlePromiseFactory.create(4,"startGLB",e=>{if(this._glbInstance)return e(this._glbInstance);import("./glb-viewer-eacfa20c.js").then(t=>{const n=new t.GlbViewer(this._creator_);n.boot(),n.getApi().setOverrides(this._initData),n.getApi().init(this._domHelper.element).then(()=>{this._glbInstance=n,e(this._glbInstance)})})});return this._backstack.bringIntoForeground(CANVAS_ID.GLB),this.cancelSelection(),e}switchToPlanner(e){e&&this.loadPlan(e),this._backstack.bringIntoForeground(CANVAS_ID.HSP)}updateSize(){this._sceneManager.updateCamera()}getMain(){}update(){this.updateSize(),this._glbInstance&&this._glbInstance.getApi().updateSize(),this._hscInstance&&this._hscInstance.getApi().updateSize()}get callbacks(){return this._roomlePlannerUiCallback}set callbacks(e){this._roomlePlannerUiCallback=e}showStats(){this._sceneManager.showStats()}onBackStackChanged(e){this._roomlePlannerUiCallback.onBackStackChanged(e)}onCloseHSC(){this._sceneManager.closeHSC(),this._hscInstance&&this._hscInstance.getApi().pauseKernelCallbacks()}back(){if(this._backstack.current()===CANVAS_ID.GLB&&this._glbInstance&&this._glbInstance.getApi().clearScene(),this._backstack.current()===CANVAS_ID.HSC&&this._hscInstance){const e=this._hscInstance.getApi();e.cancelSelection(),e.cancelDockings(),e.hideDimensions(),e.disableMultiselect(),this._sceneManager.updateScene()}this._backstack.back()}backTo(e){this._backstack.backTo(e)}getConfigurator(){return this._hscInstance}getCurrentSkin(){return this._rapiAccess.getCurrentSkin()}getRuntimeComponentIdOfRootComponent(e){return e?this._plannerKernelAccess.planInteractionHandler?this._plannerKernelAccess.planInteractionHandler.getConfiguratorKernel().getRootPlanComponentIdFromObjectId(e):(console.warn("Can not retrieve runtime id without planInteractionHandler"),0):(console.warn("Can not retrieve runtime id without planObjectId"),0)}resumeTest(e){this._domHelper.setDomElement(e),this._lifeCycleManager.resume()}pauseTest(){this._lifeCycleManager.pause()}syncCatalog(e){return this._dataSyncer.syncCatalog(e)}loadError(e){}getPlanInteractionHandler(){return Promise.resolve(this._planInteractionHandler)}getPlanModelViewHelper(){return Promise.resolve(this._plannerKernelAccess.planModelViewHelper)}async insertObject(e,t,n){if(!this._planInteractionHandler)throw new Error("no plan interaction handler");const a=await(isIdItemId(e)?this._rapiAccess.getItem(e):this._rapiAccess.getConfiguration(e)),i=await this._plannerKernelAccess.addPlanObjectFromItem(a,t,n);return this._sceneManager.updateScene(),i}async insertItemList(e){const t=e.map(e=>isIdItemId(e)?this._rapiAccess.getItem(e):this._rapiAccess.getConfiguration(e)),n=await Promise.all(t);await this._plannerKernelAccess.insertItems(n)}async insertItems(e){await this._plannerKernelAccess.insertItems(e)}getScene(){return this._sceneManager.getScene()}updateScene(){this._sceneManager.updateScene()}getCameraOffset(){return this._sceneManager.getCameraOffset()}setCameraOffset(e){this._sceneManager.setCameraOffset(e)}async getObjects(){const e=(await this.getPlanModelViewHelper()).getPlanOverview(this._plan);let t=[];for(let n=0;n<e.objects.size();n++)t.push(convertCObject(e.objects.get(n)));return t}async getPlanOverview(){const e=(await this.getPlanModelViewHelper()).getPlanOverview(this._plan);return convertCObject(e)}prepareTopImage(e={}){return this._sceneManager.prepareTopImage(e)}preparePerspectiveImage(e={}){return this._sceneManager.preparePerspectiveImage(e)}enableRotation(){this._sceneManager.enableRotation()}disableRotation(){this._sceneManager.disableRotation()}async dragInObject(e,t){this._sceneManager.dragIn(t);const n=await this._rapiAccess.getItem(e);this.insertItems([n])}}return __decorate([inject],e.prototype,"_domHelper",void 0),__decorate([inject],e.prototype,"_scriptLoader",void 0),__decorate([inject],e.prototype,"_kernelAccessCallback",void 0),__decorate([inject],e.prototype,"_plannerKernelAccess",void 0),__decorate([inject],e.prototype,"_rapiAccess",void 0),__decorate([inject],e.prototype,"_singlePromiseFactory",void 0),__decorate([inject],e.prototype,"_roomlePlannerUiCallback",void 0),__decorate([inject],e.prototype,"_lifeCycleManager",void 0),__decorate([inject],e.prototype,"_backstack",void 0),__decorate([inject],e.prototype,"_threeLoader",void 0),__decorate([inject],e.prototype,"_dataSyncer",void 0),__decorate([inject],e.prototype,"_initData",void 0),__decorate([inject],e.prototype,"_globalInitData",void 0),e})();class WallPlanElementViewModel extends PlanElementViewModel{constructor(e){super(e),this._container.name="Wall Plan Element"}addMesh(e){super.addMesh(e);const t=(new THREE.Box3).setFromObject(this.getObject()).getSize(new THREE.Vector3);this._boundingBox.geometry=new THREE.BoxGeometry(t.x,t.y,t.z),this._boundingBox.position.y=t.y/2}}class FloorPlanElementViewModel extends PlanElementViewModel{constructor(e){super(e),this._container.name="Floor Plan Element"}addMesh(e){super.addMesh(e),e.castShadow=!1;const t=(new THREE.Box3).setFromObject(this.getObject()).getSize(new THREE.Vector3);this._boundingBox.geometry=new THREE.BoxGeometry(t.x,.01,t.z)}}class CeilingPlanElementViewModel extends PlanElementViewModel{constructor(e){super(e),this._container.name="Ceiling Plan Element"}addMesh(e){super.addMesh(e),e.castShadow=!1;const t=(new THREE.Box3).setFromObject(this.getObject()).getSize(new THREE.Vector3);this._boundingBox.geometry=new THREE.BoxGeometry(t.x,.01,t.z)}}let PlanViewModel=(()=>{class e extends ConfiguratorViewModel{constructor(e){super(e),this._configurablePlanObjectViewModels=[],this._staticPlanObjectViewModels=[],this._constructionGroup=new THREE.Group,this._ceilingGroup=new THREE.Group,this._getKernelAccess().addPlannerListener(this)}planBoundsChanged(){}_getKernelAccess(){return RoomleDependencyInjection.lookup("planner-kernel-access",this._creator_)}setReference(e){this._coreReference=e.clone()}clearReference(){this._coreReference.delete(),this._coreReference=null,super.clearReference()}getCorePlan(){return this._coreReference}addPlanElementViewModel(e){e instanceof ConfiguratorPlanObjectViewModel?this._configurablePlanObjectViewModels.push(e):e instanceof StaticPlanObjectViewModel?(this._staticPlanObjectViewModels.push(e),"door"!==e.getPlanObject().getObjectType()&&"window"!==e.getPlanObject().getObjectType()&&this._initData.edit&&this._plannerSceneEventHandler.addPlanObjectHandlers(e)):e instanceof WallPlanElementViewModel?(this._initData.edit&&this._plannerSceneEventHandler.addWallHandlers(e),this._constructionGroup.add(e.getContainer())):(e instanceof FloorPlanElementViewModel||e instanceof CeilingPlanElementViewModel)&&this._constructionGroup.add(e.getContainer())}_addRootComponent(e){const t=this._getPlanObjectViewModelForRuntimeId(e.parentObjectId);t&&t instanceof ConfiguratorPlanObjectViewModel&&(t.addRootComponent(e),this._initData.edit&&this._plannerSceneEventHandler.addPlanObjectHandlers(t),t.hidePreviewBox())}_getPlanObjectViewModelForRuntimeId(e){let t=null;return this._configurablePlanObjectViewModels.forEach(n=>{e===n.getConfigurationRuntimeId()&&(t=n)}),t}getPlanObjectForId(e){let t=null;return this._configurablePlanObjectViewModels.forEach(n=>{e===n.getId()&&(t=n)}),this._staticPlanObjectViewModels.forEach(n=>{e===n.getId()&&(t=n)}),t}getConstructionGroup(){return this._constructionGroup}getCeilingGroup(){return this._ceilingGroup}getBoundingBox(){const e=this.getCorePlan();return e?kernelBoxToThreeBox(e.getBounds()):(new THREE.Box3).setFromObject(this._constructionGroup)}setPlannerSceneEventHandler(e){this._plannerSceneEventHandler=e}sceneCleared(){this._configurablePlanObjectViewModels.forEach(e=>{e.clear()}),this._staticPlanObjectViewModels.forEach(e=>{e.clear()}),super.sceneCleared()}getStaticPlanObjectViewModels(){return this._staticPlanObjectViewModels}getComponent(e){return this._components.get(e)}_generateMesh(e=0,t=null,n,a,i,s,r,o,l){return this._plannerMeshGenerator.generateMesh(t,n,a,i,s,r,o,l)}_setMaterial(e,t,n){this._plannerMeshGenerator.setMaterial(e,t)}Editor3dComponentCreated(e,t,n,a,i){super.Editor3dComponentCreated(e,t,n,a,i),this._getKernelAccess()instanceof PlannerKernelAccess&&this.dockComponent(e,a,t,n)}addPlanObjectToScene(e){}handlerSwitchedPlans(e){this._constructionGroup=new THREE.Group,this._ceilingGroup=new THREE.Group}planCompletelyLoaded(e){}beginPlanConstruction(e){}addPlanMesh(e,t,n,a,i,s,r){}endPlanConstruction(e){}planElementChanged(e,t){}planObjectConfigurationLoaded(e,t,n){}addMesh(e,t,n,a,i,s){const r=e.extRef.jsObject;let o=r.getMesh(t);o?o.geometry=this._plannerMeshGenerator.generateGeometry(null,n,a,i,s):(o=this._generateMesh(0,null,t,n,a,i,s,e.getType()),r.addMesh(o))}removePlanObjectFromScene(e){}planElementRemoved(e){if(e.getType()===this._getKernelAccess().kernelContainer.PlanElementType.OBJECT){let t=e;if(t.hasConfiguration()){const e=t.extRef.jsObject,n=this._configurablePlanObjectViewModels.indexOf(e);n>-1&&this._configurablePlanObjectViewModels.splice(n,1)}else{const e=t.extRef.jsObject,n=this._staticPlanObjectViewModels.indexOf(e);n>-1&&this._staticPlanObjectViewModels.splice(n,1)}}}getMeshGenerator(){return this._plannerMeshGenerator}}return __decorate([inject],e.prototype,"_plannerMeshGenerator",void 0),e})(),PlannerKernelAccess=(()=>{class e extends CommonKernelAccess{constructor(e){super(e,0),this._plannerKernelCallbackListener=new Set,Benchmark.addMeta("kernel_is_ready",{isWasm:this._useWASM}),this._scriptLoader.fetch(this._kernelPath,{id:"kernel"}).then(this._loadSuccess.bind(this),this._loadError.bind(this))}get kernelContainer(){return this._kernelContainer}_loadSuccess(){window.RoomleCore(this._kernelContainer)}_loadError(){console.error("kernel load error")}_createPlanInteractionHandler(){const e=this._kernelContainer;this._planInteractionHandler=new e.PlanInteractionHandler,this._planInteractionHandler.init(this._planInteractionHandler,1,100,!0,!0,e.DrawingType.CLICK_PER_CLICK),this._roomlePlannerUiCallback.onPlanInteractionHandlerCreated(this._planInteractionHandler)}addPlannerListener(e){this._plannerKernelCallbackListener.add(e)}removePlannerListener(e){this._plannerKernelCallbackListener.delete(e)}isReady(){super.isReady(),this.registerCallbacks(),this._roomlePlannerUiCallback.onPlannerKernelIsReady(this._kernelContainer),this._createPlanInteractionHandler();const e=this._planInteractionHandler.getConfiguratorKernel();this._kernelInstance=e,this._roomlePlannerUiCallback.onConfiguratorKernelIsReady(this._kernelContainer,e),Env.isProduction||(window.__RML__DEBUG__.ConfiguratorKernel=this._kernelInstance,window.__RML__DEBUG__.PlannerKernelContainer=this._kernelContainer),this._kernelAccessCallback.isReady()}get callbacks(){return this._roomlePlannerUiCallback}get planInteractionHandler(){return this._planInteractionHandler}get planModelViewHelper(){return this._kernelContainer.PlanModelViewHelper}catalogItemLoaded(e){const t=this._rapiItemToKernelItem(e);this._kernelContainer.catalogItemLoaded(t)}async insertItems(e){let t=new this._kernelContainer.CatalogItemPtrList;e.forEach(e=>{let n=e.count||1;for(let a=0;a<n;a++)e.count||(e.count=0),t.push_back(this._rapiItemToKernelItem(e))}),this._planInteractionHandler.addPlanObjects(t);const n=this._planInteractionHandler.getPlan().extRef.jsObject;await Promise.all(n.getStaticPlanObjectViewModels().map(async e=>{if(e.needsRapiItem()){const t=await this._rapiAccess.getItem(e.getPlanObject().getCatalogItemId());e.setRapiItem(t)}}))}_rapiItemToKernelItem(e){let t=new this._kernelContainer.CatalogItem(e.id),n=t.size;return n.x=e.width||0,n.y=e.depth||0,n.z=e.height||0,t.size=n,t.flipable=e.flipable,e.layer&&(t.layer=e.layer),t.orderable=e.orderable,t.scaleable=e.scaleable,t.type=e.type||"other",t.detailType=e.detailType||t.type||"other",t.configuration=e.configuration||"",t}onLoadComponentError(e,t){}configurationLoaded(e,t,n,a,i){}componentDefinitionLoaded(e,t){}componentDefinitionLoadingError(e,t){}configurationLoadingError(){}componentConfigurationUpdated(e){}componentParameters(){}requestComponentDimensions(){}planObjectCreated(e,t){}planObjectUpdated(e){}planObjectConfigurationUpdated(e,t,n){}planObjectDeleted(){}requestPlanObjectDimensions(){}cleanUpCallbacks(){super.cleanUpCallbacks(),this._kernelContainer.unregisterPlannerCallback(this)}registerCallbacks(){super.registerCallbacks(),this._kernelContainer.registerPlannerCallback(this)}requestExternalMesh(e,t){return new Promise((n,a)=>{this._rapiAccess.getMesh(e,MESH_DEFAULT_FORMAT,t).then(i=>{fetch(new Request(this._dataSyncer.requestAsset(i.url,!0))).then(e=>e.arrayBuffer()).then(a=>this._handleCortoMesh(a,e,t,n)).catch(e=>{console.error(e),a(e)})},e=>{console.error(e),a(e)})})}Editor3dRootComponentCreated(e,t,n,a){this._configuratorKernelCallbackListener.forEach(i=>i.Editor3dComponentCreated(e,t,n,a,!0))}Editor3dPlanObjectConstructionDone(e){}Editor3dBeginGroup(){}Editor3dEndGroup(){}Editor3dSetMaterial(){}Editor3dLoadMaterial(){}Editor3dAddDockPreview(e,t){}Editor3dSetPreviewPointAssociations(e,t){}Editor3dSetPreviewLineAssociations(e,t){}Editor3dPreviewConstructionDone(e,t){}Editor3dTranslateBy(){}Editor3dRotateBy(){}Editor3dRotateAround(){}Editor3dAddCube(){}Editor3dAddCubeUVMod(){}Editor3dAddSphere(){}Editor3dAddSphereUVMod(){}Editor3dAddRectangle(){}Editor3dAddRectangleUVMod(){}Editor3dAddMesh(){}Editor3dAddMeshUVMod(){}Editor3dAddMeshUVCoord(){}Editor3dAddCylinder(){}Editor3dAddCylinderUVMod(){}Editor3dAddPrism(){}Editor3dAddPrismUVMod(){}Editor3dAddFittingPoint(){}Editor3dAddFittingLine(){}Editor3dSelectObject(){}Editor3dCopy(){}Editor3dUpdatePlanObjectPosition(){}Editor3dUpdatePlanObjectRotation(){}Editor3dUpdatePlanObjectTransform(){}Editor3dUpdatePlanComponentPosition(){}Editor3dUpdatePlanComponentRotation(){}Editor3dUpdatePlanComponentTransform(){}planElementRemoved(e){this._plannerKernelCallbackListener.forEach(t=>t.planElementRemoved(e)),this._plannerKernelCallbackListener.forEach(t=>t.removePlanObjectFromScene(e.extRef.jsObject)),this._decoupleReferences(e)}handlerSwitchedPlans(e,t){if(this._decoupleReferences(e),t){let e=new PlanViewModel(this._creator_);e.setReference(t),this._coupleReferences(e,t),this._plannerKernelCallbackListener.forEach(t=>t.handlerSwitchedPlans(e))}}planBoundsChanged(){this._plannerKernelCallbackListener.forEach(e=>e.planBoundsChanged())}planCleared(){}planCompletelyLoaded(e){this._plannerKernelCallbackListener.forEach(t=>t.planCompletelyLoaded(e))}planElement3dMeshChanged(e,t){if(t.extRef){const e=t.extRef.jsObject;for(let t=e.getObject().children.length-1;t>=0;t--)e.getObject().remove(e.getObject().children[t])}this.planModelViewHelper.requestMesh3d(t)}planElementAdded(e,t){if(e&&e.extRef)if(t.getType()===this._kernelContainer.PlanElementType.OBJECT){let n,a=t;a.hasConfiguration()?(n=new ConfiguratorPlanObjectViewModel(a),this._coupleReferences(n,a),e.extRef.jsObject.addPlanElementViewModel(n)):(n=new StaticPlanObjectViewModel(a),this._coupleReferences(n,a),e.extRef.jsObject.addPlanElementViewModel(n)),this._plannerKernelCallbackListener.forEach(e=>e.addPlanObjectToScene(n))}else{let n,a=t;if(t.getType()===this._kernelContainer.PlanElementType.WALL?n=new WallPlanElementViewModel(a):t.getType()===this._kernelContainer.PlanElementType.FLOOR?n=new FloorPlanElementViewModel(a):t.getType()===this._kernelContainer.PlanElementType.CEILING&&(n=new CeilingPlanElementViewModel(a)),!n)return;n.setPrimaryColor(this._initData.colors.PRIMARY),this._coupleReferences(n,a),e.extRef.jsObject.addPlanElementViewModel(n),this.planModelViewHelper.requestMesh3d(t)}}planElementChanged(e,t){if(t.extRef){let n=t.extRef.jsObject;n.update(),this._plannerKernelCallbackListener.forEach(t=>t.planElementChanged(e,n))}}planHistoryStateChanged(){}planObjectConfigurationCreated(e,t){}planObjectConfigurationLoaded(e,t,n){e&&e.extRef&&t&&t.extRef&&t.extRef.jsObject.getPlanObject().getConfigurationRuntimeId()>0&&this._plannerKernelCallbackListener.forEach(a=>a.planObjectConfigurationLoaded(e,t,n))}requestCatalogItem(e){}startedDrawing(){}stoppedDrawing(){}updateMesh2d(){}beginConstruction(){}addMesh(e,t,n,a,i,s){this._plannerKernelCallbackListener.forEach(r=>r.addMesh(e,t,n,a,i,s))}endConstruction(){}beginPlanConstruction(e){this._plannerKernelCallbackListener.forEach(t=>t.beginPlanConstruction(e))}addPlanMesh(e,t,n,a,i,s,r){this._plannerKernelCallbackListener.forEach(o=>o.addPlanMesh(e,t,n,a,i,s,r))}endPlanConstruction(e){this._plannerKernelCallbackListener.forEach(t=>t.endPlanConstruction(e))}addPlanObjectFromItem(e,t,n){if(!t&&!n)return this.insertItems([e]);n=n||0===n?n:0,t=t||{x:0,y:0,z:0};const a=this._rapiItemToKernelItem(e);return this._planInteractionHandler.addPlanObjectFromItem(a,t,n)}_coupleReferences(e,t){let n=new this._kernelContainer.EMSReference;n.jsObject=e,t.extRef=n}_decoupleReferences(e){e&&e.extRef&&(e.extRef.jsObject.clearReference(),e.extRef.jsObject=null,e.extRef.delete(),e.extRef=null)}}return __decorate([inject],e.prototype,"_kernelAccessCallback",void 0),__decorate([inject],e.prototype,"_roomlePlannerUiCallback",void 0),__decorate([inject],e.prototype,"_initData",void 0),e})(),Backstack=(()=>{class e{constructor(e){this._initialStack=[],this._creator_=e,this._lifeCycleManager.addEventListener(this)}_setInitialStack(e){this._initialStack=[...e]}_setCallbacks(e){this._callbacks=e}_resetCanvasStack(){this._canvasStack=[...this._initialStack]}init(e,t){this._setInitialStack(e),this._resetCanvasStack(),this._setCallbacks(t)}bringIntoForeground(e){const t=this._domHelper.element.querySelectorAll("canvas");let n=!1;t.forEach(t=>{if(t.classList.contains(e)){if(!t.classList.contains("foreground")){const t=this.current();t&&e!==t&&(this._canvasStack.push(e),n=!0),t||(n=!0)}t.classList.remove("background"),t.classList.add("foreground")}else t.classList.remove("foreground"),t.classList.add("background")}),n&&this._callbacks.onBackStackChanged(this._canvasStack)}current(){return this._canvasStack[this._canvasStack.length-1]}back(){if(1===this._canvasStack.length)return;let e=this._canvasStack.pop();this.bringIntoForeground(this.current()),e===CANVAS_ID.HSC&&this._callbacks.onCloseHSC(),this._callbacks.onBackStackChanged(this._canvasStack)}backTo(e){if(1!==this._canvasStack.length&&this.current()!==e)for(;this._canvasStack.length>0;){let t=this.current();if(t===e){this.bringIntoForeground(t);break}t===CANVAS_ID.HSC&&this._callbacks.onCloseHSC(),this._canvasStack.pop(),this._callbacks.onBackStackChanged(this._canvasStack)}}pause(){this._resetCanvasStack()}resume(){}destroy(){}}return __decorate([inject],e.prototype,"_domHelper",void 0),__decorate([inject],e.prototype,"_lifeCycleManager",void 0),e})();class PlannerSelectionHandlerEvent{constructor(e){const{planElementViewModel:t}=e;this.planElementViewModel=t}}const INJECTABLES=[new DependencyInjectionAssignment("script-loader",ScriptLoader),new DependencyInjectionAssignment("planner-input-manager",class extends InputManager{_canDrag(e){return!0}},1),new DependencyInjectionAssignment("planner-kernel-access",PlannerKernelAccess),new DependencyInjectionAssignment("logger",Logger),new DependencyInjectionAssignment("planner-mesh-generator",class extends MeshGenerator{constructor(e){super(e),this._wallMeshes=[],this._defaultMaterial=new THREE.MeshStandardMaterial({color:"#ffffff",roughness:1,metalness:0,opacity:1,envMap:null}),this._environmentLoader.setEnvMap(this._defaultMaterial)}generateGeometry(e=null,t,n,a,i,s=!1){let r;return r=s?this._generateGeometry(e,t,n,a,i).clone():this._generateGeometry(e,t,n,a,i),r}generateMesh(e=null,t,n,a,i,s,r,o=!1){const l=this.generateGeometry(e,n,a,i,s,o),c=new THREE.Mesh(l,this._previewMaterial);return c.layers.set(3),!t&&r&&7!==r.value?(console.warn("material is undefined"),c):(this.setMaterial(c,t,r).then(()=>{const e=r&&3===r.value;c.castShadow=!e}),this._checkWallMaterial(c,r),c)}async setMaterial(e,t,n){if(e.userData.material=getMaterialId(t,n),e.userData.materialId=t,isString(t))t?(await this._assignMaterial(e,t),this._materialLoaded&&this._materialLoaded()):(console.warn("Used default material because material is empty"),this.changeMaterialOfMesh(e,this._defaultMaterial));else{if(!t)return void this.changeMaterialOfMesh(e,this._defaultMaterial);2===(t=t).getSourceType().value?(await this._assignMaterial(e,t.materialId),this._materialLoaded&&this._materialLoaded()):1===t.getSourceType().value?await this._assignItem(e,t.catalogItemId):3===t.getSourceType().value?await this._assignRGB(e,t.rgbValue):0===t.getSourceType().value?this.changeMaterialOfMesh(e,this._defaultMaterial):(this.changeMaterialOfMesh(e,this._defaultMaterial),1!==n.value&&7!==n.value&&3!==n.value&&console.warn("Used default material because material is not supported",t))}}set maxAnisotropy(e){this._maxAnisotropy=e}_checkWallMaterial(e,t){t&&1===t.value&&(e.renderOrder=5,this._wallMeshes.push(e))}clear(){super.clear(),this.clearWallMeshes()}clearWallMeshes(){this._wallMeshes.forEach(e=>{disposeMesh(e)}),this._wallMeshes=[]}get wallMeshes(){return this._wallMeshes}}),new DependencyInjectionAssignment("rapi-access",RapiAccess),new DependencyInjectionAssignment("roomle-planner-ui-callback",class extends UiCallback{constructor(e){super(e),this.onItemsLoaded=()=>{},this.onBackStackChanged=e=>{},this.onCameraChanged=e=>{},this.onTotalFloorAreaChanged=e=>{},this.onPlanInteractionHandlerCreated=e=>{},this.onPlannerKernelIsReady=e=>{},this.onConfiguratorKernelIsReady=(e,t)=>{},this.onSelectionChange=(e,t,n,a)=>{},this.onSelectionCancel=()=>{},this.onPlanChanged=()=>{},this.onCompletelyLoaded=()=>{},this.onRotationCancel=()=>{}}}),new DependencyInjectionAssignment("backstack",Backstack),new DependencyInjectionAssignment("planner-selection-handler",class extends EventDispatcher{constructor(){super(...arguments),this._selectionMode="standard",this._selectedPlanElementViewModels=new Map}check(e){"standard"===this._selectionMode&&this._checkStandard(e),"multiselect"===this._selectionMode&&this._checkMulti(e)}cancelSelection(){0!==this._selectedPlanElementViewModels.size&&this._selectedPlanElementViewModels.forEach((e,t)=>{this._selectedPlanElementViewModels.delete(t),this.dispatchEvent(1,new PlannerSelectionHandlerEvent({planElementViewModel:e}))})}_checkStandard(e){if(this._selectedPlanElementViewModels.has(e.getId()))return this._selectedPlanElementViewModels.delete(e.getId()),void this.dispatchEvent(1,new PlannerSelectionHandlerEvent({planElementViewModel:e}));this._selectedPlanElementViewModels.size>0&&this._selectedPlanElementViewModels.forEach((e,t)=>{this._selectedPlanElementViewModels.delete(t),this.dispatchEvent(1,new PlannerSelectionHandlerEvent({planElementViewModel:e}))}),this._selectedPlanElementViewModels.set(e.getId(),e),this.dispatchEvent(0,new PlannerSelectionHandlerEvent({planElementViewModel:e}))}_checkMulti(e){if(this._selectedPlanElementViewModels.has(e.getId()))return this._selectedPlanElementViewModels.delete(e.getId()),void this.dispatchEvent(1,new PlannerSelectionHandlerEvent({planElementViewModel:e}));this._selectedPlanElementViewModels.set(e.getId(),e),this.dispatchEvent(0,new PlannerSelectionHandlerEvent({planElementViewModel:e}))}setSelectionMode(e){this._selectionMode=e}getSelectionMode(){return this._selectionMode}hasSelection(){return this._selectedPlanElementViewModels.size>0}getSelectedIds(){let e=[];return this._selectedPlanElementViewModels.forEach(t=>e.push(t.getId())),e}isSelected(e){return!!this._selectedPlanElementViewModels.get(e)}})];class Planner extends Main{setupGlobals(){}setupDependencies(){RoomleDependencyInjection.setup(INJECTABLES),this.lookup("logger",this._context),this.lookup("planner-kernel-access",this._context)}cleanUpGlobals(){throw new Error("Method not implemented.")}cleanUpDependencies(){throw new Error("Method not implemented.")}bootFinished(){this._planner=new RoomlePlanner(this._context),this._planner.getMain=()=>this,window.RoomlePlanner||(window.RoomlePlanner=this._planner)}getApi(){return this._planner}getContextName(){return"planner"}}export{Planner};
|
|
2
|
-
//# sourceMappingURL=planner-82e7e808.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
System.register(["./query-params-helper-c231e1b8.nomodule.js","./rapi-access-e27314d5.nomodule.js","./main-thread-to-worker-2526203d.nomodule.js","./image-renderer-cad9cce5.nomodule.js","./pixotron-8125b43b.nomodule.js","./mesh-generator-e479dd88.nomodule.js","./default-light-setting-ace35a21.nomodule.js","./scene-manager-0ab80786.nomodule.js"],(function(e,t){var n,a,i,s,r,o,l,c,h,d,_,p,g,m,u,C,E,b,f,w,M,S,P,v,I,k,y,R,H,L,j,O,T,x,V,D,B,A,G,K,F,U,z,q,W,X,N,Q,Y,J,Z,$,ee,te,ne,ae,ie,se,re,oe,le;return{setters:[function(){},function(e){n=e.h,a=e._,i=e.i,s=e.W,r=e.X,o=e.H,l=e.Y,c=e.e,h=e.Z,d=e.N,_=e.$,p=e.O,g=e.a0,m=e.a1,u=e.a2,C=e.d,E=e.z,b=e.a3,f=e.j,w=e.B,M=e.a4,S=e.q,P=e.G,v=e.a5,I=e.c,k=e.a6,y=e.r,R=e.C,H=e.E,L=e.M,j=e.V,O=e.U,T=e.m,x=e.L,V=e.n},function(e){D=e.s,B=e.j,A=e.k,G=e.l},function(e){K=e.S,F=e.G,U=e.a,z=e.p,q=e.g},function(e){W=e.L,X=e.B,N=e.a,Q=e.C,Y=e.h,J=e.T,Z=e.e,$=e.g,ee=e.I,te=e.E,ne=e.S,ae=e.M},function(e){ie=e.M},function(e){se=e.D},function(e){re=e.S,oe=e.C,le=e.a}],execute:function(){class ce extends W{constructor(e,t){super(e,t),this._center=new THREE.Vector3(0,0,0),this._params={ambientLight:{color:"#ffffff"},hemiLight:{color:"#ffffff"},mainDirLight:{direction:{x:.03,y:1,z:.03},color:"#ffffff"}},this._ambientLight=new THREE.AmbientLight(new THREE.Color(this._params.ambientLight.color),.3),this._ambientLight.layers.set(1),this._mainDirLight=new THREE.DirectionalLight(new THREE.Color(this._params.mainDirLight.color),.5),this._mainDirLight.castShadow=!0,this._mainDirLight.shadow.camera.near=.5,this._mainDirLight.shadow.camera.far=100,this._mainDirLight.shadow.mapSize=new THREE.Vector2(1024,1024),this._mainDirLight.visible=!0,this.addToScene()}updateSunPosition(e,t){}addToScene(){this._scene.add(this._mainDirLight),this._scene.add(this._ambientLight),this._scene.add(this._mainDirLight.target)}removeFromScene(){this._scene.remove(this._mainDirLight),this._scene.remove(this._ambientLight),this._scene.remove(this._mainDirLight.target)}reload(){this.removeFromScene(),this.addToScene()}needsBounds(){return!0}updateBounds(e){this._center.copy(e.getCenter(new THREE.Vector3));const t=new THREE.Sphere;e.getBoundingSphere(t);const n=t.radius,a=new THREE.Vector3(this._params.mainDirLight.direction.x,this._params.mainDirLight.direction.y,this._params.mainDirLight.direction.z);a.normalize(),a.multiplyScalar(n),this._mainDirLight.position.copy(this._center),this._mainDirLight.position.add(a),this._mainDirLight.target.position.copy(this._center),this._mainDirLight.target.updateMatrixWorld(!0),this._mainDirLight.shadow.camera.top=n,this._mainDirLight.shadow.camera.bottom=-n,this._mainDirLight.shadow.camera.left=-n,this._mainDirLight.shadow.camera.right=n,this._mainDirLight.shadow.camera.near=.01,this._mainDirLight.shadow.camera.far=2*n,this._mainDirLight.shadow.camera.updateProjectionMatrix()}showGUI(){let e=n();if(e){if(this._ambientLight){let t=e.addFolder("Ambient Light");t.add(this._ambientLight,"visible"),t.add(this._ambientLight,"intensity").min(0).max(5).step(.1),t.addColor(this._params.ambientLight,"color").onChange(e=>this._ambientLight.color=new THREE.Color(e))}if(this._hemiLight){let t=e.addFolder("Hemi Light");t.add(this._hemiLight,"visible"),t.add(this._hemiLight,"intensity").min(0).max(5).step(.1),t.addColor(this._params.hemiLight,"color").onChange(e=>this._hemiLight.color=new THREE.Color(e))}if(this._mainDirLight){let t=e.addFolder("Main Directional Light");t.add(this._mainDirLight,"visible"),t.add(this._mainDirLight,"intensity").min(0).max(10).step(.1),t.add(this._mainDirLight,"castShadow"),t.addColor(this._params.mainDirLight,"color").onChange(e=>this._mainDirLight.color=new THREE.Color(e)),t.add(this._mainDirLight.position,"x").min(-10).max(10).step(.1).onChange(()=>this._mainDirLight.lookAt(this._center)),t.add(this._mainDirLight.position,"y").min(-10).max(50).step(.1).onChange(()=>this._mainDirLight.lookAt(this._center)),t.add(this._mainDirLight.position,"z").min(-10).max(10).step(.1).onChange(()=>this._mainDirLight.lookAt(this._center))}}}}class he{constructor(e){const{planElementViewModel:t,resetCamera:n,state:a,oldState:i}=e;this.planElementViewModel=t,this.resetCamera=void 0===n||n,this.state=void 0===a?0:a,this.oldState=void 0===i?0:i}}let de=(()=>{class e extends K{constructor(e,t,n,a){super(e,t,n,a),this._state=0,this._inputManager.addEventListener(4,()=>this._position=null,this),this._raycastHelper.setMode(0);const i=new THREE.Layers;i.enable(3),i.enable(6),this._raycastHelper.setLayers(i),this._raycastHelper.addEventListener(3,()=>{this._plannerSelectionHandler.cancelSelection()},this),this._plannerSelectionHandler.addEventListener(0,({planElementViewModel:e})=>{this.dispatchEvent(0,new he({planElementViewModel:e}))},this),this._plannerSelectionHandler.addEventListener(1,({planElementViewModel:e})=>{this.setState(0),this.dispatchEvent(1,new he({planElementViewModel:e}))},this),this._inputManager.addEventListener(6,e=>this._move(e),this)}getSelectionMode(){return this._plannerSelectionHandler.getSelectionMode()}async addPlanObjectHandlers(e,t){t||(t=await e.getObjectAsync());const n={hasListener:!0,priority:1,roomleId:e.getId()};this._addPlanObjectHandlers(e,t,n)}addWallHandlers(e){this._addPlanElementHandlers(e,e.getBoundingBox(),{hasListener:!0,priority:1,roomleId:e.getId()})}_addPlanObjectHandlers(e,t,n){t.userData.hasListener||(t.userData=n,t.addEventListener("select",()=>this._clickElement(e)),t.addEventListener("drag_start",()=>this._dragStart(e)),t.addEventListener("drag",t=>this._drag(e,t.attachment.position)),t.addEventListener("drag_end",t=>this._dragEnd(e,t.attachment.position)),t.addEventListener("hover_on",()=>this._hoverOn(e)),t.addEventListener("hover_off",()=>this._hoverOff(e)),t.addEventListener("rotate",t=>this._rotate(e,t.attachment.rotation)))}_addPlanElementHandlers(e,t,n){t.userData.hasListener||(t.userData=n,t.addEventListener("select",()=>this._clickElement(e)),t.addEventListener("drag_start",()=>this._dragStart(e)),t.addEventListener("drag",t=>this._drag(e,t.attachment.position)),t.addEventListener("drag_end",t=>this._dragEnd(e,t.attachment.position)),t.addEventListener("hover_on",()=>this._hoverOn(e)),t.addEventListener("hover_off",()=>this._hoverOff(e)))}_clickElement(e){this._debug&&e.getId(),this._plannerSelectionHandler.check(e),this._setCursor()}_hoverOn(e){this._hoveredObject=e,this._setCursor()}_hoverOff(e){this._hoveredObject=null,this._setCursor()}_setCursor(){2===this._state&&this._hasSelection()?D("ew-resize"):1===this._state?D("grabbing"):this._hoveredObject&&this._plannerSelectionHandler.isSelected(this._hoveredObject.getId())?D("move"):this._hoveredObject?D("pointer"):D("default")}setCamera(e){this._raycastHelper.setCamera(e)}setScene(e){this._raycastHelper.setScene(e)}getSelectedIds(){return this._plannerSelectionHandler.getSelectedIds()}setSelectionMode(e){this._plannerSelectionHandler.setSelectionMode(e)}setPlanViewModel(e){this._planViewModel=e}cancelSelection(){this._plannerSelectionHandler.cancelSelection()}_dragStart(e){this._plannerSelectionHandler.isSelected(e.getId())&&0===this._state&&(this._draggedObject=e,this.setState(1),this.dispatchEvent(4,new he({planElementViewModel:e})),this._setCursor())}_drag(e,t){if(!this._draggedObject||1!==this._state)return;const n=this._plannerKernelAccess.planInteractionHandler;if(this._plannerSelectionHandler.getSelectedIds().length>1){const e=new this._plannerKernelAccess.kernelContainer.PlanObjectPtrList;let a=t.sub(this._draggedObject.getPosition());this._plannerSelectionHandler.getSelectedIds().forEach(t=>e.push_back(this._planViewModel.getPlanObjectForId(t).getPlanObject())),n.moveObjectsBy(e,s(a))}else n.moveElementTo(e.getPlanElement(),s(t));this.dispatchEvent(5,new he({planElementViewModel:e}))}_dragEnd(e,t){this._draggedObject&&(this._draggedObject=null,this.setState(0),this.dispatchEvent(6,new he({planElementViewModel:e})),this._dragIn&&(this.cancelSelection(),this.setDragIn(!1)),this._setCursor())}_rotate(e,t){if(this._plannerSelectionHandler.isSelected(e.getId())){const n=this._plannerKernelAccess.planInteractionHandler,a=e.getPlanObject();n.setObjectRotation(e.getPlanElement(),a.rotation-t)}}setState(e){const t=this._state;this._state=e,this._setCursor(),this.dispatchEvent(2,new he({state:this._state,oldState:t})),this._position=null,2===this._state&&this._plannerKernelAccess.planInteractionHandler.deactivateAllSnappingActivity()}resetState(){this.setState(0)}_move(e){if(2===this._state&&this._hasSelection()){this._setCursor();let t=Math.PI/180;const{x:n,y:a}=e.positionRelative;this._position?t=1.4*e.positionRelative.x*Math.PI-1.4*this._position.x*Math.PI:this._position=new THREE.Vector3(e.positionRelative.x,e.positionRelative.y,0);const i=new this._plannerKernelAccess.kernelContainer.PlanObjectPtrList,r=new THREE.Box3;this.getSelectedIds().forEach(e=>{var t;const n=null===(t=this._planViewModel)||void 0===t?void 0:t.getPlanObjectForId(e);n&&n.getObject()&&(i.push_back(n.getPlanObject()),r.expandByObject(n.getContainer()))});const o=r.getCenter(new THREE.Vector3);this._plannerKernelAccess.planInteractionHandler.rotateObjectsBy(i,t,s(o)),this._position.copy(new THREE.Vector3(n,a,0))}}_hasSelection(){return this._plannerSelectionHandler.getSelectedIds().length>0}selectPlanElement(e){this._plannerSelectionHandler.check(e)}_interaction(e){this.dispatchEvent(0,new he({}))}addComponentDragInHandler(e){if(!this._dragIn)return;const t=e.getBoundingBox();this._addPlanElementHandlers(e,t,{hasListener:!0,priority:1,roomleId:e.getId()}),this._raycastHelper.enableDragIn(t),this._dragStart(e)}}return a([i],e.prototype,"_plannerSelectionHandler",void 0),a([i],e.prototype,"_plannerKernelAccess",void 0),e})();class _e{constructor(){this._promiseExecutors=[]}create(){return new Promise((e,t)=>{this._promiseExecutors.push({resolve:e,reject:t})})}resolve(e){return new Promise(t=>{this._promiseExecutors.forEach(t=>t.resolve(e)),this._promiseExecutors=[],t(e)})}reject(e){return new Promise((t,n)=>{this._promiseExecutors.forEach(t=>t.reject(e)),this._promiseExecutors=[],n(e)})}}class pe extends class{constructor(e){this._coreReference=e.clone()}clearReference(){this._coreReference.delete(),this._coreReference=null}getKernelObject(){return this._coreReference}}{constructor(e){super(e),this._objectWaiter=new _e;const t=r(e.getCenter());this._container=new THREE.Object3D,this._container.position.copy(t),this._boundingBox=this._generateBoundingBox(this.getSize(),e.customColor),o(this._boundingBox),this._container.add(this._boundingBox),2!==this.getPlanElement().getType().value&&(this._object=new THREE.Object3D,this._container.add(this._object))}getSize(){return this._object?(new THREE.Box3).setFromObject(this._object).getSize(new THREE.Vector3):new THREE.Vector3}update(){this._container.position.copy(r(this.getPlanElement().getCenter()))}getPosition(){return this._container.position}getRotation(){return this._container.rotation.y}getBounds(){let e=new THREE.Box3;return e.setFromObject(this._container),e}getBoundingBox(){return this._boundingBox}getPlanElement(){return this._coreReference}setObject(e){this._object=e,this._objectWaiter.resolve(e)}getObject(){return this._object}async getObjectAsync(){return this._object?Promise.resolve(this._object):this._objectWaiter.create()}addMesh(e){this._object.add(e),this.hidePreviewBox()}getMesh(e){if(!this._object||0===this._object.children.length)return null;const t=l(e,this.getPlanElement().getType());return this._object.children.find(e=>e.userData.material===t)}getContainer(){return this._container}getId(){return this.getPlanElement().getId()}clear(){c(this._container),this._selectionMesh&&c(this._selectionMesh)}hidePreviewBox(){this._container&&this._boundingBox&&(this._boundingBox.material=h())}_generateBoundingBox(e,t){e.addScalar(.01);let n=new THREE.BoxGeometry(e.x,e.y,e.z),a=new THREE.Color(d);t>0&&(a=_(t));let i=new THREE.MeshStandardMaterial({color:a,opacity:p,transparent:!0}),s=new THREE.Mesh(n,i);return s.name="bounding box",s.position.y=e.y/2,s.castShadow=!1,s.receiveShadow=!1,s.layers.set(5),s}select(){if(!this._selectionMesh){let e=new THREE.MeshStandardMaterial({color:this._primaryColor,opacity:p,transparent:!0});const t=r(this.getPlanElement().getCenter());this._selectionMesh=new THREE.Mesh(g(t,this.getSize()),e)}this._container.add(this._selectionMesh)}deselect(){this._selectionMesh&&this._container.remove(this._selectionMesh)}setPrimaryColor(e){this._primaryColor=e}}class ge extends pe{constructor(e){super(e),this._container.rotation.y=e.rotation}getPlanObject(){return this.getPlanElement()}getSize(){return m(this.getPlanObject().size)}update(){super.update(),this._container.rotation.y=this.getPlanObject().rotation}}let me=(()=>{class e extends ge{constructor(e){super(e),this._container.name="Static "+this._container.name}setRapiItem(e){return this._addStaticItem(e)}_addStaticItem(e){this._rapiItem=e;let t=this.getPlanObject();this._glbUrl=B(e);let n=e.scaleable?m(t.size):void 0,a=new THREE.Vector3(1,1,1);return t.flipX&&(a.x*=-1),t.flipY&&(a.z*=-1),new Promise(i=>{this._staticItemLoader.loadGLB(this._glbUrl,void 0,void 0,n,a,t.customColor,e.colorable).then(t=>{t.name=e.label,this.setObject(t),u(t,this._glbUrl),o(t),this._container.add(this.getObject()),this.hidePreviewBox(),i()})})}getRapiItem(){return this._rapiItem}needsRapiItem(){return!this._glbUrl}getGLBUrl(){return this._glbUrl}}return a([i],e.prototype,"_staticItemLoader",void 0),e})();class ue extends ge{constructor(e){super(e),this._container.name="Configurable "+this._container.name}addRootComponent(e){this.setObject(e),this._container.add(this.getObject())}getConfigurationRuntimeId(){return this.getPlanObject().getConfigurationRuntimeId()}}let Ce=(()=>{class e extends re{constructor(e,t,n,a){super(e,t,C.HSP,a),this._staticItemGuard=new E,this._configurableItemGuard=new E,this._roomlePlannerCallback=n,this._plannerMeshGenerator.maxAnisotropy=this._renderer.capabilities.getMaxAnisotropy(),this._plannerMeshGenerator.maxTextures=this._renderer.capabilities.maxTextures,this._plannerSceneEventHandler=new de(e,this._scene,this._cameraControl.getCamera(),this._getInputManager()),this._plannerSceneEventHandler.addEventListener(2,({state:e,oldState:t})=>{2===t&&e!==t&&this._roomlePlannerUiCallback.onRotationCancel(),2===e||1===e?this._cameraControl.lock():this._cameraControl.unlock()},this),this._plannerSceneEventHandler.addEventListener(0,({planElementViewModel:e})=>{e instanceof me&&this._initData.debug&&e.getGLBUrl(),this._highlight(e),this._onSelectionChange(e)},this),this._plannerSceneEventHandler.addEventListener(1,()=>{this._highlight(null),this._roomlePlannerUiCallback.onSelectionCancel()},this),this._plannerSceneEventHandler.addEventListener(4,()=>{this._cameraControl.lock(),this._environment instanceof X&&this._environment.removeFromScene(),this._requestRender(),this._dragStartBounds=this.getBounds()},this),this._plannerSceneEventHandler.addEventListener(5,({planElementViewModel:e})=>{this._cameraControl.checkNearFarDistance(e.getPosition()),this._requestRender()},this),this._plannerSceneEventHandler.addEventListener(6,({planElementViewModel:e})=>{this._cameraControl.unlock(),this._environment instanceof X&&this._environment.addToScene();const t=this._getDragPosition(e.getPosition());t&&this._plannerKernelAccess.planInteractionHandler.moveElementTo(e.getPlanElement(),s(t)),this._requestRender(!0),this.updateEnvironment(this.getBounds(),!0),this._zoomToBounds()},this),this._plannerKernelAccess.addPlannerListener(this),this._plannerMeshGenerator.setMaterialLoadedListener(()=>{this._planViewModel.tryToMergeComponents(),this._configurableItemGuard.resolve(),this._requestRender()}),window.onbeforeunload=this.clearScene.bind(this)}_getDragPosition(e){if(!this._plannerSceneEventHandler.isDragIn())return null;const t=this._dragStartBounds?this._dragStartBounds:this.getBounds(),n=t.getCenter(new THREE.Vector3),a=e.distanceTo(n),i=t.getSize(new THREE.Vector3),s=Math.max(i.x,i.z)+3;if(a>s){const t=(new THREE.Vector3).subVectors(e,n).normalize();return n.clone().add(t.multiplyScalar(s))}return null}_onSelectionChange(e){let t;e instanceof me&&(t="static"),e instanceof ue&&(t="configuration");const n={};if(e instanceof me&&(n.item=e.getRapiItem()),e instanceof ue){const t=e.getConfigurationRuntimeId();n.configurationRuntimeId=t}const a=(async()=>{const n={};if(e instanceof me&&(n.item=e.getRapiItem()),e instanceof ue){const a=e.getConfigurationRuntimeId(),i=e.getPlanObject().getCatalogItemId(),s=this._plannerKernelAccess.kernelInstance.getHashOfConfiguration(a);let r;if(i&&S(i)){const e=await this._rapiAccess.getItem(i);n.item=e,r=e.rootComponentId?e.rootComponentId:null}else try{const e=await this._rapiAccess.getConfiguration(s);n.configuration=e,r=e.rootComponentId?e.rootComponentId:null}catch(e){console.warn("Could not get RAPI configuration for kernel hash "+s+", saving configuration...");const t=await this._plannerKernelAccess.getConfigurationData(a),i=await this._rapiAccess.saveConfiguration(t);n.configuration=i,r=i.rootComponentId?i.rootComponentId:null}if(r){const e=await this._rapiAccess.getComponent(r);n.component=e}n.configurationRuntimeId=a,t="configuration"}return A(n)})();this._roomlePlannerUiCallback.onSelectionChange(A(this._plannerSceneEventHandler.getSelectionMode()),A(t),A(n),a)}_setupScene(e,t){super._setupScene(e,t),this._initData.moc?(this._lightSetting=new se(this._scene),this._setEnvironment(new N(this._scene,this._environment,new THREE.Color(this._initData.colors.DEFAULT_BACKGROUND)))):(this._lightSetting=new ce(this._scene),this._addSky(),this._setEnvironment(new X(this._scene,this._environment)))}onBeforeRender(){this._cameraControl instanceof Q&&this._plannerMeshGenerator.wallMeshes.forEach(e=>b(this._cameraControl.getCamera(),e.material))}_getInputManager(){return this._plannerInputManager}createCameraControl(e){this.setMode(e)}resetCamera(){this._cameraControl.hasSavedState()?this.resetCameraToState():this.resetCameraPositionToStart()}resetCameraToState(){this._cameraControl.resetToState()}resetCameraPositionToStart(){this._requestRender()}_getYRotationOfObject(e){let t=e.getWorldDirection(new THREE.Vector3).clone();t.y=0,t.lengthSq()<.01&&(t=new THREE.Vector3(0,1,0),t.applyQuaternion(e.quaternion),t.y=0),t.normalize();let n=Math.asin(t.x);return t.z<0&&(n=Math.PI-n),n<0&&(n+=2*Math.PI),n}loadStaticPlanObjects(){let e=new Map;this._planViewModel.getStaticPlanObjectViewModels().forEach(t=>{let n=t.getPlanObject();e.has(n.getCatalogItemId())?e.get(n.getCatalogItemId()).push(t):e.set(n.getCatalogItemId(),[t])}),this._rapiAccess.getItems(Array.from(e.keys())).then(t=>{let n=[];t.forEach(t=>{this._plannerKernelAccess.catalogItemLoaded(t),e.get(t.id).forEach(e=>{n.push(new Promise((n,a)=>{e.setRapiItem(t).then(()=>{this._requestRender(),n()},a)}))})}),Promise.all(n).then(()=>this._staticItemsLoaded())})}_staticItemsLoaded(){this._requestRender(!0),this._staticItemGuard.resolve(),this._roomlePlannerUiCallback.onItemsLoaded()}preload(e){this._planId=e;let t=this._localStorageHelper.getItem(this._planId,"rml_plans");t&&this._loadGLTF(t).then(e=>{this._preloadScene=e,this._preloadScene&&this._scene.add(this._preloadScene),this._requestRender()})}planXMLLoaded(e){this.endPlanConstruction(e);const t=e.getBounds(),n=f(t);this._updateBounds(n),this.loadStaticPlanObjects()}planCompletelyLoaded(e){}handlerSwitchedPlans(e){if(this._planViewModel=e,this._planViewModel.setPlannerSceneEventHandler(this._plannerSceneEventHandler),this._planViewModel.setGeometriesMergedListener(()=>{this._requestRender()}),this._plannerSceneEventHandler.setPlanViewModel(this._planViewModel),this.clearScene(),!this._initData.moc){this._addSky();let e=new THREE.PlaneGeometry(1e3,1e3);e.rotateX(-Math.PI/2);let t=new THREE.MeshStandardMaterial({color:"#f0f0f0",roughness:1,metalness:0}),n=new THREE.Mesh(e,t);n.name="Ground",n.position.y=-.01,n.receiveShadow=!0,this._scene.add(n)}this.resetCamera(),this._setCeiling(),this._staticItemGuard.reset(),this._configurableItemGuard.reset(),Promise.all([this._staticItemGuard.wait(),this._configurableItemGuard.wait()]).then(this._itemsLoaded.bind(this))}_itemsLoaded(){const e=this._planViewModel.getCorePlan();if(this._pixotron){const t=f(e.getBounds());this._pixotron.getShadowPass().setShadowRecieverBBox(t)}this._roomlePlannerUiCallback.onCompletelyLoaded(),this._requestRender(),w.end("loadingTime")}beginPlanConstruction(e){}addPlanMesh(e,t,n,a,i,s,r){}endPlanConstruction(e){this._renderLoopFunction=()=>{this._scene.add(this._planViewModel.getConstructionGroup()),this._scene.add(this._planViewModel.getCeilingGroup()),this._lightSetting.needsBounds()&&this._lightSetting.updateBounds(this._planViewModel.getBoundingBox()),this._scene.remove(this._preloadScene)}}addPlanObjectToScene(e){const t=e.getContainer();o(t),this._scene.add(t),this._zoomToBounds(),this._plannerSceneEventHandler.isDragIn()&&(this._plannerSceneEventHandler.selectPlanElement(e),this._plannerSceneEventHandler.addComponentDragInHandler(e),this._requestRender())}removePlanObjectFromScene(e){this._scene.remove(e.getContainer()),this.updateEnvironment(this.getBounds()),this._requestRender(!0)}planElementChanged(e,t){this.updateEnvironment(this.getBounds(),!0),this._requestRender(!0),this._onPlanChanged()}exportGLB(e,t){this._scriptLoader.fetch(F,{id:"gltf-exporter"}).then(()=>{let n=new THREE.GLTFExporter;e||(e=[],this._scene.children.forEach(t=>{this._isPartOfScene(t)&&e.push(t)})),n.parse(e,e=>{let n=t||"test";this._localStorageHelper.addItem(n,JSON.stringify(e),"rml_plans")},{binary:!1,embedImages:!0,forceIndices:!0})})}importGLB(e){this._loadGLB(e).then(e=>this._scene.add(e))}clearScene(){this._plannerMeshGenerator.clear(),this._planViewModel.sceneCleared(),super.clearScene()}_addSky(){this._sky=new THREE.Sky,this._sky.name="Sky",this._sky.scale.setScalar(45e4),this._scene.add(this._sky),this._sky.material.uniforms.turbidity.value=10,this._sky.material.uniforms.rayleigh.value=2,this._sky.material.uniforms.luminance.value=1,this._sky.material.uniforms.mieCoefficient.value=.005,this._sky.material.uniforms.mieDirectionalG.value=.8;let e=new THREE.Mesh(new THREE.SphereBufferGeometry(2e4,16,8),new THREE.MeshBasicMaterial({color:16777215}));e.name="Sunsphere",e.position.y=-7e5,e.visible=!1,this._scene.add(e);let t=-.2*Math.PI,n=2*Math.PI*-.25;e.position.x=4e5*Math.cos(n),e.position.y=4e5*Math.sin(n)*Math.sin(t),e.position.z=4e5*Math.sin(n)*Math.cos(t),e.visible=!0,this._sky.material.uniforms.sunPosition.value.copy(e.position),this._lightSetting instanceof ce&&this._lightSetting.updateSunPosition(.3,.25)}switchTo2D(){this._cameraControl instanceof oe||(this._requestRender(),this._changeCameraControl(new oe(this._creator_,this._getInputManager())),this._updateCamera(),this._addCameraControlListener(),this._setCeiling(),this._roomlePlannerUiCallback.onCameraChanged("2D"))}switchTo3D(){this._cameraControl instanceof Q||(this._changeCameraControl(new Q(this._creator_,this._getInputManager(),new THREE.Vector3(0,10,0),this.getPerspectiveOffsetCamera())),this._updateCamera(),this._addCameraControlListener(),this._setCeiling(),this._roomlePlannerUiCallback.onCameraChanged("3D"))}_setCeiling(){this._planViewModel&&(this._cameraControl instanceof le?this._planViewModel.getCeilingGroup().visible=!0:this._planViewModel.getCeilingGroup().visible=!1)}cameraControlChanged(){super.cameraControlChanged(),this._plannerSceneEventHandler&&this._plannerSceneEventHandler.setCamera(this._cameraControl.getCamera())}sceneChanged(){this._plannerSceneEventHandler&&this._plannerSceneEventHandler.setScene(this._scene)}closeHSC(){this._requestRender(),this._cameraControl instanceof Q&&this._cameraControl.resetToState()}switchToFirstPerson(){if(this._cameraControl instanceof le)return;this._plannerMeshGenerator.wallMeshes.forEach(e=>M(e.material,!1,!1)),this._requestRender();let e=new THREE.Vector3(0,0,0);this._planViewModel&&(e=this._planViewModel.getBoundingBox().getCenter(new THREE.Vector3)),this._cameraControl&&this._cameraControl.cleanUp(),this._changeCameraControl(new le(this._creator_,this._getInputManager(),e,this.getPerspectiveOffsetCamera())),this._addCameraControlListener(),this._setCeiling(),this._roomlePlannerUiCallback.onCameraChanged("FP")}_onKeyDown(e){super._onKeyDown(e),this._initData.debug&&this._checkNumKey(e),!e.key||"Meta"!==e.key&&"Control"!==e.key||(this._plannerSceneEventHandler.setSelectionMode("multiselect"),e.preventDefault()),e.key&&e.key.includes("Shift")&&this._cameraControl instanceof Q&&(this._cameraControl.enablePanning(),e.preventDefault())}_checkNumKey(e){e.key&&"1"===e.key&&(this.switchTo2D(),e.preventDefault()),e.key&&"2"===e.key&&(this.switchTo3D(),e.preventDefault()),e.key&&"3"===e.key&&(this.switchToFirstPerson(),e.preventDefault())}_onKeyUp(e){super._onKeyDown(e),!e.key||"Meta"!==e.key&&"Control"!==e.key||(this._plannerSceneEventHandler.setSelectionMode("standard"),e.preventDefault()),e.key&&e.key.includes("Shift")&&this._cameraControl instanceof Q&&(this._cameraControl.disablePanning(),e.preventDefault())}setMode(e){switch(e){case"2D":this.switchTo2D();break;case"3D":this.switchTo3D();break;case"FP":this.switchToFirstPerson()}}_highlight(e){let t=new Set;e&&e.getObject()&&e.getObject().children&&e.getObject().children.forEach(e=>t.add(e)),this._plannerSceneEventHandler.getSelectedIds().forEach(e=>{const n=this._planViewModel.getPlanObjectForId(e);n&&n.getObject()&&n.getObject().children&&n.getObject().children.forEach(e=>t.add(e))}),this._pixotron&&this._pixotron.highlightObjects(Array.from(t))}destroy(){super.destroy(),this._plannerMeshGenerator.removeMaterialLoadedListener(),this._planViewModel.removeGeometriesMergedListener()}getPixotronParams(){return{saoparams:{intensity:.5,occlusionWorldRadius:.6,smoothTransition:!0,samplesPerFrame:4,bias:.02,numSamples:100,accumulative:!1,falloff:2},shadowparams:{shadowMapResolution:1024,shadowRadius:3,shadowQuality:1,smoothTransition:!0,enableAccumulation:!0,shadowBiasMultiplier:.6,nearPlane:.01,farPlane:50,fov:110,side:THREE.FrontSide,numSamples:100},outlineparams:{highlightColor:new THREE.Color(this._initData.colors.SELECTION),edgeStrength:1,transparency:.9,edgeThickness:2}}}getBakedShadowParams(){return{enable:!0,shadowMapResolution:1024,smoothTransition:!0,numSamples:500,numSamplesPerFrame:4,bShadowMaterial:!0,falloff:1.8,darkness:.3,size:1.2,lightDirection:new THREE.Vector3(0,1,0),lightSolidAngle:40,yPosition:.006}}planObjectConfigurationLoaded(e,t,n){if(e&&e.extRef&&t&&t.extRef){let e=t.extRef.jsObject.getPlanObject().getConfigurationRuntimeId();e>0&&this._planViewModel.constructComponents(e)}}addMesh(e,t,n,a,i,s){}_updateBounds(e){e&&(this._updateCamera(e),super._updateBounds(e))}_updateCamera(e){if(e||(e=this.getBounds()),e){if(this._cameraControl instanceof Q){const t=e.getSize(new THREE.Vector3),n=Math.max(t.x,t.z),a=this._initData.moc?.5*n*-1:5,i=this._initData.moc?Y:70;this._cameraControl.updateAndReset(t,e.getCenter(new THREE.Vector3),-15,i,a,!1)}this._cameraControl instanceof oe&&this._cameraControl.updateToBounds(e.getSize(new THREE.Vector3),e.getCenter(new THREE.Vector3))}}_zoomToBounds(){const e=this.getBounds();this._cameraControl instanceof Q&&this._cameraControl.zoomToFitBounds(e)}getBounds(){return this._planViewModel?this._planViewModel.getBoundingBox():null}cancelSelection(){this._plannerSceneEventHandler.cancelSelection(),this._highlight(null),this._requestRender(!0)}deleteSelection(){const e=this._plannerSceneEventHandler.getSelectedIds();this.cancelSelection(),e.forEach(e=>{const t=this._planViewModel.getPlanObjectForId(e);t&&t.getObject()&&this._plannerKernelAccess.planInteractionHandler.removeElement(t.getKernelObject())})}rotateSelection(e){const t=new this._plannerKernelAccess.kernelContainer.PlanObjectPtrList,n=new THREE.Box3;this._plannerSceneEventHandler.getSelectedIds().forEach(e=>{const a=this._planViewModel.getPlanObjectForId(e);a&&a.getObject()&&(t.push_back(a.getPlanObject()),n.expandByObject(a.getContainer()))});const a=n.getCenter(new THREE.Vector3),i=this._plannerKernelAccess.planInteractionHandler.groupObjects(t);this._plannerKernelAccess.planInteractionHandler.rotateGroupBy(i,e,s(a))}planBoundsChanged(){this.updateEnvironment(this.getBounds()),this._requestRender(!0)}planElementRemoved(e){this._onPlanChanged()}_onPlanChanged(){this._roomlePlannerUiCallback.onPlanChanged()}prepareTopImage(e={}){return new Promise(t=>{this._planViewModel.materialQueue.finished(!0).then(async()=>{let n=this._calculateBoundingBoxOfAllMeshes(.1);this._lightSetting.removeFromScene();let a=await U(this._scene,null,n,e);this._lightSetting.addToScene(),this._requestRender(),t(a)})})}preparePerspectiveImage(e={}){return new Promise((t,n)=>{this._planViewModel.materialQueue.finished(!0).then(async()=>{let n;n=this._cameraControl instanceof Q?this._cameraControl.getCamera().clone():this.getPerspectiveOffsetCamera();let a=this._calculateBoundingBoxOfAllMeshes();this._lightSetting.removeFromScene();const i=await z(this._scene,n,a,e);this._lightSetting.addToScene(),this._requestRender(),t(i)},n)})}_calculateBoundingBoxOfAllMeshes(e=0){const t=this.getBounds();return q(t,e)}enableRotation(){this._plannerSceneEventHandler.setState(2)}disableRotation(){this._plannerSceneEventHandler.resetState()}dragIn(e){this._plannerSceneEventHandler.setDragIn(!0,e)}getPlannerSceneEventHandler(){return this._plannerSceneEventHandler}}return a([i],e.prototype,"_plannerKernelAccess",void 0),a([i],e.prototype,"_rapiAccess",void 0),a([i],e.prototype,"_plannerMeshGenerator",void 0),a([i],e.prototype,"_plannerInputManager",void 0),a([i],e.prototype,"_roomlePlannerUiCallback",void 0),a([i],e.prototype,"_localStorageHelper",void 0),e})();const Ee={left:0,top:1,right:1,bottom:0};let be=(()=>{class e{constructor(e){this._hscInstance=null,this._glbInstance=null,this._creator_=e,this._kernelAccessCallback.addListener(this),this._backstack.init([C.HSP],this)}deleteSelection(){this._sceneManager.deleteSelection()}rotateSelection(e){this._sceneManager.rotateSelection(e)}cancelSelection(){this._sceneManager.cancelSelection()}init(e,t,n){return w.start("loadingTime"),this._domHelper.setDomElement(e),this._sceneManager?(this._lifeCycleManager.resume(),Promise.resolve()):(this._preloadPlanId=t,this.setOverrides(n),new Promise(this._initPromiseCallback.bind(this)))}loadPlanXml(e,t){return this.setOverrides(t),new Promise(t=>{this._plan=this._planInteractionHandler.loadPlanXML(e),this._sceneManager.planXMLLoaded(this._plan),this._roomlePlannerUiCallback.onTotalFloorAreaChanged(this._planInteractionHandler.getPlan().getTotalFloorArea()),this._backstack.bringIntoForeground(C.HSP),this._initData.moc&&this._rapiAccess.trackView("planXML"),t()})}loadPlan(e,t){return this.setOverrides(t),new Promise((t,n)=>{this._rapiAccess.getPlan(e).then(n=>{this._plan=this._planInteractionHandler.loadPlanXML(n.planObjects),this._sceneManager.planXMLLoaded(this._plan),this._roomlePlannerUiCallback.onTotalFloorAreaChanged(this._planInteractionHandler.getPlan().getTotalFloorArea()),this._backstack.bringIntoForeground(C.HSP),this._initData.moc&&this._rapiAccess.trackView(e),t()},n)})}setOverrides(e){e&&(this._initData.setOverrides(e),this._globalInitData.setOverrides(e))}switch2D(){this._sceneManager.switchTo2D()}switch3D(){this._sceneManager.switchTo3D()}switchToFirstPerson(){this._sceneManager.switchToFirstPerson()}exportGLB(){this._sceneManager.exportGLB()}importGLB(e){this._sceneManager.importGLB(e)}_initPromiseCallback(e,t){this._threeLoader.fetch().then(()=>{let t=this._scriptLoader.fetch(P,{id:"gltf-loader"}),n=this._scriptLoader.fetch(v,{id:"draco-loader"}),a=this._scriptLoader.fetch(J,{id:"tween-js"}),i=this._scriptLoader.fetch("static/Sky-6621935ea8a523af.js",{id:"sky-js"});Promise.all([t,n,a,i]).then(()=>{this._kernelReadyCallback=e;const{mode:t,stats:n}=this._initData;this._sceneManager||(this._sceneManager=new Ce(this._creator_,Ee,this,t)),this._preloadPlanId&&this._sceneManager.preload(this._preloadPlanId),n?this.showStats():this.enableHD(),this._planInteractionHandler&&this._kernelReadyCallback()})})}enableHD(){return new Promise((e,t)=>{const n=()=>{this._sceneManager.enableHD(),e()};this._threeLoader.fetch().then(()=>Promise.all(Z.map(e=>this._scriptLoader.fetch(e,{id:e})))).then(()=>{this._scriptLoader.fetch($,{id:"pi-js"}).then(n,t)},t)})}isReady(){this._planInteractionHandler=this._plannerKernelAccess.planInteractionHandler,this._kernelReadyCallback&&this._kernelReadyCallback()}showBenchmarks(){w.showBenchmarks()}async switchToConfigurator(){const e=await this._singlePromiseFactory.create(3,"startHSC",e=>{if(this._hscInstance)return e(this._hscInstance);t.import("./configurator-b17d82a9.nomodule.js").then((function(e){return e.c})).then(({Configurator:t})=>{const n=new t(this._creator_);n.boot({kernelInstance:this._planInteractionHandler.getConfiguratorKernel(),kernelContainer:this._plannerKernelAccess.kernelContainer}),n.getApi().setOverrides(this._initData),n.getApi().init(this._domHelper.element).then(()=>{this._hscInstance=n,e(this._hscInstance)})})});return this._backstack.bringIntoForeground(C.HSC),this.cancelSelection(),e}async switchToViewer(){const e=await this._singlePromiseFactory.create(4,"startGLB",e=>{if(this._glbInstance)return e(this._glbInstance);t.import("./glb-viewer-07c67d99.nomodule.js").then(t=>{const n=new t.GlbViewer(this._creator_);n.boot(),n.getApi().setOverrides(this._initData),n.getApi().init(this._domHelper.element).then(()=>{this._glbInstance=n,e(this._glbInstance)})})});return this._backstack.bringIntoForeground(C.GLB),this.cancelSelection(),e}switchToPlanner(e){e&&this.loadPlan(e),this._backstack.bringIntoForeground(C.HSP)}updateSize(){this._sceneManager.updateCamera()}getMain(){}update(){this.updateSize(),this._glbInstance&&this._glbInstance.getApi().updateSize(),this._hscInstance&&this._hscInstance.getApi().updateSize()}get callbacks(){return this._roomlePlannerUiCallback}set callbacks(e){this._roomlePlannerUiCallback=e}showStats(){this._sceneManager.showStats()}onBackStackChanged(e){this._roomlePlannerUiCallback.onBackStackChanged(e)}onCloseHSC(){this._sceneManager.closeHSC(),this._hscInstance&&this._hscInstance.getApi().pauseKernelCallbacks()}back(){if(this._backstack.current()===C.GLB&&this._glbInstance&&this._glbInstance.getApi().clearScene(),this._backstack.current()===C.HSC&&this._hscInstance){const e=this._hscInstance.getApi();e.cancelSelection(),e.cancelDockings(),e.hideDimensions(),e.disableMultiselect(),this._sceneManager.updateScene()}this._backstack.back()}backTo(e){this._backstack.backTo(e)}getConfigurator(){return this._hscInstance}getCurrentSkin(){return this._rapiAccess.getCurrentSkin()}getRuntimeComponentIdOfRootComponent(e){return e?this._plannerKernelAccess.planInteractionHandler?this._plannerKernelAccess.planInteractionHandler.getConfiguratorKernel().getRootPlanComponentIdFromObjectId(e):(console.warn("Can not retrieve runtime id without planInteractionHandler"),0):(console.warn("Can not retrieve runtime id without planObjectId"),0)}resumeTest(e){this._domHelper.setDomElement(e),this._lifeCycleManager.resume()}pauseTest(){this._lifeCycleManager.pause()}syncCatalog(e){return this._dataSyncer.syncCatalog(e)}loadError(e){}getPlanInteractionHandler(){return Promise.resolve(this._planInteractionHandler)}getPlanModelViewHelper(){return Promise.resolve(this._plannerKernelAccess.planModelViewHelper)}async insertObject(e,t,n){if(!this._planInteractionHandler)throw new Error("no plan interaction handler");const a=await(S(e)?this._rapiAccess.getItem(e):this._rapiAccess.getConfiguration(e)),i=await this._plannerKernelAccess.addPlanObjectFromItem(a,t,n);return this._sceneManager.updateScene(),i}async insertItemList(e){const t=e.map(e=>S(e)?this._rapiAccess.getItem(e):this._rapiAccess.getConfiguration(e)),n=await Promise.all(t);await this._plannerKernelAccess.insertItems(n)}async insertItems(e){await this._plannerKernelAccess.insertItems(e)}getScene(){return this._sceneManager.getScene()}updateScene(){this._sceneManager.updateScene()}getCameraOffset(){return this._sceneManager.getCameraOffset()}setCameraOffset(e){this._sceneManager.setCameraOffset(e)}async getObjects(){const e=(await this.getPlanModelViewHelper()).getPlanOverview(this._plan);let t=[];for(let n=0;n<e.objects.size();n++)t.push(I(e.objects.get(n)));return t}async getPlanOverview(){const e=(await this.getPlanModelViewHelper()).getPlanOverview(this._plan);return I(e)}prepareTopImage(e={}){return this._sceneManager.prepareTopImage(e)}preparePerspectiveImage(e={}){return this._sceneManager.preparePerspectiveImage(e)}enableRotation(){this._sceneManager.enableRotation()}disableRotation(){this._sceneManager.disableRotation()}async dragInObject(e,t){this._sceneManager.dragIn(t);const n=await this._rapiAccess.getItem(e);this.insertItems([n])}}return a([i],e.prototype,"_domHelper",void 0),a([i],e.prototype,"_scriptLoader",void 0),a([i],e.prototype,"_kernelAccessCallback",void 0),a([i],e.prototype,"_plannerKernelAccess",void 0),a([i],e.prototype,"_rapiAccess",void 0),a([i],e.prototype,"_singlePromiseFactory",void 0),a([i],e.prototype,"_roomlePlannerUiCallback",void 0),a([i],e.prototype,"_lifeCycleManager",void 0),a([i],e.prototype,"_backstack",void 0),a([i],e.prototype,"_threeLoader",void 0),a([i],e.prototype,"_dataSyncer",void 0),a([i],e.prototype,"_initData",void 0),a([i],e.prototype,"_globalInitData",void 0),e})();class fe extends pe{constructor(e){super(e),this._container.name="Wall Plan Element"}addMesh(e){super.addMesh(e);const t=(new THREE.Box3).setFromObject(this.getObject()).getSize(new THREE.Vector3);this._boundingBox.geometry=new THREE.BoxGeometry(t.x,t.y,t.z),this._boundingBox.position.y=t.y/2}}class we extends pe{constructor(e){super(e),this._container.name="Floor Plan Element"}addMesh(e){super.addMesh(e),e.castShadow=!1;const t=(new THREE.Box3).setFromObject(this.getObject()).getSize(new THREE.Vector3);this._boundingBox.geometry=new THREE.BoxGeometry(t.x,.01,t.z)}}class Me extends pe{constructor(e){super(e),this._container.name="Ceiling Plan Element"}addMesh(e){super.addMesh(e),e.castShadow=!1;const t=(new THREE.Box3).setFromObject(this.getObject()).getSize(new THREE.Vector3);this._boundingBox.geometry=new THREE.BoxGeometry(t.x,.01,t.z)}}let Se=(()=>{class e extends k{constructor(e){super(e),this._configurablePlanObjectViewModels=[],this._staticPlanObjectViewModels=[],this._constructionGroup=new THREE.Group,this._ceilingGroup=new THREE.Group,this._getKernelAccess().addPlannerListener(this)}planBoundsChanged(){}_getKernelAccess(){return y.lookup("planner-kernel-access",this._creator_)}setReference(e){this._coreReference=e.clone()}clearReference(){this._coreReference.delete(),this._coreReference=null,super.clearReference()}getCorePlan(){return this._coreReference}addPlanElementViewModel(e){e instanceof ue?this._configurablePlanObjectViewModels.push(e):e instanceof me?(this._staticPlanObjectViewModels.push(e),"door"!==e.getPlanObject().getObjectType()&&"window"!==e.getPlanObject().getObjectType()&&this._initData.edit&&this._plannerSceneEventHandler.addPlanObjectHandlers(e)):e instanceof fe?(this._initData.edit&&this._plannerSceneEventHandler.addWallHandlers(e),this._constructionGroup.add(e.getContainer())):(e instanceof we||e instanceof Me)&&this._constructionGroup.add(e.getContainer())}_addRootComponent(e){const t=this._getPlanObjectViewModelForRuntimeId(e.parentObjectId);t&&t instanceof ue&&(t.addRootComponent(e),this._initData.edit&&this._plannerSceneEventHandler.addPlanObjectHandlers(t),t.hidePreviewBox())}_getPlanObjectViewModelForRuntimeId(e){let t=null;return this._configurablePlanObjectViewModels.forEach(n=>{e===n.getConfigurationRuntimeId()&&(t=n)}),t}getPlanObjectForId(e){let t=null;return this._configurablePlanObjectViewModels.forEach(n=>{e===n.getId()&&(t=n)}),this._staticPlanObjectViewModels.forEach(n=>{e===n.getId()&&(t=n)}),t}getConstructionGroup(){return this._constructionGroup}getCeilingGroup(){return this._ceilingGroup}getBoundingBox(){const e=this.getCorePlan();return e?f(e.getBounds()):(new THREE.Box3).setFromObject(this._constructionGroup)}setPlannerSceneEventHandler(e){this._plannerSceneEventHandler=e}sceneCleared(){this._configurablePlanObjectViewModels.forEach(e=>{e.clear()}),this._staticPlanObjectViewModels.forEach(e=>{e.clear()}),super.sceneCleared()}getStaticPlanObjectViewModels(){return this._staticPlanObjectViewModels}getComponent(e){return this._components.get(e)}_generateMesh(e=0,t=null,n,a,i,s,r,o,l){return this._plannerMeshGenerator.generateMesh(t,n,a,i,s,r,o,l)}_setMaterial(e,t,n){this._plannerMeshGenerator.setMaterial(e,t)}Editor3dComponentCreated(e,t,n,a,i){super.Editor3dComponentCreated(e,t,n,a,i),this._getKernelAccess()instanceof Pe&&this.dockComponent(e,a,t,n)}addPlanObjectToScene(e){}handlerSwitchedPlans(e){this._constructionGroup=new THREE.Group,this._ceilingGroup=new THREE.Group}planCompletelyLoaded(e){}beginPlanConstruction(e){}addPlanMesh(e,t,n,a,i,s,r){}endPlanConstruction(e){}planElementChanged(e,t){}planObjectConfigurationLoaded(e,t,n){}addMesh(e,t,n,a,i,s){const r=e.extRef.jsObject;let o=r.getMesh(t);o?o.geometry=this._plannerMeshGenerator.generateGeometry(null,n,a,i,s):(o=this._generateMesh(0,null,t,n,a,i,s,e.getType()),r.addMesh(o))}removePlanObjectFromScene(e){}planElementRemoved(e){if(e.getType()===this._getKernelAccess().kernelContainer.PlanElementType.OBJECT){let t=e;if(t.hasConfiguration()){const e=t.extRef.jsObject,n=this._configurablePlanObjectViewModels.indexOf(e);n>-1&&this._configurablePlanObjectViewModels.splice(n,1)}else{const e=t.extRef.jsObject,n=this._staticPlanObjectViewModels.indexOf(e);n>-1&&this._staticPlanObjectViewModels.splice(n,1)}}}getMeshGenerator(){return this._plannerMeshGenerator}}return a([i],e.prototype,"_plannerMeshGenerator",void 0),e})(),Pe=(()=>{class e extends R{constructor(e){super(e,0),this._plannerKernelCallbackListener=new Set,w.addMeta("kernel_is_ready",{isWasm:this._useWASM}),this._scriptLoader.fetch(this._kernelPath,{id:"kernel"}).then(this._loadSuccess.bind(this),this._loadError.bind(this))}get kernelContainer(){return this._kernelContainer}_loadSuccess(){window.RoomleCore(this._kernelContainer)}_loadError(){console.error("kernel load error")}_createPlanInteractionHandler(){const e=this._kernelContainer;this._planInteractionHandler=new e.PlanInteractionHandler,this._planInteractionHandler.init(this._planInteractionHandler,1,100,!0,!0,e.DrawingType.CLICK_PER_CLICK),this._roomlePlannerUiCallback.onPlanInteractionHandlerCreated(this._planInteractionHandler)}addPlannerListener(e){this._plannerKernelCallbackListener.add(e)}removePlannerListener(e){this._plannerKernelCallbackListener.delete(e)}isReady(){super.isReady(),this.registerCallbacks(),this._roomlePlannerUiCallback.onPlannerKernelIsReady(this._kernelContainer),this._createPlanInteractionHandler();const e=this._planInteractionHandler.getConfiguratorKernel();this._kernelInstance=e,this._roomlePlannerUiCallback.onConfiguratorKernelIsReady(this._kernelContainer,e),H.isProduction||(window.__RML__DEBUG__.ConfiguratorKernel=this._kernelInstance,window.__RML__DEBUG__.PlannerKernelContainer=this._kernelContainer),this._kernelAccessCallback.isReady()}get callbacks(){return this._roomlePlannerUiCallback}get planInteractionHandler(){return this._planInteractionHandler}get planModelViewHelper(){return this._kernelContainer.PlanModelViewHelper}catalogItemLoaded(e){const t=this._rapiItemToKernelItem(e);this._kernelContainer.catalogItemLoaded(t)}async insertItems(e){let t=new this._kernelContainer.CatalogItemPtrList;e.forEach(e=>{let n=e.count||1;for(let a=0;a<n;a++)e.count||(e.count=0),t.push_back(this._rapiItemToKernelItem(e))}),this._planInteractionHandler.addPlanObjects(t);const n=this._planInteractionHandler.getPlan().extRef.jsObject;await Promise.all(n.getStaticPlanObjectViewModels().map(async e=>{if(e.needsRapiItem()){const t=await this._rapiAccess.getItem(e.getPlanObject().getCatalogItemId());e.setRapiItem(t)}}))}_rapiItemToKernelItem(e){let t=new this._kernelContainer.CatalogItem(e.id),n=t.size;return n.x=e.width||0,n.y=e.depth||0,n.z=e.height||0,t.size=n,t.flipable=e.flipable,e.layer&&(t.layer=e.layer),t.orderable=e.orderable,t.scaleable=e.scaleable,t.type=e.type||"other",t.detailType=e.detailType||t.type||"other",t.configuration=e.configuration||"",t}onLoadComponentError(e,t){}configurationLoaded(e,t,n,a,i){}componentDefinitionLoaded(e,t){}componentDefinitionLoadingError(e,t){}configurationLoadingError(){}componentConfigurationUpdated(e){}componentParameters(){}requestComponentDimensions(){}planObjectCreated(e,t){}planObjectUpdated(e){}planObjectConfigurationUpdated(e,t,n){}planObjectDeleted(){}requestPlanObjectDimensions(){}cleanUpCallbacks(){super.cleanUpCallbacks(),this._kernelContainer.unregisterPlannerCallback(this)}registerCallbacks(){super.registerCallbacks(),this._kernelContainer.registerPlannerCallback(this)}requestExternalMesh(e,t){return new Promise((n,a)=>{this._rapiAccess.getMesh(e,L,t).then(i=>{fetch(new Request(this._dataSyncer.requestAsset(i.url,!0))).then(e=>e.arrayBuffer()).then(a=>this._handleCortoMesh(a,e,t,n)).catch(e=>{console.error(e),a(e)})},e=>{console.error(e),a(e)})})}Editor3dRootComponentCreated(e,t,n,a){this._configuratorKernelCallbackListener.forEach(i=>i.Editor3dComponentCreated(e,t,n,a,!0))}Editor3dPlanObjectConstructionDone(e){}Editor3dBeginGroup(){}Editor3dEndGroup(){}Editor3dSetMaterial(){}Editor3dLoadMaterial(){}Editor3dAddDockPreview(e,t){}Editor3dSetPreviewPointAssociations(e,t){}Editor3dSetPreviewLineAssociations(e,t){}Editor3dPreviewConstructionDone(e,t){}Editor3dTranslateBy(){}Editor3dRotateBy(){}Editor3dRotateAround(){}Editor3dAddCube(){}Editor3dAddCubeUVMod(){}Editor3dAddSphere(){}Editor3dAddSphereUVMod(){}Editor3dAddRectangle(){}Editor3dAddRectangleUVMod(){}Editor3dAddMesh(){}Editor3dAddMeshUVMod(){}Editor3dAddMeshUVCoord(){}Editor3dAddCylinder(){}Editor3dAddCylinderUVMod(){}Editor3dAddPrism(){}Editor3dAddPrismUVMod(){}Editor3dAddFittingPoint(){}Editor3dAddFittingLine(){}Editor3dSelectObject(){}Editor3dCopy(){}Editor3dUpdatePlanObjectPosition(){}Editor3dUpdatePlanObjectRotation(){}Editor3dUpdatePlanObjectTransform(){}Editor3dUpdatePlanComponentPosition(){}Editor3dUpdatePlanComponentRotation(){}Editor3dUpdatePlanComponentTransform(){}planElementRemoved(e){this._plannerKernelCallbackListener.forEach(t=>t.planElementRemoved(e)),this._plannerKernelCallbackListener.forEach(t=>t.removePlanObjectFromScene(e.extRef.jsObject)),this._decoupleReferences(e)}handlerSwitchedPlans(e,t){if(this._decoupleReferences(e),t){let e=new Se(this._creator_);e.setReference(t),this._coupleReferences(e,t),this._plannerKernelCallbackListener.forEach(t=>t.handlerSwitchedPlans(e))}}planBoundsChanged(){this._plannerKernelCallbackListener.forEach(e=>e.planBoundsChanged())}planCleared(){}planCompletelyLoaded(e){this._plannerKernelCallbackListener.forEach(t=>t.planCompletelyLoaded(e))}planElement3dMeshChanged(e,t){if(t.extRef){const e=t.extRef.jsObject;for(let t=e.getObject().children.length-1;t>=0;t--)e.getObject().remove(e.getObject().children[t])}this.planModelViewHelper.requestMesh3d(t)}planElementAdded(e,t){if(e&&e.extRef)if(t.getType()===this._kernelContainer.PlanElementType.OBJECT){let n,a=t;a.hasConfiguration()?(n=new ue(a),this._coupleReferences(n,a),e.extRef.jsObject.addPlanElementViewModel(n)):(n=new me(a),this._coupleReferences(n,a),e.extRef.jsObject.addPlanElementViewModel(n)),this._plannerKernelCallbackListener.forEach(e=>e.addPlanObjectToScene(n))}else{let n,a=t;if(t.getType()===this._kernelContainer.PlanElementType.WALL?n=new fe(a):t.getType()===this._kernelContainer.PlanElementType.FLOOR?n=new we(a):t.getType()===this._kernelContainer.PlanElementType.CEILING&&(n=new Me(a)),!n)return;n.setPrimaryColor(this._initData.colors.PRIMARY),this._coupleReferences(n,a),e.extRef.jsObject.addPlanElementViewModel(n),this.planModelViewHelper.requestMesh3d(t)}}planElementChanged(e,t){if(t.extRef){let n=t.extRef.jsObject;n.update(),this._plannerKernelCallbackListener.forEach(t=>t.planElementChanged(e,n))}}planHistoryStateChanged(){}planObjectConfigurationCreated(e,t){}planObjectConfigurationLoaded(e,t,n){e&&e.extRef&&t&&t.extRef&&t.extRef.jsObject.getPlanObject().getConfigurationRuntimeId()>0&&this._plannerKernelCallbackListener.forEach(a=>a.planObjectConfigurationLoaded(e,t,n))}requestCatalogItem(e){}startedDrawing(){}stoppedDrawing(){}updateMesh2d(){}beginConstruction(){}addMesh(e,t,n,a,i,s){this._plannerKernelCallbackListener.forEach(r=>r.addMesh(e,t,n,a,i,s))}endConstruction(){}beginPlanConstruction(e){this._plannerKernelCallbackListener.forEach(t=>t.beginPlanConstruction(e))}addPlanMesh(e,t,n,a,i,s,r){this._plannerKernelCallbackListener.forEach(o=>o.addPlanMesh(e,t,n,a,i,s,r))}endPlanConstruction(e){this._plannerKernelCallbackListener.forEach(t=>t.endPlanConstruction(e))}addPlanObjectFromItem(e,t,n){if(!t&&!n)return this.insertItems([e]);n=n||0===n?n:0,t=t||{x:0,y:0,z:0};const a=this._rapiItemToKernelItem(e);return this._planInteractionHandler.addPlanObjectFromItem(a,t,n)}_coupleReferences(e,t){let n=new this._kernelContainer.EMSReference;n.jsObject=e,t.extRef=n}_decoupleReferences(e){e&&e.extRef&&(e.extRef.jsObject.clearReference(),e.extRef.jsObject=null,e.extRef.delete(),e.extRef=null)}}return a([i],e.prototype,"_kernelAccessCallback",void 0),a([i],e.prototype,"_roomlePlannerUiCallback",void 0),a([i],e.prototype,"_initData",void 0),e})(),ve=(()=>{class e{constructor(e){this._initialStack=[],this._creator_=e,this._lifeCycleManager.addEventListener(this)}_setInitialStack(e){this._initialStack=[...e]}_setCallbacks(e){this._callbacks=e}_resetCanvasStack(){this._canvasStack=[...this._initialStack]}init(e,t){this._setInitialStack(e),this._resetCanvasStack(),this._setCallbacks(t)}bringIntoForeground(e){const t=this._domHelper.element.querySelectorAll("canvas");let n=!1;t.forEach(t=>{if(t.classList.contains(e)){if(!t.classList.contains("foreground")){const t=this.current();t&&e!==t&&(this._canvasStack.push(e),n=!0),t||(n=!0)}t.classList.remove("background"),t.classList.add("foreground")}else t.classList.remove("foreground"),t.classList.add("background")}),n&&this._callbacks.onBackStackChanged(this._canvasStack)}current(){return this._canvasStack[this._canvasStack.length-1]}back(){if(1===this._canvasStack.length)return;let e=this._canvasStack.pop();this.bringIntoForeground(this.current()),e===C.HSC&&this._callbacks.onCloseHSC(),this._callbacks.onBackStackChanged(this._canvasStack)}backTo(e){if(1!==this._canvasStack.length&&this.current()!==e)for(;this._canvasStack.length>0;){let t=this.current();if(t===e){this.bringIntoForeground(t);break}t===C.HSC&&this._callbacks.onCloseHSC(),this._canvasStack.pop(),this._callbacks.onBackStackChanged(this._canvasStack)}}pause(){this._resetCanvasStack()}resume(){}destroy(){}}return a([i],e.prototype,"_domHelper",void 0),a([i],e.prototype,"_lifeCycleManager",void 0),e})();class Ie{constructor(e){const{planElementViewModel:t}=e;this.planElementViewModel=t}}const ke=[new T("script-loader",ne),new T("planner-input-manager",class extends ee{_canDrag(e){return!0}},1),new T("planner-kernel-access",Pe),new T("logger",x),new T("planner-mesh-generator",class extends ie{constructor(e){super(e),this._wallMeshes=[],this._defaultMaterial=new THREE.MeshStandardMaterial({color:"#ffffff",roughness:1,metalness:0,opacity:1,envMap:null}),this._environmentLoader.setEnvMap(this._defaultMaterial)}generateGeometry(e=null,t,n,a,i,s=!1){let r;return r=s?this._generateGeometry(e,t,n,a,i).clone():this._generateGeometry(e,t,n,a,i),r}generateMesh(e=null,t,n,a,i,s,r,o=!1){const l=this.generateGeometry(e,n,a,i,s,o),c=new THREE.Mesh(l,this._previewMaterial);return c.layers.set(3),!t&&r&&7!==r.value?(console.warn("material is undefined"),c):(this.setMaterial(c,t,r).then(()=>{const e=r&&3===r.value;c.castShadow=!e}),this._checkWallMaterial(c,r),c)}async setMaterial(e,t,n){if(e.userData.material=l(t,n),e.userData.materialId=t,G(t))t?(await this._assignMaterial(e,t),this._materialLoaded&&this._materialLoaded()):(console.warn("Used default material because material is empty"),this.changeMaterialOfMesh(e,this._defaultMaterial));else{if(!t)return void this.changeMaterialOfMesh(e,this._defaultMaterial);2===(t=t).getSourceType().value?(await this._assignMaterial(e,t.materialId),this._materialLoaded&&this._materialLoaded()):1===t.getSourceType().value?await this._assignItem(e,t.catalogItemId):3===t.getSourceType().value?await this._assignRGB(e,t.rgbValue):0===t.getSourceType().value?this.changeMaterialOfMesh(e,this._defaultMaterial):(this.changeMaterialOfMesh(e,this._defaultMaterial),1!==n.value&&7!==n.value&&3!==n.value&&console.warn("Used default material because material is not supported",t))}}set maxAnisotropy(e){this._maxAnisotropy=e}_checkWallMaterial(e,t){t&&1===t.value&&(e.renderOrder=5,this._wallMeshes.push(e))}clear(){super.clear(),this.clearWallMeshes()}clearWallMeshes(){this._wallMeshes.forEach(e=>{j(e)}),this._wallMeshes=[]}get wallMeshes(){return this._wallMeshes}}),new T("rapi-access",V),new T("roomle-planner-ui-callback",class extends O{constructor(e){super(e),this.onItemsLoaded=()=>{},this.onBackStackChanged=e=>{},this.onCameraChanged=e=>{},this.onTotalFloorAreaChanged=e=>{},this.onPlanInteractionHandlerCreated=e=>{},this.onPlannerKernelIsReady=e=>{},this.onConfiguratorKernelIsReady=(e,t)=>{},this.onSelectionChange=(e,t,n,a)=>{},this.onSelectionCancel=()=>{},this.onPlanChanged=()=>{},this.onCompletelyLoaded=()=>{},this.onRotationCancel=()=>{}}}),new T("backstack",ve),new T("planner-selection-handler",class extends te{constructor(){super(...arguments),this._selectionMode="standard",this._selectedPlanElementViewModels=new Map}check(e){"standard"===this._selectionMode&&this._checkStandard(e),"multiselect"===this._selectionMode&&this._checkMulti(e)}cancelSelection(){0!==this._selectedPlanElementViewModels.size&&this._selectedPlanElementViewModels.forEach((e,t)=>{this._selectedPlanElementViewModels.delete(t),this.dispatchEvent(1,new Ie({planElementViewModel:e}))})}_checkStandard(e){if(this._selectedPlanElementViewModels.has(e.getId()))return this._selectedPlanElementViewModels.delete(e.getId()),void this.dispatchEvent(1,new Ie({planElementViewModel:e}));this._selectedPlanElementViewModels.size>0&&this._selectedPlanElementViewModels.forEach((e,t)=>{this._selectedPlanElementViewModels.delete(t),this.dispatchEvent(1,new Ie({planElementViewModel:e}))}),this._selectedPlanElementViewModels.set(e.getId(),e),this.dispatchEvent(0,new Ie({planElementViewModel:e}))}_checkMulti(e){if(this._selectedPlanElementViewModels.has(e.getId()))return this._selectedPlanElementViewModels.delete(e.getId()),void this.dispatchEvent(1,new Ie({planElementViewModel:e}));this._selectedPlanElementViewModels.set(e.getId(),e),this.dispatchEvent(0,new Ie({planElementViewModel:e}))}setSelectionMode(e){this._selectionMode=e}getSelectionMode(){return this._selectionMode}hasSelection(){return this._selectedPlanElementViewModels.size>0}getSelectedIds(){let e=[];return this._selectedPlanElementViewModels.forEach(t=>e.push(t.getId())),e}isSelected(e){return!!this._selectedPlanElementViewModels.get(e)}})];e("Planner",class extends ae{setupGlobals(){}setupDependencies(){y.setup(ke),this.lookup("logger",this._context),this.lookup("planner-kernel-access",this._context)}cleanUpGlobals(){throw new Error("Method not implemented.")}cleanUpDependencies(){throw new Error("Method not implemented.")}bootFinished(){this._planner=new be(this._context),this._planner.getMain=()=>this,window.RoomlePlanner||(window.RoomlePlanner=this._planner)}getApi(){return this._planner}getContextName(){return"planner"}})}}}));
|
|
2
|
-
//# sourceMappingURL=planner-969b7c00.nomodule.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"./query-params-helper-a271f9dc.js";import"./rapi-access-482df27d.js";import"./main-thread-to-worker-815feb19.js";import"./image-renderer-8b621134.js";import{Planner}from"./planner-82e7e808.js";import"./pixotron-c552d639.js";import"./mesh-generator-9db153b3.js";import"./default-light-setting-8903ac89.js";import"./scene-manager-e9c40231.js";(new Planner).boot(),window.requestIdleCallback||(window.requestIdleCallback=e=>setTimeout(()=>{let a=Date.now();e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-a))})},1)),window.cancelIdleCallback||(window.cancelIdleCallback=window.cancelIdleCallback||function(e){clearTimeout(e)});
|
|
2
|
-
//# sourceMappingURL=planner-main-f7817887.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"planner-main-f7817887.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"roomle-sdk-c187aef7.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scene-manager-0ab80786.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scene-manager-e9c40231.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var _scriptDir,ConfiguratorKernel=(_scriptDir="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(n){var t;n=n||{},t||(t=void 0!==n?n:{});var r,i={};for(r in t)t.hasOwnProperty(r)&&(i[r]=t[r]);var e="./this.program";function a(n,t){throw t}var o="";document.currentScript&&(o=document.currentScript.src),_scriptDir&&(o=_scriptDir),o=0!==o.indexOf("blob:")?o.substr(0,o.lastIndexOf("/")+1):"";var u=t.print||console.log.bind(console),c=t.printErr||console.warn.bind(console);for(r in i)i.hasOwnProperty(r)&&(t[r]=i[r]);i=null,t.thisProgram&&(e=t.thisProgram),t.quit&&(a=t.quit);var l,f,s=0;t.wasmBinary&&(l=t.wasmBinary),t.noExitRuntime&&(f=t.noExitRuntime),"object"!=typeof WebAssembly&&c("no native wasm support detected");var d,p=new WebAssembly.Table({initial:5e3,maximum:5e3,element:"anyfunc"}),y=!1,h="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function v(n,t,r){var i=t+r;for(r=t;n[r]&&!(r>=i);)++r;if(16<r-t&&n.subarray&&h)return h.decode(n.subarray(t,r));for(i="";t<r;){var e=n[t++];if(128&e){var a=63&n[t++];if(192==(224&e))i+=String.fromCharCode((31&e)<<6|a);else{var o=63&n[t++];65536>(e=224==(240&e)?(15&e)<<12|a<<6|o:(7&e)<<18|a<<12|o<<6|63&n[t++])?i+=String.fromCharCode(e):(e-=65536,i+=String.fromCharCode(55296|e>>10,56320|1023&e))}}else i+=String.fromCharCode(e)}return i}function m(n){return n?v(b,n,void 0):""}function g(n,t,r,i){if(0<i){i=r+i-1;for(var e=0;e<n.length;++e){var a=n.charCodeAt(e);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&n.charCodeAt(++e)),127>=a){if(r>=i)break;t[r++]=a}else{if(2047>=a){if(r+1>=i)break;t[r++]=192|a>>6}else{if(65535>=a){if(r+2>=i)break;t[r++]=224|a>>12}else{if(r+3>=i)break;t[r++]=240|a>>18,t[r++]=128|a>>12&63}t[r++]=128|a>>6&63}t[r++]=128|63&a}}t[r]=0}}function _(n){for(var t=0,r=0;r<n.length;++r){var i=n.charCodeAt(r);55296<=i&&57343>=i&&(i=65536+((1023&i)<<10)|1023&n.charCodeAt(++r)),127>=i?++t:t=2047>=i?t+2:65535>=i?t+3:t+4}return t}var C,w,b,j,O,T,P,A,W,S="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function E(n){var t;for(t=n>>1;j[t];)++t;if(32<(t<<=1)-n&&S)return S.decode(b.subarray(n,t));t=0;for(var r="";;){var i=j[n+2*t>>1];if(0==i)return r;++t,r+=String.fromCharCode(i)}}function F(n,t,r){if(void 0===r&&(r=2147483647),2>r)return 0;var i=t;r=(r-=2)<2*n.length?r/2:n.length;for(var e=0;e<r;++e)j[t>>1]=n.charCodeAt(e),t+=2;return j[t>>1]=0,t-i}function k(n){return 2*n.length}function D(n){for(var t=0,r="";;){var i=T[n+4*t>>2];if(0==i)return r;++t,65536<=i?(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i)):r+=String.fromCharCode(i)}}function R(n,t,r){if(void 0===r&&(r=2147483647),4>r)return 0;var i=t;r=i+r-4;for(var e=0;e<n.length;++e){var a=n.charCodeAt(e);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&n.charCodeAt(++e)),T[t>>2]=a,(t+=4)+4>r)break}return T[t>>2]=0,t-i}function M(n){for(var t=0,r=0;r<n.length;++r){var i=n.charCodeAt(r);55296<=i&&57343>=i&&++r,t+=4}return t}function x(n){C=n,t.HEAP8=w=new Int8Array(n),t.HEAP16=j=new Int16Array(n),t.HEAP32=T=new Int32Array(n),t.HEAPU8=b=new Uint8Array(n),t.HEAPU16=O=new Uint16Array(n),t.HEAPU32=P=new Uint32Array(n),t.HEAPF32=A=new Float32Array(n),t.HEAPF64=W=new Float64Array(n)}var U=t.INITIAL_MEMORY||167772160;function I(n){for(;0<n.length;){var r=n.shift();if("function"==typeof r)r();else{var i=r.Ad;"number"==typeof i?void 0===r.qd?t.dynCall_v(i):t.dynCall_vi(i,r.qd):i(void 0===r.qd?null:r.qd)}}}(d=t.wasmMemory?t.wasmMemory:new WebAssembly.Memory({initial:U/65536}))&&(C=d.buffer),U=C.byteLength,x(C),T[22756]=5334080;var Y=[],V=[],Q=[],H=[];function B(){var n=t.preRun.shift();Y.unshift(n)}var z=Math.ceil,X=Math.floor,N=0,Z=null,q=null;function L(n){throw t.onAbort&&t.onAbort(n),u(n),c(n),y=!0,new WebAssembly.RuntimeError("abort("+n+"). Build with -s ASSERTIONS=1 for more info.")}function $(){var n=K;return String.prototype.startsWith?n.startsWith("data:application/octet-stream;base64,"):0===n.indexOf("data:application/octet-stream;base64,")}t.preloadedImages={},t.preloadedAudios={};var K="ConfiguratorKernel.wasm";if(!$()){var G=K;K=t.locateFile?t.locateFile(G,o):o+G}function J(){try{if(l)return new Uint8Array(l);throw"both async and sync fetching of the wasm failed"}catch(n){L(n)}}V.push({Ad:function(){St()}});var nn={},tn=[];function rn(n){if(!n||nn[n])return n;for(var t in nn)for(var r=+t,i=nn[r].hd,e=i.length,a=0;a<e;a++)if(i[a]===n)return r;return n}var en=0;function an(n){try{return Ft(n)}catch(n){}}var on={},un=[null,[],[]],cn={};function ln(n){for(;n.length;){var t=n.pop();n.pop()(t)}}function fn(n){return this.fromWireType(P[n>>2])}var sn={},dn={},pn={};function yn(n){if(void 0===n)return"_unknown";var t=(n=n.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=t&&57>=t?"_"+n:n}function hn(n,t){return n=yn(n),new Function("body","return function "+n+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function vn(n){var t=Error,r=hn(n,(function(t){this.name=n,this.message=t,void 0!==(t=Error(t).stack)&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(t.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}var mn=void 0;function gn(n){throw new mn(n)}function _n(n,t,r){function i(t){(t=r(t)).length!==n.length&&gn("Mismatched type converter count");for(var i=0;i<n.length;++i)Tn(n[i],t[i])}n.forEach((function(n){pn[n]=t}));var e=Array(t.length),a=[],o=0;t.forEach((function(n,t){dn.hasOwnProperty(n)?e[t]=dn[n]:(a.push(n),sn.hasOwnProperty(n)||(sn[n]=[]),sn[n].push((function(){e[t]=dn[n],++o===a.length&&i(e)})))})),0===a.length&&i(e)}function Cn(n){switch(n){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+n)}}var wn=void 0;function bn(n){for(var t="";b[n];)t+=wn[b[n++]];return t}var jn=void 0;function On(n){throw new jn(n)}function Tn(n,t,r){if(r=r||{},!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var i=t.name;if(n||On('type "'+i+'" must have a positive integer typeid pointer'),dn.hasOwnProperty(n)){if(r.Gd)return;On("Cannot register type '"+i+"' twice")}dn[n]=t,delete pn[n],sn.hasOwnProperty(n)&&(t=sn[n],delete sn[n],t.forEach((function(n){n()})))}function Pn(n){return{count:n.count,ad:n.ad,ed:n.ed,Qc:n.Qc,Rc:n.Rc,Uc:n.Uc,Wc:n.Wc}}function An(n){On(n.Oc.Rc.Pc.name+" instance already deleted")}var Wn=!1;function Sn(){}function En(n){--n.count.value,0===n.count.value&&(n.Uc?n.Wc.Yc(n.Uc):n.Rc.Pc.Yc(n.Qc))}function Fn(n){return"undefined"==typeof FinalizationGroup?(Fn=function(n){return n},n):(Wn=new FinalizationGroup((function(n){for(var t=n.next();!t.done;t=n.next())(t=t.value).Qc?En(t):console.warn("object already deleted: "+t.Qc)})),Sn=function(n){Wn.unregister(n.Oc)},(Fn=function(n){return Wn.register(n,n.Oc,n.Oc),n})(n))}var kn=void 0,Dn=[];function Rn(){for(;Dn.length;){var n=Dn.pop();n.Oc.ad=!1,n.delete()}}function Mn(){}var xn={};function Un(n,t,r){if(void 0===n[t].Sc){var i=n[t];n[t]=function(){return n[t].Sc.hasOwnProperty(arguments.length)||On("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+n[t].Sc+")!"),n[t].Sc[arguments.length].apply(this,arguments)},n[t].Sc=[],n[t].Sc[i.jd]=i}}function In(n,r,i){t.hasOwnProperty(n)?((void 0===i||void 0!==t[n].Sc&&void 0!==t[n].Sc[i])&&On("Cannot register public name '"+n+"' twice"),Un(t,n,n),t.hasOwnProperty(i)&&On("Cannot register multiple overloads of a function with the same number of arguments ("+i+")!"),t[n].Sc[i]=r):(t[n]=r,void 0!==i&&(t[n].Wd=i))}function Yn(n,t,r,i,e,a,o,u){this.name=n,this.constructor=t,this.bd=r,this.Yc=i,this.Xc=e,this.Bd=a,this.gd=o,this.yd=u,this.Jd=[]}function Vn(n,t,r){for(;t!==r;)t.gd||On("Expected null or instance of "+r.name+", got an instance of "+t.name),n=t.gd(n),t=t.Xc;return n}function Qn(n,t){return null===t?(this.rd&&On("null is not a valid "+this.name),0):(t.Oc||On('Cannot pass "'+ut(t)+'" as a '+this.name),t.Oc.Qc||On("Cannot pass deleted object as a pointer of type "+this.name),Vn(t.Oc.Qc,t.Oc.Rc.Pc,this.Pc))}function Hn(n,t){if(null===t){if(this.rd&&On("null is not a valid "+this.name),this.ld){var r=this.sd();return null!==n&&n.push(this.Yc,r),r}return 0}if(t.Oc||On('Cannot pass "'+ut(t)+'" as a '+this.name),t.Oc.Qc||On("Cannot pass deleted object as a pointer of type "+this.name),!this.kd&&t.Oc.Rc.kd&&On("Cannot convert argument of type "+(t.Oc.Wc?t.Oc.Wc.name:t.Oc.Rc.name)+" to parameter type "+this.name),r=Vn(t.Oc.Qc,t.Oc.Rc.Pc,this.Pc),this.ld)switch(void 0===t.Oc.Uc&&On("Passing raw pointer to smart pointer is illegal"),this.Od){case 0:t.Oc.Wc===this?r=t.Oc.Uc:On("Cannot convert argument of type "+(t.Oc.Wc?t.Oc.Wc.name:t.Oc.Rc.name)+" to parameter type "+this.name);break;case 1:r=t.Oc.Uc;break;case 2:if(t.Oc.Wc===this)r=t.Oc.Uc;else{var i=t.clone();r=this.Kd(r,et((function(){i.delete()}))),null!==n&&n.push(this.Yc,r)}break;default:On("Unsupporting sharing policy")}return r}function Bn(n,t){return null===t?(this.rd&&On("null is not a valid "+this.name),0):(t.Oc||On('Cannot pass "'+ut(t)+'" as a '+this.name),t.Oc.Qc||On("Cannot pass deleted object as a pointer of type "+this.name),t.Oc.Rc.kd&&On("Cannot convert argument of type "+t.Oc.Rc.name+" to parameter type "+this.name),Vn(t.Oc.Qc,t.Oc.Rc.Pc,this.Pc))}var zn={};function Xn(n,t){return t.Rc&&t.Qc||gn("makeClassHandle requires ptr and ptrType"),!!t.Wc!=!!t.Uc&&gn("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Fn(Object.create(n,{Oc:{value:t}}))}function Nn(n,t,r,i,e,a,o,u,c,l,f){this.name=n,this.Pc=t,this.rd=r,this.kd=i,this.ld=e,this.Id=a,this.Od=o,this.wd=u,this.sd=c,this.Kd=l,this.Yc=f,e||void 0!==t.Xc?this.toWireType=Hn:(this.toWireType=i?Qn:Bn,this.Vc=null)}function Zn(n,r,i){t.hasOwnProperty(n)||gn("Replacing nonexistant public symbol"),void 0!==t[n].Sc&&void 0!==i?t[n].Sc[i]=r:(t[n]=r,t[n].jd=i)}function qn(n,r){n=bn(n);for(var i=t["dynCall_"+n],e=[],a=1;a<n.length;++a)e.push("a"+a);return a="return function dynCall_"+n+"_"+r+"("+e.join(", ")+") {\n",a+=" return dynCall(rawFunction"+(e.length?", ":"")+e.join(", ")+");\n","function"!=typeof(i=new Function("dynCall","rawFunction",a+"};\n")(i,r))&&On("unknown function pointer with signature "+n+": "+r),i}var Ln=void 0;function $n(n){var t=bn(n=xt(n));return Ft(n),t}function Kn(n,t){var r=[],i={};throw t.forEach((function n(t){i[t]||dn[t]||(pn[t]?pn[t].forEach(n):(r.push(t),i[t]=!0))})),new Ln(n+": "+r.map($n).join([", "]))}function Gn(n,t){for(var r=[],i=0;i<n;i++)r.push(T[(t>>2)+i]);return r}function Jn(n){var t=Function;if(!(t instanceof Function))throw new TypeError("new_ called with constructor type "+typeof t+" which is not a function");var r=hn(t.name||"unknownFunctionName",(function(){}));return r.prototype=t.prototype,r=new r,(n=t.apply(r,n))instanceof Object?n:r}function nt(n,t,r,i,e){var a=t.length;2>a&&On("argTypes array size mismatch! Must at least get return value and 'this' types!");var o=null!==t[1]&&null!==r,u=!1;for(r=1;r<t.length;++r)if(null!==t[r]&&void 0===t[r].Vc){u=!0;break}var c="void"!==t[0].name,l="",f="";for(r=0;r<a-2;++r)l+=(0!==r?", ":"")+"arg"+r,f+=(0!==r?", ":"")+"arg"+r+"Wired";n="return function "+yn(n)+"("+l+") {\nif (arguments.length !== "+(a-2)+") {\nthrowBindingError('function "+n+" called with ' + arguments.length + ' arguments, expected "+(a-2)+" args!');\n}\n",u&&(n+="var destructors = [];\n");var s=u?"destructors":"null";for(l="throwBindingError invoker fn runDestructors retType classParam".split(" "),i=[On,i,e,ln,t[0],t[1]],o&&(n+="var thisWired = classParam.toWireType("+s+", this);\n"),r=0;r<a-2;++r)n+="var arg"+r+"Wired = argType"+r+".toWireType("+s+", arg"+r+"); // "+t[r+2].name+"\n",l.push("argType"+r),i.push(t[r+2]);if(o&&(f="thisWired"+(0<f.length?", ":"")+f),n+=(c?"var rv = ":"")+"invoker(fn"+(0<f.length?", ":"")+f+");\n",u)n+="runDestructors(destructors);\n";else for(r=o?1:2;r<t.length;++r)a=1===r?"thisWired":"arg"+(r-2)+"Wired",null!==t[r].Vc&&(n+=a+"_dtor("+a+"); // "+t[r].name+"\n",l.push(a+"_dtor"),i.push(t[r].Vc));return c&&(n+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),l.push(n+"}\n"),Jn(l).apply(null,i)}var tt=[],rt=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function it(n){4<n&&0==--rt[n].$c&&(rt[n]=void 0,tt.push(n))}function et(n){switch(n){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=tt.length?tt.pop():rt.length;return rt[t]={$c:1,value:n},t}}function at(n,t,r){switch(t){case 0:return function(n){return this.fromWireType((r?w:b)[n])};case 1:return function(n){return this.fromWireType((r?j:O)[n>>1])};case 2:return function(n){return this.fromWireType((r?T:P)[n>>2])};default:throw new TypeError("Unknown integer type: "+n)}}function ot(n,t){var r=dn[n];return void 0===r&&On(t+" has unknown type "+$n(n)),r}function ut(n){if(null===n)return"null";var t=typeof n;return"object"===t||"array"===t||"function"===t?n.toString():""+n}function ct(n,t){switch(t){case 2:return function(n){return this.fromWireType(A[n>>2])};case 3:return function(n){return this.fromWireType(W[n>>3])};default:throw new TypeError("Unknown float type: "+n)}}function lt(n,t,r){switch(t){case 0:return r?function(n){return w[n]}:function(n){return b[n]};case 1:return r?function(n){return j[n>>1]}:function(n){return O[n>>1]};case 2:return r?function(n){return T[n>>2]}:function(n){return P[n>>2]};default:throw new TypeError("Unknown integer type: "+n)}}function ft(n){return n||On("Cannot use deleted val. handle = "+n),rt[n].value}function st(n,t){for(var r=Array(n),i=0;i<n;++i)r[i]=ot(T[(t>>2)+i],"parameter "+i);return r}var dt={};function pt(n){var t=dt[n];return void 0===t?bn(n):t}var yt=[];function ht(){return"object"==typeof globalThis?globalThis:Function("return this")()}var vt,mt={},gt={};function _t(){if(!vt){var n,t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:e||"./this.program"};for(n in gt)t[n]=gt[n];var r=[];for(n in t)r.push(n+"="+t[n]);vt=r}return vt}function Ct(n){return 0==n%4&&(0!=n%100||0==n%400)}function wt(n,t){for(var r=0,i=0;i<=t;r+=n[i++]);return r}var bt=[31,29,31,30,31,30,31,31,30,31,30,31],jt=[31,28,31,30,31,30,31,31,30,31,30,31];function Ot(n,t){for(n=new Date(n.getTime());0<t;){var r=n.getMonth(),i=(Ct(n.getFullYear())?bt:jt)[r];if(!(t>i-n.getDate())){n.setDate(n.getDate()+t);break}t-=i-n.getDate()+1,n.setDate(1),11>r?n.setMonth(r+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n}mn=t.InternalError=vn("InternalError");for(var Tt=Array(256),Pt=0;256>Pt;++Pt)Tt[Pt]=String.fromCharCode(Pt);wn=Tt,jn=t.BindingError=vn("BindingError"),Mn.prototype.isAliasOf=function(n){if(!(this instanceof Mn&&n instanceof Mn))return!1;var t=this.Oc.Rc.Pc,r=this.Oc.Qc,i=n.Oc.Rc.Pc;for(n=n.Oc.Qc;t.Xc;)r=t.gd(r),t=t.Xc;for(;i.Xc;)n=i.gd(n),i=i.Xc;return t===i&&r===n},Mn.prototype.clone=function(){if(this.Oc.Qc||An(this),this.Oc.ed)return this.Oc.count.value+=1,this;var n=Fn(Object.create(Object.getPrototypeOf(this),{Oc:{value:Pn(this.Oc)}}));return n.Oc.count.value+=1,n.Oc.ad=!1,n},Mn.prototype.delete=function(){this.Oc.Qc||An(this),this.Oc.ad&&!this.Oc.ed&&On("Object already scheduled for deletion"),Sn(this),En(this.Oc),this.Oc.ed||(this.Oc.Uc=void 0,this.Oc.Qc=void 0)},Mn.prototype.isDeleted=function(){return!this.Oc.Qc},Mn.prototype.deleteLater=function(){return this.Oc.Qc||An(this),this.Oc.ad&&!this.Oc.ed&&On("Object already scheduled for deletion"),Dn.push(this),1===Dn.length&&kn&&kn(Rn),this.Oc.ad=!0,this},Nn.prototype.Cd=function(n){return this.wd&&(n=this.wd(n)),n},Nn.prototype.dd=function(n){this.Yc&&this.Yc(n)},Nn.prototype.argPackAdvance=8,Nn.prototype.readValueFromPointer=fn,Nn.prototype.deleteObject=function(n){null!==n&&n.delete()},Nn.prototype.fromWireType=function(n){function t(){return this.ld?Xn(this.Pc.bd,{Rc:this.Id,Qc:r,Wc:this,Uc:n}):Xn(this.Pc.bd,{Rc:this,Qc:n})}var r=this.Cd(n);if(!r)return this.dd(n),null;var i=function(n,t){for(void 0===t&&On("ptr should not be undefined");n.Xc;)t=n.gd(t),n=n.Xc;return zn[t]}(this.Pc,r);if(void 0!==i)return 0===i.Oc.count.value?(i.Oc.Qc=r,i.Oc.Uc=n,i.clone()):(i=i.clone(),this.dd(n),i);if(i=this.Pc.Bd(r),!(i=xn[i]))return t.call(this);i=this.kd?i.xd:i.pointerType;var e=function n(t,r,i){return r===i?t:void 0===i.Xc||null===(t=n(t,r,i.Xc))?null:i.yd(t)}(r,this.Pc,i.Pc);return null===e?t.call(this):this.ld?Xn(i.Pc.bd,{Rc:i,Qc:e,Wc:this,Uc:n}):Xn(i.Pc.bd,{Rc:i,Qc:e})},t.getInheritedInstanceCount=function(){return Object.keys(zn).length},t.getLiveInheritedInstances=function(){var n,t=[];for(n in zn)zn.hasOwnProperty(n)&&t.push(zn[n]);return t},t.flushPendingDeletes=Rn,t.setDelayFunction=function(n){kn=n,Dn.length&&kn&&kn(Rn)},Ln=t.UnboundTypeError=vn("UnboundTypeError"),t.count_emval_handles=function(){for(var n=0,t=5;t<rt.length;++t)void 0!==rt[t]&&++n;return n},t.get_first_emval=function(){for(var n=5;n<rt.length;++n)if(void 0!==rt[n])return rt[n];return null};var At={o:function(n){return Et(n)},n:function(n){var t=nn[n];return t&&!t.ud&&(t.ud=!0,Dt.td--),t&&(t.md=!1),tn.push(n),(t=rn(n))&&nn[t].$c++,n},t:function(){kt(0);var n=tn.pop();if(n){if(n=rn(n)){var r=nn[n];r.$c--,0!==r.$c||r.md||(r.dd&&t.dynCall_ii(r.dd,n),delete nn[n],an(n))}en=0}},b:function(){var n=en;if(!n)return s=0;var t=nn[n],r=t.type;if(!r)return s=0,0|n;var i=Array.prototype.slice.call(arguments);Mt(r),T[22796]=n,n=91184;for(var e=0;e<i.length;e++)if(i[e]&&Rt(i[e],r,n))return n=T[n>>2],t.hd.push(n),s=i[e],0|n;return n=T[n>>2],s=r,0|n},g:function(){var n=en;if(!n)return s=0;var t=nn[n],r=t.type;if(!r)return s=0,0|n;var i=Array.prototype.slice.call(arguments);Mt(r),T[22796]=n,n=91184;for(var e=0;e<i.length;e++)if(i[e]&&Rt(i[e],r,n))return n=T[n>>2],t.hd.push(n),s=i[e],0|n;return n=T[n>>2],s=r,0|n},xa:function(){var n=en;if(!n)return s=0;var t=nn[n],r=t.type;if(!r)return s=0,0|n;var i=Array.prototype.slice.call(arguments);Mt(r),T[22796]=n,n=91184;for(var e=0;e<i.length;e++)if(i[e]&&Rt(i[e],r,n))return n=T[n>>2],t.hd.push(n),s=i[e],0|n;return n=T[n>>2],s=r,0|n},r:an,oa:function(){var n=tn.pop();throw n=rn(n),nn[n].md||(tn.push(n),nn[n].md=!0),en=n,n},G:function(n,t,r){throw nn[n]={Qc:n,hd:[n],type:t,dd:r,$c:0,ud:!1,md:!1},en=n,"uncaught_exception"in Dt?Dt.td++:Dt.td=1,n},Ra:function(){return Dt.td},Oa:function(){return t.___errno_location&&(T[t.___errno_location()>>2]=63),-1},d:function(n){throw en||(en=n),n},Na:function(n,t){if(-1===n||0===t)n=-28;else{var r=on[n];r&&t===r.Ud&&(on[n]=null,r.Td&&Ft(r.Vd)),n=0}return n},Ta:function(n){var t=cn[n];delete cn[n];var r=t.sd,i=t.Yc,e=t.vd;_n([n],e.map((function(n){return n.Fd})).concat(e.map((function(n){return n.Md}))),(function(n){var a={};return e.forEach((function(t,r){var i=n[r],o=t.Dd,u=t.Ed,c=n[r+e.length],l=t.Ld,f=t.Nd;a[t.zd]={read:function(n){return i.fromWireType(o(u,n))},write:function(n,t){var r=[];l(f,n,c.toWireType(r,t)),ln(r)}}})),[{name:t.name,fromWireType:function(n){var t,r={};for(t in a)r[t]=a[t].read(n);return i(n),r},toWireType:function(n,t){for(var e in a)if(!(e in t))throw new TypeError("Missing field");var o=r();for(e in a)a[e].write(o,t[e]);return null!==n&&n.push(i,o),o},argPackAdvance:8,readValueFromPointer:fn,Vc:i}]}))},Ja:function(n,t,r,i,e){var a=Cn(r);Tn(n,{name:t=bn(t),fromWireType:function(n){return!!n},toWireType:function(n,t){return t?i:e},argPackAdvance:8,readValueFromPointer:function(n){if(1===r)var i=w;else if(2===r)i=j;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+t);i=T}return this.fromWireType(i[n>>a])},Vc:null})},A:function(n,t,r,i,e,a,o,u,c,l,f,s,d){f=bn(f),a=qn(e,a),u&&(u=qn(o,u)),l&&(l=qn(c,l)),d=qn(s,d);var p=yn(f);In(p,(function(){Kn("Cannot construct "+f+" due to unbound types",[i])})),_n([n,t,r],i?[i]:[],(function(t){if(t=t[0],i)var r=t.Pc,e=r.bd;else e=Mn.prototype;t=hn(p,(function(){if(Object.getPrototypeOf(this)!==o)throw new jn("Use 'new' to construct "+f);if(void 0===c.Zc)throw new jn(f+" has no accessible constructor");var n=c.Zc[arguments.length];if(void 0===n)throw new jn("Tried to invoke ctor of "+f+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(c.Zc).toString()+") parameters instead!");return n.apply(this,arguments)}));var o=Object.create(e,{constructor:{value:t}});t.prototype=o;var c=new Yn(f,t,o,d,r,a,u,l);r=new Nn(f,c,!0,!1,!1),e=new Nn(f+"*",c,!1,!1,!1);var s=new Nn(f+" const*",c,!1,!0,!1);return xn[n]={pointerType:e,xd:s},Zn(p,t),[r,e,s]}))},z:function(n,t,r,i,e,a){0<t||L("Assertion failed: undefined");var o=Gn(t,r);e=qn(i,e);var u=[a],c=[];_n([],[n],(function(n){var r="constructor "+(n=n[0]).name;if(void 0===n.Pc.Zc&&(n.Pc.Zc=[]),void 0!==n.Pc.Zc[t-1])throw new jn("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+n.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return n.Pc.Zc[t-1]=function(){Kn("Cannot construct "+n.name+" due to unbound types",o)},_n([],o,(function(i){return n.Pc.Zc[t-1]=function(){arguments.length!==t-1&&On(r+" called with "+arguments.length+" arguments, expected "+(t-1)),c.length=0,u.length=t;for(var n=1;n<t;++n)u[n]=i[n].toWireType(c,arguments[n-1]);return n=e.apply(null,u),ln(c),i[0].fromWireType(n)},[]})),[]}))},k:function(n,t,r,i,e,a,o,u){var c=Gn(r,i);t=bn(t),a=qn(e,a),_n([],[n],(function(n){function i(){Kn("Cannot call "+e+" due to unbound types",c)}var e=(n=n[0]).name+"."+t;u&&n.Pc.Jd.push(t);var l=n.Pc.bd,f=l[t];return void 0===f||void 0===f.Sc&&f.className!==n.name&&f.jd===r-2?(i.jd=r-2,i.className=n.name,l[t]=i):(Un(l,t,e),l[t].Sc[r-2]=i),_n([],c,(function(i){return i=nt(e,i,n,a,o),void 0===l[t].Sc?(i.jd=r-2,l[t]=i):l[t].Sc[r-2]=i,[]})),[]}))},Ia:function(n,t){Tn(n,{name:t=bn(t),fromWireType:function(n){var t=rt[n].value;return it(n),t},toWireType:function(n,t){return et(t)},argPackAdvance:8,readValueFromPointer:fn,Vc:null})},U:function(n,t,r,i){function e(){}r=Cn(r),t=bn(t),e.values={},Tn(n,{name:t,constructor:e,fromWireType:function(n){return this.constructor.values[n]},toWireType:function(n,t){return t.value},argPackAdvance:8,readValueFromPointer:at(t,r,i),Vc:null}),In(t,e)},T:function(n,t,r){var i=ot(n,"enum");t=bn(t),n=i.constructor,i=Object.create(i.constructor.prototype,{value:{value:r},constructor:{value:hn(i.name+"_"+t,(function(){}))}}),n.values[r]=i,n[t]=i},pa:function(n,t,r){r=Cn(r),Tn(n,{name:t=bn(t),fromWireType:function(n){return n},toWireType:function(n,t){if("number"!=typeof t&&"boolean"!=typeof t)throw new TypeError('Cannot convert "'+ut(t)+'" to '+this.name);return t},argPackAdvance:8,readValueFromPointer:ct(t,r),Vc:null})},S:function(n,t,r,i,e,a){var o=Gn(t,r);n=bn(n),e=qn(i,e),In(n,(function(){Kn("Cannot call "+n+" due to unbound types",o)}),t-1),_n([],o,(function(r){return Zn(n,nt(n,[r[0],null].concat(r.slice(1)),null,e,a),t-1),[]}))},K:function(n,t,r,i,e){function a(n){return n}t=bn(t),-1===e&&(e=4294967295);var o=Cn(r);if(0===i){var u=32-8*r;a=function(n){return n<<u>>>u}}var c=-1!=t.indexOf("unsigned");Tn(n,{name:t,fromWireType:a,toWireType:function(n,r){if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError('Cannot convert "'+ut(r)+'" to '+this.name);if(r<i||r>e)throw new TypeError('Passing a number "'+ut(r)+'" from JS side to C/C++ side to an argument of type "'+t+'", which is outside the valid range ['+i+", "+e+"]!");return c?r>>>0:0|r},argPackAdvance:8,readValueFromPointer:lt(t,o,0!==i),Vc:null})},H:function(n,t,r){function i(n){var t=P;return new e(C,t[1+(n>>=2)],t[n])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];Tn(n,{name:r=bn(r),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{Gd:!0})},ta:function(n,t,r,i,e,a,o,u,c,l,f,s){r=bn(r),a=qn(e,a),u=qn(o,u),l=qn(c,l),s=qn(f,s),_n([n],[t],(function(n){return n=n[0],[new Nn(r,n.Pc,!1,!1,!0,n,i,a,u,l,s)]}))},qa:function(n,t){var r="std::string"===(t=bn(t));Tn(n,{name:t,fromWireType:function(n){var t=P[n>>2];if(r){var i=b[n+4+t],e=0;0!=i&&(e=i,b[n+4+t]=0);var a=n+4;for(i=0;i<=t;++i){var o=n+4+i;if(0==b[o]){if(a=m(a),void 0===u)var u=a;else u+=String.fromCharCode(0),u+=a;a=o+1}}0!=e&&(b[n+4+t]=e)}else{for(u=Array(t),i=0;i<t;++i)u[i]=String.fromCharCode(b[n+4+i]);u=u.join("")}return Ft(n),u},toWireType:function(n,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var i="string"==typeof t;i||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||On("Cannot pass non-string to std::string");var e=(r&&i?function(){return _(t)}:function(){return t.length})(),a=Et(4+e+1);if(P[a>>2]=e,r&&i)g(t,b,a+4,e+1);else if(i)for(i=0;i<e;++i){var o=t.charCodeAt(i);255<o&&(Ft(a),On("String has UTF-16 code units that do not fit in 8 bits")),b[a+4+i]=o}else for(i=0;i<e;++i)b[a+4+i]=t[i];return null!==n&&n.push(Ft,a),a},argPackAdvance:8,readValueFromPointer:fn,Vc:function(n){Ft(n)}})},ea:function(n,t,r){if(r=bn(r),2===t)var i=E,e=F,a=k,o=function(){return O},u=1;else 4===t&&(i=D,e=R,a=M,o=function(){return P},u=2);Tn(n,{name:r,fromWireType:function(n){var r=P[n>>2],e=o(),a=e[n+4+r*t>>u],c=0;0!=a&&(c=a,e[n+4+r*t>>u]=0);var l=n+4;for(a=0;a<=r;++a){var f=n+4+a*t;if(0==e[f>>u]){if(l=i(l),void 0===s)var s=l;else s+=String.fromCharCode(0),s+=l;l=f+t}}return 0!=c&&(e[n+4+r*t>>u]=c),Ft(n),s},toWireType:function(n,i){"string"!=typeof i&&On("Cannot pass non-string to C++ string type "+r);var o=a(i),c=Et(4+o+t);return P[c>>2]=o>>u,e(i,c+4,o+t),null!==n&&n.push(Ft,c),c},argPackAdvance:8,readValueFromPointer:fn,Vc:function(n){Ft(n)}})},Ua:function(n,t,r,i,e,a){cn[n]={name:bn(t),sd:qn(r,i),Yc:qn(e,a),vd:[]}},s:function(n,t,r,i,e,a,o,u,c,l){cn[n].vd.push({zd:bn(t),Fd:r,Dd:qn(i,e),Ed:a,Md:o,Ld:qn(u,c),Nd:l})},Ka:function(n,t){Tn(n,{Hd:!0,name:t=bn(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},Za:function(n,t,r){n=ft(n),t=ot(t,"emval::as");var i=[],e=et(i);return T[r>>2]=e,t.toWireType(i,n)},Sa:function(n,t,r,i){n=ft(n),r=st(t,r);for(var e=Array(t),a=0;a<t;++a){var o=r[a];e[a]=o.readValueFromPointer(i),i+=o.argPackAdvance}return et(n=n.apply(void 0,e))},I:function(n,t,r,i,e){n=yt[n],t=ft(t),r=pt(r);var a=[];return T[i>>2]=et(a),n(t,r,a,e)},B:function(n,t,r,i){(n=yt[n])(t=ft(t),r=pt(r),null,i)},ca:it,Da:function(n){return 0===n?et(ht()):(n=pt(n),et(ht()[n]))},x:function(n,t){for(var r=(t=st(n,t))[0],i=r.name+"_$"+t.slice(1).map((function(n){return n.name})).join("_")+"$",e=["retType"],a=[r],o="",u=0;u<n-1;++u)o+=(0!==u?", ":"")+"arg"+u,e.push("argType"+u),a.push(t[1+u]);i="return function "+yn("methodCaller_"+i)+"(handle, name, destructors, args) {\n";var c=0;for(u=0;u<n-1;++u)i+=" var arg"+u+" = argType"+u+".readValueFromPointer(args"+(c?"+"+c:"")+");\n",c+=t[u+1].argPackAdvance;for(i+=" var rv = handle[name]("+o+");\n",u=0;u<n-1;++u)t[u+1].deleteObject&&(i+=" argType"+u+".deleteObject(arg"+u+");\n");return r.Hd||(i+=" return retType.toWireType(destructors, rv);\n"),e.push(i+"};\n"),function(n){var t=yt.length;return yt.push(n),t}(n=Jn(e).apply(null,a))},Xa:function(n){return n=pt(n),et(t[n])},cb:function(n,t){return et((n=ft(n))[t=ft(t)])},fa:function(n){4<n&&(rt[n].$c+=1)},Wa:function(n,r,i,e){n=ft(n);var a=mt[r];if(!a){a="";for(var o=0;o<r;++o)a+=(0!==o?", ":"")+"arg"+o;var u="return function emval_allocator_"+r+"(constructor, argTypes, args) {\n";for(o=0;o<r;++o)u+="var argType"+o+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+o+'], "parameter '+o+'");\nvar arg'+o+" = argType"+o+".readValueFromPointer(args);\nargs += argType"+o+"['argPackAdvance'];\n";a=new Function("requireRegisteredType","Module","__emval_register",u+"var obj = new constructor("+a+");\nreturn __emval_register(obj);\n}\n")(ot,t,et),mt[r]=a}return a(n,i,e)},Fa:function(){return et([])},_a:function(n){return et(pt(n))},Ya:function(n){ln(rt[n].value),it(n)},Va:function(n,t){return(n=ft(n))===ft(t)},y:function(n,t){return et(n=(n=ot(n,"_emval_take_value")).readValueFromPointer(t))},sa:function(){L()},Ga:function(n,t,r){b.copyWithin(n,t,t+r)},Ha:function(n){var t=b.length;if(2147418112<n)return!1;for(var r=1;4>=r;r*=2){var i=t*(1+.2/r);i=Math.min(i,n+100663296),0<(i=Math.max(16777216,n,i))%65536&&(i+=65536-i%65536);n:{try{d.grow(Math.min(2147418112,i)-C.byteLength+65535>>16),x(d.buffer);var e=1;break n}catch(n){}e=void 0}if(e)return!0}return!1},Pa:function(n,t){var r=0;return _t().forEach((function(i,e){var a=t+r;for(e=T[n+4*e>>2]=a,a=0;a<i.length;++a)w[e++>>0]=i.charCodeAt(a);w[e>>0]=0,r+=i.length+1})),0},Qa:function(n,t){var r=_t();T[n>>2]=r.length;var i=0;return r.forEach((function(n){i+=n.length+1})),T[t>>2]=i,0},La:function(){return 0},db:function(){},ra:function(n,t,r,i){for(var e=0,a=0;a<r;a++){for(var o=T[t+8*a>>2],l=T[t+(8*a+4)>>2],f=0;f<l;f++){var s=b[o+f],d=un[n];0===s||10===s?((1===n?u:c)(v(d,0)),d.length=0):d.push(s)}e+=l}return T[i>>2]=e,0},a:function(){return 0|s},Ea:function(n,t){var r=xr();try{return Dr(n,t)}catch(n){if(Ur(r),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},_:function(n,t,r,i){var e=xr();try{return Rr(n,t,r,i)}catch(n){if(Ur(e),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},F:function(n,t){var r=xr();try{return Ar(n,t)}catch(n){if(Ur(r),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},ka:function(n,t,r){var i=xr();try{return Fr(n,t,r)}catch(n){if(Ur(i),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},za:function(n,t,r,i){var e=xr();try{return kr(n,t,r,i)}catch(n){if(Ur(e),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},J:function(n,t,r){var i=xr();try{return Wr(n,t,r)}catch(n){if(Ur(i),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},W:function(n,t,r,i,e){var a=xr();try{return Er(n,t,r,i,e)}catch(n){if(Ur(a),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},L:function(n,t,r,i){var e=xr();try{return Sr(n,t,r,i)}catch(n){if(Ur(e),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},v:function(n){var t=xr();try{return lr(n)}catch(n){if(Ur(t),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},O:function(n,t){var r=xr();try{return Or(n,t)}catch(n){if(Ur(r),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},h:function(n,t){var r=xr();try{return fr(n,t)}catch(n){if(Ur(r),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},da:function(n,t,r){var i=xr();try{return jr(n,t,r)}catch(n){if(Ur(i),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},M:function(n,t,r){var i=xr();try{return wr(n,t,r)}catch(n){if(Ur(i),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},ya:function(n,t,r,i){var e=xr();try{return br(n,t,r,i)}catch(n){if(Ur(e),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},c:function(n,t,r){var i=xr();try{return sr(n,t,r)}catch(n){if(Ur(i),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},i:function(n,t,r,i){var e=xr();try{return dr(n,t,r,i)}catch(n){if(Ur(e),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},p:function(n,t,r,i,e){var a=xr();try{return pr(n,t,r,i,e)}catch(n){if(Ur(a),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},ua:function(n,t,r,i,e,a){var o=xr();try{return _r(n,t,r,i,e,a)}catch(n){if(Ur(o),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},C:function(n,t,r,i,e,a){var o=xr();try{return yr(n,t,r,i,e,a)}catch(n){if(Ur(o),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},D:function(n,t,r,i,e,a,o){var u=xr();try{return hr(n,t,r,i,e,a,o)}catch(n){if(Ur(u),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},X:function(n,t,r,i,e,a,o,u){var c=xr();try{return vr(n,t,r,i,e,a,o,u)}catch(n){if(Ur(c),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},va:function(n,t,r,i,e,a,o,u,c){var l=xr();try{return mr(n,t,r,i,e,a,o,u,c)}catch(n){if(Ur(l),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},Z:function(n,t,r,i,e,a,o,u,c,l,f,s){var d=xr();try{return gr(n,t,r,i,e,a,o,u,c,l,f,s)}catch(n){if(Ur(d),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},ab:function(n,t,r,i){var e=xr();try{return Cr(n,t,r,i)}catch(n){if(Ur(e),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},bb:function(n,t,r){var i=xr();try{return Tr(n,t,r)}catch(n){if(Ur(i),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},$a:function(n,t,r,i,e){var a=xr();try{return Pr(n,t,r,i,e)}catch(n){if(Ur(a),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},m:function(n){var t=xr();try{Ut(n)}catch(n){if(Ur(t),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},j:function(n,t){var r=xr();try{It(n,t)}catch(n){if(Ur(r),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},ma:function(n,t,r,i){var e=xr();try{cr(n,t,r,i)}catch(n){if(Ur(e),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},ha:function(n,t,r){var i=xr();try{er(n,t,r)}catch(n){if(Ur(i),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},Ba:function(n,t,r,i){var e=xr();try{ar(n,t,r,i)}catch(n){if(Ur(e),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},Aa:function(n,t,r,i,e,a,o,u){var c=xr();try{ur(n,t,r,i,e,a,o,u)}catch(n){if(Ur(c),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},la:function(n,t,r,i,e,a,o,u){var c=xr();try{or(n,t,r,i,e,a,o,u)}catch(n){if(Ur(c),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},e:function(n,t,r){var i=xr();try{Yt(n,t,r)}catch(n){if(Ur(i),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},Q:function(n,t,r,i,e){var a=xr();try{rr(n,t,r,i,e)}catch(n){if(Ur(a),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},P:function(n,t,r,i,e,a){var o=xr();try{ir(n,t,r,i,e,a)}catch(n){if(Ur(o),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},ja:function(n,t,r,i){var e=xr();try{nr(n,t,r,i)}catch(n){if(Ur(e),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},eb:function(n,t,r,i,e){var a=xr();try{tr(n,t,r,i,e)}catch(n){if(Ur(a),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},f:function(n,t,r,i){var e=xr();try{Vt(n,t,r,i)}catch(n){if(Ur(e),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},aa:function(n,t,r,i,e){var a=xr();try{Gt(n,t,r,i,e)}catch(n){if(Ur(a),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},Ca:function(n,t,r,i,e,a){var o=xr();try{Jt(n,t,r,i,e,a)}catch(n){if(Ur(o),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},l:function(n,t,r,i,e){var a=xr();try{Qt(n,t,r,i,e)}catch(n){if(Ur(a),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},$:function(n,t,r,i,e,a){var o=xr();try{Kt(n,t,r,i,e,a)}catch(n){if(Ur(o),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},ia:function(n,t,r,i,e,a,o){var u=xr();try{$t(n,t,r,i,e,a,o)}catch(n){if(Ur(u),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},u:function(n,t,r,i,e,a){var o=xr();try{Ht(n,t,r,i,e,a)}catch(n){if(Ur(o),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},w:function(n,t,r,i,e,a,o){var u=xr();try{Bt(n,t,r,i,e,a,o)}catch(n){if(Ur(u),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},E:function(n,t,r,i,e,a,o,u){var c=xr();try{zt(n,t,r,i,e,a,o,u)}catch(n){if(Ur(c),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},V:function(n,t,r,i,e,a,o,u,c){var l=xr();try{Xt(n,t,r,i,e,a,o,u,c)}catch(n){if(Ur(l),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},ba:function(n,t,r,i,e,a,o,u,c,l){var f=xr();try{Nt(n,t,r,i,e,a,o,u,c,l)}catch(n){if(Ur(f),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},N:function(n,t,r,i,e,a,o,u,c,l,f){var s=xr();try{Zt(n,t,r,i,e,a,o,u,c,l,f)}catch(n){if(Ur(s),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},wa:function(n,t,r,i,e,a,o,u,c,l,f,s){var d=xr();try{qt(n,t,r,i,e,a,o,u,c,l,f,s)}catch(n){if(Ur(d),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},Y:function(n,t,r,i,e,a,o,u,c,l,f,s,d,p,y,h){var v=xr();try{Lt(n,t,r,i,e,a,o,u,c,l,f,s,d,p,y,h)}catch(n){if(Ur(v),n!==n+0&&"longjmp"!==n)throw n;kt(1,0)}},q:function(n){return n},memory:d,R:function(n){return 0<=(n=+n)?+X(n+.5):+z(n-.5)},na:function(n){return 0<=(n=+n)?+X(n+.5):+z(n-.5)},ga:function(n){s=0|n},Ma:function(n,t,r,i){return function(n,t,r,i){function e(n,t,r){for(n="number"==typeof n?n.toString():n||"";n.length<t;)n=r[0]+n;return n}function a(n,t){return e(n,t,"0")}function o(n,t){function r(n){return 0>n?-1:0<n?1:0}var i;return 0===(i=r(n.getFullYear()-t.getFullYear()))&&0===(i=r(n.getMonth()-t.getMonth()))&&(i=r(n.getDate()-t.getDate())),i}function u(n){switch(n.getDay()){case 0:return new Date(n.getFullYear()-1,11,29);case 1:return n;case 2:return new Date(n.getFullYear(),0,3);case 3:return new Date(n.getFullYear(),0,2);case 4:return new Date(n.getFullYear(),0,1);case 5:return new Date(n.getFullYear()-1,11,31);case 6:return new Date(n.getFullYear()-1,11,30)}}function c(n){n=Ot(new Date(n.Tc+1900,0,1),n.pd);var t=new Date(n.getFullYear()+1,0,4),r=u(new Date(n.getFullYear(),0,4));return t=u(t),0>=o(r,n)?0>=o(t,n)?n.getFullYear()+1:n.getFullYear():n.getFullYear()-1}var l=T[i+40>>2];for(var f in i={Rd:T[i>>2],Qd:T[i+4>>2],nd:T[i+8>>2],fd:T[i+12>>2],cd:T[i+16>>2],Tc:T[i+20>>2],od:T[i+24>>2],pd:T[i+28>>2],Xd:T[i+32>>2],Pd:T[i+36>>2],Sd:l?m(l):""},r=m(r),l={"%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"})r=r.replace(new RegExp(f,"g"),l[f]);var s="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),d="January February March April May June July August September October November December".split(" ");for(f in l={"%a":function(n){return s[n.od].substring(0,3)},"%A":function(n){return s[n.od]},"%b":function(n){return d[n.cd].substring(0,3)},"%B":function(n){return d[n.cd]},"%C":function(n){return a((n.Tc+1900)/100|0,2)},"%d":function(n){return a(n.fd,2)},"%e":function(n){return e(n.fd,2," ")},"%g":function(n){return c(n).toString().substring(2)},"%G":function(n){return c(n)},"%H":function(n){return a(n.nd,2)},"%I":function(n){return 0==(n=n.nd)?n=12:12<n&&(n-=12),a(n,2)},"%j":function(n){return a(n.fd+wt(Ct(n.Tc+1900)?bt:jt,n.cd-1),3)},"%m":function(n){return a(n.cd+1,2)},"%M":function(n){return a(n.Qd,2)},"%n":function(){return"\n"},"%p":function(n){return 0<=n.nd&&12>n.nd?"AM":"PM"},"%S":function(n){return a(n.Rd,2)},"%t":function(){return"\t"},"%u":function(n){return n.od||7},"%U":function(n){var t=new Date(n.Tc+1900,0,1),r=0===t.getDay()?t:Ot(t,7-t.getDay());return 0>o(r,n=new Date(n.Tc+1900,n.cd,n.fd))?a(Math.ceil((31-r.getDate()+(wt(Ct(n.getFullYear())?bt:jt,n.getMonth()-1)-31)+n.getDate())/7),2):0===o(r,t)?"01":"00"},"%V":function(n){var t=new Date(n.Tc+1901,0,4),r=u(new Date(n.Tc+1900,0,4));t=u(t);var i=Ot(new Date(n.Tc+1900,0,1),n.pd);return 0>o(i,r)?"53":0>=o(t,i)?"01":a(Math.ceil((r.getFullYear()<n.Tc+1900?n.pd+32-r.getDate():n.pd+1-r.getDate())/7),2)},"%w":function(n){return n.od},"%W":function(n){var t=new Date(n.Tc,0,1),r=1===t.getDay()?t:Ot(t,0===t.getDay()?1:7-t.getDay()+1);return 0>o(r,n=new Date(n.Tc+1900,n.cd,n.fd))?a(Math.ceil((31-r.getDate()+(wt(Ct(n.getFullYear())?bt:jt,n.getMonth()-1)-31)+n.getDate())/7),2):0===o(r,t)?"01":"00"},"%y":function(n){return(n.Tc+1900).toString().substring(2)},"%Y":function(n){return n.Tc+1900},"%z":function(n){var t=0<=(n=n.Pd);return n=Math.abs(n)/60,(t?"+":"-")+String("0000"+(n/60*100+n%60)).slice(-4)},"%Z":function(n){return n.Sd},"%%":function(){return"%"}})0<=r.indexOf(f)&&(r=r.replace(new RegExp(f,"g"),l[f](i)));return(f=function(n){var t=Array(_(n)+1);return g(n,t,0,t.length),t}(r)).length>t?0:(w.set(f,n),f.length-1)}(n,t,r,i)},table:p},Wt=function(){function n(n){t.asm=n.exports,N--,t.monitorRunDependencies&&t.monitorRunDependencies(N),0==N&&(null!==Z&&(clearInterval(Z),Z=null),q&&(n=q,q=null,n()))}function r(t){n(t.instance)}function i(n){return(l||"function"!=typeof fetch?new Promise((function(n){n(J())})):fetch(K,{credentials:"same-origin"}).then((function(n){if(!n.ok)throw"failed to load wasm binary file at '"+K+"'";return n.arrayBuffer()})).catch((function(){return J()}))).then((function(n){return WebAssembly.instantiate(n,e)})).then(n,(function(n){c("failed to asynchronously prepare wasm: "+n),L(n)}))}var e={a:At};if(N++,t.monitorRunDependencies&&t.monitorRunDependencies(N),t.instantiateWasm)try{return t.instantiateWasm(e,n)}catch(n){return c("Module.instantiateWasm callback failed with error: "+n),!1}return function(){if(l||"function"!=typeof WebAssembly.instantiateStreaming||$()||"function"!=typeof fetch)return i(r);fetch(K,{credentials:"same-origin"}).then((function(n){return WebAssembly.instantiateStreaming(n,e).then(r,(function(n){c("wasm streaming compile failed: "+n),c("falling back to ArrayBuffer instantiation"),i(r)}))}))}(),{}}();t.asm=Wt;var St=t.___wasm_call_ctors=function(){return(St=t.___wasm_call_ctors=t.asm.fb).apply(null,arguments)},Et=t._malloc=function(){return(Et=t._malloc=t.asm.gb).apply(null,arguments)},Ft=t._free=function(){return(Ft=t._free=t.asm.hb).apply(null,arguments)};t._main=function(){return(t._main=t.asm.ib).apply(null,arguments)};var kt=t._setThrew=function(){return(kt=t._setThrew=t.asm.jb).apply(null,arguments)},Dt=t.__ZSt18uncaught_exceptionv=function(){return(Dt=t.__ZSt18uncaught_exceptionv=t.asm.kb).apply(null,arguments)},Rt=t.___cxa_can_catch=function(){return(Rt=t.___cxa_can_catch=t.asm.lb).apply(null,arguments)},Mt=t.___cxa_is_pointer_type=function(){return(Mt=t.___cxa_is_pointer_type=t.asm.mb).apply(null,arguments)},xt=t.___getTypeName=function(){return(xt=t.___getTypeName=t.asm.nb).apply(null,arguments)};t.___embind_register_native_and_builtin_types=function(){return(t.___embind_register_native_and_builtin_types=t.asm.ob).apply(null,arguments)};var Ut=t.dynCall_v=function(){return(Ut=t.dynCall_v=t.asm.pb).apply(null,arguments)},It=t.dynCall_vi=function(){return(It=t.dynCall_vi=t.asm.qb).apply(null,arguments)},Yt=t.dynCall_vii=function(){return(Yt=t.dynCall_vii=t.asm.rb).apply(null,arguments)},Vt=t.dynCall_viii=function(){return(Vt=t.dynCall_viii=t.asm.sb).apply(null,arguments)},Qt=t.dynCall_viiii=function(){return(Qt=t.dynCall_viiii=t.asm.tb).apply(null,arguments)},Ht=t.dynCall_viiiii=function(){return(Ht=t.dynCall_viiiii=t.asm.ub).apply(null,arguments)},Bt=t.dynCall_viiiiii=function(){return(Bt=t.dynCall_viiiiii=t.asm.vb).apply(null,arguments)},zt=t.dynCall_viiiiiii=function(){return(zt=t.dynCall_viiiiiii=t.asm.wb).apply(null,arguments)},Xt=t.dynCall_viiiiiiii=function(){return(Xt=t.dynCall_viiiiiiii=t.asm.xb).apply(null,arguments)},Nt=t.dynCall_viiiiiiiii=function(){return(Nt=t.dynCall_viiiiiiiii=t.asm.yb).apply(null,arguments)},Zt=t.dynCall_viiiiiiiiii=function(){return(Zt=t.dynCall_viiiiiiiiii=t.asm.zb).apply(null,arguments)},qt=t.dynCall_viiiiiiiiiii=function(){return(qt=t.dynCall_viiiiiiiiiii=t.asm.Ab).apply(null,arguments)},Lt=t.dynCall_viiiiiiiiiiiiiii=function(){return(Lt=t.dynCall_viiiiiiiiiiiiiii=t.asm.Bb).apply(null,arguments)},$t=t.dynCall_viiiifi=function(){return($t=t.dynCall_viiiifi=t.asm.Cb).apply(null,arguments)},Kt=t.dynCall_viiiid=function(){return(Kt=t.dynCall_viiiid=t.asm.Db).apply(null,arguments)},Gt=t.dynCall_viiif=function(){return(Gt=t.dynCall_viiif=t.asm.Eb).apply(null,arguments)},Jt=t.dynCall_viiifi=function(){return(Jt=t.dynCall_viiifi=t.asm.Fb).apply(null,arguments)},nr=t.dynCall_viif=function(){return(nr=t.dynCall_viif=t.asm.Gb).apply(null,arguments)},tr=t.dynCall_viifi=function(){return(tr=t.dynCall_viifi=t.asm.Hb).apply(null,arguments)},rr=t.dynCall_viidi=function(){return(rr=t.dynCall_viidi=t.asm.Ib).apply(null,arguments)},ir=t.dynCall_viidii=function(){return(ir=t.dynCall_viidii=t.asm.Jb).apply(null,arguments)},er=t.dynCall_vif=function(){return(er=t.dynCall_vif=t.asm.Kb).apply(null,arguments)},ar=t.dynCall_vifi=function(){return(ar=t.dynCall_vifi=t.asm.Lb).apply(null,arguments)},or=t.dynCall_vifiiiff=function(){return(or=t.dynCall_vifiiiff=t.asm.Mb).apply(null,arguments)},ur=t.dynCall_vifiifif=function(){return(ur=t.dynCall_vifiifif=t.asm.Nb).apply(null,arguments)};t.dynCall_vid=function(){return(t.dynCall_vid=t.asm.Ob).apply(null,arguments)};var cr=t.dynCall_vidi=function(){return(cr=t.dynCall_vidi=t.asm.Pb).apply(null,arguments)},lr=t.dynCall_i=function(){return(lr=t.dynCall_i=t.asm.Qb).apply(null,arguments)},fr=t.dynCall_ii=function(){return(fr=t.dynCall_ii=t.asm.Rb).apply(null,arguments)},sr=t.dynCall_iii=function(){return(sr=t.dynCall_iii=t.asm.Sb).apply(null,arguments)},dr=t.dynCall_iiii=function(){return(dr=t.dynCall_iiii=t.asm.Tb).apply(null,arguments)},pr=t.dynCall_iiiii=function(){return(pr=t.dynCall_iiiii=t.asm.Ub).apply(null,arguments)},yr=t.dynCall_iiiiii=function(){return(yr=t.dynCall_iiiiii=t.asm.Vb).apply(null,arguments)},hr=t.dynCall_iiiiiii=function(){return(hr=t.dynCall_iiiiiii=t.asm.Wb).apply(null,arguments)},vr=t.dynCall_iiiiiiii=function(){return(vr=t.dynCall_iiiiiiii=t.asm.Xb).apply(null,arguments)},mr=t.dynCall_iiiiiiiii=function(){return(mr=t.dynCall_iiiiiiiii=t.asm.Yb).apply(null,arguments)};t.dynCall_iiiiiiiiiii=function(){return(t.dynCall_iiiiiiiiiii=t.asm.Zb).apply(null,arguments)};var gr=t.dynCall_iiiiiiiiiiii=function(){return(gr=t.dynCall_iiiiiiiiiiii=t.asm._b).apply(null,arguments)};t.dynCall_iiiiiiiiiiiii=function(){return(t.dynCall_iiiiiiiiiiiii=t.asm.$b).apply(null,arguments)};var _r=t.dynCall_iiiiid=function(){return(_r=t.dynCall_iiiiid=t.asm.ac).apply(null,arguments)},Cr=t.dynCall_iij=function(){return(Cr=t.dynCall_iij=t.asm.bc).apply(null,arguments)},wr=t.dynCall_iif=function(){return(wr=t.dynCall_iif=t.asm.cc).apply(null,arguments)},br=t.dynCall_iiff=function(){return(br=t.dynCall_iiff=t.asm.dc).apply(null,arguments)};t.dynCall_iiffff=function(){return(t.dynCall_iiffff=t.asm.ec).apply(null,arguments)};var jr=t.dynCall_iid=function(){return(jr=t.dynCall_iid=t.asm.fc).apply(null,arguments)},Or=t.dynCall_if=function(){return(Or=t.dynCall_if=t.asm.gc).apply(null,arguments)};t.dynCall_id=function(){return(t.dynCall_id=t.asm.hc).apply(null,arguments)};var Tr=t.dynCall_jii=function(){return(Tr=t.dynCall_jii=t.asm.ic).apply(null,arguments)},Pr=t.dynCall_jiiii=function(){return(Pr=t.dynCall_jiiii=t.asm.jc).apply(null,arguments)},Ar=t.dynCall_fi=function(){return(Ar=t.dynCall_fi=t.asm.kc).apply(null,arguments)},Wr=t.dynCall_fii=function(){return(Wr=t.dynCall_fii=t.asm.lc).apply(null,arguments)},Sr=t.dynCall_fiii=function(){return(Sr=t.dynCall_fiii=t.asm.mc).apply(null,arguments)},Er=t.dynCall_fiifi=function(){return(Er=t.dynCall_fiifi=t.asm.nc).apply(null,arguments)},Fr=t.dynCall_fif=function(){return(Fr=t.dynCall_fif=t.asm.oc).apply(null,arguments)},kr=t.dynCall_fiff=function(){return(kr=t.dynCall_fiff=t.asm.pc).apply(null,arguments)},Dr=t.dynCall_di=function(){return(Dr=t.dynCall_di=t.asm.qc).apply(null,arguments)},Rr=t.dynCall_diii=function(){return(Rr=t.dynCall_diii=t.asm.rc).apply(null,arguments)};t.dynCall_ddi=function(){return(t.dynCall_ddi=t.asm.sc).apply(null,arguments)};var Mr,xr=t.stackSave=function(){return(xr=t.stackSave=t.asm.tc).apply(null,arguments)},Ur=t.stackRestore=function(){return(Ur=t.stackRestore=t.asm.uc).apply(null,arguments)};function Ir(n){this.name="ExitStatus",this.message="Program terminated with exit("+n+")",this.status=n}function Yr(){function n(){if(!Mr&&(Mr=!0,t.calledRun=!0,!y)){if(I(V),I(Q),t.onRuntimeInitialized&&t.onRuntimeInitialized(),Vr){var n=t._main;try{var r=n(0,0);f&&0===r||(!f&&(y=!0,t.onExit)&&t.onExit(r),a(r,new Ir(r)))}catch(t){t instanceof Ir||("unwind"==t?f=!0:((n=t)&&"object"==typeof t&&t.stack&&(n=[t,t.stack]),c("exception thrown: "+n),a(1,t)))}}if(t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;)n=t.postRun.shift(),H.unshift(n);I(H)}}if(!(0<N)){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)B();I(Y),0<N||(t.setStatus?(t.setStatus("Running..."),setTimeout((function(){setTimeout((function(){t.setStatus("")}),1),n()}),1)):n())}}if(t.dynCall_dii=function(){return(t.dynCall_dii=t.asm.vc).apply(null,arguments)},t.dynCall_viid=function(){return(t.dynCall_viid=t.asm.wc).apply(null,arguments)},t.dynCall_viiiiiiiiiiii=function(){return(t.dynCall_viiiiiiiiiiii=t.asm.xc).apply(null,arguments)},t.dynCall_iiidii=function(){return(t.dynCall_iiidii=t.asm.yc).apply(null,arguments)},t.dynCall_fiiii=function(){return(t.dynCall_fiiii=t.asm.zc).apply(null,arguments)},t.dynCall_iiidi=function(){return(t.dynCall_iiidi=t.asm.Ac).apply(null,arguments)},t.dynCall_diiii=function(){return(t.dynCall_diiii=t.asm.Bc).apply(null,arguments)},t.dynCall_iiiif=function(){return(t.dynCall_iiiif=t.asm.Cc).apply(null,arguments)},t.dynCall_iidiiii=function(){return(t.dynCall_iidiiii=t.asm.Dc).apply(null,arguments)},t.dynCall_viijii=function(){return(t.dynCall_viijii=t.asm.Ec).apply(null,arguments)},t.dynCall_viiifif=function(){return(t.dynCall_viiifif=t.asm.Fc).apply(null,arguments)},t.dynCall_vifffiii=function(){return(t.dynCall_vifffiii=t.asm.Gc).apply(null,arguments)},t.dynCall_vifffiifif=function(){return(t.dynCall_vifffiifif=t.asm.Hc).apply(null,arguments)},t.dynCall_iiif=function(){return(t.dynCall_iiif=t.asm.Ic).apply(null,arguments)},t.dynCall_fifi=function(){return(t.dynCall_fifi=t.asm.Jc).apply(null,arguments)},t.dynCall_iiiiiijj=function(){return(t.dynCall_iiiiiijj=t.asm.Kc).apply(null,arguments)},t.dynCall_iiiiij=function(){return(t.dynCall_iiiiij=t.asm.Lc).apply(null,arguments)},t.dynCall_iiiiijj=function(){return(t.dynCall_iiiiijj=t.asm.Mc).apply(null,arguments)},t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.Nc).apply(null,arguments)},t.asm=Wt,t.then=function(n){if(Mr)n(t);else{var r=t.onRuntimeInitialized;t.onRuntimeInitialized=function(){r&&r(),n(t)}}return t},q=function n(){Mr||Yr(),Mr||(q=n)},t.run=Yr,t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);0<t.preInit.length;)t.preInit.pop()();var Vr=!0;return t.noInitialRun&&(Vr=!1),f=!0,Yr(),n});"object"==typeof exports&&"object"==typeof module?module.exports=ConfiguratorKernel:"function"==typeof define&&define.amd?define([],(function(){return ConfiguratorKernel})):"object"==typeof exports&&(exports.ConfiguratorKernel=ConfiguratorKernel);
|
|
Binary file
|
|
Binary file
|