"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2772],{72772(s,t,e){e.r(t),e.d(t,{addSpatialReferenceInfo:()=>c,destroyWasm:()=>u,initialize:()=>f,process:()=>a,switchMeshModificationPolygonVCSSync:()=>l});var n=e(2741);function i(s){return(0,n.s)(`esri/libs/lyr3d/${s}`)}let r,o;async function a(s){await f();const t={status:1,error:"",jobDescJson:"",data:new Uint8Array(0),missingInputUrls:[]};if(s.inputs.length<1)return{result:t,transferList:[]};const e={ptrs:[],sizes:[]};for(const t of s.inputs){const s=o._malloc(t.byteLength);new Uint8Array(o.HEAPU8.buffer,s,t.byteLength).set(new Uint8Array(t)),e.ptrs.push(s),e.sizes.push(t.byteLength)}const n=o.process(s.jobDescJson,s.id,e,s.isMissingResourceCase);t.status=n.status,t.missingInputUrls=n.missingInputUrls.slice();const i=0===n.status&&n.data,r=2===t.status&&t.missingInputUrls.length>0;t.jobDescJson=n.jobDescJson.slice(),t.error=n.error.slice(),i?t.data=n.data.slice():r&&(t.originalInputs=s.inputs.slice());for(let s=0;s<e.ptrs.length;++s)o._free(e.ptrs[s]);const a=[];if(i)a.push(t.data.buffer);else if(r)for(const t of s.inputs)a.push(t);return{result:t,transferList:a}}async function c(s){await f(),o.add_spatial_reference_info(s.sr,s.isGCS,s.toMetersXY,s.toMetersZ)}function l(s){if(!o)return{success:!1,modifications:null};const t=o._malloc(8*s.modifications.length),e=new Float64Array(o.HEAPF64.buffer,t,s.modifications.length);e.set(s.modifications);const n=o.switch_mesh_modification_polygon_vcs(t,s.modifications.length,s.inVCS);let i=null;return n&&(i=e.slice()),o._free(t),{success:n,modifications:i}}function u(){o&&(o.uninitialize_lyr3d_worker_wasm(),o=null)}function f(){return o?Promise.resolve():(r||(r=new Promise(s=>e.e(2343).then(e.bind(e,2343)).then(s=>s.l).then(({default:t})=>{const e=t({locateFile:i,onRuntimeInitialized:()=>s(e)})})).catch(s=>{throw s}).then(s=>{o=s,o.initialize_lyr3d_worker_wasm(),r=null})),r)}}}]);