@cesdk/node 1.21.1 → 1.22.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__commonJS=(e,t)=>function(){return t||(0,e[__getOwnPropNames(e)[0]])((t={exports:{}}).exports,t),t.exports},__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of __getOwnPropNames(t))__hasOwnProp.call(e,o)||o===r||__defProp(e,o,{get:()=>t[o],enumerable:!(n=__getOwnPropDesc(t,o))||n.enumerable});return e},__toESM=(e,t,r)=>(r=null!=e?__create(__getProtoOf(e)):{},__copyProps(!t&&e&&e.__esModule?r:__defProp(r,"default",{value:e,enumerable:!0}),e)),__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),__decorateClass=(e,t,r,n)=>{for(var o,s=n>1?void 0:n?__getOwnPropDesc(t,r):t,a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&__defProp(t,r,s),s},require_cesdk=__commonJS({"../../../_builds/cesdk/wasm32-unknown-emscripten+simd/Release/cesdk.js"(e,t){var r,n=(r="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,"undefined"!=typeof __filename&&(r=r||__filename),function(e={}){var t,n,o,s,a,i,u=e;if(void 0===globalThis.BigInt64Array){let e=function(e,t){return BigInt(e)|BigInt(t+2*(2147483648&t))<<32n},t=function(e,t){return BigInt(e)|BigInt(t)<<32n},r=function(e){return[0|Number(BigInt(e)&BigInt(4294967295)),0|Number(BigInt(e)>>32n)]},n=function(e){return function t(n){var o;"number"==typeof n&&(n=new Uint32Array(2*n)),ArrayBuffer.isView(n)||(n.constructor&&"ArrayBuffer"===n.constructor.name?n=new Uint32Array(n):(o=n,n=new Uint32Array(2*n.length)));var s=new Proxy({slice:(e,r)=>(void 0===r&&(r=n.length),t(n.slice(2*e,2*r))),subarray:(e,r)=>t(n.subarray(2*e,2*r)),[Symbol.iterator]:function*(){for(var t=0;t<n.length/2;t++)yield e(n[2*t],n[2*t+1])},BYTES_PER_ELEMENT:2*n.BYTES_PER_ELEMENT,buffer:n.buffer,byteLength:n.byteLength,byteOffset:n.byteOffset,length:n.length/2,copyWithin:function(e,t,r){return n.copyWithin(2*e,2*t,2*r),s},set(e,t){if(void 0===t&&(t=0),2*(e.length+t)>n.length)throw new RangeError("offset is out of bounds");for(var o=0;o<e.length;o++){var s=e[o],a=r(s);n.set(a,2*(t+o))}}},{get(t,r,o){if("string"!=typeof r||!/^\d+$/.test(r))return Reflect.get(t,r,o);var s=n[2*r],a=n[2*r+1];return e(s,a)},set(e,t,o,s){if("string"!=typeof t||!/^\d+$/.test(t))return Reflect.set(e,t,o,s);if("bigint"!=typeof o)throw new TypeError(`Cannot convert ${o} to a BigInt`);var a=r(o);return n.set(a,2*t),!0}});return o&&s.set(o),s}};globalThis.BigUint64Array=n(t),globalThis.BigInt64Array=n(e)}u.ready=new Promise(((e,r)=>{t=e,n=r})),u.expectedDataFileDownloads||(u.expectedDataFileDownloads=0),u.expectedDataFileDownloads++,u.ENVIRONMENT_IS_PTHREAD||u.$ww||function(e){"object"==typeof window?window.encodeURIComponent(window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/"):"undefined"==typeof process&&"undefined"!=typeof location&&encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/");var t="cesdk.data";"function"!=typeof u.locateFilePackage||u.locateFile||(u.locateFile=u.locateFilePackage,C("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)"));var r=u.locateFile?u.locateFile(t,""):t,n=e.remote_package_size,o=null,s=u.getPreloadedPackage?u.getPreloadedPackage(r,n):null;function a(){function t(e,t){if(!e)throw t+(new Error).stack}function r(e,t,r){this.start=e,this.end=t,this.audio=r}u.FS_createPath("/","ly.img.cesdk",!0,!0),u.FS_createPath("/ly.img.cesdk","fonts",!0,!0),u.FS_createPath("/ly.img.cesdk","icons",!0,!0),u.FS_createPath("/ly.img.cesdk","icu",!0,!0),u.FS_createPath("/ly.img.cesdk","presets",!0,!0),u.FS_createPath("/ly.img.cesdk","shaders",!0,!0),u.FS_createPath("/ly.img.cesdk/shaders","common",!0,!0),r.prototype={requests:{},open:function(e,t){this.name=t,this.requests[t]=this,u.addRunDependency(`fp ${this.name}`)},send:function(){},onload:function(){var e=this.byteArray.subarray(this.start,this.end);this.finish(e)},finish:function(e){u.FS_createDataFile(this.name,null,e,!0,!0,!0),u.removeRunDependency(`fp ${this.name}`),this.requests[this.name]=null}};for(var n=e.files,a=0;a<n.length;++a)new r(n[a].start,n[a].end,n[a].audio||0).open("GET",n[a].filename);function i(n){t(n,"Loading data file failed."),t(n.constructor.name===ArrayBuffer.name,"bad input to processPackageData");var o=new Uint8Array(n);r.prototype.byteArray=o;for(var s=e.files,a=0;a<s.length;++a)r.prototype.requests[s[a].filename].onload();u.removeRunDependency("datafile_cesdk.data")}u.addRunDependency("datafile_cesdk.data"),u.preloadResults||(u.preloadResults={}),u.preloadResults["cesdk.data"]={fromCache:!1},s?(i(s),s=null):o=i}s||function(e,t,r,n){if("object"!=typeof process||"object"!=typeof process.versions||"string"!=typeof process.versions.node){var o=new XMLHttpRequest;o.open("GET",e,!0),o.responseType="arraybuffer",o.onprogress=function(r){var n=e,s=t;if(r.total&&(s=r.total),r.loaded){o.addedTotal?u.dataFileDownloads[n].loaded=r.loaded:(o.addedTotal=!0,u.dataFileDownloads||(u.dataFileDownloads={}),u.dataFileDownloads[n]={loaded:r.loaded,total:s});var a=0,i=0,c=0;for(var l in u.dataFileDownloads){var d=u.dataFileDownloads[l];a+=d.total,i+=d.loaded,c++}a=Math.ceil(a*u.expectedDataFileDownloads/c),u.setStatus&&u.setStatus(`Downloading data... (${i}/${a})`)}else u.dataFileDownloads||u.setStatus&&u.setStatus("Downloading data...")},o.onerror=function(t){throw new Error("NetworkError for: "+e)},o.onload=function(e){if(!(200==o.status||304==o.status||206==o.status||0==o.status&&o.response))throw new Error(o.statusText+" : "+o.responseURL);var t=o.response;r(t)},o.send(null)}else require("fs").readFile(e,(function(e,t){e?n(e):r(t.buffer)}))}(r,n,(function(e){o?(o(e),o=null):s=e}),(function(e){console.error("package error:",e)})),u.calledRun?a():(u.preRun||(u.preRun=[]),u.preRun.push(a))}({files:[{filename:"/ly.img.cesdk/fonts/imgly_font_inter_semibold.otf",start:0,end:270760},{filename:"/ly.img.cesdk/icons/ErrorAudio.svg",start:270760,end:271672},{filename:"/ly.img.cesdk/icons/ErrorConnection.svg",start:271672,end:272620},{filename:"/ly.img.cesdk/icons/ErrorVideo.svg",start:272620,end:273473},{filename:"/ly.img.cesdk/icons/Move.svg",start:273473,end:274748},{filename:"/ly.img.cesdk/icons/RotateIndicator.svg",start:274748,end:275745},{filename:"/ly.img.cesdk/icu/icudt74l.dat",start:275745,end:810849},{filename:"/ly.img.cesdk/presets/.keep",start:810849,end:810849},{filename:"/ly.img.cesdk/shaders/adjustments.sksl",start:810849,end:814738},{filename:"/ly.img.cesdk/shaders/black_and_white_color_mixer.sksl",start:814738,end:821055},{filename:"/ly.img.cesdk/shaders/common/ubq_adjustments.sksl",start:821055,end:825646},{filename:"/ly.img.cesdk/shaders/common/ubq_color_conversions.sksl",start:825646,end:835631},{filename:"/ly.img.cesdk/shaders/common/ubq_constants.sksl",start:835631,end:836121},{filename:"/ly.img.cesdk/shaders/common/ubq_hue_constants.sksl",start:836121,end:839288},{filename:"/ly.img.cesdk/shaders/common/ubq_noise.sksl",start:839288,end:841926},{filename:"/ly.img.cesdk/shaders/cross_cut.sksl",start:841926,end:842873},{filename:"/ly.img.cesdk/shaders/dot_pattern.sksl",start:842873,end:843388},{filename:"/ly.img.cesdk/shaders/duotone_filter.sksl",start:843388,end:844352},{filename:"/ly.img.cesdk/shaders/extrude_blur.sksl",start:844352,end:846469},{filename:"/ly.img.cesdk/shaders/glow.sksl",start:846469,end:847436},{filename:"/ly.img.cesdk/shaders/half_tone.sksl",start:847436,end:847930},{filename:"/ly.img.cesdk/shaders/hsp_selective_adjustments.sksl",start:847930,end:861530},{filename:"/ly.img.cesdk/shaders/linocut.sksl",start:861530,end:862315},{filename:"/ly.img.cesdk/shaders/liquid.sksl",start:862315,end:862797},{filename:"/ly.img.cesdk/shaders/lut_filter.sksl",start:862797,end:865660},{filename:"/ly.img.cesdk/shaders/mask_color.sksl",start:865660,end:866165},{filename:"/ly.img.cesdk/shaders/mirror.sksl",start:866165,end:866619},{filename:"/ly.img.cesdk/shaders/outliner.sksl",start:866619,end:868256},{filename:"/ly.img.cesdk/shaders/pixelize.sksl",start:868256,end:868556},{filename:"/ly.img.cesdk/shaders/placeholder_overlay_lines.sksl",start:868556,end:869244},{filename:"/ly.img.cesdk/shaders/posterize.sksl",start:869244,end:869456},{filename:"/ly.img.cesdk/shaders/radial_pixel.sksl",start:869456,end:870019},{filename:"/ly.img.cesdk/shaders/sharpie.sksl",start:870019,end:872324},{filename:"/ly.img.cesdk/shaders/shifter.sksl",start:872324,end:873008},{filename:"/ly.img.cesdk/shaders/tiltshift.sksl",start:873008,end:873590},{filename:"/ly.img.cesdk/shaders/tv_glitch.sksl",start:873590,end:874308},{filename:"/ly.img.cesdk/shaders/vignette.sksl",start:874308,end:874680}],remote_package_size:874680}),"object"==typeof window&&"object"==typeof window.performance?u.performance=performance:"object"==typeof global&&"object"==typeof global.perf_hooks&&"object"==typeof global.perf_hooks.performance?u.performance=global.perf_hooks.performance:u.performance={mark:function(){},measure:function(){}},(s=o||(o={}))[s.PENDING=0]="PENDING",s[s.FINISHED=1]="FINISHED",s[s.ALLOCATED=2]="ALLOCATED",s[s.ERROR=3]="ERROR",(i=a||(a={}))[i.GET=0]="GET",i[i.POST=1]="POST";class FetchProcess{constructor(e,t){this.state=o.PENDING,this.totalBytes=0,this.receivedLength=0,this.handle=e,this.uri=t,this.abortController=new AbortController,this.abortSignal=this.abortController.signal}async readChunks(e){let t=0;const r=[],n=e=>{r.push(e),t+=e.length,this.receivedLength=t};if(null==e);else if("getReader"in e){const t=e.getReader();for(;;){const{done:e,value:r}=await t.read();if(e)break;if(this.abortSignal.aborted)throw await t.cancel(),t.releaseLock(),new Error(this.abortSignal.reason);n(r)}t.releaseLock()}else{const t=()=>e.destroy(new Error(this.abortSignal.reason));this.abortSignal.addEventListener("abort",t,{once:!0});try{await new Promise(((t,r)=>{e.on("data",n),e.on("end",(()=>t())),e.on("error",(e=>r(e)))}))}finally{this.abortSignal.removeEventListener("abort",t)}}const o=new Uint8Array(t);let s=0;for(const e of r)o.set(e,s),s+=e.length;return this.finish(o)}abort(){this.isPending()&&this.abortController.abort("Fetch aborted")}isPending(){return this.state===o.PENDING}isError(){return this.state===o.ERROR}isFinished(){return this.state===o.FINISHED}isAllocated(){return this.state===o.ALLOCATED}allocate(){if(this.isAllocated())return this;if(this.isFinished()){const e=this.result.length,t=u._malloc(e);u.HEAPU8.set(this.result,t);const r=Object.assign(Object.assign({},this),{state:o.ALLOCATED,resultAddress:t,resultLength:e});return Object.assign(this,r),r}return null}finish(e){const t=Object.assign(Object.assign({},this),{state:o.FINISHED,result:e,totalBytes:e.length});return Object.assign(this,t)}fail(e){const t=Object.assign(Object.assign({},this),{state:o.ERROR,error:e});return Object.assign(this,t)}}u.emscripten_ubq_asyncFetchManager=new class AsyncFetchManager{constructor(){this._nextHandle=0,this._nextHeaderHandle=0,this._processes=new Map,this._headers=new Map,this._fetchImpl=null}_fetch(e,t){return this._fetchImpl?this._fetchImpl(e,t):fetch(e,t)}setFetch(e){this._fetchImpl=e}getProcess(e){return this._processes.get(e)}deleteProcess(e){const t=this._processes.get(e);return(null==t?void 0:t.isPending())&&t.abort(),this._processes.delete(e)}clear(){for(const e of this._processes.values())e.isPending()&&e.abort();this._processes.clear(),this._headers.clear()}fetch(e,t,r,n,o,s,a,i,c){const l=u.UTF8ToString(t,r),d=this._nextHandle++,p=new FetchProcess(d,l);return this._processes.set(d,p),l.match(/^file:/)?this._fetchFile(p).catch((e=>{p.fail(e)})):this._fetchRemote(p,e,n,o,s,a,i,c).catch((e=>{p.fail(e)})),p}async _fetchFile(e){if("undefined"!=typeof window)throw new Error("File URLs supported only in Node.JS");const t=require("fs"),{fileURLToPath:r}=require("url"),n=t.createReadStream(r(e.uri));return e.readChunks(n)}async _fetchRemote(e,t,r,n,o,s,i,c){const l=u.UTF8ToString(i,c),d=this.getHeaders(r,n),p=t===a.POST?new Uint8Array(u.HEAPU8.buffer,o,s):void 0,f=await this._fetch(e.uri,{method:a[t],headers:d,body:p,mode:"cors",credentials:l,signal:e.abortSignal});if(f.status>=200&&f.status<=209){let t=0;return f.headers.has("Content-Length")&&(t=+f.headers.get("Content-Length")),e.totalBytes=t,e.readChunks(f.body)}return e.fail(f.statusText)}getHeaders(e,t){const r={};for(let n=0;n<t;n++){const t=u.getValue(e+4*n,"i32"),o=this._headers.get(t);r[o.key]=o.value}return r}createHeader(e,t,r,n){const o=u.UTF8ToString(e,t),s=u.UTF8ToString(r,n),a=this._nextHeaderHandle++;return this._headers.set(a,{key:o,value:s}),a}deleteHeader(e){return this._headers.delete(e)}},u.emscripten_ubq_codec_videoDecoders=new Map,u.emscripten_ubq_codec_audioDecoders=new Map,u.emscripten_ubq_codec_videoEncoders=new Map,u.emscripten_ubq_codec_audioEncoders=new Map,u.emscripten_ubq_codec_videoDecoderNextHandle=1,u.emscripten_ubq_codec_audioDecoderNextHandle=1,u.emscripten_ubq_codec_videoEncoderNextHandle=1,u.emscripten_ubq_codec_audioEncoderNextHandle=1,u.emscripten_ubq_codec_createNativeResult=function(e){const t=u._malloc(8),r=u.HEAPU32.subarray(t/4,t/4+2);if(r[0]=e.handle?e.handle:e.code?e.code:0,e.error){const t=(new TextEncoder).encode(e.error),n=u._malloc(t.length+1),o=u.HEAPU8.subarray(n,n+t.length+1);for(let e=0;e<t.length;e++)o[e]=t[e];o[t.length]=0,r[1]=n}else r[1]=0;return t},u.emscripten_ubq_codec_createVideoDecoder=function(e,t){const r=new VideoDecoder({output:n=>{const o=r.textures;let s=!1;if((r.shouldDropFrames||r.decodedFrames<r.requestedFrame||r.decodeQueueSize>=o.length)&&(s=!0),!s){var a=u.ctx;const e=r.decodedFrames%o.length;a.bindTexture(a.TEXTURE_2D,o[e]),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,n)}n.close(),r.decodedFrames++,u.emscripten_ubq_codec_onOutputDecodedVideoFrame(e,r.decodedFrames,s,t)},error:e=>{r.unexpectedError=e,console.error(e)}});return r.decodedFrames=0,r.requestedFrame=0,r.shouldDropFrames=!1,r},u.emscripten_ubq_codec_createAudioDecoder=function(e,t,r){const n=new AudioDecoder({output:o=>{if(n.flushing)return void o.close();const s=u.HEAPF32.subarray(e/4,e/4+r),a=u.HEAPF32.subarray(t/4,t/4+r),i=1===o.numberOfChannels?0:1;if("f32-planar"===o.format){let e=n.writtenFrames%r;if(e+o.numberOfFrames<=r)o.copyTo(s.subarray(e),{planeIndex:0,frameCount:o.numberOfFrames}),o.copyTo(a.subarray(e),{planeIndex:i,frameCount:o.numberOfFrames});else{const t=r-e;o.copyTo(s.subarray(e),{planeIndex:0,frameCount:t}),o.copyTo(a.subarray(e),{planeIndex:i,frameCount:t}),o.copyTo(s,{planeIndex:0,frameOffset:t}),o.copyTo(a,{planeIndex:i,frameOffset:t})}n.writtenFrames+=o.numberOfFrames}else if("s16-planar"===o.format)if(1===o.numberOfChannels){const e=new Int16Array(o.numberOfFrames);o.copyTo(e,{planeIndex:0});for(let t=0;t<o.numberOfFrames;t++){const o=e[t]/32768;let i=n.writtenFrames%r;s[i]=o,a[i]=o,n.writtenFrames++}}else{const e=new Int16Array(o.numberOfFrames),t=new Int16Array(o.numberOfFrames);o.copyTo(e,{planeIndex:0}),o.copyTo(t,{planeIndex:1});for(let i=0;i<o.numberOfFrames;i++){let o=n.writtenFrames%r;s[o]=e[i]/32768,a[o]=t[i]/32768,n.writtenFrames++}}else if("s16"===o.format){const e=new Int16Array(o.numberOfFrames*o.numberOfChannels);if(o.copyTo(e,{planeIndex:0}),1===o.numberOfChannels)for(let t=0;t<o.numberOfFrames;t++){const o=e[t]/32768;let i=n.writtenFrames%r;s[i]=o,a[i]=o,n.writtenFrames++}else for(let t=0;t<o.numberOfFrames;t++){let i=n.writtenFrames%r;s[i]=e[t*o.numberOfChannels+0]/32768,a[i]=e[t*o.numberOfChannels+1]/32768,n.writtenFrames++}}else console.error("Unsupported audio format:",o.format);o.close()},error:e=>{n.unexpectedError=e,console.error(e)}});return n.writtenFrames=0,n},u.emscripten_ubq_settings_forceWebGL1=!1;var c,l,d,p=Object.assign({},u),f="./this.program",g=(e,t)=>{throw t},m="object"==typeof window,h="function"==typeof importScripts,b="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,y="";if(b){var v=require("fs"),_=require("path");y=h?_.dirname(y)+"/":__dirname+"/",c=(e,t)=>(e=oe(e)?new URL(e):_.normalize(e),v.readFileSync(e,t?void 0:"utf8")),d=e=>{var t=c(e,!0);return t.buffer||(t=new Uint8Array(t)),t},l=(e,t,r,n=!0)=>{e=oe(e)?new URL(e):_.normalize(e),v.readFile(e,n?void 0:"utf8",((e,o)=>{e?r(e):t(n?o.buffer:o)}))},!u.thisProgram&&process.argv.length>1&&(f=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),g=(e,t)=>{throw process.exitCode=e,t},u.inspect=()=>"[Emscripten Module object]"}else(m||h)&&(h?y=self.location.href:"undefined"!=typeof document&&document.currentScript&&(y=document.currentScript.src),r&&(y=r),y=0!==y.indexOf("blob:")?y.substr(0,y.replace(/[?#].*/,"").lastIndexOf("/")+1):"",c=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},h&&(d=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),l=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)});var k,w=u.print||console.log.bind(console),C=u.printErr||console.error.bind(console);Object.assign(u,p),p=null,u.arguments&&u.arguments,u.thisProgram&&(f=u.thisProgram),u.quit&&(g=u.quit),u.wasmBinary&&(k=u.wasmBinary);var A,E,P=u.noExitRuntime||!0;"object"!=typeof WebAssembly&&J("no native wasm support detected");var S,R,x,B,I,T,q,F,D,L,M,O=!1;function U(e,t){e||J(t)}function V(){var e=A.buffer;u.HEAP8=R=new Int8Array(e),u.HEAP16=B=new Int16Array(e),u.HEAP32=T=new Int32Array(e),u.HEAPU8=x=new Uint8Array(e),u.HEAPU16=I=new Uint16Array(e),u.HEAPU32=q=new Uint32Array(e),u.HEAPF32=F=new Float32Array(e),u.HEAPF64=M=new Float64Array(e),u.HEAP64=D=new BigInt64Array(e),u.HEAPU64=L=new BigUint64Array(e)}var $,N=u.INITIAL_MEMORY||16777216;U(N>=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+N+"! (STACK_SIZE=65536)"),A=u.wasmMemory?u.wasmMemory:new WebAssembly.Memory({initial:N/65536,maximum:32768}),V(),N=A.buffer.byteLength;var H=[],j=[],W=[],G=[];function z(){return P||!1}var Y=0,X=null,Q=null;function K(e){Y++,u.monitorRunDependencies&&u.monitorRunDependencies(Y)}function Z(e){if(Y--,u.monitorRunDependencies&&u.monitorRunDependencies(Y),0==Y&&(null!==X&&(clearInterval(X),X=null),Q)){var t=Q;Q=null,t()}}function J(e){u.onAbort&&u.onAbort(e),C(e="Aborted("+e+")"),O=!0,S=1,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw n(t),t}var ee,te,re="data:application/octet-stream;base64,";function ne(e){return e.startsWith(re)}function oe(e){return e.startsWith("file://")}function se(e){if(e==ee&&k)return new Uint8Array(k);if(d)return d(e);throw"both async and sync fetching of the wasm failed"}function ae(e,t,r){return function(e){return k||!m&&!h||"function"!=typeof fetch?Promise.resolve().then((()=>se(e))):fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>se(e)))}(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{C("failed to asynchronously prepare wasm: "+e),J(e)}))}ne(ee="cesdk.wasm")||(te=ee,ee=u.locateFile?u.locateFile(te,y):y+te);var ie={2376440:(e,t,r,n,o)=>"undefined"==typeof window||void 0===(window.AudioContext||window.webkitAudioContext)?0:(void 0===window.miniaudio&&(window.miniaudio={referenceCount:0},window.miniaudio.device_type={},window.miniaudio.device_type.playback=e,window.miniaudio.device_type.capture=t,window.miniaudio.device_type.duplex=r,window.miniaudio.device_state={},window.miniaudio.device_state.stopped=n,window.miniaudio.device_state.started=o,miniaudio.devices=[],miniaudio.track_device=function(e){for(var t=0;t<miniaudio.devices.length;++t)if(null==miniaudio.devices[t])return miniaudio.devices[t]=e,t;return miniaudio.devices.push(e),miniaudio.devices.length-1},miniaudio.untrack_device_by_index=function(e){for(miniaudio.devices[e]=null;miniaudio.devices.length>0&&null==miniaudio.devices[miniaudio.devices.length-1];)miniaudio.devices.pop()},miniaudio.untrack_device=function(e){for(var t=0;t<miniaudio.devices.length;++t)if(miniaudio.devices[t]==e)return miniaudio.untrack_device_by_index(t)},miniaudio.get_device_by_index=function(e){return miniaudio.devices[e]},miniaudio.unlock_event_types=function(){return["touchstart","touchend","click"]}(),miniaudio.unlock=function(){for(var e=0;e<miniaudio.devices.length;++e){var t=miniaudio.devices[e];null!=t&&null!=t.webaudio&&2===t.state&&t.webaudio.resume()}miniaudio.unlock_event_types.map((function(e){document.removeEventListener(e,miniaudio.unlock,!0)}))},miniaudio.unlock_event_types.map((function(e){document.addEventListener(e,miniaudio.unlock,!0)}))),window.miniaudio.referenceCount+=1,1),2378430:()=>{void 0!==window.miniaudio&&(window.miniaudio.referenceCount-=1,0===window.miniaudio.referenceCount&&delete window.miniaudio)},2378594:()=>void 0!==navigator.mediaDevices&&void 0!==navigator.mediaDevices.getUserMedia,2378698:()=>{try{var e=new(window.AudioContext||window.webkitAudioContext),t=e.sampleRate;return e.close(),t}catch(e){return 0}},2378869:(e,t,r,n,o,s)=>{var a=e,i=t,c=r,l=n,d=o,p=s;if(void 0===window.miniaudio)return-1;var f={},g={};a==window.miniaudio.device_type.playback&&(g.sampleRate=c),f.webaudio=new(window.AudioContext||window.webkitAudioContext)(g),f.webaudio.suspend(),f.state=window.miniaudio.device_state.stopped;var m=0,h=i;return a!=window.miniaudio.device_type.playback&&(m=i),f.scriptNode=f.webaudio.createScriptProcessor(l,m,h),f.scriptNode.onaudioprocess=function(e){if(null!=f.intermediaryBufferView&&0!=f.intermediaryBufferView.length||(f.intermediaryBufferView=new Float32Array(u.HEAPF32.buffer,d,l*i)),a==miniaudio.device_type.capture||a==miniaudio.device_type.duplex){for(var t=0;t<i;t+=1)for(var r=e.inputBuffer.getChannelData(t),n=f.intermediaryBufferView,o=0;o<l;o+=1)n[o*i+t]=r[o];Xu(p,l,d)}if(a==miniaudio.device_type.playback||a==miniaudio.device_type.duplex)for(Qu(p,l,d),t=0;t<e.outputBuffer.numberOfChannels;++t){var s=e.outputBuffer.getChannelData(t);for(n=f.intermediaryBufferView,o=0;o<l;o+=1)s[o]=n[o*i+t]}else for(t=0;t<e.outputBuffer.numberOfChannels;++t)e.outputBuffer.getChannelData(t).fill(0)},a!=miniaudio.device_type.capture&&a!=miniaudio.device_type.duplex||navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then((function(e){f.streamNode=f.webaudio.createMediaStreamSource(e),f.streamNode.connect(f.scriptNode),f.scriptNode.connect(f.webaudio.destination)})).catch((function(e){console.log("Failed to get user media: "+e)})),a==miniaudio.device_type.playback&&f.scriptNode.connect(f.webaudio.destination),miniaudio.track_device(f)},2381652:e=>miniaudio.get_device_by_index(e).webaudio.sampleRate,2381718:e=>{var t=miniaudio.get_device_by_index(e);void 0!==t.scriptNode&&(t.scriptNode.onaudioprocess=function(e){},t.scriptNode.disconnect(),t.scriptNode=void 0),void 0!==t.streamNode&&(t.streamNode.disconnect(),t.streamNode=void 0),t.webaudio.close(),t.webaudio=void 0},2382083:e=>{miniaudio.untrack_device_by_index(e)},2382126:e=>{var t=miniaudio.get_device_by_index(e);t.webaudio.resume(),t.state=miniaudio.device_state.started},2382251:e=>{var t=miniaudio.get_device_by_index(e);t.webaudio.suspend(),t.state=miniaudio.device_state.stopped},2382377:()=>!!globalThis.ubq_browserTabHidden,2382423:()=>R.length};function ue(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var ce=e=>{for(;e.length>0;)e.shift()(u)},le=[],de=0;function pe(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){q[this.ptr+4>>2]=e},this.get_type=function(){return q[this.ptr+4>>2]},this.set_destructor=function(e){q[this.ptr+8>>2]=e},this.get_destructor=function(){return q[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,R[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=R[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,R[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=R[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){q[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return q[this.ptr+16>>2]},this.get_exception_ptr=function(){if(ic(this.get_type()))return q[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var fe=e=>{var t=de;if(!t)return Ku(0),0;var r=new pe(t);r.set_adjusted_ptr(t);var n=r.get_type();if(!n)return Ku(0),t;for(var o in e){var s=e[o];if(0===s||s===n)break;var a=r.ptr+16;if(ac(s,n,a))return Ku(s),t}return Ku(n),t},ge={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ge.isAbs(e),r="/"===e.substr(-1);return(e=ge.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ge.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ge.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ge.normalize(e.join("/"))},join2:(e,t)=>ge.normalize(e+"/"+t)},me=e=>(me=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(b)try{var e=require("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}J("initRandomDevice")})())(e),he={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:Re.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t=ge.isAbs(n)}return(t?"/":"")+(e=ge.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=he.resolve(e).substr(1),t=he.resolve(t).substr(1);for(var n=r(e.split("/")),o=r(t.split("/")),s=Math.min(n.length,o.length),a=s,i=0;i<s;i++)if(n[i]!==o[i]){a=i;break}var u=[];for(i=a;i<n.length;i++)u.push("..");return(u=u.concat(o.slice(a))).join("/")}},be="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,ye=(e,t,r)=>{for(var n=t+r,o=t;e[o]&&!(o>=n);)++o;if(o-t>16&&e.buffer&&be)return be.decode(e.subarray(t,o));for(var s="";t<o;){var a=e[t++];if(128&a){var i=63&e[t++];if(192!=(224&a)){var u=63&e[t++];if((a=224==(240&a)?(15&a)<<12|i<<6|u:(7&a)<<18|i<<12|u<<6|63&e[t++])<65536)s+=String.fromCharCode(a);else{var c=a-65536;s+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else s+=String.fromCharCode((31&a)<<6|i)}else s+=String.fromCharCode(a)}return s},ve=[],_e=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n<=127?t++:n<=2047?t+=2:n>=55296&&n<=57343?(t+=4,++r):t+=3}return t},ke=(e,t,r,n)=>{if(!(n>0))return 0;for(var o=r,s=r+n-1,a=0;a<e.length;++a){var i=e.charCodeAt(a);if(i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++a)),i<=127){if(r>=s)break;t[r++]=i}else if(i<=2047){if(r+1>=s)break;t[r++]=192|i>>6,t[r++]=128|63&i}else if(i<=65535){if(r+2>=s)break;t[r++]=224|i>>12,t[r++]=128|i>>6&63,t[r++]=128|63&i}else{if(r+3>=s)break;t[r++]=240|i>>18,t[r++]=128|i>>12&63,t[r++]=128|i>>6&63,t[r++]=128|63&i}}return t[r]=0,r-o};function we(e,t,r){var n=r>0?r:_e(e)+1,o=new Array(n),s=ke(e,o,0,o.length);return t&&(o.length=s),o}var Ce={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Ce.ttys[e]={input:[],output:[],ops:t},Re.registerDevice(e,Ce.stream_ops)},stream_ops:{open:function(e){var t=Ce.ttys[e.node.rdev];if(!t)throw new Re.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,r,n,o){if(!e.tty||!e.tty.ops.get_char)throw new Re.ErrnoError(60);for(var s=0,a=0;a<n;a++){var i;try{i=e.tty.ops.get_char(e.tty)}catch(e){throw new Re.ErrnoError(29)}if(void 0===i&&0===s)throw new Re.ErrnoError(6);if(null==i)break;s++,t[r+a]=i}return s&&(e.node.timestamp=Date.now()),s},write:function(e,t,r,n,o){if(!e.tty||!e.tty.ops.put_char)throw new Re.ErrnoError(60);try{for(var s=0;s<n;s++)e.tty.ops.put_char(e.tty,t[r+s])}catch(e){throw new Re.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),s}},default_tty_ops:{get_char:function(e){return(()=>{if(!ve.length){var e=null;if(b){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=v.readSync(n,t,0,256,-1)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;ve=we(e,!0)}return ve.shift()})()},put_char:function(e,t){null===t||10===t?(w(ye(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(w(ye(e.output,0)),e.output=[])},ioctl_tcgets:function(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets:function(e,t,r){return 0},ioctl_tiocgwinsz:function(e){return[24,80]}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(C(ye(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(C(ye(e.output,0)),e.output=[])}}},Ae=e=>{e=((e,t)=>Math.ceil(e/t)*t)(e,65536);var t=Ju(65536,e);return t?((e,t)=>(x.fill(0,e,e+t),e))(t,e):0},Ee={ops_table:null,mount:e=>Ee.createNode(null,"/",16895,0),createNode(e,t,r,n){if(Re.isBlkdev(r)||Re.isFIFO(r))throw new Re.ErrnoError(63);Ee.ops_table||(Ee.ops_table={dir:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr,lookup:Ee.node_ops.lookup,mknod:Ee.node_ops.mknod,rename:Ee.node_ops.rename,unlink:Ee.node_ops.unlink,rmdir:Ee.node_ops.rmdir,readdir:Ee.node_ops.readdir,symlink:Ee.node_ops.symlink},stream:{llseek:Ee.stream_ops.llseek}},file:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr},stream:{llseek:Ee.stream_ops.llseek,read:Ee.stream_ops.read,write:Ee.stream_ops.write,allocate:Ee.stream_ops.allocate,mmap:Ee.stream_ops.mmap,msync:Ee.stream_ops.msync}},link:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr,readlink:Ee.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr},stream:Re.chrdev_stream_ops}});var o=Re.createNode(e,t,r,n);return Re.isDir(o.mode)?(o.node_ops=Ee.ops_table.dir.node,o.stream_ops=Ee.ops_table.dir.stream,o.contents={}):Re.isFile(o.mode)?(o.node_ops=Ee.ops_table.file.node,o.stream_ops=Ee.ops_table.file.stream,o.usedBytes=0,o.contents=null):Re.isLink(o.mode)?(o.node_ops=Ee.ops_table.link.node,o.stream_ops=Ee.ops_table.link.stream):Re.isChrdev(o.mode)&&(o.node_ops=Ee.ops_table.chrdev.node,o.stream_ops=Ee.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[t]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=Re.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Re.isDir(e.mode)?t.size=4096:Re.isFile(e.mode)?t.size=e.usedBytes:Re.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&Ee.resizeFileStorage(e,t.size)},lookup(e,t){throw Re.genericErrors[44]},mknod:(e,t,r,n)=>Ee.createNode(e,t,r,n),rename(e,t,r){if(Re.isDir(e.mode)){var n;try{n=Re.lookupNode(t,r)}catch(e){}if(n)for(var o in n.contents)throw new Re.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=Re.lookupNode(e,t);for(var n in r.contents)throw new Re.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var n=Ee.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!Re.isLink(e.mode))throw new Re.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,o){var s=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,n);if(a>8&&s.subarray)t.set(s.subarray(o,o+a),r);else for(var i=0;i<a;i++)t[r+i]=s[o+i];return a},write(e,t,r,n,o,s){if(t.buffer===R.buffer&&(s=!1),!n)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(s)return a.contents=t.subarray(r,r+n),a.usedBytes=n,n;if(0===a.usedBytes&&0===o)return a.contents=t.slice(r,r+n),a.usedBytes=n,n;if(o+n<=a.usedBytes)return a.contents.set(t.subarray(r,r+n),o),n}if(Ee.expandFileStorage(a,o+n),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+n),o);else for(var i=0;i<n;i++)a.contents[o+i]=t[r+i];return a.usedBytes=Math.max(a.usedBytes,o+n),n},llseek(e,t,r){var n=t;if(1===r?n+=e.position:2===r&&Re.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new Re.ErrnoError(28);return n},allocate(e,t,r){Ee.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,n,o){if(!Re.isFile(e.node.mode))throw new Re.ErrnoError(43);var s,a,i=e.node.contents;if(2&o||i.buffer!==R.buffer){if((r>0||r+t<i.length)&&(i=i.subarray?i.subarray(r,r+t):Array.prototype.slice.call(i,r,r+t)),a=!0,!(s=Ae(t)))throw new Re.ErrnoError(48);R.set(i,s)}else a=!1,s=i.byteOffset;return{ptr:s,allocated:a}},msync:(e,t,r,n,o)=>(Ee.stream_ops.write(e,t,0,n,r,!1),0)}},Pe=u.preloadPlugins||[];function Se(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r}var Re={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(e,t={})=>{if(!(e=he.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new Re.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),n=Re.root,o="/",s=0;s<r.length;s++){var a=s===r.length-1;if(a&&t.parent)break;if(n=Re.lookupNode(n,r[s]),o=ge.join2(o,r[s]),Re.isMountpoint(n)&&(!a||a&&t.follow_mount)&&(n=n.mounted.root),!a||t.follow)for(var i=0;Re.isLink(n.mode);){var u=Re.readlink(o);if(o=he.resolve(ge.dirname(o),u),n=Re.lookupPath(o,{recurse_count:t.recurse_count+1}).node,i++>40)throw new Re.ErrnoError(32)}}return{path:o,node:n}},getPath:e=>{for(var t;;){if(Re.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName:(e,t)=>{for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%Re.nameTable.length},hashAddNode:e=>{var t=Re.hashName(e.parent.id,e.name);e.name_next=Re.nameTable[t],Re.nameTable[t]=e},hashRemoveNode:e=>{var t=Re.hashName(e.parent.id,e.name);if(Re.nameTable[t]===e)Re.nameTable[t]=e.name_next;else for(var r=Re.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:(e,t)=>{var r=Re.mayLookup(e);if(r)throw new Re.ErrnoError(r,e);for(var n=Re.hashName(e.id,t),o=Re.nameTable[n];o;o=o.name_next){var s=o.name;if(o.parent.id===e.id&&s===t)return o}return Re.lookup(e,t)},createNode:(e,t,r,n)=>{var o=new Re.FSNode(e,t,r,n);return Re.hashAddNode(o),o},destroyNode:e=>{Re.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Re.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>{var t=Re.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:(e,t)=>{try{return Re.lookupNode(e,t),20}catch(e){}return Re.nodePermissions(e,"wx")},mayDelete:(e,t,r)=>{var n;try{n=Re.lookupNode(e,t)}catch(e){return e.errno}var o=Re.nodePermissions(e,"wx");if(o)return o;if(r){if(!Re.isDir(n.mode))return 54;if(Re.isRoot(n)||Re.getPath(n)===Re.cwd())return 10}else if(Re.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?Re.isLink(e.mode)?32:Re.isDir(e.mode)&&("r"!==Re.flagsToPermissionString(t)||512&t)?31:Re.nodePermissions(e,Re.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:()=>{for(var e=0;e<=Re.MAX_OPEN_FDS;e++)if(!Re.streams[e])return e;throw new Re.ErrnoError(33)},getStreamChecked:e=>{var t=Re.getStream(e);if(!t)throw new Re.ErrnoError(8);return t},getStream:e=>Re.streams[e],createStream:(e,t=-1)=>(Re.FSStream||(Re.FSStream=function(){this.shared={}},Re.FSStream.prototype={},Object.defineProperties(Re.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Re.FSStream,e),-1==t&&(t=Re.nextfd()),e.fd=t,Re.streams[t]=e,e),closeStream:e=>{Re.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=Re.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new Re.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{Re.devices[e]={stream_ops:t}},getDevice:e=>Re.devices[e],getMounts:e=>{for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),Re.syncFSRequests++,Re.syncFSRequests>1&&C(`warning: ${Re.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=Re.getMounts(Re.root.mount),n=0;function o(e){return Re.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,o(e));++n>=r.length&&o(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount:(e,t,r)=>{var n,o="/"===r,s=!r;if(o&&Re.root)throw new Re.ErrnoError(10);if(!o&&!s){var a=Re.lookupPath(r,{follow_mount:!1});if(r=a.path,n=a.node,Re.isMountpoint(n))throw new Re.ErrnoError(10);if(!Re.isDir(n.mode))throw new Re.ErrnoError(54)}var i={type:e,opts:t,mountpoint:r,mounts:[]},u=e.mount(i);return u.mount=i,i.root=u,o?Re.root=u:n&&(n.mounted=i,n.mount&&n.mount.mounts.push(i)),u},unmount:e=>{var t=Re.lookupPath(e,{follow_mount:!1});if(!Re.isMountpoint(t.node))throw new Re.ErrnoError(28);var r=t.node,n=r.mounted,o=Re.getMounts(n);Object.keys(Re.nameTable).forEach((e=>{for(var t=Re.nameTable[e];t;){var r=t.name_next;o.includes(t.mount)&&Re.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(n);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,r)=>{var n=Re.lookupPath(e,{parent:!0}).node,o=ge.basename(e);if(!o||"."===o||".."===o)throw new Re.ErrnoError(28);var s=Re.mayCreate(n,o);if(s)throw new Re.ErrnoError(s);if(!n.node_ops.mknod)throw new Re.ErrnoError(63);return n.node_ops.mknod(n,o,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Re.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Re.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var r=e.split("/"),n="",o=0;o<r.length;++o)if(r[o]){n+="/"+r[o];try{Re.mkdir(n,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,Re.mknod(e,t,r)),symlink:(e,t)=>{if(!he.resolve(e))throw new Re.ErrnoError(44);var r=Re.lookupPath(t,{parent:!0}).node;if(!r)throw new Re.ErrnoError(44);var n=ge.basename(t),o=Re.mayCreate(r,n);if(o)throw new Re.ErrnoError(o);if(!r.node_ops.symlink)throw new Re.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename:(e,t)=>{var r,n,o=ge.dirname(e),s=ge.dirname(t),a=ge.basename(e),i=ge.basename(t);if(r=Re.lookupPath(e,{parent:!0}).node,n=Re.lookupPath(t,{parent:!0}).node,!r||!n)throw new Re.ErrnoError(44);if(r.mount!==n.mount)throw new Re.ErrnoError(75);var u,c=Re.lookupNode(r,a),l=he.relative(e,s);if("."!==l.charAt(0))throw new Re.ErrnoError(28);if("."!==(l=he.relative(t,o)).charAt(0))throw new Re.ErrnoError(55);try{u=Re.lookupNode(n,i)}catch(e){}if(c!==u){var d=Re.isDir(c.mode),p=Re.mayDelete(r,a,d);if(p)throw new Re.ErrnoError(p);if(p=u?Re.mayDelete(n,i,d):Re.mayCreate(n,i))throw new Re.ErrnoError(p);if(!r.node_ops.rename)throw new Re.ErrnoError(63);if(Re.isMountpoint(c)||u&&Re.isMountpoint(u))throw new Re.ErrnoError(10);if(n!==r&&(p=Re.nodePermissions(r,"w")))throw new Re.ErrnoError(p);Re.hashRemoveNode(c);try{r.node_ops.rename(c,n,i)}catch(e){throw e}finally{Re.hashAddNode(c)}}},rmdir:e=>{var t=Re.lookupPath(e,{parent:!0}).node,r=ge.basename(e),n=Re.lookupNode(t,r),o=Re.mayDelete(t,r,!0);if(o)throw new Re.ErrnoError(o);if(!t.node_ops.rmdir)throw new Re.ErrnoError(63);if(Re.isMountpoint(n))throw new Re.ErrnoError(10);t.node_ops.rmdir(t,r),Re.destroyNode(n)},readdir:e=>{var t=Re.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Re.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=Re.lookupPath(e,{parent:!0}).node;if(!t)throw new Re.ErrnoError(44);var r=ge.basename(e),n=Re.lookupNode(t,r),o=Re.mayDelete(t,r,!1);if(o)throw new Re.ErrnoError(o);if(!t.node_ops.unlink)throw new Re.ErrnoError(63);if(Re.isMountpoint(n))throw new Re.ErrnoError(10);t.node_ops.unlink(t,r),Re.destroyNode(n)},readlink:e=>{var t=Re.lookupPath(e).node;if(!t)throw new Re.ErrnoError(44);if(!t.node_ops.readlink)throw new Re.ErrnoError(28);return he.resolve(Re.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var r=Re.lookupPath(e,{follow:!t}).node;if(!r)throw new Re.ErrnoError(44);if(!r.node_ops.getattr)throw new Re.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Re.stat(e,!0),chmod:(e,t,r)=>{var n;if(!(n="string"==typeof e?Re.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new Re.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod:(e,t)=>{Re.chmod(e,t,!0)},fchmod:(e,t)=>{var r=Re.getStreamChecked(e);Re.chmod(r.node,t)},chown:(e,t,r,n)=>{var o;if(!(o="string"==typeof e?Re.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new Re.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,t,r)=>{Re.chown(e,t,r,!0)},fchown:(e,t,r)=>{var n=Re.getStreamChecked(e);Re.chown(n.node,t,r)},truncate:(e,t)=>{if(t<0)throw new Re.ErrnoError(28);var r;if(!(r="string"==typeof e?Re.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Re.ErrnoError(63);if(Re.isDir(r.mode))throw new Re.ErrnoError(31);if(!Re.isFile(r.mode))throw new Re.ErrnoError(28);var n=Re.nodePermissions(r,"w");if(n)throw new Re.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var r=Re.getStreamChecked(e);if(0==(2097155&r.flags))throw new Re.ErrnoError(28);Re.truncate(r.node,t)},utime:(e,t,r)=>{var n=Re.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open:(e,t,r)=>{if(""===e)throw new Re.ErrnoError(44);var n;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?function(e){var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t}(t):t)?4095&r|32768:0,"object"==typeof e)n=e;else{e=ge.normalize(e);try{n=Re.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var o=!1;if(64&t)if(n){if(128&t)throw new Re.ErrnoError(20)}else n=Re.mknod(e,r,0),o=!0;if(!n)throw new Re.ErrnoError(44);if(Re.isChrdev(n.mode)&&(t&=-513),65536&t&&!Re.isDir(n.mode))throw new Re.ErrnoError(54);if(!o){var s=Re.mayOpen(n,t);if(s)throw new Re.ErrnoError(s)}512&t&&!o&&Re.truncate(n,0),t&=-131713;var a=Re.createStream({node:n,path:Re.getPath(n),flags:t,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!u.logReadFiles||1&t||(Re.readFiles||(Re.readFiles={}),e in Re.readFiles||(Re.readFiles[e]=1)),a},close:e=>{if(Re.isClosed(e))throw new Re.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Re.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,r)=>{if(Re.isClosed(e))throw new Re.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Re.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Re.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read:(e,t,r,n,o)=>{if(n<0||o<0)throw new Re.ErrnoError(28);if(Re.isClosed(e))throw new Re.ErrnoError(8);if(1==(2097155&e.flags))throw new Re.ErrnoError(8);if(Re.isDir(e.node.mode))throw new Re.ErrnoError(31);if(!e.stream_ops.read)throw new Re.ErrnoError(28);var s=void 0!==o;if(s){if(!e.seekable)throw new Re.ErrnoError(70)}else o=e.position;var a=e.stream_ops.read(e,t,r,n,o);return s||(e.position+=a),a},write:(e,t,r,n,o,s)=>{if(n<0||o<0)throw new Re.ErrnoError(28);if(Re.isClosed(e))throw new Re.ErrnoError(8);if(0==(2097155&e.flags))throw new Re.ErrnoError(8);if(Re.isDir(e.node.mode))throw new Re.ErrnoError(31);if(!e.stream_ops.write)throw new Re.ErrnoError(28);e.seekable&&1024&e.flags&&Re.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new Re.ErrnoError(70)}else o=e.position;var i=e.stream_ops.write(e,t,r,n,o,s);return a||(e.position+=i),i},allocate:(e,t,r)=>{if(Re.isClosed(e))throw new Re.ErrnoError(8);if(t<0||r<=0)throw new Re.ErrnoError(28);if(0==(2097155&e.flags))throw new Re.ErrnoError(8);if(!Re.isFile(e.node.mode)&&!Re.isDir(e.node.mode))throw new Re.ErrnoError(43);if(!e.stream_ops.allocate)throw new Re.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap:(e,t,r,n,o)=>{if(0!=(2&n)&&0==(2&o)&&2!=(2097155&e.flags))throw new Re.ErrnoError(2);if(1==(2097155&e.flags))throw new Re.ErrnoError(2);if(!e.stream_ops.mmap)throw new Re.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,o)},msync:(e,t,r,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,o):0,munmap:e=>0,ioctl:(e,t,r)=>{if(!e.stream_ops.ioctl)throw new Re.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile:(e,t={})=>{if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,n=Re.open(e,t.flags),o=Re.stat(e).size,s=new Uint8Array(o);return Re.read(n,s,0,o,0),"utf8"===t.encoding?r=ye(s,0):"binary"===t.encoding&&(r=s),Re.close(n),r},writeFile:(e,t,r={})=>{r.flags=r.flags||577;var n=Re.open(e,r.flags,r.mode);if("string"==typeof t){var o=new Uint8Array(_e(t)+1),s=ke(t,o,0,o.length);Re.write(n,o,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Re.write(n,t,0,t.byteLength,void 0,r.canOwn)}Re.close(n)},cwd:()=>Re.currentPath,chdir:e=>{var t=Re.lookupPath(e,{follow:!0});if(null===t.node)throw new Re.ErrnoError(44);if(!Re.isDir(t.node.mode))throw new Re.ErrnoError(54);var r=Re.nodePermissions(t.node,"x");if(r)throw new Re.ErrnoError(r);Re.currentPath=t.path},createDefaultDirectories:()=>{Re.mkdir("/tmp"),Re.mkdir("/home"),Re.mkdir("/home/web_user")},createDefaultDevices:()=>{Re.mkdir("/dev"),Re.registerDevice(Re.makedev(1,3),{read:()=>0,write:(e,t,r,n,o)=>n}),Re.mkdev("/dev/null",Re.makedev(1,3)),Ce.register(Re.makedev(5,0),Ce.default_tty_ops),Ce.register(Re.makedev(6,0),Ce.default_tty1_ops),Re.mkdev("/dev/tty",Re.makedev(5,0)),Re.mkdev("/dev/tty1",Re.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=me(e).byteLength),e[--t]);Re.createDevice("/dev","random",r),Re.createDevice("/dev","urandom",r),Re.mkdir("/dev/shm"),Re.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{Re.mkdir("/proc");var e=Re.mkdir("/proc/self");Re.mkdir("/proc/self/fd"),Re.mount({mount:()=>{var t=Re.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var r=+t,n=Re.getStreamChecked(r),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{u.stdin?Re.createDevice("/dev","stdin",u.stdin):Re.symlink("/dev/tty","/dev/stdin"),u.stdout?Re.createDevice("/dev","stdout",null,u.stdout):Re.symlink("/dev/tty","/dev/stdout"),u.stderr?Re.createDevice("/dev","stderr",null,u.stderr):Re.symlink("/dev/tty1","/dev/stderr"),Re.open("/dev/stdin",0),Re.open("/dev/stdout",1),Re.open("/dev/stderr",1)},ensureErrnoError:()=>{Re.ErrnoError||(Re.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Re.ErrnoError.prototype=new Error,Re.ErrnoError.prototype.constructor=Re.ErrnoError,[44].forEach((e=>{Re.genericErrors[e]=new Re.ErrnoError(e),Re.genericErrors[e].stack="<generic error, no stack>"})))},staticInit:()=>{Re.ensureErrnoError(),Re.nameTable=new Array(4096),Re.mount(Ee,{},"/"),Re.createDefaultDirectories(),Re.createDefaultDevices(),Re.createSpecialDirectories(),Re.filesystems={MEMFS:Ee}},init:(e,t,r)=>{Re.init.initialized=!0,Re.ensureErrnoError(),u.stdin=e||u.stdin,u.stdout=t||u.stdout,u.stderr=r||u.stderr,Re.createStandardStreams()},quit:()=>{Re.init.initialized=!1;for(var e=0;e<Re.streams.length;e++){var t=Re.streams[e];t&&Re.close(t)}},findObject:(e,t)=>{var r=Re.analyzePath(e,t);return r.exists?r.object:null},analyzePath:(e,t)=>{try{e=(n=Re.lookupPath(e,{follow:!t})).path}catch(e){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Re.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=ge.basename(e),n=Re.lookupPath(e,{follow:!t}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot="/"===n.path}catch(e){r.error=e.errno}return r},createPath:(e,t,r,n)=>{e="string"==typeof e?e:Re.getPath(e);for(var o=t.split("/").reverse();o.length;){var s=o.pop();if(s){var a=ge.join2(e,s);try{Re.mkdir(a)}catch(e){}e=a}}return a},createFile:(e,t,r,n,o)=>{var s=ge.join2("string"==typeof e?e:Re.getPath(e),t),a=Se(n,o);return Re.create(s,a)},createDataFile:(e,t,r,n,o,s)=>{var a=t;e&&(e="string"==typeof e?e:Re.getPath(e),a=t?ge.join2(e,t):e);var i=Se(n,o),u=Re.create(a,i);if(r){if("string"==typeof r){for(var c=new Array(r.length),l=0,d=r.length;l<d;++l)c[l]=r.charCodeAt(l);r=c}Re.chmod(u,146|i);var p=Re.open(u,577);Re.write(p,r,0,r.length,0,s),Re.close(p),Re.chmod(u,i)}return u},createDevice:(e,t,r,n)=>{var o=ge.join2("string"==typeof e?e:Re.getPath(e),t),s=Se(!!r,!!n);Re.createDevice.major||(Re.createDevice.major=64);var a=Re.makedev(Re.createDevice.major++,0);return Re.registerDevice(a,{open:e=>{e.seekable=!1},close:e=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(e,t,n,o,s)=>{for(var a=0,i=0;i<o;i++){var u;try{u=r()}catch(e){throw new Re.ErrnoError(29)}if(void 0===u&&0===a)throw new Re.ErrnoError(6);if(null==u)break;a++,t[n+i]=u}return a&&(e.node.timestamp=Date.now()),a},write:(e,t,r,o,s)=>{for(var a=0;a<o;a++)try{n(t[r+a])}catch(e){throw new Re.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),a}}),Re.mkdev(o,s,a)},forceLoadFile:e=>{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!c)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=we(c(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new Re.ErrnoError(29)}},createLazyFile:(e,t,r,n,o)=>{function s(){this.lengthKnown=!1,this.chunks=[]}if(s.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;o||(a=n);var i=this;i.setDataGetter((e=>{var t=e*a,o=(e+1)*a-1;if(o=Math.min(o,n-1),void 0===i.chunks[e]&&(i.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",r,!1),n!==a&&o.setRequestHeader("Range","bytes="+e+"-"+t),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+r+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):we(o.responseText||"",!0)})(t,o)),void 0===i.chunks[e])throw new Error("doXHR failed!");return i.chunks[e]})),!s&&n||(a=n=1,n=this.getter(0).length,a=n,w("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!h)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new s;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:a}}else i={isDevice:!1,url:r};var u=Re.createFile(e,t,i,n,o);i.contents?u.contents=i.contents:i.url&&(u.contents=null,u.url=i.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var c={};function l(e,t,r,n,o){var s=e.node.contents;if(o>=s.length)return 0;var a=Math.min(s.length-o,n);if(s.slice)for(var i=0;i<a;i++)t[r+i]=s[o+i];else for(i=0;i<a;i++)t[r+i]=s.get(o+i);return a}return Object.keys(u.stream_ops).forEach((e=>{var t=u.stream_ops[e];c[e]=function(){return Re.forceLoadFile(u),t.apply(null,arguments)}})),c.read=(e,t,r,n,o)=>(Re.forceLoadFile(u),l(e,t,r,n,o)),c.mmap=(e,t,r,n,o)=>{Re.forceLoadFile(u);var s=Ae(t);if(!s)throw new Re.ErrnoError(48);return l(e,R,s,t,r),{ptr:s,allocated:!0}},u.stream_ops=c,u}},xe=(e,t)=>e?ye(x,e,t):"",Be={DEFAULT_POLLMASK:5,calculateAt:function(e,t,r){if(ge.isAbs(t))return t;var n;if(n=-100===e?Re.cwd():Be.getStreamFromFD(e).path,0==t.length){if(!r)throw new Re.ErrnoError(44);return n}return ge.join2(n,t)},doStat:function(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&ge.normalize(t)!==ge.normalize(Re.getPath(e.node)))return-54;throw e}T[r>>2]=n.dev,T[r+4>>2]=n.mode,q[r+8>>2]=n.nlink,T[r+12>>2]=n.uid,T[r+16>>2]=n.gid,T[r+20>>2]=n.rdev,D[r+24>>3]=BigInt(n.size),T[r+32>>2]=4096,T[r+36>>2]=n.blocks;var o=n.atime.getTime(),s=n.mtime.getTime(),a=n.ctime.getTime();return D[r+40>>3]=BigInt(Math.floor(o/1e3)),q[r+48>>2]=o%1e3*1e3,D[r+56>>3]=BigInt(Math.floor(s/1e3)),q[r+64>>2]=s%1e3*1e3,D[r+72>>3]=BigInt(Math.floor(a/1e3)),q[r+80>>2]=a%1e3*1e3,D[r+88>>3]=BigInt(n.ino),0},doMsync:function(e,t,r,n,o){if(!Re.isFile(t.node.mode))throw new Re.ErrnoError(43);if(2&n)return 0;var s=x.slice(e,e+r);Re.msync(t,s,o,r,n)},varargs:void 0,get:()=>(Be.varargs+=4,T[Be.varargs-4>>2]),getStr:e=>xe(e),getStreamFromFD:function(e){return Re.getStreamChecked(e)}},Ie={};function Te(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function qe(e){return this.fromWireType(T[e>>2])}var Fe={},De={},Le={},Me=void 0;function Oe(e){throw new Me(e)}function Ue(e,t,r){function n(t){var n=r(t);n.length!==e.length&&Oe("Mismatched type converter count");for(var o=0;o<e.length;++o)Ge(e[o],n[o])}e.forEach((function(e){Le[e]=t}));var o=new Array(t.length),s=[],a=0;t.forEach(((e,t)=>{De.hasOwnProperty(e)?o[t]=De[e]:(s.push(e),Fe.hasOwnProperty(e)||(Fe[e]=[]),Fe[e].push((()=>{o[t]=De[e],++a===s.length&&n(o)})))})),0===s.length&&n(o)}var Ve={};function $e(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}var Ne=void 0;function He(e){for(var t="",r=e;x[r];)t+=Ne[x[r++]];return t}var je=void 0;function We(e){throw new je(e)}function Ge(e,t,r={}){if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t,r={}){var n=t.name;if(e||We(`type "${n}" must have a positive integer typeid pointer`),De.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;We(`Cannot register type '${n}' twice`)}if(De[e]=t,delete Le[e],Fe.hasOwnProperty(e)){var o=Fe[e];delete Fe[e],o.forEach((e=>e()))}}(e,t,r)}function ze(e,t,r){switch(t){case 0:return r?function(e){return R[e]}:function(e){return x[e]};case 1:return r?function(e){return B[e>>1]}:function(e){return I[e>>1]};case 2:return r?function(e){return T[e>>2]}:function(e){return q[e>>2]};case 3:return r?function(e){return D[e>>3]}:function(e){return L[e>>3]};default:throw new TypeError("Unknown integer type: "+e)}}function Ye(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${e}`)}}function Xe(e){if(!(this instanceof bt))return!1;if(!(e instanceof bt))return!1;for(var t=this.$$.ptrType.registeredClass,r=this.$$.ptr,n=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return t===n&&r===o}function Qe(e){We(e.$$.ptrType.registeredClass.name+" instance already deleted")}var Ke=!1;function Ze(e){}function Je(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function et(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var n=et(e,t,r.baseClass);return null===n?null:r.downcast(n)}var tt={};function rt(){return Object.keys(ut).length}function nt(){var e=[];for(var t in ut)ut.hasOwnProperty(t)&&e.push(ut[t]);return e}var ot=[];function st(){for(;ot.length;){var e=ot.pop();e.$$.deleteScheduled=!1,e.delete()}}var at=void 0;function it(e){at=e,ot.length&&at&&at(st)}var ut={};function ct(e,t){return t=function(e,t){for(void 0===t&&We("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),ut[t]}function lt(e,t){return t.ptrType&&t.ptr||Oe("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Oe("Both smartPtrType and smartPtr must be specified"),t.count={value:1},pt(Object.create(e,{$$:{value:t}}))}function dt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ct(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?lt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):lt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,a=this.registeredClass.getActualType(t),i=tt[a];if(!i)return o.call(this);s=this.isConst?i.constPointerType:i.pointerType;var u=et(t,this.registeredClass,s.registeredClass);return null===u?o.call(this):this.isSmartPointer?lt(s.registeredClass.instancePrototype,{ptrType:s,ptr:u,smartPtrType:this,smartPtr:e}):lt(s.registeredClass.instancePrototype,{ptrType:s,ptr:u})}var pt=function(e){return"undefined"==typeof FinalizationRegistry?(pt=e=>e,e):(Ke=new FinalizationRegistry((e=>{Je(e.$$)})),Ze=e=>Ke.unregister(e),(pt=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};Ke.register(e,r,e)}return e})(e))};function ft(){if(this.$$.ptr||Qe(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=pt(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t}function gt(){this.$$.ptr||Qe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&We("Object already scheduled for deletion"),Ze(this),Je(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function mt(){return!this.$$.ptr}function ht(){return this.$$.ptr||Qe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&We("Object already scheduled for deletion"),ot.push(this),1===ot.length&&at&&at(st),this.$$.deleteScheduled=!0,this}function bt(){}var yt=48,vt=57;function _t(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=yt&&t<=vt?`_${e}`:e}function kt(e,t){return{[e=_t(e)]:function(){return t.apply(this,arguments)}}[e]}function wt(e,t,r){if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||We(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}}function Ct(e,t,r){u.hasOwnProperty(e)?((void 0===r||void 0!==u[e].overloadTable&&void 0!==u[e].overloadTable[r])&&We(`Cannot register public name '${e}' twice`),wt(u,e,e),u.hasOwnProperty(r)&&We(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),u[e].overloadTable[r]=t):(u[e]=t,void 0!==r&&(u[e].numArguments=r))}function At(e,t,r,n,o,s,a,i){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=o,this.getActualType=s,this.upcast=a,this.downcast=i,this.pureVirtualFunctions=[]}function Et(e,t,r){for(;t!==r;)t.upcast||We(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e}function Pt(e,t){if(null===t)return this.isReference&&We(`null is not a valid ${this.name}`),0;t.$$||We(`Cannot pass "${$e(t)}" as a ${this.name}`),t.$$.ptr||We(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Et(t.$$.ptr,r,this.registeredClass)}function St(e,t){var r;if(null===t)return this.isReference&&We(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||We(`Cannot pass "${$e(t)}" as a ${this.name}`),t.$$.ptr||We(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&We(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(r=Et(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&We("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:We(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var o=t.clone();r=this.rawShare(r,zt.toHandle((function(){o.delete()}))),null!==e&&e.push(this.rawDestructor,r)}break;default:We("Unsupporting sharing policy")}return r}function Rt(e,t){if(null===t)return this.isReference&&We(`null is not a valid ${this.name}`),0;t.$$||We(`Cannot pass "${$e(t)}" as a ${this.name}`),t.$$.ptr||We(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&We(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Et(t.$$.ptr,r,this.registeredClass)}function xt(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function Bt(e){this.rawDestructor&&this.rawDestructor(e)}function It(e){null!==e&&e.delete()}function Tt(e,t,r,n,o,s,a,i,u,c,l){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=o,this.pointeeType=s,this.sharingPolicy=a,this.rawGetPointee=i,this.rawConstructor=u,this.rawShare=c,this.rawDestructor=l,o||void 0!==t.baseClass?this.toWireType=St:n?(this.toWireType=Pt,this.destructorFunction=null):(this.toWireType=Rt,this.destructorFunction=null)}function qt(e,t,r){u.hasOwnProperty(e)||Oe("Replacing nonexistant public symbol"),void 0!==u[e].overloadTable&&void 0!==r?u[e].overloadTable[r]=t:(u[e]=t,u[e].argCount=r)}var Ft=[],Dt=e=>{var t=Ft[e];return t||(e>=Ft.length&&(Ft.length=e+1),Ft[e]=t=$.get(e)),t};function Lt(e,t){e=He(e);var r=Dt(t);return"function"!=typeof r&&We(`unknown function pointer with signature ${e}: ${t}`),r}var Mt=void 0;function Ot(e){var t=Zu(e),r=He(t);return zu(t),r}function Ut(e,t){var r=[],n={};throw t.forEach((function e(t){n[t]||De[t]||(Le[t]?Le[t].forEach(e):(r.push(t),n[t]=!0))})),new Mt(`${e}: `+r.map(Ot).join([", "]))}function Vt(e,t){for(var r=[],n=0;n<e;n++)r.push(q[t+4*n>>2]);return r}function $t(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=kt(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,o=e.apply(n,t);return o instanceof Object?o:n}function Nt(e,t,r,n,o,s){var a=t.length;a<2&&We("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var i=null!==t[1]&&null!==r,u=!1,c=1;c<t.length;++c)if(null!==t[c]&&void 0===t[c].destructorFunction){u=!0;break}var l="void"!==t[0].name,d="",p="";for(c=0;c<a-2;++c)d+=(0!==c?", ":"")+"arg"+c,p+=(0!==c?", ":"")+"arg"+c+"Wired";var f=`\n return function ${_t(e)}(${d}) {\n if (arguments.length !== ${a-2}) {\n throwBindingError('function ${e} called with ${arguments.length} arguments, expected ${a-2} args!');\n }`;u&&(f+="var destructors = [];\n");var g=u?"destructors":"null",m=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],h=[We,n,o,Te,t[0],t[1]];for(i&&(f+="var thisWired = classParam.toWireType("+g+", this);\n"),c=0;c<a-2;++c)f+="var arg"+c+"Wired = argType"+c+".toWireType("+g+", arg"+c+"); // "+t[c+2].name+"\n",m.push("argType"+c),h.push(t[c+2]);if(i&&(p="thisWired"+(p.length>0?", ":"")+p),f+=(l||s?"var rv = ":"")+"invoker(fn"+(p.length>0?", ":"")+p+");\n",u)f+="runDestructors(destructors);\n";else for(c=i?1:2;c<t.length;++c){var b=1===c?"thisWired":"arg"+(c-2)+"Wired";null!==t[c].destructorFunction&&(f+=b+"_dtor("+b+"); // "+t[c].name+"\n",m.push(b+"_dtor"),h.push(t[c].destructorFunction))}return l&&(f+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),f+="}\n",m.push(f),$t(Function,m).apply(null,h)}function Ht(){this.allocated=[void 0],this.freelist=[]}var jt=new Ht;function Wt(e){e>=jt.reserved&&0==--jt.get(e).refcount&&jt.free(e)}function Gt(){for(var e=0,t=jt.reserved;t<jt.allocated.length;++t)void 0!==jt.allocated[t]&&++e;return e}var zt={toValue:e=>(e||We("Cannot use deleted val. handle = "+e),jt.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return jt.allocate({refcount:1,value:e})}}};function Yt(e,t,r){switch(t){case 0:return function(e){var t=r?R:x;return this.fromWireType(t[e])};case 1:return function(e){var t=r?B:I;return this.fromWireType(t[e>>1])};case 2:return function(e){var t=r?T:q;return this.fromWireType(t[e>>2])};default:throw new TypeError("Unknown integer type: "+e)}}function Xt(e,t){var r=De[e];return void 0===r&&We(t+" has unknown type "+Ot(e)),r}function Qt(e,t){switch(t){case 2:return function(e){return this.fromWireType(F[e>>2])};case 3:return function(e){return this.fromWireType(M[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}var Kt=(e,t,r)=>ke(e,x,t,r),Zt="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Jt=(e,t)=>{for(var r=e,n=r>>1,o=n+t/2;!(n>=o)&&I[n];)++n;if((r=n<<1)-e>32&&Zt)return Zt.decode(x.subarray(e,r));for(var s="",a=0;!(a>=t/2);++a){var i=B[e+2*a>>1];if(0==i)break;s+=String.fromCharCode(i)}return s},er=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,o=(r-=2)<2*e.length?r/2:e.length,s=0;s<o;++s){var a=e.charCodeAt(s);B[t>>1]=a,t+=2}return B[t>>1]=0,t-n},tr=e=>2*e.length,rr=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var o=T[e+4*r>>2];if(0==o)break;if(++r,o>=65536){var s=o-65536;n+=String.fromCharCode(55296|s>>10,56320|1023&s)}else n+=String.fromCharCode(o)}return n},nr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,o=n+r-4,s=0;s<e.length;++s){var a=e.charCodeAt(s);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s)),T[t>>2]=a,(t+=4)+4>o)break}return T[t>>2]=0,t-n},or=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n>=55296&&n<=57343&&++r,t+=4}return t};function sr(e,t){for(var r=new Array(e),n=0;n<e;++n)r[n]=Xt(q[t+4*n>>2],"parameter "+n);return r}var ar={};function ir(e){var t=ar[e];return void 0===t?He(e):t}var ur=[];function cr(){return"object"==typeof globalThis?globalThis:function(){return Function}()("return this")()}var lr=[],dr={},pr=9007199254740992,fr=-9007199254740992;function gr(e){return e<fr||e>pr?NaN:Number(e)}var mr,hr=e=>e%4==0&&(e%100!=0||e%400==0),br=[0,31,60,91,121,152,182,213,244,274,305,335],yr=[0,31,59,90,120,151,181,212,243,273,304,334],vr=e=>(hr(e.getFullYear())?br:yr)[e.getMonth()]+e.getDate()-1,_r=e=>{var t=_e(e)+1,r=Gu(t);return r&&Kt(e,r,t),r};function kr(e,t){if(Pr.mainLoop.timingMode=e,Pr.mainLoop.timingValue=t,!Pr.mainLoop.func)return 1;if(Pr.mainLoop.running||(Pr.mainLoop.running=!0),0==e)Pr.mainLoop.scheduler=function(){var e=0|Math.max(0,Pr.mainLoop.tickStartTime+t-mr());setTimeout(Pr.mainLoop.runner,e)},Pr.mainLoop.method="timeout";else if(1==e)Pr.mainLoop.scheduler=function(){Pr.requestAnimationFrame(Pr.mainLoop.runner)},Pr.mainLoop.method="rAF";else if(2==e){if("undefined"==typeof setImmediate){var r=[],n="setimmediate";addEventListener("message",(e=>{e.data!==n&&e.data.target!==n||(e.stopPropagation(),r.shift()())}),!0),setImmediate=function(e){r.push(e),h?(void 0===u.setImmediates&&(u.setImmediates=[]),u.setImmediates.push(e),postMessage({target:n})):postMessage(n,"*")}}Pr.mainLoop.scheduler=function(){setImmediate(Pr.mainLoop.runner)},Pr.mainLoop.method="immediate"}return 0}mr=()=>performance.now();var wr=e=>{if(e instanceof ue||"unwind"==e)return S;g(1,e)},Cr=(e,t)=>{var r;S=e,S=r=e,z()||(u.onExit&&u.onExit(r),O=!0),g(r,new ue(r))},Ar=e=>{if(!O)try{e(),(()=>{if(!z())try{Cr(S)}catch(e){wr(e)}})()}catch(e){wr(e)}},Er=(e,t)=>setTimeout((()=>{Ar(e)}),t),Pr={mainLoop:{running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Pr.mainLoop.scheduler=null,Pr.mainLoop.currentlyRunningMainloop++},resume:function(){Pr.mainLoop.currentlyRunningMainloop++;var e=Pr.mainLoop.timingMode,t=Pr.mainLoop.timingValue,r=Pr.mainLoop.func;Pr.mainLoop.func=null,function(e,t,r,n,o){U(!Pr.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Pr.mainLoop.func=e,Pr.mainLoop.arg=n;var s=Pr.mainLoop.currentlyRunningMainloop;function a(){return!(s<Pr.mainLoop.currentlyRunningMainloop)}if(Pr.mainLoop.running=!1,Pr.mainLoop.runner=function(){if(!O)if(Pr.mainLoop.queue.length>0){var t=Date.now(),r=Pr.mainLoop.queue.shift();if(r.func(r.arg),Pr.mainLoop.remainingBlockers){var n=Pr.mainLoop.remainingBlockers,o=n%1==0?n-1:Math.floor(n);r.counted?Pr.mainLoop.remainingBlockers=o:(o+=.5,Pr.mainLoop.remainingBlockers=(8*n+o)/9)}if(w('main loop blocker "'+r.name+'" took '+(Date.now()-t)+" ms"),Pr.mainLoop.updateStatus(),!a())return;setTimeout(Pr.mainLoop.runner,0)}else a()&&(Pr.mainLoop.currentFrameNumber=Pr.mainLoop.currentFrameNumber+1|0,1==Pr.mainLoop.timingMode&&Pr.mainLoop.timingValue>1&&Pr.mainLoop.currentFrameNumber%Pr.mainLoop.timingValue!=0?Pr.mainLoop.scheduler():(0==Pr.mainLoop.timingMode&&(Pr.mainLoop.tickStartTime=mr()),Pr.mainLoop.runIter(e),a()&&("object"==typeof SDL&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Pr.mainLoop.scheduler())))},o||(t&&t>0?kr(0,1e3/t):kr(1,1),Pr.mainLoop.scheduler()),r)throw"unwind"}(r,0,!1,Pr.mainLoop.arg,!0),kr(e,t),Pr.mainLoop.scheduler()},updateStatus:function(){if(u.setStatus){var e=u.statusMessage||"Please wait...",t=Pr.mainLoop.remainingBlockers,r=Pr.mainLoop.expectedBlockers;t?t<r?u.setStatus(e+" ("+(r-t)+"/"+r+")"):u.setStatus(e):u.setStatus("")}},runIter:function(e){if(!O){if(u.preMainLoop&&!1===u.preMainLoop())return;Ar(e),u.postMainLoop&&u.postMainLoop()}}},isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(!Pr.initted){Pr.initted=!0;var e={canHandle:function(e){return!u.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,t,r,n){var o=new Blob([e],{type:Pr.getMimetype(t)});o.size!==e.length&&(o=new Blob([new Uint8Array(e).buffer],{type:Pr.getMimetype(t)}));var s=URL.createObjectURL(o),a=new Image;a.onload=()=>{U(a.complete,"Image "+t+" could not be decoded");var n=document.createElement("canvas");n.width=a.width,n.height=a.height,n.getContext("2d").drawImage(a,0,0),Uu[t]=n,URL.revokeObjectURL(s),r&&r(e)},a.onerror=e=>{w("Image "+s+" could not be decoded"),n&&n()},a.src=s}};Pe.push(e);var t={canHandle:function(e){return!u.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,t,r,n){var o=!1;function s(n){o||(o=!0,Vu[t]=n,r&&r(e))}var a=new Blob([e],{type:Pr.getMimetype(t)}),i=URL.createObjectURL(a),u=new Audio;u.addEventListener("canplaythrough",(()=>s(u)),!1),u.onerror=function(r){o||(C("warning: browser could not fully decode audio "+t+", trying slower base64 approach"),u.src="data:audio/x-"+t.substr(-3)+";base64,"+function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",n=0,o=0,s=0;s<e.length;s++)for(n=n<<8|e[s],o+=8;o>=6;){var a=n>>o-6&63;o-=6,r+=t[a]}return 2==o?(r+=t[(3&n)<<4],r+="=="):4==o&&(r+=t[(15&n)<<2],r+="="),r}(e),s(u))},u.src=i,Er((()=>{s(u)}),1e4)}};Pe.push(t);var r=u.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||(()=>{}),r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||(()=>{}),r.exitPointerLock=r.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",n,!1),document.addEventListener("mozpointerlockchange",n,!1),document.addEventListener("webkitpointerlockchange",n,!1),document.addEventListener("mspointerlockchange",n,!1),u.elementPointerLock&&r.addEventListener("click",(e=>{!Pr.pointerLock&&u.canvas.requestPointerLock&&(u.canvas.requestPointerLock(),e.preventDefault())}),!1))}function n(){Pr.pointerLock=document.pointerLockElement===u.canvas||document.mozPointerLockElement===u.canvas||document.webkitPointerLockElement===u.canvas||document.msPointerLockElement===u.canvas}},createContext:function(e,t,r,n){if(t&&u.ctx&&e==u.canvas)return u.ctx;var o,s;if(t){var a={antialias:!1,alpha:!1,majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1};if(n)for(var i in n)a[i]=n[i];void 0!==Fr&&(s=Fr.createContext(e,a))&&(o=Fr.getContext(s).GLctx)}else o=e.getContext("2d");return o?(r&&(t||U(void 0===Ou,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),u.ctx=o,t&&Fr.makeContextCurrent(s),u.useWebGL=t,Pr.moduleContextCreatedCallbacks.forEach((e=>e())),Pr.init()),o):null},destroyContext:function(e,t,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(e,t){Pr.lockPointer=e,Pr.resizeCanvas=t,void 0===Pr.lockPointer&&(Pr.lockPointer=!0),void 0===Pr.resizeCanvas&&(Pr.resizeCanvas=!1);var r=u.canvas;function n(){Pr.isFullscreen=!1;var e=r.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(r.exitFullscreen=Pr.exitFullscreen,Pr.lockPointer&&r.requestPointerLock(),Pr.isFullscreen=!0,Pr.resizeCanvas?Pr.setFullscreenCanvasSize():Pr.updateCanvasDimensions(r)):(e.parentNode.insertBefore(r,e),e.parentNode.removeChild(e),Pr.resizeCanvas?Pr.setWindowedCanvasSize():Pr.updateCanvasDimensions(r)),u.onFullScreen&&u.onFullScreen(Pr.isFullscreen),u.onFullscreen&&u.onFullscreen(Pr.isFullscreen)}Pr.fullscreenHandlersInstalled||(Pr.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var o=document.createElement("div");r.parentNode.insertBefore(o,r),o.appendChild(r),o.requestFullscreen=o.requestFullscreen||o.mozRequestFullScreen||o.msRequestFullscreen||(o.webkitRequestFullscreen?()=>o.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(o.webkitRequestFullScreen?()=>o.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null),o.requestFullscreen()},exitFullscreen:function(){return!!Pr.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{})).apply(document,[]),!0)},nextRAF:0,fakeRequestAnimationFrame:function(e){var t=Date.now();if(0===Pr.nextRAF)Pr.nextRAF=t+1e3/60;else for(;t+2>=Pr.nextRAF;)Pr.nextRAF+=1e3/60;var r=Math.max(Pr.nextRAF-t,0);setTimeout(e,r)},requestAnimationFrame:function(e){"function"!=typeof requestAnimationFrame?(0,Pr.fakeRequestAnimationFrame)(e):requestAnimationFrame(e)},safeSetTimeout:function(e,t){return Er(e,t)},safeRequestAnimationFrame:function(e){return Pr.requestAnimationFrame((()=>{Ar(e)}))},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var t=0;switch(e.type){case"DOMMouseScroll":t=e.detail/3;break;case"mousewheel":t=e.wheelDelta/120;break;case"wheel":switch(t=e.deltaY,e.deltaMode){case 0:t/=100;break;case 1:t/=3;break;case 2:t*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return t},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Pr.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Pr.mouseMovementX=Pr.mouseMovementY=0:(Pr.mouseMovementX=Pr.getMovementX(e),Pr.mouseMovementY=Pr.getMovementY(e)),"undefined"!=typeof SDL?(Pr.mouseX=SDL.mouseX+Pr.mouseMovementX,Pr.mouseY=SDL.mouseY+Pr.mouseMovementY):(Pr.mouseX+=Pr.mouseMovementX,Pr.mouseY+=Pr.mouseMovementY);else{var t=u.canvas.getBoundingClientRect(),r=u.canvas.width,n=u.canvas.height,o=void 0!==window.scrollX?window.scrollX:window.pageXOffset,s=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var a=e.touch;if(void 0===a)return;var i=a.pageX-(o+t.left),c=a.pageY-(s+t.top),l={x:i*=r/t.width,y:c*=n/t.height};if("touchstart"===e.type)Pr.lastTouches[a.identifier]=l,Pr.touches[a.identifier]=l;else if("touchend"===e.type||"touchmove"===e.type){var d=Pr.touches[a.identifier];d||(d=l),Pr.lastTouches[a.identifier]=d,Pr.touches[a.identifier]=l}return}var p=e.pageX-(o+t.left),f=e.pageY-(s+t.top);p*=r/t.width,f*=n/t.height,Pr.mouseMovementX=p-Pr.mouseX,Pr.mouseMovementY=f-Pr.mouseY,Pr.mouseX=p,Pr.mouseY=f}},resizeListeners:[],updateResizeListeners:function(){var e=u.canvas;Pr.resizeListeners.forEach((t=>t(e.width,e.height)))},setCanvasSize:function(e,t,r){var n=u.canvas;Pr.updateCanvasDimensions(n,e,t),r||Pr.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=q[SDL.screen>>2];e|=8388608,T[SDL.screen>>2]=e}Pr.updateCanvasDimensions(u.canvas),Pr.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=q[SDL.screen>>2];e&=-8388609,T[SDL.screen>>2]=e}Pr.updateCanvasDimensions(u.canvas),Pr.updateResizeListeners()},updateCanvasDimensions:function(e,t,r){t&&r?(e.widthNative=t,e.heightNative=r):(t=e.widthNative,r=e.heightNative);var n=t,o=r;if(u.forcedAspectRatio&&u.forcedAspectRatio>0&&(n/o<u.forcedAspectRatio?n=Math.round(o*u.forcedAspectRatio):o=Math.round(n/u.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var s=Math.min(screen.width/n,screen.height/o);n=Math.round(n*s),o=Math.round(o*s)}Pr.resizeCanvas?(e.width!=n&&(e.width=n),e.height!=o&&(e.height=o),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=t&&(e.width=t),e.height!=r&&(e.height=r),void 0!==e.style&&(n!=t||o!=r?(e.style.setProperty("width",n+"px","important"),e.style.setProperty("height",o+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}},Sr={errorCode:12288,defaultDisplayInitialized:!1,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:!1,depth:!1,stencil:!1,antialias:!1},stringCache:{},setErrorCode:function(e){Sr.errorCode=e},chooseConfig:function(e,t,r,n,o){if(62e3!=e)return Sr.setErrorCode(12296),0;if(t)for(;;){var s=T[t>>2];if(12321==s){var a=T[t+4>>2];Sr.contextAttributes.alpha=a>0}else if(12325==s){var i=T[t+4>>2];Sr.contextAttributes.depth=i>0}else if(12326==s){var u=T[t+4>>2];Sr.contextAttributes.stencil=u>0}else if(12337==s){var c=T[t+4>>2];Sr.contextAttributes.antialias=c>0}else if(12338==s)c=T[t+4>>2],Sr.contextAttributes.antialias=1==c;else if(12544==s){var l=T[t+4>>2];Sr.contextAttributes.lowLatency=12547!=l}else if(12344==s)break;t+=8}return r&&n||o?(o&&(T[o>>2]=1),r&&n>0&&(T[r>>2]=62002),Sr.setErrorCode(12288),1):(Sr.setErrorCode(12300),0)}};function Rr(e){var t=e.getExtension("ANGLE_instanced_arrays");if(t)return e.vertexAttribDivisor=function(e,r){t.vertexAttribDivisorANGLE(e,r)},e.drawArraysInstanced=function(e,r,n,o){t.drawArraysInstancedANGLE(e,r,n,o)},e.drawElementsInstanced=function(e,r,n,o,s){t.drawElementsInstancedANGLE(e,r,n,o,s)},1}function xr(e){var t=e.getExtension("OES_vertex_array_object");if(t)return e.createVertexArray=function(){return t.createVertexArrayOES()},e.deleteVertexArray=function(e){t.deleteVertexArrayOES(e)},e.bindVertexArray=function(e){t.bindVertexArrayOES(e)},e.isVertexArray=function(e){return t.isVertexArrayOES(e)},1}function Br(e){var t=e.getExtension("WEBGL_draw_buffers");if(t)return e.drawBuffers=function(e,r){t.drawBuffersWEBGL(e,r)},1}function Ir(e){return!!(e.dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"))}function Tr(e){return!!(e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"))}function qr(e){return!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw"))}var Fr={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function(e){Fr.lastError||(Fr.lastError=e)},getNewId:function(e){for(var t=Fr.counter++,r=e.length;r<t;r++)e[r]=null;return t},getSource:function(e,t,r,n){for(var o="",s=0;s<t;++s){var a=n?T[n+4*s>>2]:-1;o+=xe(T[r+4*s>>2],a<0?void 0:a)}return o},createContext:function(e,t){if(!e.getContextSafariWebGL2Fixed){let t=function(t,r){var n=e.getContextSafariWebGL2Fixed(t,r);return"webgl"==t==n instanceof WebGLRenderingContext?n:null};e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=t}var r=t.majorVersion>1?e.getContext("webgl2",t):e.getContext("webgl",t);return r?Fr.registerContext(r,t):0},registerContext:function(e,t){var r=Fr.getNewId(Fr.contexts),n={handle:r,attributes:t,version:t.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),Fr.contexts[r]=n,(void 0===t.enableExtensionsByDefault||t.enableExtensionsByDefault)&&Fr.initExtensions(n),r},makeContextCurrent:function(e){return Fr.currentContext=Fr.contexts[e],u.ctx=Ou=Fr.currentContext&&Fr.currentContext.GLctx,!(e&&!Ou)},getContext:function(e){return Fr.contexts[e]},deleteContext:function(e){Fr.currentContext===Fr.contexts[e]&&(Fr.currentContext=null),"object"==typeof _u&&_u.removeAllHandlersOnTarget(Fr.contexts[e].GLctx.canvas),Fr.contexts[e]&&Fr.contexts[e].GLctx.canvas&&(Fr.contexts[e].GLctx.canvas.GLctxObject=void 0),Fr.contexts[e]=null},initExtensions:function(e){if(e||(e=Fr.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var t=e.GLctx;Rr(t),xr(t),Br(t),Ir(t),Tr(t),e.version>=2&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!t.disjointTimerQueryExt)&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query")),qr(t),(t.getSupportedExtensions()||[]).forEach((function(e){e.includes("lose_context")||e.includes("debug")||t.getExtension(e)}))}}},Dr=[],Lr=(e,t,r)=>{var n=((e,t)=>{var r;for(Dr.length=0,t>>=2;r=x[e++];)t+=105!=r&t,Dr.push(105==r?T[t]:(106==r?D:M)[t++>>1]),++t;return Dr})(t,r);return ie[e].apply(null,n)},Mr=function(e){Ou.activeTexture(e)},Or=function(e,t){Ou.attachShader(Fr.programs[e],Fr.shaders[t])},Ur=function(e,t){Ou.beginQuery(e,Fr.queries[t])},Vr=function(e,t){Ou.disjointTimerQueryExt.beginQueryEXT(e,Fr.queries[t])},$r=function(e){Ou.beginTransformFeedback(e)},Nr=function(e,t,r){Ou.bindAttribLocation(Fr.programs[e],t,xe(r))},Hr=function(e,t){35051==e?Ou.currentPixelPackBufferBinding=t:35052==e&&(Ou.currentPixelUnpackBufferBinding=t),Ou.bindBuffer(e,Fr.buffers[t])},jr=function(e,t,r){Ou.bindBufferBase(e,t,Fr.buffers[r])},Wr=function(e,t,r,n,o){Ou.bindBufferRange(e,t,Fr.buffers[r],n,o)},Gr=function(e,t){Ou.bindFramebuffer(e,Fr.framebuffers[t])},zr=function(e,t){Ou.bindRenderbuffer(e,Fr.renderbuffers[t])},Yr=function(e,t){Ou.bindSampler(e,Fr.samplers[t])},Xr=function(e,t){Ou.bindTexture(e,Fr.textures[t])},Qr=function(e,t){Ou.bindTransformFeedback(e,Fr.transformFeedbacks[t])};function Kr(e){Ou.bindVertexArray(Fr.vaos[e])}var Zr=Kr,Jr=Kr,en=function(e,t,r,n){Ou.blendColor(e,t,r,n)},tn=function(e){Ou.blendEquation(e)},rn=function(e,t){Ou.blendEquationSeparate(e,t)},nn=function(e,t){Ou.blendFunc(e,t)},on=function(e,t,r,n){Ou.blendFuncSeparate(e,t,r,n)},sn=function(e,t,r,n,o,s,a,i,u,c){Ou.blitFramebuffer(e,t,r,n,o,s,a,i,u,c)},an=function(e,t,r,n){Fr.currentContext.version>=2?r&&t?Ou.bufferData(e,x,n,r,t):Ou.bufferData(e,t,n):Ou.bufferData(e,r?x.subarray(r,r+t):t,n)},un=function(e,t,r,n){Fr.currentContext.version>=2?r&&Ou.bufferSubData(e,t,x,n,r):Ou.bufferSubData(e,t,x.subarray(n,n+r))},cn=function(e){return Ou.checkFramebufferStatus(e)},ln=function(e){Ou.clear(e)},dn=function(e,t,r,n){Ou.clearBufferfi(e,t,r,n)},pn=function(e,t,r){Ou.clearBufferfv(e,t,F,r>>2)},fn=function(e,t,r){Ou.clearBufferiv(e,t,T,r>>2)},gn=function(e,t,r){Ou.clearBufferuiv(e,t,q,r>>2)},mn=function(e,t,r,n){Ou.clearColor(e,t,r,n)},hn=function(e){Ou.clearDepth(e)},bn=function(e){Ou.clearStencil(e)},yn=function(e,t,r){return r=Number(r),Ou.clientWaitSync(Fr.syncs[e],t,r)},vn=function(e,t,r,n){Ou.colorMask(!!e,!!t,!!r,!!n)},_n=function(e){Ou.compileShader(Fr.shaders[e])},kn=function(e,t,r,n,o,s,a,i){Fr.currentContext.version>=2?Ou.currentPixelUnpackBufferBinding||!a?Ou.compressedTexImage2D(e,t,r,n,o,s,a,i):Ou.compressedTexImage2D(e,t,r,n,o,s,x,i,a):Ou.compressedTexImage2D(e,t,r,n,o,s,i?x.subarray(i,i+a):null)},wn=function(e,t,r,n,o,s,a,i,u){Ou.currentPixelUnpackBufferBinding?Ou.compressedTexImage3D(e,t,r,n,o,s,a,i,u):Ou.compressedTexImage3D(e,t,r,n,o,s,a,x,u,i)},Cn=function(e,t,r,n,o,s,a,i,u){Fr.currentContext.version>=2?Ou.currentPixelUnpackBufferBinding||!i?Ou.compressedTexSubImage2D(e,t,r,n,o,s,a,i,u):Ou.compressedTexSubImage2D(e,t,r,n,o,s,a,x,u,i):Ou.compressedTexSubImage2D(e,t,r,n,o,s,a,u?x.subarray(u,u+i):null)},An=function(e,t,r,n,o,s,a,i,u,c,l){Ou.currentPixelUnpackBufferBinding?Ou.compressedTexSubImage3D(e,t,r,n,o,s,a,i,u,c,l):Ou.compressedTexSubImage3D(e,t,r,n,o,s,a,i,u,x,l,c)},En=function(e,t,r,n,o){Ou.copyBufferSubData(e,t,r,n,o)},Pn=function(e,t,r,n,o,s,a,i){Ou.copyTexImage2D(e,t,r,n,o,s,a,i)},Sn=function(e,t,r,n,o,s,a,i){Ou.copyTexSubImage2D(e,t,r,n,o,s,a,i)},Rn=function(e,t,r,n,o,s,a,i,u){Ou.copyTexSubImage3D(e,t,r,n,o,s,a,i,u)},xn=function(){var e=Fr.getNewId(Fr.programs),t=Ou.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,Fr.programs[e]=t,e},Bn=function(e){var t=Fr.getNewId(Fr.shaders);return Fr.shaders[t]=Ou.createShader(e),t},In=function(e){Ou.cullFace(e)},Tn=function(e,t){for(var r=0;r<e;r++){var n=T[t+4*r>>2],o=Fr.buffers[n];o&&(Ou.deleteBuffer(o),o.name=0,Fr.buffers[n]=null,n==Ou.currentPixelPackBufferBinding&&(Ou.currentPixelPackBufferBinding=0),n==Ou.currentPixelUnpackBufferBinding&&(Ou.currentPixelUnpackBufferBinding=0))}},qn=function(e,t){for(var r=0;r<e;++r){var n=T[t+4*r>>2],o=Fr.framebuffers[n];o&&(Ou.deleteFramebuffer(o),o.name=0,Fr.framebuffers[n]=null)}},Fn=function(e){if(e){var t=Fr.programs[e];t?(Ou.deleteProgram(t),t.name=0,Fr.programs[e]=null):Fr.recordError(1281)}},Dn=function(e,t){for(var r=0;r<e;r++){var n=T[t+4*r>>2],o=Fr.queries[n];o&&(Ou.deleteQuery(o),Fr.queries[n]=null)}},Ln=function(e,t){for(var r=0;r<e;r++){var n=T[t+4*r>>2],o=Fr.queries[n];o&&(Ou.disjointTimerQueryExt.deleteQueryEXT(o),Fr.queries[n]=null)}},Mn=function(e,t){for(var r=0;r<e;r++){var n=T[t+4*r>>2],o=Fr.renderbuffers[n];o&&(Ou.deleteRenderbuffer(o),o.name=0,Fr.renderbuffers[n]=null)}},On=function(e,t){for(var r=0;r<e;r++){var n=T[t+4*r>>2],o=Fr.samplers[n];o&&(Ou.deleteSampler(o),o.name=0,Fr.samplers[n]=null)}},Un=function(e){if(e){var t=Fr.shaders[e];t?(Ou.deleteShader(t),Fr.shaders[e]=null):Fr.recordError(1281)}},Vn=function(e){if(e){var t=Fr.syncs[e];t?(Ou.deleteSync(t),t.name=0,Fr.syncs[e]=null):Fr.recordError(1281)}},$n=function(e,t){for(var r=0;r<e;r++){var n=T[t+4*r>>2],o=Fr.textures[n];o&&(Ou.deleteTexture(o),o.name=0,Fr.textures[n]=null)}},Nn=function(e,t){for(var r=0;r<e;r++){var n=T[t+4*r>>2],o=Fr.transformFeedbacks[n];o&&(Ou.deleteTransformFeedback(o),o.name=0,Fr.transformFeedbacks[n]=null)}};function Hn(e,t){for(var r=0;r<e;r++){var n=T[t+4*r>>2];Ou.deleteVertexArray(Fr.vaos[n]),Fr.vaos[n]=null}}var jn=Hn,Wn=Hn,Gn=function(e){Ou.depthFunc(e)},zn=function(e){Ou.depthMask(!!e)},Yn=function(e,t){Ou.depthRange(e,t)},Xn=function(e,t){Ou.detachShader(Fr.programs[e],Fr.shaders[t])},Qn=function(e){Ou.disable(e)},Kn=function(e){Ou.disableVertexAttribArray(e)},Zn=function(e,t,r){Ou.drawArrays(e,t,r)};function Jn(e,t,r,n){Ou.drawArraysInstanced(e,t,r,n)}var eo=Jn,to=Jn,ro=Jn,no=function(e,t,r,n,o){Ou.dibvbi.drawArraysInstancedBaseInstanceWEBGL(e,t,r,n,o)},oo=Jn,so=Jn,ao=[];function io(e,t){for(var r=ao[e],n=0;n<e;n++)r[n]=T[t+4*n>>2];Ou.drawBuffers(r)}var uo=io,co=io,lo=io;function po(e,t,r,n){Ou.drawElements(e,t,r,n)}var fo=po;function go(e,t,r,n,o){Ou.drawElementsInstanced(e,t,r,n,o)}var mo=go,ho=go,bo=go,yo=function(e,t,r,n,o,s,a){Ou.dibvbi.drawElementsInstancedBaseVertexBaseInstanceWEBGL(e,t,r,n,o,s,a)},vo=go,_o=go,ko=function(e,t,r,n,o,s){po(e,n,o,s)},wo=function(e){Ou.enable(e)},Co=function(e){Ou.enableVertexAttribArray(e)},Ao=function(e){Ou.endQuery(e)},Eo=function(e){Ou.disjointTimerQueryExt.endQueryEXT(e)},Po=function(){Ou.endTransformFeedback()},So=function(e,t){var r=Ou.fenceSync(e,t);if(r){var n=Fr.getNewId(Fr.syncs);return r.name=n,Fr.syncs[n]=r,n}return 0},Ro=function(){Ou.finish()},xo=function(){Ou.flush()},Bo=function(e,t,r,n){Ou.framebufferRenderbuffer(e,t,r,Fr.renderbuffers[n])},Io=function(e,t,r,n,o){Ou.framebufferTexture2D(e,t,r,Fr.textures[n],o)},To=function(e,t,r,n,o){Ou.framebufferTextureLayer(e,t,Fr.textures[r],n,o)},qo=function(e){Ou.frontFace(e)};function Fo(e,t,r,n){for(var o=0;o<e;o++){var s=Ou[r](),a=s&&Fr.getNewId(n);s?(s.name=a,n[a]=s):Fr.recordError(1282),T[t+4*o>>2]=a}}var Do=function(e,t){Fo(e,t,"createBuffer",Fr.buffers)},Lo=function(e,t){Fo(e,t,"createFramebuffer",Fr.framebuffers)},Mo=function(e,t){Fo(e,t,"createQuery",Fr.queries)},Oo=function(e,t){for(var r=0;r<e;r++){var n=Ou.disjointTimerQueryExt.createQueryEXT();if(!n){for(Fr.recordError(1282);r<e;)T[t+4*r++>>2]=0;return}var o=Fr.getNewId(Fr.queries);n.name=o,Fr.queries[o]=n,T[t+4*r>>2]=o}},Uo=function(e,t){Fo(e,t,"createRenderbuffer",Fr.renderbuffers)},Vo=function(e,t){Fo(e,t,"createSampler",Fr.samplers)},$o=function(e,t){Fo(e,t,"createTexture",Fr.textures)},No=function(e,t){Fo(e,t,"createTransformFeedback",Fr.transformFeedbacks)};function Ho(e,t){Fo(e,t,"createVertexArray",Fr.vaos)}var jo=Ho,Wo=Ho,Go=function(e){Ou.generateMipmap(e)};function zo(e,t,r,n,o,s,a,i){t=Fr.programs[t];var u=Ou[e](t,r);if(u){var c=i&&Kt(u.name,i,n);o&&(T[o>>2]=c),s&&(T[s>>2]=u.size),a&&(T[a>>2]=u.type)}}var Yo=function(e,t,r,n,o,s,a){zo("getActiveAttrib",e,t,r,n,o,s,a)},Xo=function(e,t,r,n,o,s,a){zo("getActiveUniform",e,t,r,n,o,s,a)},Qo=function(e,t,r,n,o){e=Fr.programs[e];var s=Ou.getActiveUniformBlockName(e,t);if(s)if(o&&r>0){var a=Kt(s,o,r);n&&(T[n>>2]=a)}else n&&(T[n>>2]=0)},Ko=function(e,t,r,n){if(n)if(e=Fr.programs[e],35393!=r){var o=Ou.getActiveUniformBlockParameter(e,t,r);if(null!==o)if(35395==r)for(var s=0;s<o.length;s++)T[n+4*s>>2]=o[s];else T[n>>2]=o}else{var a=Ou.getActiveUniformBlockName(e,t);T[n>>2]=a.length+1}else Fr.recordError(1281)},Zo=function(e,t,r,n,o){if(o)if(t>0&&0==r)Fr.recordError(1281);else{e=Fr.programs[e];for(var s=[],a=0;a<t;a++)s.push(T[r+4*a>>2]);var i=Ou.getActiveUniforms(e,s,n);if(i){var u=i.length;for(a=0;a<u;a++)T[o+4*a>>2]=i[a]}}else Fr.recordError(1281)},Jo=function(e,t,r,n){var o=Ou.getAttachedShaders(Fr.programs[e]),s=o.length;s>t&&(s=t),T[r>>2]=s;for(var a=0;a<s;++a){var i=Fr.shaders.indexOf(o[a]);T[n+4*a>>2]=i}},es=function(e,t){return Ou.getAttribLocation(Fr.programs[e],xe(t))};function ts(e,t){q[e>>2]=t,q[e+4>>2]=(t-q[e>>2])/4294967296}function rs(e,t,r){if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=r&&1!=r&&Fr.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var o=Ou.getParameter(34467);n=o?o.length:0;break;case 33309:if(Fr.currentContext.version<2)return void Fr.recordError(1282);n=2*(Ou.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(Fr.currentContext.version<2)return void Fr.recordError(1280);n=33307==e?3:0}if(void 0===n){var s=Ou.getParameter(e);switch(typeof s){case"number":n=s;break;case"boolean":n=s?1:0;break;case"string":return void Fr.recordError(1280);case"object":if(null===s)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void Fr.recordError(1280)}else{if(s instanceof Float32Array||s instanceof Uint32Array||s instanceof Int32Array||s instanceof Array){for(var a=0;a<s.length;++a)switch(r){case 0:T[t+4*a>>2]=s[a];break;case 2:F[t+4*a>>2]=s[a];break;case 4:R[t+a>>0]=s[a]?1:0}return}try{n=0|s.name}catch(t){return Fr.recordError(1280),void C("GL_INVALID_ENUM in glGet"+r+"v: Unknown object returned from WebGL getParameter("+e+")! (error: "+t+")")}}break;default:return Fr.recordError(1280),void C("GL_INVALID_ENUM in glGet"+r+"v: Native code calling glGet"+r+"v("+e+") and it returns "+s+" of type "+typeof s+"!")}}switch(r){case 1:ts(t,n);break;case 0:T[t>>2]=n;break;case 2:F[t>>2]=n;break;case 4:R[t>>0]=n?1:0}}else Fr.recordError(1281)}var ns=function(e,t){rs(e,t,4)},os=function(e,t,r){r?ts(r,Ou.getBufferParameter(e,t)):Fr.recordError(1281)},ss=function(e,t,r){r?T[r>>2]=Ou.getBufferParameter(e,t):Fr.recordError(1281)},as=function(){var e=Ou.getError()||Fr.lastError;return Fr.lastError=0,e},us=function(e,t){rs(e,t,2)},cs=function(e,t){return Ou.getFragDataLocation(Fr.programs[e],xe(t))},ls=function(e,t,r,n){var o=Ou.getFramebufferAttachmentParameter(e,t,r);(o instanceof WebGLRenderbuffer||o instanceof WebGLTexture)&&(o=0|o.name),T[n>>2]=o};function ds(e,t,r,n){if(r){var o,s=Ou.getIndexedParameter(e,t);switch(typeof s){case"boolean":o=s?1:0;break;case"number":o=s;break;case"object":if(null===s)switch(e){case 35983:case 35368:o=0;break;default:return void Fr.recordError(1280)}else{if(!(s instanceof WebGLBuffer))return void Fr.recordError(1280);o=0|s.name}break;default:return void Fr.recordError(1280)}switch(n){case 1:ts(r,o);break;case 0:T[r>>2]=o;break;case 2:F[r>>2]=o;break;case 4:R[r>>0]=o?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+n}}else Fr.recordError(1281)}var ps=function(e,t,r){ds(e,t,r,1)},fs=function(e,t){rs(e,t,1)},gs=function(e,t,r){ds(e,t,r,0)},ms=function(e,t){rs(e,t,0)},hs=function(e,t,r,n,o){if(n<0)Fr.recordError(1281);else if(o){var s=Ou.getInternalformatParameter(e,t,r);if(null!==s)for(var a=0;a<s.length&&a<n;++a)T[o+4*a>>2]=s[a]}else Fr.recordError(1281)},bs=function(e,t,r,n,o){Fr.recordError(1282)},ys=function(e,t,r,n){var o=Ou.getProgramInfoLog(Fr.programs[e]);null===o&&(o="(unknown error)");var s=t>0&&n?Kt(o,n,t):0;r&&(T[r>>2]=s)},vs=function(e,t,r){if(r)if(e>=Fr.counter)Fr.recordError(1281);else if(e=Fr.programs[e],35716==t){var n=Ou.getProgramInfoLog(e);null===n&&(n="(unknown error)"),T[r>>2]=n.length+1}else if(35719==t){if(!e.maxUniformLength)for(var o=0;o<Ou.getProgramParameter(e,35718);++o)e.maxUniformLength=Math.max(e.maxUniformLength,Ou.getActiveUniform(e,o).name.length+1);T[r>>2]=e.maxUniformLength}else if(35722==t){if(!e.maxAttributeLength)for(o=0;o<Ou.getProgramParameter(e,35721);++o)e.maxAttributeLength=Math.max(e.maxAttributeLength,Ou.getActiveAttrib(e,o).name.length+1);T[r>>2]=e.maxAttributeLength}else if(35381==t){if(!e.maxUniformBlockNameLength)for(o=0;o<Ou.getProgramParameter(e,35382);++o)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,Ou.getActiveUniformBlockName(e,o).length+1);T[r>>2]=e.maxUniformBlockNameLength}else T[r>>2]=Ou.getProgramParameter(e,t);else Fr.recordError(1281)};function _s(e,t,r){if(r){var n,o=Fr.queries[e];ts(r,"boolean"==typeof(n=Fr.currentContext.version<2?Ou.disjointTimerQueryExt.getQueryObjectEXT(o,t):Ou.getQueryParameter(o,t))?n?1:0:n)}else Fr.recordError(1281)}var ks=_s;function ws(e,t,r){if(r){var n,o=Fr.queries[e],s=Ou.disjointTimerQueryExt.getQueryObjectEXT(o,t);n="boolean"==typeof s?s?1:0:s,T[r>>2]=n}else Fr.recordError(1281)}var Cs=ws,As=_s,Es=function(e,t,r){if(r){var n,o=Fr.queries[e],s=Ou.getQueryParameter(o,t);n="boolean"==typeof s?s?1:0:s,T[r>>2]=n}else Fr.recordError(1281)},Ps=ws,Ss=function(e,t,r){r?T[r>>2]=Ou.getQuery(e,t):Fr.recordError(1281)},Rs=function(e,t,r){r?T[r>>2]=Ou.disjointTimerQueryExt.getQueryEXT(e,t):Fr.recordError(1281)},xs=function(e,t,r){r?T[r>>2]=Ou.getRenderbufferParameter(e,t):Fr.recordError(1281)},Bs=function(e,t,r){r?F[r>>2]=Ou.getSamplerParameter(Fr.samplers[e],t):Fr.recordError(1281)},Is=function(e,t,r){r?T[r>>2]=Ou.getSamplerParameter(Fr.samplers[e],t):Fr.recordError(1281)},Ts=function(e,t,r,n){var o=Ou.getShaderInfoLog(Fr.shaders[e]);null===o&&(o="(unknown error)");var s=t>0&&n?Kt(o,n,t):0;r&&(T[r>>2]=s)},qs=function(e,t,r,n){var o=Ou.getShaderPrecisionFormat(e,t);T[r>>2]=o.rangeMin,T[r+4>>2]=o.rangeMax,T[n>>2]=o.precision},Fs=function(e,t,r,n){var o=Ou.getShaderSource(Fr.shaders[e]);if(o){var s=t>0&&n?Kt(o,n,t):0;r&&(T[r>>2]=s)}},Ds=function(e,t,r){if(r)if(35716==t){var n=Ou.getShaderInfoLog(Fr.shaders[e]);null===n&&(n="(unknown error)");var o=n?n.length+1:0;T[r>>2]=o}else if(35720==t){var s=Ou.getShaderSource(Fr.shaders[e]),a=s?s.length+1:0;T[r>>2]=a}else T[r>>2]=Ou.getShaderParameter(Fr.shaders[e],t);else Fr.recordError(1281)},Ls=function(e){var t=Fr.stringCache[e];if(!t){switch(e){case 7939:var r=Ou.getSupportedExtensions()||[];r=r.concat(r.map((function(e){return"GL_"+e}))),t=_r(r.join(" "));break;case 7936:case 7937:case 37445:case 37446:var n=Ou.getParameter(e);n||Fr.recordError(1280),t=n&&_r(n);break;case 7938:var o=Ou.getParameter(7938);o=Fr.currentContext.version>=2?"OpenGL ES 3.0 ("+o+")":"OpenGL ES 2.0 ("+o+")",t=_r(o);break;case 35724:var s=Ou.getParameter(35724),a=s.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==a&&(3==a[1].length&&(a[1]=a[1]+"0"),s="OpenGL ES GLSL ES "+a[1]+" ("+s+")"),t=_r(s);break;default:Fr.recordError(1280)}Fr.stringCache[e]=t}return t},Ms=function(e,t){if(Fr.currentContext.version<2)return Fr.recordError(1282),0;var r=Fr.stringiCache[e];if(r)return t<0||t>=r.length?(Fr.recordError(1281),0):r[t];if(7939===e){var n=Ou.getSupportedExtensions()||[];return n=(n=n.concat(n.map((function(e){return"GL_"+e})))).map((function(e){return _r(e)})),r=Fr.stringiCache[e]=n,t<0||t>=r.length?(Fr.recordError(1281),0):r[t]}return Fr.recordError(1280),0},Os=function(e,t,r,n,o){if(r<0)Fr.recordError(1281);else if(o){var s=Ou.getSyncParameter(Fr.syncs[e],t);null!==s&&(T[o>>2]=s,n&&(T[n>>2]=1))}else Fr.recordError(1281)},Us=function(e,t,r){r?F[r>>2]=Ou.getTexParameter(e,t):Fr.recordError(1281)},Vs=function(e,t,r){r?T[r>>2]=Ou.getTexParameter(e,t):Fr.recordError(1281)},$s=function(e,t,r,n,o,s,a){e=Fr.programs[e];var i=Ou.getTransformFeedbackVarying(e,t);if(i){if(a&&r>0){var u=Kt(i.name,a,r);n&&(T[n>>2]=u)}else n&&(T[n>>2]=0);o&&(T[o>>2]=i.size),s&&(T[s>>2]=i.type)}},Ns=function(e,t){return Ou.getUniformBlockIndex(Fr.programs[e],xe(t))},Hs=function(e,t,r,n){if(n)if(t>0&&(0==r||0==n))Fr.recordError(1281);else{e=Fr.programs[e];for(var o=[],s=0;s<t;s++)o.push(xe(T[r+4*s>>2]));var a=Ou.getUniformIndices(e,o);if(a){var i=a.length;for(s=0;s<i;s++)T[n+4*s>>2]=a[s]}}else Fr.recordError(1281)};function js(e){return"]"==e.slice(-1)&&e.lastIndexOf("[")}function Ws(e){var t,r,n=e.uniformLocsById,o=e.uniformSizeAndIdsByName;if(!n)for(e.uniformLocsById=n={},e.uniformArrayNamesById={},t=0;t<Ou.getProgramParameter(e,35718);++t){var s=Ou.getActiveUniform(e,t),a=s.name,i=s.size,u=js(a),c=u>0?a.slice(0,u):a,l=e.uniformIdCounter;for(e.uniformIdCounter+=i,o[c]=[i,l],r=0;r<i;++r)n[l]=r,e.uniformArrayNamesById[l++]=c}}var Gs=function(e,t){if(t=xe(t),e=Fr.programs[e]){Ws(e);var r=e.uniformLocsById,n=0,o=t,s=js(t);s>0&&(i=t.slice(s+1),n=parseInt(i)>>>0,o=t.slice(0,s));var a=e.uniformSizeAndIdsByName[o];if(a&&n<a[0]&&(r[n+=a[1]]=r[n]||Ou.getUniformLocation(e,t)))return n}else Fr.recordError(1281);var i;return-1};function zs(e){var t=Ou.currentProgram;if(t){var r=t.uniformLocsById[e];return"number"==typeof r&&(t.uniformLocsById[e]=r=Ou.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?"["+r+"]":""))),r}Fr.recordError(1282)}function Ys(e,t,r,n){if(r){Ws(e=Fr.programs[e]);var o=Ou.getUniform(e,zs(t));if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:T[r>>2]=o;break;case 2:F[r>>2]=o}else for(var s=0;s<o.length;s++)switch(n){case 0:T[r+4*s>>2]=o[s];break;case 2:F[r+4*s>>2]=o[s]}}else Fr.recordError(1281)}var Xs=function(e,t,r){Ys(e,t,r,2)},Qs=function(e,t,r){Ys(e,t,r,0)},Ks=function(e,t,r){Ys(e,t,r,0)};function Zs(e,t,r,n){if(r){var o=Ou.getVertexAttrib(e,t);if(34975==t)T[r>>2]=o&&o.name;else if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:T[r>>2]=o;break;case 2:F[r>>2]=o;break;case 5:T[r>>2]=Math.fround(o)}else for(var s=0;s<o.length;s++)switch(n){case 0:T[r+4*s>>2]=o[s];break;case 2:F[r+4*s>>2]=o[s];break;case 5:T[r+4*s>>2]=Math.fround(o[s])}}else Fr.recordError(1281)}function Js(e,t,r){Zs(e,t,r,0)}var ea=Js,ta=Js,ra=function(e,t,r){r?T[r>>2]=Ou.getVertexAttribOffset(e,t):Fr.recordError(1281)},na=function(e,t,r){Zs(e,t,r,2)},oa=function(e,t,r){Zs(e,t,r,5)},sa=function(e,t){Ou.hint(e,t)},aa=function(e,t,r){for(var n=ao[t],o=0;o<t;o++)n[o]=T[r+4*o>>2];Ou.invalidateFramebuffer(e,n)},ia=function(e,t,r,n,o,s,a){for(var i=ao[t],u=0;u<t;u++)i[u]=T[r+4*u>>2];Ou.invalidateSubFramebuffer(e,i,n,o,s,a)},ua=function(e){var t=Fr.buffers[e];return t?Ou.isBuffer(t):0},ca=function(e){return Ou.isEnabled(e)},la=function(e){var t=Fr.framebuffers[e];return t?Ou.isFramebuffer(t):0},da=function(e){return(e=Fr.programs[e])?Ou.isProgram(e):0},pa=function(e){var t=Fr.queries[e];return t?Ou.isQuery(t):0},fa=function(e){var t=Fr.queries[e];return t?Ou.disjointTimerQueryExt.isQueryEXT(t):0},ga=function(e){var t=Fr.renderbuffers[e];return t?Ou.isRenderbuffer(t):0},ma=function(e){var t=Fr.samplers[e];return t?Ou.isSampler(t):0},ha=function(e){var t=Fr.shaders[e];return t?Ou.isShader(t):0},ba=function(e){return Ou.isSync(Fr.syncs[e])},ya=function(e){var t=Fr.textures[e];return t?Ou.isTexture(t):0},va=function(e){return Ou.isTransformFeedback(Fr.transformFeedbacks[e])};function _a(e){var t=Fr.vaos[e];return t?Ou.isVertexArray(t):0}var ka=_a,wa=_a,Ca=function(e){Ou.lineWidth(e)},Aa=function(e){e=Fr.programs[e],Ou.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},Ea=function(e,t,r,n,o,s){Ou.mdibvbi.multiDrawArraysInstancedBaseInstanceWEBGL(e,T,t>>2,T,r>>2,T,n>>2,q,o>>2,s)},Pa=function(e,t,r,n,o,s,a,i){Ou.mdibvbi.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(e,T,t>>2,r,T,n>>2,T,o>>2,T,s>>2,q,a>>2,i)},Sa=function(){Ou.pauseTransformFeedback()},Ra=function(e,t){3317==e&&(Fr.unpackAlignment=t),Ou.pixelStorei(e,t)},xa=function(e,t){Ou.polygonOffset(e,t)},Ba=function(e,t,r,n){Fr.recordError(1280)},Ia=function(e,t,r){Fr.recordError(1280)},Ta=function(e,t){Ou.disjointTimerQueryExt.queryCounterEXT(Fr.queries[e],t)},qa=function(e){Ou.readBuffer(e)};function Fa(e){return 0==(e-=5120)?R:1==e?x:2==e?B:4==e?T:6==e?F:5==e||28922==e||28520==e||30779==e||30782==e?q:I}function Da(e){return 31-Math.clz32(e.BYTES_PER_ELEMENT)}function La(e,t,r,n,o,s){var a=Fa(e),i=Da(a),u=1<<i,c=function(e){return{5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1}(t)*u,l=function(e,t,r,n){var o;return t*(e*r+(o=n)-1&-o)}(r,n,c,Fr.unpackAlignment);return a.subarray(o>>i,o+l>>i)}var Ma=function(e,t,r,n,o,s,a){if(Fr.currentContext.version>=2)if(Ou.currentPixelPackBufferBinding)Ou.readPixels(e,t,r,n,o,s,a);else{var i=Fa(s);Ou.readPixels(e,t,r,n,o,s,i,a>>Da(i))}else{var u=La(s,o,r,n,a);u?Ou.readPixels(e,t,r,n,o,s,u):Fr.recordError(1280)}},Oa=function(){},Ua=function(e,t,r,n){Ou.renderbufferStorage(e,t,r,n)},Va=function(e,t,r,n,o){Ou.renderbufferStorageMultisample(e,t,r,n,o)},$a=function(){Ou.resumeTransformFeedback()},Na=function(e,t){Ou.sampleCoverage(e,!!t)},Ha=function(e,t,r){Ou.samplerParameterf(Fr.samplers[e],t,r)},ja=function(e,t,r){var n=F[r>>2];Ou.samplerParameterf(Fr.samplers[e],t,n)},Wa=function(e,t,r){Ou.samplerParameteri(Fr.samplers[e],t,r)},Ga=function(e,t,r){var n=T[r>>2];Ou.samplerParameteri(Fr.samplers[e],t,n)},za=function(e,t,r,n){Ou.scissor(e,t,r,n)},Ya=function(e,t,r,n,o){Fr.recordError(1280)},Xa=function(e,t,r,n){var o=Fr.getSource(e,t,r,n);if(Fr.currentContext.version>=2&&o.includes("#version 100")){var s="";(o=(o=o.replace(/#extension GL_OES_standard_derivatives : enable/g,"")).replace(/#extension GL_EXT_shader_texture_lod : enable/g,"")).includes("gl_FragColor")&&(s+="out mediump vec4 GL_FragColor;\n",o=o.replace(/gl_FragColor/g,"GL_FragColor")),o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=o.includes("attribute")?(o=o.replace(/attribute/g,"in")).replace(/varying/g,"out"):o.replace(/varying/g,"in")).replace(/textureCubeLodEXT/g,"textureCubeLod")).replace(/texture2DLodEXT/g,"texture2DLod")).replace(/texture2DProjLodEXT/g,"texture2DProjLod")).replace(/texture2DGradEXT/g,"texture2DGrad")).replace(/texture2DProjGradEXT/g,"texture2DProjGrad")).replace(/textureCubeGradEXT/g,"textureCubeGrad")).replace(/textureCube/g,"texture")).replace(/texture1D/g,"texture")).replace(/texture2D/g,"texture")).replace(/texture3D/g,"texture")).replace(/#version 100/g,"#version 300 es\n"+s)}Ou.shaderSource(Fr.shaders[e],o)},Qa=function(e,t,r){Ou.stencilFunc(e,t,r)},Ka=function(e,t,r,n){Ou.stencilFuncSeparate(e,t,r,n)},Za=function(e){Ou.stencilMask(e)},Ja=function(e,t){Ou.stencilMaskSeparate(e,t)},ei=function(e,t,r){Ou.stencilOp(e,t,r)},ti=function(e,t,r,n){Ou.stencilOpSeparate(e,t,r,n)},ri=function(e,t,r,n,o,s,a,i,u){if(Fr.currentContext.version>=2&&(6402==a&&6402==r&&5125==i&&(r=33190),36193==i&&(i=5131,6408==a&&6408==r&&(r=34842)),34041==r&&(r=35056)),Fr.currentContext.version>=2)if(Ou.currentPixelUnpackBufferBinding)Ou.texImage2D(e,t,r,n,o,s,a,i,u);else if(u){var c=Fa(i);Ou.texImage2D(e,t,r,n,o,s,a,i,c,u>>Da(c))}else Ou.texImage2D(e,t,r,n,o,s,a,i,null);else Ou.texImage2D(e,t,r,n,o,s,a,i,u?La(i,a,n,o,u):null)},ni=function(e,t,r,n,o,s,a,i,u,c){if(Ou.currentPixelUnpackBufferBinding)Ou.texImage3D(e,t,r,n,o,s,a,i,u,c);else if(c){var l=Fa(u);Ou.texImage3D(e,t,r,n,o,s,a,i,u,l,c>>Da(l))}else Ou.texImage3D(e,t,r,n,o,s,a,i,u,null)},oi=function(e,t,r){Ou.texParameterf(e,t,r)},si=function(e,t,r){var n=F[r>>2];Ou.texParameterf(e,t,n)},ai=function(e,t,r){Ou.texParameteri(e,t,r)},ii=function(e,t,r){var n=T[r>>2];Ou.texParameteri(e,t,n)},ui=function(e,t,r,n,o){Ou.texStorage2D(e,t,r,n,o)},ci=function(e,t,r,n,o,s){Ou.texStorage3D(e,t,r,n,o,s)},li=function(e,t,r,n,o,s,a,i,u){if(Fr.currentContext.version>=2&&36193==i&&(i=5131),Fr.currentContext.version>=2)if(Ou.currentPixelUnpackBufferBinding)Ou.texSubImage2D(e,t,r,n,o,s,a,i,u);else if(u){var c=Fa(i);Ou.texSubImage2D(e,t,r,n,o,s,a,i,c,u>>Da(c))}else Ou.texSubImage2D(e,t,r,n,o,s,a,i,null);else{var l=null;u&&(l=La(i,a,o,s,u)),Ou.texSubImage2D(e,t,r,n,o,s,a,i,l)}},di=function(e,t,r,n,o,s,a,i,u,c,l){if(Ou.currentPixelUnpackBufferBinding)Ou.texSubImage3D(e,t,r,n,o,s,a,i,u,c,l);else if(l){var d=Fa(c);Ou.texSubImage3D(e,t,r,n,o,s,a,i,u,c,d,l>>Da(d))}else Ou.texSubImage3D(e,t,r,n,o,s,a,i,u,c,null)},pi=function(e,t,r,n){e=Fr.programs[e];for(var o=[],s=0;s<t;s++)o.push(xe(T[r+4*s>>2]));Ou.transformFeedbackVaryings(e,o,n)},fi=function(e,t){Ou.uniform1f(zs(e),t)},gi=[],mi=function(e,t,r){if(Fr.currentContext.version>=2)t&&Ou.uniform1fv(zs(e),F,r>>2,t);else{if(t<=288)for(var n=gi[t-1],o=0;o<t;++o)n[o]=F[r+4*o>>2];else n=F.subarray(r>>2,r+4*t>>2);Ou.uniform1fv(zs(e),n)}},hi=function(e,t){Ou.uniform1i(zs(e),t)},bi=[],yi=function(e,t,r){if(Fr.currentContext.version>=2)t&&Ou.uniform1iv(zs(e),T,r>>2,t);else{if(t<=288)for(var n=bi[t-1],o=0;o<t;++o)n[o]=T[r+4*o>>2];else n=T.subarray(r>>2,r+4*t>>2);Ou.uniform1iv(zs(e),n)}},vi=function(e,t){Ou.uniform1ui(zs(e),t)},_i=function(e,t,r){t&&Ou.uniform1uiv(zs(e),q,r>>2,t)},ki=function(e,t,r){Ou.uniform2f(zs(e),t,r)},wi=function(e,t,r){if(Fr.currentContext.version>=2)t&&Ou.uniform2fv(zs(e),F,r>>2,2*t);else{if(t<=144)for(var n=gi[2*t-1],o=0;o<2*t;o+=2)n[o]=F[r+4*o>>2],n[o+1]=F[r+(4*o+4)>>2];else n=F.subarray(r>>2,r+8*t>>2);Ou.uniform2fv(zs(e),n)}},Ci=function(e,t,r){Ou.uniform2i(zs(e),t,r)},Ai=function(e,t,r){if(Fr.currentContext.version>=2)t&&Ou.uniform2iv(zs(e),T,r>>2,2*t);else{if(t<=144)for(var n=bi[2*t-1],o=0;o<2*t;o+=2)n[o]=T[r+4*o>>2],n[o+1]=T[r+(4*o+4)>>2];else n=T.subarray(r>>2,r+8*t>>2);Ou.uniform2iv(zs(e),n)}},Ei=function(e,t,r){Ou.uniform2ui(zs(e),t,r)},Pi=function(e,t,r){t&&Ou.uniform2uiv(zs(e),q,r>>2,2*t)},Si=function(e,t,r,n){Ou.uniform3f(zs(e),t,r,n)},Ri=function(e,t,r){if(Fr.currentContext.version>=2)t&&Ou.uniform3fv(zs(e),F,r>>2,3*t);else{if(t<=96)for(var n=gi[3*t-1],o=0;o<3*t;o+=3)n[o]=F[r+4*o>>2],n[o+1]=F[r+(4*o+4)>>2],n[o+2]=F[r+(4*o+8)>>2];else n=F.subarray(r>>2,r+12*t>>2);Ou.uniform3fv(zs(e),n)}},xi=function(e,t,r,n){Ou.uniform3i(zs(e),t,r,n)},Bi=function(e,t,r){if(Fr.currentContext.version>=2)t&&Ou.uniform3iv(zs(e),T,r>>2,3*t);else{if(t<=96)for(var n=bi[3*t-1],o=0;o<3*t;o+=3)n[o]=T[r+4*o>>2],n[o+1]=T[r+(4*o+4)>>2],n[o+2]=T[r+(4*o+8)>>2];else n=T.subarray(r>>2,r+12*t>>2);Ou.uniform3iv(zs(e),n)}},Ii=function(e,t,r,n){Ou.uniform3ui(zs(e),t,r,n)},Ti=function(e,t,r){t&&Ou.uniform3uiv(zs(e),q,r>>2,3*t)},qi=function(e,t,r,n,o){Ou.uniform4f(zs(e),t,r,n,o)},Fi=function(e,t,r){if(Fr.currentContext.version>=2)t&&Ou.uniform4fv(zs(e),F,r>>2,4*t);else{if(t<=72){var n=gi[4*t-1],o=F;r>>=2;for(var s=0;s<4*t;s+=4){var a=r+s;n[s]=o[a],n[s+1]=o[a+1],n[s+2]=o[a+2],n[s+3]=o[a+3]}}else n=F.subarray(r>>2,r+16*t>>2);Ou.uniform4fv(zs(e),n)}},Di=function(e,t,r,n,o){Ou.uniform4i(zs(e),t,r,n,o)},Li=function(e,t,r){if(Fr.currentContext.version>=2)t&&Ou.uniform4iv(zs(e),T,r>>2,4*t);else{if(t<=72)for(var n=bi[4*t-1],o=0;o<4*t;o+=4)n[o]=T[r+4*o>>2],n[o+1]=T[r+(4*o+4)>>2],n[o+2]=T[r+(4*o+8)>>2],n[o+3]=T[r+(4*o+12)>>2];else n=T.subarray(r>>2,r+16*t>>2);Ou.uniform4iv(zs(e),n)}},Mi=function(e,t,r,n,o){Ou.uniform4ui(zs(e),t,r,n,o)},Oi=function(e,t,r){t&&Ou.uniform4uiv(zs(e),q,r>>2,4*t)},Ui=function(e,t,r){e=Fr.programs[e],Ou.uniformBlockBinding(e,t,r)},Vi=function(e,t,r,n){if(Fr.currentContext.version>=2)t&&Ou.uniformMatrix2fv(zs(e),!!r,F,n>>2,4*t);else{if(t<=72)for(var o=gi[4*t-1],s=0;s<4*t;s+=4)o[s]=F[n+4*s>>2],o[s+1]=F[n+(4*s+4)>>2],o[s+2]=F[n+(4*s+8)>>2],o[s+3]=F[n+(4*s+12)>>2];else o=F.subarray(n>>2,n+16*t>>2);Ou.uniformMatrix2fv(zs(e),!!r,o)}},$i=function(e,t,r,n){t&&Ou.uniformMatrix2x3fv(zs(e),!!r,F,n>>2,6*t)},Ni=function(e,t,r,n){t&&Ou.uniformMatrix2x4fv(zs(e),!!r,F,n>>2,8*t)},Hi=function(e,t,r,n){if(Fr.currentContext.version>=2)t&&Ou.uniformMatrix3fv(zs(e),!!r,F,n>>2,9*t);else{if(t<=32)for(var o=gi[9*t-1],s=0;s<9*t;s+=9)o[s]=F[n+4*s>>2],o[s+1]=F[n+(4*s+4)>>2],o[s+2]=F[n+(4*s+8)>>2],o[s+3]=F[n+(4*s+12)>>2],o[s+4]=F[n+(4*s+16)>>2],o[s+5]=F[n+(4*s+20)>>2],o[s+6]=F[n+(4*s+24)>>2],o[s+7]=F[n+(4*s+28)>>2],o[s+8]=F[n+(4*s+32)>>2];else o=F.subarray(n>>2,n+36*t>>2);Ou.uniformMatrix3fv(zs(e),!!r,o)}},ji=function(e,t,r,n){t&&Ou.uniformMatrix3x2fv(zs(e),!!r,F,n>>2,6*t)},Wi=function(e,t,r,n){t&&Ou.uniformMatrix3x4fv(zs(e),!!r,F,n>>2,12*t)},Gi=function(e,t,r,n){if(Fr.currentContext.version>=2)t&&Ou.uniformMatrix4fv(zs(e),!!r,F,n>>2,16*t);else{if(t<=18){var o=gi[16*t-1],s=F;n>>=2;for(var a=0;a<16*t;a+=16){var i=n+a;o[a]=s[i],o[a+1]=s[i+1],o[a+2]=s[i+2],o[a+3]=s[i+3],o[a+4]=s[i+4],o[a+5]=s[i+5],o[a+6]=s[i+6],o[a+7]=s[i+7],o[a+8]=s[i+8],o[a+9]=s[i+9],o[a+10]=s[i+10],o[a+11]=s[i+11],o[a+12]=s[i+12],o[a+13]=s[i+13],o[a+14]=s[i+14],o[a+15]=s[i+15]}}else o=F.subarray(n>>2,n+64*t>>2);Ou.uniformMatrix4fv(zs(e),!!r,o)}},zi=function(e,t,r,n){t&&Ou.uniformMatrix4x2fv(zs(e),!!r,F,n>>2,8*t)},Yi=function(e,t,r,n){t&&Ou.uniformMatrix4x3fv(zs(e),!!r,F,n>>2,12*t)},Xi=function(e){e=Fr.programs[e],Ou.useProgram(e),Ou.currentProgram=e},Qi=function(e){Ou.validateProgram(Fr.programs[e])},Ki=function(e,t){Ou.vertexAttrib1f(e,t)},Zi=function(e,t){Ou.vertexAttrib1f(e,F[t>>2])},Ji=function(e,t,r){Ou.vertexAttrib2f(e,t,r)},eu=function(e,t){Ou.vertexAttrib2f(e,F[t>>2],F[t+4>>2])},tu=function(e,t,r,n){Ou.vertexAttrib3f(e,t,r,n)},ru=function(e,t){Ou.vertexAttrib3f(e,F[t>>2],F[t+4>>2],F[t+8>>2])},nu=function(e,t,r,n,o){Ou.vertexAttrib4f(e,t,r,n,o)},ou=function(e,t){Ou.vertexAttrib4f(e,F[t>>2],F[t+4>>2],F[t+8>>2],F[t+12>>2])};function su(e,t){Ou.vertexAttribDivisor(e,t)}var au=su,iu=su,uu=su,cu=su,lu=su,du=function(e,t,r,n,o){Ou.vertexAttribI4i(e,t,r,n,o)},pu=function(e,t){Ou.vertexAttribI4i(e,T[t>>2],T[t+4>>2],T[t+8>>2],T[t+12>>2])},fu=function(e,t,r,n,o){Ou.vertexAttribI4ui(e,t,r,n,o)},gu=function(e,t){Ou.vertexAttribI4ui(e,q[t>>2],q[t+4>>2],q[t+8>>2],q[t+12>>2])},mu=function(e,t,r,n,o){Ou.vertexAttribIPointer(e,t,r,n,o)},hu=function(e,t,r,n,o,s){Ou.vertexAttribPointer(e,t,r,!!n,o,s)},bu=function(e,t,r,n){Ou.viewport(e,t,r,n)},yu=function(e,t,r){r=Number(r),Ou.waitSync(Fr.syncs[e],t,r)},vu=e=>{var t=e-A.buffer.byteLength+65535>>>16;try{return A.grow(t),V(),1}catch(e){}},_u={inEventHandler:0,removeAllEventListeners:function(){for(var e=_u.eventHandlers.length-1;e>=0;--e)_u._removeHandler(e);_u.eventHandlers=[],_u.deferredCalls=[]},registerRemoveEventListeners:function(){_u.removeEventListenersRegistered||(W.push(_u.removeAllEventListeners),_u.removeEventListenersRegistered=!0)},deferredCalls:[],deferCall:function(e,t,r){function n(e,t){if(e.length!=t.length)return!1;for(var r in e)if(e[r]!=t[r])return!1;return!0}for(var o in _u.deferredCalls){var s=_u.deferredCalls[o];if(s.targetFunction==e&&n(s.argsList,r))return}_u.deferredCalls.push({targetFunction:e,precedence:t,argsList:r}),_u.deferredCalls.sort((function(e,t){return e.precedence<t.precedence}))},removeDeferredCalls:function(e){for(var t=0;t<_u.deferredCalls.length;++t)_u.deferredCalls[t].targetFunction==e&&(_u.deferredCalls.splice(t,1),--t)},canPerformEventHandlerRequests:function(){return navigator.userActivation?navigator.userActivation.isActive:_u.inEventHandler&&_u.currentEventHandler.allowsDeferredCalls},runDeferredCalls:function(){if(_u.canPerformEventHandlerRequests())for(var e=0;e<_u.deferredCalls.length;++e){var t=_u.deferredCalls[e];_u.deferredCalls.splice(e,1),--e,t.targetFunction.apply(null,t.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:function(e,t){for(var r=0;r<_u.eventHandlers.length;++r)_u.eventHandlers[r].target!=e||t&&t!=_u.eventHandlers[r].eventTypeString||_u._removeHandler(r--)},_removeHandler:function(e){var t=_u.eventHandlers[e];t.target.removeEventListener(t.eventTypeString,t.eventListenerFunc,t.useCapture),_u.eventHandlers.splice(e,1)},registerOrRemoveHandler:function(e){if(!e.target)return-4;var t=function(t){++_u.inEventHandler,_u.currentEventHandler=e,_u.runDeferredCalls(),e.handlerFunc(t),_u.runDeferredCalls(),--_u.inEventHandler};if(e.callbackfunc)e.eventListenerFunc=t,e.target.addEventListener(e.eventTypeString,t,e.useCapture),_u.eventHandlers.push(e),_u.registerRemoveEventListeners();else for(var r=0;r<_u.eventHandlers.length;++r)_u.eventHandlers[r].target==e.target&&_u.eventHandlers[r].eventTypeString==e.eventTypeString&&_u._removeHandler(r--);return 0},getNodeNameForTarget:function(e){return e?e==window?"#window":e==screen?"#screen":e&&e.nodeName?e.nodeName:"":""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}},ku=["default","low-power","high-performance"],wu=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0];function Cu(e){var t;return e=(t=e)>2?xe(t):t,wu[e]||("undefined"!=typeof document?document.querySelector(e):void 0)}var Au,Eu,Pu,Su=function(e,t){var r=t>>2,n=T[r+6],o={alpha:!!T[r+0],depth:!!T[r+1],stencil:!!T[r+2],antialias:!!T[r+3],premultipliedAlpha:!!T[r+4],preserveDrawingBuffer:!!T[r+5],powerPreference:ku[n],failIfMajorPerformanceCaveat:!!T[r+7],majorVersion:T[r+8],minorVersion:T[r+9],enableExtensionsByDefault:T[r+10],explicitSwapControl:T[r+11],proxyContextToMainThread:T[r+12],renderViaOffscreenBackBuffer:T[r+13]},s=function(e){return Cu(e)}(e);return s?o.explicitSwapControl?0:Fr.createContext(s,o):0},Ru={},xu=()=>{if(!xu.strings){var e={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",_:f||"./this.program"};for(var t in Ru)void 0===Ru[t]?delete e[t]:e[t]=Ru[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);xu.strings=r}return xu.strings},Bu=(e,t,r,n)=>{for(var o=0,s=0;s<r;s++){var a=q[t>>2],i=q[t+4>>2];t+=8;var u=Re.read(e,R,a,i,n);if(u<0)return-1;if(o+=u,u<i)break;void 0!==n&&(n+=u)}return o},Iu=[31,29,31,30,31,30,31,31,30,31,30,31],Tu=[31,28,31,30,31,30,31,31,30,31,30,31],qu=(e,t)=>{R.set(e,t)},Fu=(e,t,r,n)=>{var o=T[n+40>>2],s={tm_sec:T[n>>2],tm_min:T[n+4>>2],tm_hour:T[n+8>>2],tm_mday:T[n+12>>2],tm_mon:T[n+16>>2],tm_year:T[n+20>>2],tm_wday:T[n+24>>2],tm_yday:T[n+28>>2],tm_isdst:T[n+32>>2],tm_gmtoff:T[n+36>>2],tm_zone:o?xe(o):""},a=xe(r),i={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in i)a=a.replace(new RegExp(u,"g"),i[u]);var c=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],l=["January","February","March","April","May","June","July","August","September","October","November","December"];function d(e,t,r){for(var n="number"==typeof e?e.toString():e||"";n.length<t;)n=r[0]+n;return n}function p(e,t){return d(e,t,"0")}function f(e,t){function r(e){return e<0?-1:e>0?1:0}var n;return 0===(n=r(e.getFullYear()-t.getFullYear()))&&0===(n=r(e.getMonth()-t.getMonth()))&&(n=r(e.getDate()-t.getDate())),n}function g(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function m(e){var t=((e,t)=>{for(var r=new Date(e.getTime());t>0;){var n=hr(r.getFullYear()),o=r.getMonth(),s=(n?Iu:Tu)[o];if(!(t>s-r.getDate()))return r.setDate(r.getDate()+t),r;t-=s-r.getDate()+1,r.setDate(1),o<11?r.setMonth(o+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r})(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(t.getFullYear(),0,4),n=new Date(t.getFullYear()+1,0,4),o=g(r),s=g(n);return f(o,t)<=0?f(s,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var h={"%a":e=>c[e.tm_wday].substring(0,3),"%A":e=>c[e.tm_wday],"%b":e=>l[e.tm_mon].substring(0,3),"%B":e=>l[e.tm_mon],"%C":e=>p((e.tm_year+1900)/100|0,2),"%d":e=>p(e.tm_mday,2),"%e":e=>d(e.tm_mday,2," "),"%g":e=>m(e).toString().substring(2),"%G":e=>m(e),"%H":e=>p(e.tm_hour,2),"%I":e=>{var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),p(t,2)},"%j":e=>p(e.tm_mday+((e,t)=>{for(var r=0,n=0;n<=t;r+=e[n++]);return r})(hr(e.tm_year+1900)?Iu:Tu,e.tm_mon-1),3),"%m":e=>p(e.tm_mon+1,2),"%M":e=>p(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>p(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var t=e.tm_yday+7-e.tm_wday;return p(Math.floor(t/7),2)},"%V":e=>{var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var r=(e.tm_wday+371-e.tm_yday)%7;4==r||3==r&&hr(e.tm_year)||(t=1)}}else{t=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&hr(e.tm_year%400-1))&&t++}return p(t,2)},"%w":e=>e.tm_wday,"%W":e=>{var t=e.tm_yday+7-(e.tm_wday+6)%7;return p(Math.floor(t/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var t=e.tm_gmtoff,r=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(r?"+":"-")+String("0000"+t).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var u in a=a.replace(/%%/g,"\0\0"),h)a.includes(u)&&(a=a.replace(new RegExp(u,"g"),h[u](s)));var b=we(a=a.replace(/\0\0/g,"%"),!1);return b.length>t?0:(qu(b,e),b.length-1)},Du=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Re.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},Lu=365,Mu=146;Object.defineProperties(Du.prototype,{read:{get:function(){return(this.mode&Lu)===Lu},set:function(e){e?this.mode|=Lu:this.mode&=-366}},write:{get:function(){return(this.mode&Mu)===Mu},set:function(e){e?this.mode|=Mu:this.mode&=-147}},isFolder:{get:function(){return Re.isDir(this.mode)}},isDevice:{get:function(){return Re.isChrdev(this.mode)}}}),Re.FSNode=Du,Re.createPreloadedFile=function(e,t,r,n,o,s,a,i,u,c){var d=t?he.resolve(ge.join2(e,t)):e;function p(r){function l(r){c&&c(),i||Re.createDataFile(e,t,r,n,o,u),s&&s(),Z()}(function(e,t,r,n){void 0!==Pr&&Pr.init();var o=!1;return Pe.forEach((function(s){o||s.canHandle(t)&&(s.handle(e,t,r,n),o=!0)})),o})(r,d,l,(()=>{a&&a(),Z()}))||l(r)}K(),"string"==typeof r?((e,t,r,n)=>{var o=n?"":`al ${e}`;l(e,(r=>{U(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),o&&Z()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),o&&K()})(r,(e=>p(e)),a):p(r)},Re.staticInit(),u.FS_createPath=Re.createPath,u.FS_createDataFile=Re.createDataFile,u.FS_createPreloadedFile=Re.createPreloadedFile,u.FS_unlink=Re.unlink,u.FS_createLazyFile=Re.createLazyFile,u.FS_createDevice=Re.createDevice,Me=u.InternalError=class InternalError extends Error{constructor(e){super(e),this.name="InternalError"}},function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Ne=e}(),je=u.BindingError=class BindingError extends Error{constructor(e){super(e),this.name="BindingError"}},bt.prototype.isAliasOf=Xe,bt.prototype.clone=ft,bt.prototype.delete=gt,bt.prototype.isDeleted=mt,bt.prototype.deleteLater=ht,u.getInheritedInstanceCount=rt,u.getLiveInheritedInstances=nt,u.flushPendingDeletes=st,u.setDelayFunction=it,Tt.prototype.getPointee=xt,Tt.prototype.destructor=Bt,Tt.prototype.argPackAdvance=8,Tt.prototype.readValueFromPointer=qe,Tt.prototype.deleteObject=It,Tt.prototype.fromWireType=dt,Mt=u.UnboundTypeError=(Au=Error,(Pu=kt(Eu="UnboundTypeError",(function(e){this.name=Eu,this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(Au.prototype),Pu.prototype.constructor=Pu,Pu.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},Pu),Object.assign(Ht.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}}),jt.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),jt.reserved=jt.allocated.length,u.count_emval_handles=Gt,u.requestFullscreen=function(e,t){Pr.requestFullscreen(e,t)},u.requestAnimationFrame=function(e){Pr.requestAnimationFrame(e)},u.setCanvasSize=function(e,t,r){Pr.setCanvasSize(e,t,r)},u.pauseMainLoop=function(){Pr.mainLoop.pause()},u.resumeMainLoop=function(){Pr.mainLoop.resume()},u.getUserMedia=function(){Pr.getUserMedia()},u.createContext=function(e,t,r,n){return Pr.createContext(e,t,r,n)};for(var Ou,Uu={},Vu={},$u=0;$u<32;++$u)ao.push(new Array($u));var Nu=new Float32Array(288);for($u=0;$u<288;++$u)gi[$u]=Nu.subarray(0,$u+1);var Hu=new Int32Array(288);for($u=0;$u<288;++$u)bi[$u]=Hu.subarray(0,$u+1);var ju,Wu={Ja:function(e){var t=new pe(e);return t.get_caught()||t.set_caught(!0),t.set_rethrown(!1),le.push(t),sc(t.excPtr),t.get_exception_ptr()},Ia:function(){ec(0,0);var e=le.pop();oc(e.excPtr),de=0},o:()=>fe([]),ba:e=>fe([e]),k:function(e,t,r){throw new pe(e).init(t,r),de=e},M:function(e){throw de||(de=e),de},ea:function(e,t,r){Be.varargs=r;try{var n=Be.getStreamFromFD(e);switch(t){case 0:return(o=Be.get())<0?-28:Re.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=Be.get();return n.flags|=o,0;case 5:return o=Be.get(),B[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return s=28,T[Yu()>>2]=s,-1}}catch(e){if(void 0===Re||"ErrnoError"!==e.name)throw e;return-e.errno}var s},Ab:function(e,t){try{var r=Be.getStreamFromFD(e);return Be.doStat(Re.stat,r.path,t)}catch(e){if(void 0===Re||"ErrnoError"!==e.name)throw e;return-e.errno}},Fb:function(e,t,r){Be.varargs=r;try{var n=Be.getStreamFromFD(e);switch(t){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var o=n.tty.ops.ioctl_tcgets(n),s=Be.get();T[s>>2]=o.c_iflag||0,T[s+4>>2]=o.c_oflag||0,T[s+8>>2]=o.c_cflag||0,T[s+12>>2]=o.c_lflag||0;for(var a=0;a<32;a++)R[s+a+17>>0]=o.c_cc[a]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){s=Be.get();var i=T[s>>2],u=T[s+4>>2],c=T[s+8>>2],l=T[s+12>>2],d=[];for(a=0;a<32;a++)d.push(R[s+a+17>>0]);return n.tty.ops.ioctl_tcsets(n.tty,t,{c_iflag:i,c_oflag:u,c_cflag:c,c_lflag:l,c_cc:d})}return 0;case 21519:return n.tty?(s=Be.get(),T[s>>2]=0,0):-59;case 21520:return n.tty?-28:-59;case 21531:return s=Be.get(),Re.ioctl(n,t,s);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var p=n.tty.ops.ioctl_tiocgwinsz(n.tty);s=Be.get(),B[s>>1]=p[0],B[s+2>>1]=p[1]}return 0;default:return-28}}catch(e){if(void 0===Re||"ErrnoError"!==e.name)throw e;return-e.errno}},xb:function(e,t){try{return e=Be.getStr(e),Be.doStat(Re.lstat,e,t)}catch(e){if(void 0===Re||"ErrnoError"!==e.name)throw e;return-e.errno}},yb:function(e,t,r,n){try{t=Be.getStr(t);var o=256&n,s=4096&n;return n&=-6401,t=Be.calculateAt(e,t,s),Be.doStat(o?Re.lstat:Re.stat,t,r)}catch(e){if(void 0===Re||"ErrnoError"!==e.name)throw e;return-e.errno}},qa:function(e,t,r,n){Be.varargs=n;try{t=Be.getStr(t),t=Be.calculateAt(e,t);var o=n?Be.get():0;return Re.open(t,r,o).fd}catch(e){if(void 0===Re||"ErrnoError"!==e.name)throw e;return-e.errno}},zb:function(e,t){try{return e=Be.getStr(e),Be.doStat(Re.stat,e,t)}catch(e){if(void 0===Re||"ErrnoError"!==e.name)throw e;return-e.errno}},va:function(e){var t=Ie[e];delete Ie[e];var r=t.elements,n=r.length,o=r.map((function(e){return e.getterReturnType})).concat(r.map((function(e){return e.setterArgumentType}))),s=t.rawConstructor,a=t.rawDestructor;Ue([e],o,(function(e){return r.forEach(((t,r)=>{var o=e[r],s=t.getter,a=t.getterContext,i=e[r+n],u=t.setter,c=t.setterContext;t.read=e=>o.fromWireType(s(a,e)),t.write=(e,t)=>{var r=[];u(c,e,i.toWireType(r,t)),Te(r)}})),[{name:t.name,fromWireType:function(e){for(var t=new Array(n),o=0;o<n;++o)t[o]=r[o].read(e);return a(e),t},toWireType:function(e,o){if(n!==o.length)throw new TypeError(`Incorrect number of tuple elements for ${t.name}: expected=${n}, actual=${o.length}`);for(var i=s(),u=0;u<n;++u)r[u].write(i,o[u]);return null!==e&&e.push(a,i),i},argPackAdvance:8,readValueFromPointer:qe,destructorFunction:a}]}))},y:function(e){var t=Ve[e];delete Ve[e];var r=t.rawConstructor,n=t.rawDestructor,o=t.fields;Ue([e],o.map((e=>e.getterReturnType)).concat(o.map((e=>e.setterArgumentType))),(e=>{var s={};return o.forEach(((t,r)=>{var n=t.fieldName,a=e[r],i=t.getter,u=t.getterContext,c=e[r+o.length],l=t.setter,d=t.setterContext;s[n]={read:e=>a.fromWireType(i(u,e)),write:(e,t)=>{var r=[];l(d,e,c.toWireType(r,t)),Te(r)}}})),[{name:t.name,fromWireType:function(e){var t={};for(var r in s)t[r]=s[r].read(e);return n(e),t},toWireType:function(e,t){for(var o in s)if(!(o in t))throw new TypeError(`Missing field: "${o}"`);var a=r();for(o in s)s[o].write(a,t[o]);return null!==e&&e.push(n,a),a},argPackAdvance:8,readValueFromPointer:qe,destructorFunction:n}]}))},za:function(e,t,r,n,o){t=He(t);var s=Ye(r),a=-1!=t.indexOf("u");a&&(o=(1n<<64n)-1n),Ge(e,{name:t,fromWireType:function(e){return e},toWireType:function(e,r){if("bigint"!=typeof r&&"number"!=typeof r)throw new TypeError(`Cannot convert "${$e(r)}" to ${this.name}`);if(r<n||r>o)throw new TypeError(`Passing a number "${$e(r)}" from JS side to C/C++ side to an argument of type "${t}", which is outside the valid range [${n}, ${o}]!`);return r},argPackAdvance:8,readValueFromPointer:ze(t,s,!a),destructorFunction:null})},ke:function(e,t,r,n,o){var s=Ye(r);Ge(e,{name:t=He(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?n:o},argPackAdvance:8,readValueFromPointer:function(e){var n;if(1===r)n=R;else if(2===r)n=B;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+t);n=T}return this.fromWireType(n[e>>s])},destructorFunction:null})},v:function(e,t,r,n,o,s,a,i,u,c,l,d,p){l=He(l),s=Lt(o,s),i&&(i=Lt(a,i)),c&&(c=Lt(u,c)),p=Lt(d,p);var f=_t(l);Ct(f,(function(){Ut(`Cannot construct ${l} due to unbound types`,[n])})),Ue([e,t,r],n?[n]:[],(function(t){var r,o;t=t[0],o=n?(r=t.registeredClass).instancePrototype:bt.prototype;var a=kt(f,(function(){if(Object.getPrototypeOf(this)!==u)throw new je("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new je(l+" has no accessible constructor");var e=d.constructor_body[arguments.length];if(void 0===e)throw new je(`Tried to invoke ctor of ${l} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),u=Object.create(o,{constructor:{value:a}});a.prototype=u;var d=new At(l,a,u,p,r,s,i,c);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var g=new Tt(l,d,!0,!1,!1),m=new Tt(l+"*",d,!1,!1,!1),h=new Tt(l+" const*",d,!1,!0,!1);return tt[e]={pointerType:m,constPointerType:h},qt(f,a),[g,m,h]}))},w:function(e,t,r,n,o,s){var a=Vt(t,r);o=Lt(n,o),Ue([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new je(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Ut(`Cannot construct ${e.name} due to unbound types`,a)},Ue([],a,(function(n){return n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Nt(r,n,null,o,s),[]})),[]}))},d:function(e,t,r,n,o,s,a,i,u){var c=Vt(r,n);t=He(t),s=Lt(o,s),Ue([],[e],(function(e){var n=`${(e=e[0]).name}.${t}`;function o(){Ut(`Cannot call ${n} due to unbound types`,c)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),i&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,d=l[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(o.argCount=r-2,o.className=e.name,l[t]=o):(wt(l,t,n),l[t].overloadTable[r-2]=o),Ue([],c,(function(o){var i=Nt(n,o,e,s,a,u);return void 0===l[t].overloadTable?(i.argCount=r-2,l[t]=i):l[t].overloadTable[r-2]=i,[]})),[]}))},je:function(e,t){Ge(e,{name:t=He(t),fromWireType:function(e){var t=zt.toValue(e);return Wt(e),t},toWireType:function(e,t){return zt.toHandle(t)},argPackAdvance:8,readValueFromPointer:qe,destructorFunction:null})},W:function(e,t,r,n){var o=Ye(r);function s(){}t=He(t),s.values={},Ge(e,{name:t,constructor:s,fromWireType:function(e){return this.constructor.values[e]},toWireType:function(e,t){return t.value},argPackAdvance:8,readValueFromPointer:Yt(t,o,n),destructorFunction:null}),Ct(t,s)},I:function(e,t,r){var n=Xt(e,"enum");t=He(t);var o=n.constructor,s=Object.create(n.constructor.prototype,{value:{value:r},constructor:{value:kt(`${n.name}_${t}`,(function(){}))}});o.values[r]=s,o[t]=s},ya:function(e,t,r){var n=Ye(r);Ge(e,{name:t=He(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:Qt(t,n),destructorFunction:null})},L:function(e,t,r,n,o,s,a){var i=Vt(t,r);e=He(e),o=Lt(n,o),Ct(e,(function(){Ut(`Cannot call ${e} due to unbound types`,i)}),t-1),Ue([],i,(function(r){var n=[r[0],null].concat(r.slice(1));return qt(e,Nt(e,n,null,o,s,a),t-1),[]}))},R:function(e,t,r,n,o){t=He(t),-1===o&&(o=4294967295);var s=Ye(r),a=e=>e;if(0===n){var i=32-8*r;a=e=>e<<i>>>i}var u=t.includes("unsigned");Ge(e,{name:t,fromWireType:a,toWireType:u?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:ze(t,s,0!==n),destructorFunction:null})},C:function(e,t,r){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];function o(e){var t=q,r=t[e>>=2],o=t[e+1];return new n(t.buffer,o,r)}Ge(e,{name:r=He(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},He:function(e,t,r,n,o,s,a,i,u,c,l,d){r=He(r),s=Lt(o,s),i=Lt(a,i),c=Lt(u,c),d=Lt(l,d),Ue([e],[t],(function(e){return e=e[0],[new Tt(r,e.registeredClass,!1,!1,!0,e,n,s,i,c,d)]}))},xa:function(e,t){var r="std::string"===(t=He(t));Ge(e,{name:t,fromWireType:function(e){var t,n=q[e>>2],o=e+4;if(r)for(var s=o,a=0;a<=n;++a){var i=o+a;if(a==n||0==x[i]){var u=xe(s,i-s);void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),s=i+1}}else{var c=new Array(n);for(a=0;a<n;++a)c[a]=String.fromCharCode(x[o+a]);t=c.join("")}return zu(e),t},toWireType:function(e,t){var n;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var o="string"==typeof t;o||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||We("Cannot pass non-string to std::string"),n=r&&o?_e(t):t.length;var s=Gu(4+n+1),a=s+4;if(q[s>>2]=n,r&&o)Kt(t,a,n+1);else if(o)for(var i=0;i<n;++i){var u=t.charCodeAt(i);u>255&&(zu(a),We("String has UTF-16 code units that do not fit in 8 bits")),x[a+i]=u}else for(i=0;i<n;++i)x[a+i]=t[i];return null!==e&&e.push(zu,s),s},argPackAdvance:8,readValueFromPointer:qe,destructorFunction:function(e){zu(e)}})},ga:function(e,t,r){var n,o,s,a,i;r=He(r),2===t?(n=Jt,o=er,a=tr,s=()=>I,i=1):4===t&&(n=rr,o=nr,a=or,s=()=>q,i=2),Ge(e,{name:r,fromWireType:function(e){for(var r,o=q[e>>2],a=s(),u=e+4,c=0;c<=o;++c){var l=e+4+c*t;if(c==o||0==a[l>>i]){var d=n(u,l-u);void 0===r?r=d:(r+=String.fromCharCode(0),r+=d),u=l+t}}return zu(e),r},toWireType:function(e,n){"string"!=typeof n&&We(`Cannot pass non-string to C++ string type ${r}`);var s=a(n),u=Gu(4+s+t);return q[u>>2]=s>>i,o(n,u+4,s+t),null!==e&&e.push(zu,u),u},argPackAdvance:8,readValueFromPointer:qe,destructorFunction:function(e){zu(e)}})},wa:function(e,t,r,n,o,s){Ie[e]={name:He(t),rawConstructor:Lt(r,n),rawDestructor:Lt(o,s),elements:[]}},Q:function(e,t,r,n,o,s,a,i,u){Ie[e].elements.push({getterReturnType:t,getter:Lt(r,n),getterContext:o,setterArgumentType:s,setter:Lt(a,i),setterContext:u})},z:function(e,t,r,n,o,s){Ve[e]={name:He(t),rawConstructor:Lt(r,n),rawDestructor:Lt(o,s),fields:[]}},n:function(e,t,r,n,o,s,a,i,u,c){Ve[e].fields.push({fieldName:He(t),getterReturnType:r,getter:Lt(n,o),getterContext:s,setterArgumentType:a,setter:Lt(i,u),setterContext:c})},le:function(e,t){Ge(e,{isVoid:!0,name:t=He(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},Db:()=>!0,jb:()=>{throw 1/0},j:function(e,t,r){e=zt.toValue(e),t=Xt(t,"emval::as");var n=[],o=zt.toHandle(n);return q[r>>2]=o,t.toWireType(n,e)},s:function(e,t,r,n){e=zt.toValue(e);for(var o=sr(t,r),s=new Array(t),a=0;a<t;++a){var i=o[a];s[a]=i.readValueFromPointer(n),n+=i.argPackAdvance}var u=e.apply(void 0,s);return zt.toHandle(u)},X:function(e,t,r,n,o){return(e=ur[e])(t=zt.toValue(t),r=ir(r),function(e){var t=[];return q[e>>2]=zt.toHandle(t),t}(n),o)},P:function(e,t,r,n){(e=ur[e])(t=zt.toValue(t),r=ir(r),null,n)},c:Wt,fe:function(e,t){return(e=zt.toValue(e))==(t=zt.toValue(t))},E:function(e){return 0===e?zt.toHandle(cr()):(e=ir(e),zt.toHandle(cr()[e]))},J:function(e,t){var r=sr(e,t),n=r[0],o=n.name+"_$"+r.slice(1).map((function(e){return e.name})).join("_")+"$",s=lr[o];if(void 0!==s)return s;for(var a=["retType"],i=[n],u="",c=0;c<e-1;++c)u+=(0!==c?", ":"")+"arg"+c,a.push("argType"+c),i.push(r[1+c]);var l="return function "+_t("methodCaller_"+o)+"(handle, name, destructors, args) {\n",d=0;for(c=0;c<e-1;++c)l+=" var arg"+c+" = argType"+c+".readValueFromPointer(args"+(d?"+"+d:"")+");\n",d+=r[c+1].argPackAdvance;for(l+=" var rv = handle[name]("+u+");\n",c=0;c<e-1;++c)r[c+1].deleteObject&&(l+=" argType"+c+".deleteObject(arg"+c+");\n");n.isVoid||(l+=" return retType.toWireType(destructors, rv);\n"),l+="};\n",a.push(l);var p,f,g=$t(Function,a).apply(null,i);return p=g,f=ur.length,ur.push(p),s=f,lr[o]=s,s},h:function(e,t){return e=zt.toValue(e),t=zt.toValue(t),zt.toHandle(e[t])},e:function(e){e>4&&(jt.get(e).refcount+=1)},aa:function(e,t){return(e=zt.toValue(e))instanceof(t=zt.toValue(t))},fa:function(e){return"number"==typeof(e=zt.toValue(e))},N:function(e){return"string"==typeof(e=zt.toValue(e))},Ae:function(e,t,r,n){e=zt.toValue(e);var o=dr[t];return o||(o=function(e){for(var t="",r=0;r<e;++r)t+=(0!==r?", ":"")+"arg"+r;var n="return function emval_allocator_"+e+"(constructor, argTypes, args) {\n var HEAPU32 = getMemory();\n";for(r=0;r<e;++r)n+="var argType"+r+" = requireRegisteredType(HEAPU32[((argTypes)>>2)], 'parameter "+r+"');\nvar arg"+r+" = argType"+r+".readValueFromPointer(args);\nargs += argType"+r+"['argPackAdvance'];\nargTypes += 4;\n";return n+="var obj = new constructor("+t+");\nreturn valueToHandle(obj);\n}\n",new Function("requireRegisteredType","Module","valueToHandle","getMemory",n)(Xt,u,zt.toHandle,(()=>q))}(t),dr[t]=o),o(e,r,n)},H:function(){return zt.toHandle([])},g:function(e){return zt.toHandle(ir(e))},B:function(){return zt.toHandle({})},i:function(e){Te(zt.toValue(e)),Wt(e)},m:function(e,t,r){e=zt.toValue(e),t=zt.toValue(t),r=zt.toValue(r),e[t]=r},f:function(e,t){var r=(e=Xt(e,"_emval_take_value")).readValueFromPointer(t);return zt.toHandle(r)},ue:function(e){throw e=zt.toValue(e)},Qc:function(e){return e=zt.toValue(e),zt.toHandle(typeof e)},qb:function(e,t){e=gr(e),t=gr(t);var r=new Date(1e3*e);T[t>>2]=r.getUTCSeconds(),T[t+4>>2]=r.getUTCMinutes(),T[t+8>>2]=r.getUTCHours(),T[t+12>>2]=r.getUTCDate(),T[t+16>>2]=r.getUTCMonth(),T[t+20>>2]=r.getUTCFullYear()-1900,T[t+24>>2]=r.getUTCDay();var n=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),o=(r.getTime()-n)/864e5|0;T[t+28>>2]=o},sb:function(e,t){e=gr(e),t=gr(t);var r=new Date(1e3*e);T[t>>2]=r.getSeconds(),T[t+4>>2]=r.getMinutes(),T[t+8>>2]=r.getHours(),T[t+12>>2]=r.getDate(),T[t+16>>2]=r.getMonth(),T[t+20>>2]=r.getFullYear()-1900,T[t+24>>2]=r.getDay();var n=0|vr(r);T[t+28>>2]=n,T[t+36>>2]=-60*r.getTimezoneOffset();var o=new Date(r.getFullYear(),0,1),s=new Date(r.getFullYear(),6,1).getTimezoneOffset(),a=o.getTimezoneOffset(),i=0|(s!=a&&r.getTimezoneOffset()==Math.min(a,s));T[t+32>>2]=i},tb:function(e){e=gr(e);var t=(()=>{var t=new Date(T[e+20>>2]+1900,T[e+16>>2],T[e+12>>2],T[e+8>>2],T[e+4>>2],T[e>>2],0),r=T[e+32>>2],n=t.getTimezoneOffset(),o=new Date(t.getFullYear(),0,1),s=new Date(t.getFullYear(),6,1).getTimezoneOffset(),a=o.getTimezoneOffset(),i=Math.min(a,s);if(r<0)T[e+32>>2]=Number(s!=a&&i==n);else if(r>0!=(i==n)){var u=Math.max(a,s),c=r>0?i:u;t.setTime(t.getTime()+6e4*(c-n))}T[e+24>>2]=t.getDay();var l=0|vr(t);return T[e+28>>2]=l,T[e>>2]=t.getSeconds(),T[e+4>>2]=t.getMinutes(),T[e+8>>2]=t.getHours(),T[e+12>>2]=t.getDate(),T[e+16>>2]=t.getMonth(),T[e+20>>2]=t.getYear(),t.getTime()/1e3})();return BigInt(t)},ob:function(e,t,r,n,o,s,a){e=gr(e),o=gr(o),s=gr(s),a=gr(a);try{if(isNaN(o))return 61;var i=Be.getStreamFromFD(n),u=Re.mmap(i,e,o,t,r),c=u.ptr;return T[s>>2]=u.allocated,q[a>>2]=c,0}catch(e){if(void 0===Re||"ErrnoError"!==e.name)throw e;return-e.errno}},pb:function(e,t,r,n,o,s){e=gr(e),t=gr(t),s=gr(s);try{if(isNaN(s))return 61;var a=Be.getStreamFromFD(o);2&r&&Be.doMsync(e,a,t,n,s),Re.munmap(a)}catch(e){if(void 0===Re||"ErrnoError"!==e.name)throw e;return-e.errno}},kb:(e,t,r)=>{var n=(new Date).getFullYear(),o=new Date(n,0,1),s=new Date(n,6,1),a=o.getTimezoneOffset(),i=s.getTimezoneOffset(),u=Math.max(a,i);function c(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}q[e>>2]=60*u,T[t>>2]=Number(a!=i);var l=c(o),d=c(s),p=_r(l),f=_r(d);i<a?(q[r>>2]=p,q[r+4>>2]=f):(q[r>>2]=f,q[r+4>>2]=p)},b:()=>{J("")},oa:function(e,t,r,n,o){return Sr.chooseConfig(e,t,r,n,o)},pa:function(e,t,r,n){if(62e3!=e)return Sr.setErrorCode(12296),0;for(var o=1;;){var s=T[n>>2];if(12440!=s){if(12344==s)break;return Sr.setErrorCode(12292),0}o=T[n+4>>2],n+=8}return o<2||o>3?(Sr.setErrorCode(12293),0):(Sr.contextAttributes.majorVersion=o-1,Sr.contextAttributes.minorVersion=0,Sr.context=Fr.createContext(u.canvas,Sr.contextAttributes),0!=Sr.context?(Sr.setErrorCode(12288),Fr.makeContextCurrent(Sr.context),u.useWebGL=!0,Pr.moduleContextCreatedCallbacks.forEach((function(e){e()})),Fr.makeContextCurrent(null),62004):(Sr.setErrorCode(12297),0))},bb:function(e,t,r,n){return 62e3!=e?(Sr.setErrorCode(12296),0):62002!=t?(Sr.setErrorCode(12293),0):(Sr.setErrorCode(12288),62006)},lc:function(e,t){return 62e3!=e?(Sr.setErrorCode(12296),0):62004!=t?(Sr.setErrorCode(12294),0):(Fr.deleteContext(Sr.context),Sr.setErrorCode(12288),Sr.currentContext==t&&(Sr.currentContext=0),1)},ac:function(e,t){return 62e3!=e?(Sr.setErrorCode(12296),0):62006!=t?(Sr.setErrorCode(12301),1):(Sr.currentReadSurface==t&&(Sr.currentReadSurface=0),Sr.currentDrawSurface==t&&(Sr.currentDrawSurface=0),Sr.setErrorCode(12288),1)},T:function(e,t,r,n){if(62e3!=e)return Sr.setErrorCode(12296),0;if(62002!=t)return Sr.setErrorCode(12293),0;if(!n)return Sr.setErrorCode(12300),0;switch(Sr.setErrorCode(12288),r){case 12320:return T[n>>2]=Sr.contextAttributes.alpha?32:24,1;case 12321:return T[n>>2]=Sr.contextAttributes.alpha?8:0,1;case 12322:case 12323:case 12324:return T[n>>2]=8,1;case 12325:return T[n>>2]=Sr.contextAttributes.depth?24:0,1;case 12326:return T[n>>2]=Sr.contextAttributes.stencil?8:0,1;case 12327:case 12335:case 12340:return T[n>>2]=12344,1;case 12328:return T[n>>2]=62002,1;case 12329:case 12333:case 12334:case 12345:case 12346:case 12347:case 12349:case 12350:case 12354:return T[n>>2]=0,1;case 12330:case 12332:return T[n>>2]=4096,1;case 12331:return T[n>>2]=16777216,1;case 12337:return T[n>>2]=Sr.contextAttributes.antialias?4:0,1;case 12338:return T[n>>2]=Sr.contextAttributes.antialias?1:0,1;case 12339:case 12352:return T[n>>2]=4,1;case 12341:case 12342:case 12343:return T[n>>2]=-1,1;case 12348:return T[n>>2]=1,1;case 12351:return T[n>>2]=12430,1;default:return Sr.setErrorCode(12292),0}},rb:function(e){return Sr.setErrorCode(12288),62e3},ta:function(){return Sr.errorCode},gb:function(e,t,r){return 62e3!=e?(Sr.setErrorCode(12296),0):(t&&(T[t>>2]=1),r&&(T[r>>2]=4),Sr.defaultDisplayInitialized=!0,Sr.setErrorCode(12288),1)},Bb:function(e,t,r,n){return 62e3!=e?(Sr.setErrorCode(12296),0):0!=n&&62004!=n?(Sr.setErrorCode(12294),0):0!=r&&62006!=r||0!=t&&62006!=t?(Sr.setErrorCode(12301),0):(Fr.makeContextCurrent(n?Sr.context:null),Sr.currentContext=n,Sr.currentDrawSurface=t,Sr.currentReadSurface=r,Sr.setErrorCode(12288),1)},ua:function(e,t){if(Sr.defaultDisplayInitialized)if(u.ctx){if(!u.ctx.isContextLost())return Sr.setErrorCode(12288),1;Sr.setErrorCode(12302)}else Sr.setErrorCode(12290);else Sr.setErrorCode(12289);return 0},Rb:function(e){return 62e3!=e?(Sr.setErrorCode(12296),0):(Sr.currentContext=0,Sr.currentReadSurface=0,Sr.currentDrawSurface=0,Sr.defaultDisplayInitialized=!1,Sr.setErrorCode(12288),1)},K:(e,t,r)=>Lr(e,t,r),xe:e=>{console.error(xe(e))},ye:e=>{console.log(xe(e))},ia:e=>{console.warn(xe(e))},ca:function(){return Date.now()},ne:function(){},lb:()=>2147483648,Cb:mr,Xf:Mr,Yf:Or,Zc:Ur,ee:Vr,Lc:$r,Zf:Nr,_f:Hr,Ic:jr,Jc:Wr,Ze:Gr,_e:zr,Je:Yr,$f:Xr,Xb:Qr,tf:Zr,wf:Jr,ag:en,bg:tn,Td:rn,cg:nn,Sd:on,Te:sn,dg:an,eg:un,$e:cn,fg:ln,mc:dn,nc:pn,pc:fn,oc:gn,gg:mn,Rd:hn,hg:bn,Fa:yn,ig:vn,jg:_n,kg:kn,cd:wn,lg:Cn,bd:An,Re:En,Qd:Pn,mg:Sn,dd:Rn,ng:xn,og:Bn,pg:In,qg:Tn,af:qn,rg:Fn,$c:Dn,he:Ln,bf:Mn,Ke:On,sg:Un,Se:Vn,tg:$n,Wb:Nn,uf:jn,xf:Wn,Pd:Gn,ug:zn,Od:Yn,Nd:Xn,vg:Qn,wg:Kn,xg:Zn,rf:eo,Wd:to,Ib:ro,pf:no,id:oo,Jb:so,nf:uo,gd:co,Xd:lo,yg:fo,sf:mo,Vd:ho,Gb:bo,qf:yo,Hb:vo,hd:_o,gf:ko,zg:wo,Ag:Co,Yc:Ao,de:Eo,Kc:Po,Pe:So,Bg:Ro,Cg:xo,cf:Bo,df:Io,Oc:To,Dg:qo,Eg:Do,ef:Lo,ad:Mo,ie:Oo,ff:Uo,Le:Vo,Fg:$o,Vb:No,vf:jo,yf:Wo,Ve:Go,Md:Yo,Ld:Xo,gc:Qo,hc:Ko,jc:Zo,Kd:Jo,Jd:es,Id:ns,bc:os,Gg:ss,Hg:as,Ig:us,yc:cs,We:ls,cc:ps,ec:fs,Mc:gs,hh:ms,Mb:hs,Qb:bs,Jg:ys,Kg:vs,_d:ks,ae:Cs,Zd:As,Wc:Es,$d:Ps,Xc:Ss,be:Rs,Xe:xs,Yb:Bs,Zb:Is,Lg:Ts,Fe:qs,Hd:Fs,Mg:Ds,Ea:Ls,ih:Ms,dc:Os,Gd:Us,Fd:Vs,Gc:$s,ic:Ns,kc:Hs,Ng:Gs,Ed:Xs,Dd:Qs,zc:Ks,Fc:ea,Ec:ta,Ad:ra,Cd:na,Bd:oa,zd:sa,Ge:aa,Ie:ia,yd:ua,xd:ca,wd:la,vd:da,_c:pa,ge:fa,ud:ga,$b:ma,td:ha,Qe:ba,Og:ya,Ub:va,Nc:ka,Yd:wa,Pg:Ca,Qg:Aa,lf:Ea,mf:Pa,Tb:Sa,Rg:Ra,sd:xa,Pb:Ba,Ob:Ia,ce:Ta,of:qa,Sg:Ma,rd:Oa,Ye:Ua,Ue:Va,Sb:$a,qd:Na,Me:Ha,_b:ja,Ne:Wa,Oe:Ga,Tg:za,pd:Ya,Ug:Xa,Vg:Qa,Wg:Ka,Xg:Za,Yg:Ja,Zg:ei,_g:ti,$g:ri,fd:ni,ah:oi,bh:si,ch:ai,dh:ii,hf:ui,Nb:ci,eh:li,ed:di,Hc:pi,fh:fi,gh:mi,Tf:hi,Uf:yi,xc:vi,tc:_i,Vf:ki,Wf:wi,Sf:Ci,Rf:Ai,wc:Ei,sc:Pi,Qf:Si,Pf:Ri,Of:xi,Nf:Bi,vc:Ii,rc:Ti,Mf:qi,Lf:Fi,zf:Di,Af:Li,uc:Mi,qc:Oi,fc:Ui,Bf:Vi,Vc:$i,Tc:Ni,Cf:Hi,Uc:ji,Rc:Wi,Df:Gi,Sc:zi,Pc:Yi,Ef:Xi,od:Qi,Ff:Ki,nd:Zi,md:Ji,Gf:eu,ld:tu,Hf:ru,kd:nu,If:ou,jf:au,Ud:iu,Kb:uu,jd:cu,Lb:lu,Dc:du,Bc:pu,Cc:fu,Ac:gu,kf:mu,Jf:hu,Kf:bu,Ga:yu,Eb:(e,t,r)=>x.copyWithin(e,t,t+r),mb:e=>{var t=x.length,r=2147483648;if((e>>>=0)>r)return!1;for(var n,o,s=1;s<=4;s*=2){var a=t*(1+.2/s);a=Math.min(a,e+100663296);var i=Math.min(r,(n=Math.max(e,a))+((o=65536)-n%o)%o);if(vu(i))return!0}return!1},Xa:function(e,t,r,n,o,s,a,i,c){const l=u.UTF8ToString(e,e+t),d=u.HEAPU8.subarray(o,o+s),p=u.emscripten_ubq_codec_audioDecoderNextHandle++,f={codec:l,sampleRate:r,numberOfChannels:n,description:d};try{const e=u.emscripten_ubq_codec_createAudioDecoder(a,i,c);AudioDecoder.isConfigSupported(f).then((t=>{e.configUnsupported=!t}),(()=>{e.configUnsupported=!0})),e.configure(f),u.emscripten_ubq_codec_audioDecoders.set(p,{audioDecoder:e,decoderConfig:f,leftBufferPtr:a,rightBufferPtr:i,bufferLength:c})}catch(e){return u.emscripten_ubq_codec_createNativeResult({error:e})}return u.emscripten_ubq_codec_createNativeResult({handle:p})},Oa:function(e,t,r,n,o,s){const a=u.UTF8ToString(e,e+t),i=u.emscripten_ubq_codec_audioEncoderNextHandle++,c={codec:a,sampleRate:r,numberOfChannels:n,bitrate:o};try{const e=new AudioEncoder({output:e=>{const t=u._malloc(e.byteLength),r=u.HEAPU8.subarray(t,t+e.byteLength);e.copyTo(r),u.emscripten_ubq_codec_onOutputEncodedAudioChunk(i,t,e.byteLength,s),u._free(t)},error:e=>console.error(e)});e.configure(c),u.emscripten_ubq_codec_audioEncoders.set(i,{audioEncoder:e,audioEncoderConfig:c,frameIndex:0})}catch(e){return e+=' Requested codec: "'+a+'"',e+="; sample rate: "+r,e+="; channels: "+n,e+="; bit rate: "+o,u.emscripten_ubq_codec_createNativeResult({error:e})}return u.emscripten_ubq_codec_createNativeResult({handle:i})},ab:function(e,t,r,n,o,s,a){const i=u.UTF8ToString(e,e+t),c=u.HEAPU8.subarray(o,o+s),l=u.emscripten_ubq_codec_videoDecoderNextHandle++,d={codec:i,codedWidth:r,codedHeight:n,description:c,optimizeForLatency:!0};try{const e=u.emscripten_ubq_codec_createVideoDecoder(l,a);VideoDecoder.isConfigSupported(d).then((t=>{e.configUnsupported=!t}),(()=>{e.configUnsupported=!0})),e.configure(d),u.emscripten_ubq_codec_videoDecoders.set(l,{videoDecoder:e,decoderConfig:d,codecServicePtr:a})}catch(e){return u.emscripten_ubq_codec_createNativeResult({error:e})}return u.emscripten_ubq_codec_createNativeResult({handle:l})},Sa:function(e,t,r,n,o,s){const a=u.UTF8ToString(e,e+t),i=u.emscripten_ubq_codec_videoEncoderNextHandle++,c=u.specialHTMLTargets["!canvas"];c.width=r,c.height=n;const l={codec:a,width:r,height:n,avc:{format:"annexb"},framerate:o};try{const e=new VideoEncoder({output:e=>{const t=u._malloc(e.byteLength),r=u.HEAPU8.subarray(t,t+e.byteLength);e.copyTo(r),u.emscripten_ubq_codec_onOutputEncodedVideoChunk(i,t,e.byteLength,s),u._free(t)},error:e=>console.error(e)});VideoEncoder.isConfigSupported(l).then((t=>{e.configUnsupported=!t}),(()=>{e.configUnsupported=!0})),e.configure(l),u.emscripten_ubq_codec_videoEncoders.set(i,{videoEncoder:e,encoderConfig:l,groupOfPictures:150,frameIndex:0})}catch(e){return e+=' Requested codec: "'+a+'"',e+="; resolution: "+r+"x"+n,u.emscripten_ubq_codec_createNativeResult({error:e})}return u.emscripten_ubq_codec_createNativeResult({handle:i})},Ta:function(e,t,r,n,o,s){const a=u.emscripten_ubq_codec_audioDecoders.get(e);if(a.audioDecoder.unexpectedError)return u.emscripten_ubq_codec_createNativeResult({code:2,error:a.audioDecoder.unexpectedError});"closed"===a.audioDecoder.state&&(a.audioDecoder=u.emscripten_ubq_codec_createAudioDecoder(a.leftBufferPtr,a.rightBufferPtr,a.bufferLength),a.audioDecoder.configure(a.decoderConfig));const i=a.audioDecoder,c=u.HEAPU8.subarray(o,o+s),l=new EncodedAudioChunk({type:t?"key":"delta",timestamp:r,duration:n,data:c});try{i.decode(l)}catch(e){return i.configUnsupported?u.emscripten_ubq_codec_createNativeResult({code:2,error:e}):u.emscripten_ubq_codec_createNativeResult({code:1,error:e})}return u.emscripten_ubq_codec_createNativeResult({code:0})},Ka:function(e,t,r,n,o,s){const a=u.emscripten_ubq_codec_videoDecoders.get(e);if(a.videoDecoder.unexpectedError)return u.emscripten_ubq_codec_createNativeResult({code:2,error:a.videoDecoder.unexpectedError});if("closed"===a.videoDecoder.state){const t=a.videoDecoder.textures;return a.videoDecoder=u.emscripten_ubq_codec_createVideoDecoder(e,a.codecServicePtr),a.videoDecoder.textures=t,a.videoDecoder.configure(a.decoderConfig),u.emscripten_ubq_codec_createNativeResult({code:1,error:"VideoDecoder was closed"})}const i=a.videoDecoder,c=u.HEAPU8.subarray(o,o+s),l=new EncodedVideoChunk({type:t?"key":"delta",timestamp:r,duration:n,data:c});try{i.decode(l)}catch(e){return i.configUnsupported?u.emscripten_ubq_codec_createNativeResult({code:2,error:e}):u.emscripten_ubq_codec_createNativeResult({code:1,error:e})}return u.emscripten_ubq_codec_createNativeResult({code:0})},Wa:function(e){if(u.emscripten_ubq_codec_audioDecoders.has(e)){const t=u.emscripten_ubq_codec_audioDecoders.get(e);"closed"!==t.audioDecoder.state&&t.audioDecoder.close(),u.emscripten_ubq_codec_audioDecoders.delete(e)}},Na:function(e){const t=u.emscripten_ubq_codec_audioEncoders.get(e);"closed"!==t.audioEncoder.state&&t.audioEncoder.close(),u.emscripten_ubq_codec_audioEncoders.delete(e)},_a:function(e){if(u.emscripten_ubq_codec_videoDecoders.has(e)){const t=u.emscripten_ubq_codec_videoDecoders.get(e);"closed"!==t.videoDecoder.state&&t.videoDecoder.close(),u.emscripten_ubq_codec_videoDecoders.delete(e)}},Ra:function(e){const t=u.emscripten_ubq_codec_videoEncoders.get(e);"closed"!==t.videoEncoder.state&&t.videoEncoder.close(),u.emscripten_ubq_codec_videoEncoders.delete(e)},Ma:function(e,t,r){const n=1e6,o=u.emscripten_ubq_codec_audioEncoders.get(e),s=o.audioEncoderConfig.sampleRate,a=o.audioEncoderConfig.numberOfChannels,i=r/a,c=Math.round(n*(o.frameIndex*i/s)),l=Math.round(n*(i/s)),d=u.HEAPF32.subarray(t/4,t/4+r),p=new AudioData({format:"f32",sampleRate:s,numberOfFrames:i,numberOfChannels:a,duration:l,timestamp:c,data:d});o.audioEncoder.encode(p),o.frameIndex++,p.close()},Qa:function(e,t,r){const n=1e6,o=u.emscripten_ubq_codec_videoEncoders.get(e),s=Math.round(n*(o.frameIndex/o.encoderConfig.framerate)),a=o.frameIndex%o.groupOfPictures==0,i=Math.round(n/o.encoderConfig.framerate),c=u.specialHTMLTargets["!canvas"],l=new VideoFrame(c,{timestamp:s,duration:i});o.videoEncoder.encode(l,{keyFrame:a}),l.close(),o.frameIndex++},La:async function(e,t){const r=u.emscripten_ubq_codec_audioEncoders.get(e);await r.audioEncoder.flush(),u.emscripten_ubq_codec_onFinalizedAudioEncoding(e,t)},Pa:async function(e,t){const r=u.emscripten_ubq_codec_videoEncoders.get(e);await r.videoEncoder.flush(),u.emscripten_ubq_codec_onFinalizedVideoEncoding(e,t)},Va:async function(e,t){const r=u.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder;r.flushing=!0;try{await r.flush()}catch{}r.flushing=!1,r.writtenFrames=t},Z:async function(e,t,r){const n=u.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder;n.shouldDropFrames=r,n.flushing=!0;try{await n.flush()}catch{}n.flushing=!1,n.shouldDropFrames=!1,n.decodedFrames=t},la:function(e){return u.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.decodeQueueSize},ma:function(e){return u.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.decodedFrames},Y:function(e){return u.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.writtenFrames},Ua:function(e){return u.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.flushing},Za:function(e){return u.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.flushing},_:function(){return"undefined"!=typeof VideoFrame&&"undefined"!=typeof VideoDecoder&&"undefined"!=typeof VideoEncoder&&"undefined"!=typeof AudioDecoder&&"undefined"!=typeof AudioEncoder},Ya:function(e,t){u.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.requestedFrame=t},$a:function(e,t,r){const n=u.emscripten_ubq_codec_videoDecoders.get(e),o=u.HEAPU32.subarray(t/4,t/4+r);n.videoDecoder.textures=[];for(let e=0;e<r;e++)n.videoDecoder.textures[e]=Fr.textures[o[e]]},re:function(e){const t=u.emscripten_ubq_asyncFetchManager.getProcess(e);return!!(null==t?void 0:t.allocate())},Ba:function(){u.emscripten_ubq_asyncFetchManager.clear()},ha:function(e,t,r,n){return u.emscripten_ubq_asyncFetchManager.createHeader(e,t,r,n)},ve:function(e){u.emscripten_ubq_asyncFetchManager.deleteHeader(e)},we:function(e,t,r,n,o,s,a,i,c){return u.emscripten_ubq_asyncFetchManager.fetch(e,t,r,n,o,s,a,i,c).handle},oe:function(e){return u.emscripten_ubq_asyncFetchManager.deleteProcess(e)},te:function(e){var t,r;return null!==(r=null===(t=u.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.receivedLength)&&void 0!==r?r:0},qe:function(e){const t=u.emscripten_ubq_asyncFetchManager.getProcess(e);return(null==t?void 0:t.isAllocated())?t.resultAddress:-1},pe:function(e){const t=u.emscripten_ubq_asyncFetchManager.getProcess(e);return(null==t?void 0:t.isAllocated())?t.resultLength:-1},Aa:function(e){var t,r;return null!==(r=null===(t=u.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.state)&&void 0!==r?r:-1},se:function(e){var t,r;return null!==(r=null===(t=u.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.totalBytes)&&void 0!==r?r:0},db:function(){return!!u.emscripten_ubq_settings_forceWebGL1},na:Su,$:function(e){Fr.currentContext==e&&(Fr.currentContext=0),Fr.deleteContext(e)},eb:function(e,t){var r=Fr.getContext(e),n=xe(t);return n.startsWith("GL_")&&(n=n.substr(3)),"ANGLE_instanced_arrays"==n&&Rr(Ou),"OES_vertex_array_object"==n&&xr(Ou),"WEBGL_draw_buffers"==n&&Br(Ou),"WEBGL_draw_instanced_base_vertex_base_instance"==n&&Ir(Ou),"WEBGL_multi_draw_instanced_base_vertex_base_instance"==n&&Tr(Ou),"WEBGL_multi_draw"==n&&qr(Ou),!!r.GLctx.getExtension(n)},cb:function(e){for(var t=e>>2,r=0;r<14;++r)T[t+r]=0;T[t+0]=T[t+1]=T[t+3]=T[t+4]=T[t+8]=T[t+10]=1},fb:function(e){return Fr.makeContextCurrent(e)?0:-5},vb:(e,t)=>{var r=0;return xu().forEach((function(n,o){var s=t+r;q[e+4*o>>2]=s,((e,t)=>{for(var r=0;r<e.length;++r)R[t++>>0]=e.charCodeAt(r);R[t>>0]=0})(n,s),r+=n.length+1})),0},wb:(e,t)=>{var r=xu();q[e>>2]=r.length;var n=0;return r.forEach((function(e){n+=e.length+1})),q[t>>2]=n,0},ze:Cr,da:function(e){try{var t=Be.getStreamFromFD(e);return Re.close(t),0}catch(e){if(void 0===Re||"ErrnoError"!==e.name)throw e;return e.errno}},nb:function(e,t,r,n,o){t=gr(t),r=gr(r),n=gr(n),o=gr(o);try{if(isNaN(n))return 61;var s=Be.getStreamFromFD(e),a=Bu(s,t,r,n);return q[o>>2]=a,0}catch(e){if(void 0===Re||"ErrnoError"!==e.name)throw e;return e.errno}},sa:function(e,t,r,n){try{var o=Be.getStreamFromFD(e),s=Bu(o,t,r);return q[n>>2]=s,0}catch(e){if(void 0===Re||"ErrnoError"!==e.name)throw e;return e.errno}},ub:function(e,t,r,n){t=gr(t),n=gr(n);try{if(isNaN(t))return 61;var o=Be.getStreamFromFD(e);return Re.llseek(o,t,r),D[n>>3]=BigInt(o.position),o.getdents&&0===t&&0===r&&(o.getdents=null),0}catch(e){if(void 0===Re||"ErrnoError"!==e.name)throw e;return e.errno}},ra:function(e,t,r,n){try{var o=((e,t,r,n)=>{for(var o=0,s=0;s<r;s++){var a=q[t>>2],i=q[t+4>>2];t+=8;var u=Re.write(e,R,a,i,n);if(u<0)return-1;o+=u,void 0!==n&&(n+=u)}return o})(Be.getStreamFromFD(e),t,r);return q[n>>2]=o,0}catch(e){if(void 0===Re||"ErrnoError"!==e.name)throw e;return e.errno}},me:function(){return"undefined"!=typeof window?_r(window.location.hostname):_r("")},hb:(e,t)=>(me(x.subarray(e,e+t)),0),x:function(e,t,r){var n=tc();try{return Dt(e)(t,r)}catch(e){if(rc(n),e!==e+0)throw e;ec(1,0)}},O:function(e,t){var r=tc();try{return Dt(e)(t)}catch(e){if(rc(r),e!==e+0)throw e;ec(1,0)}},G:function(e,t,r){var n=tc();try{return Dt(e)(t,r)}catch(e){if(rc(n),e!==e+0)throw e;ec(1,0)}},l:function(e,t,r,n){var o=tc();try{return Dt(e)(t,r,n)}catch(e){if(rc(o),e!==e+0)throw e;ec(1,0)}},Ha:function(e){var t=tc();try{return Dt(e)()}catch(e){if(rc(t),e!==e+0)throw e;ec(1,0)}},ja:function(e,t,r){var n=tc();try{return Dt(e)(t,r)}catch(e){if(rc(n),e!==e+0)throw e;ec(1,0)}},r:function(e,t){var r=tc();try{return Dt(e)(t)}catch(e){if(rc(r),e!==e+0)throw e;ec(1,0)}},V:function(e,t,r,n,o,s,a,i,u,c,l,d,p,f,g,m){var h=tc();try{return Dt(e)(t,r,n,o,s,a,i,u,c,l,d,p,f,g,m)}catch(e){if(rc(h),e!==e+0)throw e;ec(1,0)}},q:function(e,t,r){var n=tc();try{return Dt(e)(t,r)}catch(e){if(rc(n),e!==e+0)throw e;ec(1,0)}},t:function(e,t,r,n){var o=tc();try{return Dt(e)(t,r,n)}catch(e){if(rc(o),e!==e+0)throw e;ec(1,0)}},U:function(e,t,r,n,o){var s=tc();try{return Dt(e)(t,r,n,o)}catch(e){if(rc(s),e!==e+0)throw e;ec(1,0)}},Ee:function(e,t,r,n,o,s){var a=tc();try{return Dt(e)(t,r,n,o,s)}catch(e){if(rc(a),e!==e+0)throw e;ec(1,0)}},Da:function(e,t,r,n,o,s,a){var i=tc();try{return Dt(e)(t,r,n,o,s,a)}catch(e){if(rc(i),e!==e+0)throw e;ec(1,0)}},Ca:function(e,t,r,n,o,s,a,i,u,c){var l=tc();try{return Dt(e)(t,r,n,o,s,a,i,u,c)}catch(e){if(rc(l),e!==e+0)throw e;ec(1,0)}},S:function(e){var t=tc();try{Dt(e)()}catch(e){if(rc(t),e!==e+0)throw e;ec(1,0)}},u:function(e,t){var r=tc();try{Dt(e)(t)}catch(e){if(rc(r),e!==e+0)throw e;ec(1,0)}},A:function(e,t,r,n){var o=tc();try{Dt(e)(t,r,n)}catch(e){if(rc(o),e!==e+0)throw e;ec(1,0)}},F:function(e,t,r){var n=tc();try{Dt(e)(t,r)}catch(e){if(rc(n),e!==e+0)throw e;ec(1,0)}},p:function(e,t,r,n){var o=tc();try{Dt(e)(t,r,n)}catch(e){if(rc(o),e!==e+0)throw e;ec(1,0)}},D:function(e,t,r,n,o){var s=tc();try{Dt(e)(t,r,n,o)}catch(e){if(rc(s),e!==e+0)throw e;ec(1,0)}},De:function(e,t,r,n,o,s){var a=tc();try{Dt(e)(t,r,n,o,s)}catch(e){if(rc(a),e!==e+0)throw e;ec(1,0)}},Be:function(e,t,r,n,o,s,a){var i=tc();try{Dt(e)(t,r,n,o,s,a)}catch(e){if(rc(i),e!==e+0)throw e;ec(1,0)}},jh:function(e,t,r,n,o,s,a,i){var u=tc();try{Dt(e)(t,r,n,o,s,a,i)}catch(e){if(rc(u),e!==e+0)throw e;ec(1,0)}},Ce:function(e,t,r,n,o,s,a,i,u,c){var l=tc();try{Dt(e)(t,r,n,o,s,a,i,u,c)}catch(e){if(rc(l),e!==e+0)throw e;ec(1,0)}},ka:function(e,t){const r=zt.toValue(t),n=u.ctx;n.bindTexture(n.TEXTURE_2D,Fr.textures[e]),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,r)},a:A,ib:(e,t,r,n,o)=>Fu(e,t,r,n)},Gu=(function(){var e,t,r,o,s={a:Wu};function a(e,t){var r,n=e.exports;return $=(E=n).mh,r=E.kh,j.unshift(r),Z(),n}if(K(),u.instantiateWasm)try{return u.instantiateWasm(s,a)}catch(e){C("Module.instantiateWasm callback failed with error: "+e),n(e)}(e=k,t=ee,r=s,o=function(e){a(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||ne(t)||b||"function"!=typeof fetch?ae(t,r,o):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(o,(function(e){return C("wasm streaming compile failed: "+e),C("falling back to ArrayBuffer instantiation"),ae(t,r,o)}))))).catch(n)}(),u._malloc=e=>(Gu=u._malloc=E.lh)(e)),zu=u._free=e=>(zu=u._free=E.nh)(e),Yu=()=>(Yu=E.oh)(),Xu=(u._ma_malloc_emscripten=(e,t)=>(u._ma_malloc_emscripten=E.ph)(e,t),u._ma_free_emscripten=(e,t)=>(u._ma_free_emscripten=E.qh)(e,t),u._ma_device_process_pcm_frames_capture__webaudio=(e,t,r)=>(Xu=u._ma_device_process_pcm_frames_capture__webaudio=E.rh)(e,t,r)),Qu=u._ma_device_process_pcm_frames_playback__webaudio=(e,t,r)=>(Qu=u._ma_device_process_pcm_frames_playback__webaudio=E.sh)(e,t,r),Ku=e=>(Ku=E.th)(e),Zu=e=>(Zu=E.uh)(e),Ju=(u.__embind_initialize_bindings=()=>(u.__embind_initialize_bindings=E.vh)(),(e,t)=>(Ju=E.wh)(e,t)),ec=(e,t)=>(ec=E.xh)(e,t),tc=()=>(tc=E.yh)(),rc=e=>(rc=E.zh)(e),nc=e=>(nc=E.Ah)(e),oc=e=>(oc=E.Bh)(e),sc=e=>(sc=E.Ch)(e),ac=(e,t,r)=>(ac=E.Dh)(e,t,r),ic=e=>(ic=E.Eh)(e);function uc(){function e(){ju||(ju=!0,u.calledRun=!0,O||(u.noFSInit||Re.init.initialized||Re.init(),Re.ignorePermissions=!1,Ce.init(),ce(j),t(u),u.onRuntimeInitialized&&u.onRuntimeInitialized(),function(){if(u.postRun)for("function"==typeof u.postRun&&(u.postRun=[u.postRun]);u.postRun.length;)e=u.postRun.shift(),G.unshift(e);var e;ce(G)}()))}Y>0||(function(){if(u.preRun)for("function"==typeof u.preRun&&(u.preRun=[u.preRun]);u.preRun.length;)e=u.preRun.shift(),H.unshift(e);var e;ce(H)}(),Y>0||(u.setStatus?(u.setStatus("Running..."),setTimeout((function(){setTimeout((function(){u.setStatus("")}),1),e()}),1)):e()))}if(u.___start_em_js=2382443,u.___stop_em_js=2382807,u.addRunDependency=K,u.removeRunDependency=Z,u.FS_createPath=Re.createPath,u.FS_createDataFile=Re.createDataFile,u.FS_createLazyFile=Re.createLazyFile,u.FS_createDevice=Re.createDevice,u.FS_unlink=Re.unlink,u.ccall=function(e,t,r,n,o){var s={string:e=>{var t=0;return null!=e&&0!==e&&(t=(e=>{var t=_e(e)+1,r=nc(t);return Kt(e,r,t),r})(e)),t},array:e=>{var t=nc(e.length);return qu(e,t),t}},a=function(e){return u["_"+e]}(e),i=[],c=0;if(n)for(var l=0;l<n.length;l++){var d=s[r[l]];d?(0===c&&(c=tc()),i[l]=d(n[l])):i[l]=n[l]}var p,f=a.apply(null,i);return p=f,0!==c&&rc(c),f=function(e){return"string"===t?xe(e):"boolean"===t?Boolean(e):e}(p),f},u.getValue=function(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return R[e>>0];case"i16":return B[e>>1];case"i32":return T[e>>2];case"i64":return D[e>>3];case"float":return F[e>>2];case"double":return M[e>>3];case"*":return q[e>>2];default:J(`invalid type for getValue: ${t}`)}},u.UTF8ToString=xe,u.specialHTMLTargets=wu,u.FS_createPreloadedFile=Re.createPreloadedFile,Q=function e(){ju||uc(),ju||(Q=e)},u.preInit)for("function"==typeof u.preInit&&(u.preInit=[u.preInit]);u.preInit.length>0;)u.preInit.pop()();return uc(),e.ready});"object"==typeof e&&"object"==typeof t?t.exports=n:"function"==typeof define&&define.amd&&define([],(()=>n))}}),src_exports={};__export(src_exports,{LogLevel:()=>LogLevel,MimeType:()=>MimeType_default,default:()=>src_default}),module.exports=__toCommonJS(src_exports);var ColorInternal,PROXY=Symbol("PROXY"),RESTORE=Symbol("RESTORE");function getter(e,t){Object.defineProperty(e[t],PROXY,{value:{type:"getter"},writable:!1})}function setter(e,t){Object.defineProperty(e[t],PROXY,{value:{type:"setter"},writable:!1})}function isRGBAColor(e){return"r"in e&&"a"in e&&void 0!==e.r&&void 0!==e.a}function isSpotColor(e){return"name"in e&&void 0!==e.name}function isCMYKColor(e){return"c"in e&&"m"in e&&"y"in e&&"k"in e&&void 0!==e.c&&void 0!==e.m&&void 0!==e.y&&void 0!==e.k}(e=>{let t;var r;(r=t=e.ColorSpace||(e.ColorSpace={}))[r.sRGB=0]="sRGB",r[r.CMYK=1]="CMYK",r[r.SpotColor=2]="SpotColor",e.toColor=function(e){switch(e.colorSpace){case 0:return{r:e.components.x,g:e.components.y,b:e.components.z,a:e.components.w};case 2:return{name:e.spotColorName,tint:e.tint,externalReference:e.externalReference};case 1:return{c:e.components.x,m:e.components.y,y:e.components.z,k:e.components.w,tint:e.tint};default:throw new Error("Unknown color space!")}},e.fromColor=function(e){if(isRGBAColor(e))return{colorSpace:0,components:{x:e.r,y:e.g,z:e.b,w:e.a},spotColorName:"",tint:1,externalReference:""};if(isCMYKColor(e))return{colorSpace:1,components:{x:e.c,y:e.m,z:e.y,w:e.k},spotColorName:"",tint:e.tint,externalReference:""};if(isSpotColor(e))return{colorSpace:2,components:{x:0,y:0,z:0,w:0},spotColorName:e.name,tint:e.tint,externalReference:e.externalReference};throw new Error("Unknown color space!")}})(ColorInternal||(ColorInternal={}));var UBQHelper=class{ubq;constructor(e){this.ubq=e}useInternalAPI(e){const t=this.ubq.getInternalAPI();try{return e(t)}finally{t.delete()}}setValue(e,t,r,n){return this.useInternalAPI((o=>unpackResult(o.setValue(e,t,r,n))))}getValue(e,t,r){return this.useInternalAPI((n=>unpackResult(n.getValue(e,t,r))))}async execute(e,t){return new Promise(((r,n)=>{this.useInternalAPI((o=>o.ubqExecute(e,t,(e=>{try{const t=unpackResult(e);r(t)}catch(e){n(e)}})))).delete()}))}};function unpackResult(e){if(e.isValid()){const t=e.value();return e.delete(),t}{const t=e.error(),r=t.publicMessage();throw t.delete(),e.delete(),new Error(r)}}function unpackAsync(e){return new Promise(((t,r)=>{e((e=>{try{const r=unpackResult(e);t(r)}catch(e){r(e)}}))}))}__decorateClass([setter],UBQHelper.prototype,"setValue",1),__decorateClass([getter],UBQHelper.prototype,"getValue",1);var cppVectorToArray_default=(e,t=!0)=>{const r=[];for(let t=0;t<e.size();t+=1)r.push(e.get(t));return t&&e.delete(),r},assetCallbacks=new WeakMap,EMPTY_RESULT={assets:[],total:0,currentPage:0,nextPage:void 0},AssetAPI=class{#e;constructor(e){this.#e=e}addSource(e){var t,r,n,o,s,a;const i=null==(t=e.getSupportedMimeTypes)?void 0:t.bind(e),u=null==(r=e.getGroups)?void 0:r.bind(e),c=null==(n=e.applyAsset)?void 0:n.bind(e),l=null==(o=e.applyAssetToBlock)?void 0:o.bind(e),d=null==(s=e.addAsset)?void 0:s.bind(e),p=null==(a=e.removeAsset)?void 0:a.bind(e),f=e.credits,g=e.license;unpackResult(this.#e.addAssetSource(e.id,(async(t,r)=>{try{const n={...t,tags:cppVectorToArray_default(t.tags),groups:cppVectorToArray_default(t.groups),excludeGroups:cppVectorToArray_default(t.excludeGroups)},o=await e.findAssets(n);if(o){const t={...o,assets:o.assets.map((t=>ensureContext(t,e.id)))};r.invoke(t)}else r.invoke(EMPTY_RESULT)}catch(e){r.invoke(e.message??"Unknown error in user-defined `findAssets`")}}),u?async e=>{try{const t=await u();e.invoke(t)}catch(t){e.invoke(t.message??"Unknown error in user-defined `getGroups`")}}:null,f?()=>({name:f.name,url:f.url??""}):null,g?()=>({name:g.name,url:g.url??""}):null,i?()=>i()??[]:null,c?async(e,t)=>{try{const r=await c(this.#t(e));t.invoke(r)}catch(e){t.invoke(e.message??"Unknown error in user-defined `applyAsset`")}}:null,l?async(e,t,r)=>{try{await l(this.#t(e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetToBlock`")}}:null,d?async e=>{d(e)}:null,p?async e=>{p(e)}:null)),this.#r(e.id,e)}addLocalSource(e,t,r,n){unpackResult(this.#e.addLocalAssetSource(e,t??[],r?async(e,t)=>{try{const n=await r(this.#t(e));t.invoke(n)}catch(e){t.invoke(e.message??"Unknown error in user-defined `applyAsset`")}}:null,n?async(e,t,r)=>{try{await n(this.#t(e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetToBlock`")}}:null))}removeSource(e){unpackResult(this.#e.removeAssetSource(e)),this.#n(e)}findAllSources(){return cppVectorToArray_default(this.#e.findAllAssetSources())}findAssets(e,t){return new Promise(((r,n)=>{let o=(null==t?void 0:t.tags)??[];Array.isArray(o)||(o=[o]);const s={perPage:(null==t?void 0:t.perPage)??0,page:(null==t?void 0:t.page)??0,query:(null==t?void 0:t.query)??"",tags:o,groups:(null==t?void 0:t.groups)??[],excludeGroups:(null==t?void 0:t.excludeGroups)??[],locale:(null==t?void 0:t.locale)??""};this.#e.findAssetSourceAssets(e,s,(e=>{try{const t=unpackResult(e);r({...t,nextPage:-1===t.nextPage?void 0:t.nextPage})}catch(e){n(e)}}))}))}#t(e){var t,r,n,o,s,a,i,u;const c={...e};return 0===(null==(t=c.groups)?void 0:t.length)&&delete c.groups,c.locale||delete c.locale,c.label||delete c.label,0===(null==(r=c.tags)?void 0:r.length)&&delete c.tags,(null==(n=c.credits)?void 0:n.name)||(null==(o=c.credits)?void 0:o.url)?c.credits.url||delete c.credits.url:delete c.credits,(null==(s=c.license)?void 0:s.name)||(null==(a=c.license)?void 0:a.url)?c.license.url||delete c.license.url:delete c.license,(null==(i=c.utm)?void 0:i.source)||(null==(u=c.utm)?void 0:u.medium)?(c.utm.source||delete c.utm.source,c.utm.medium||delete c.utm.medium):delete c.utm,c}async getGroups(e){return unpackAsync((t=>this.#e.getAssetSourceGroups(e,t))).then((e=>cppVectorToArray_default(e)))}getSupportedMimeTypes(e){return cppVectorToArray_default(unpackResult(this.#e.getAssetSourceSupportedMimeTypes(e)))}getCredits(e){const t=unpackResult(this.#e.getAssetSourceCredits(e));if(t.name||t.url)return t.url?t:{name:t.name,url:void 0}}getLicense(e){const t=unpackResult(this.#e.getAssetSourceLicense(e));if(t.name||t.url)return t.url?t:{name:t.name,url:void 0}}canManageAssets(e){var t,r;return!!(null==(r=null==(t=assetCallbacks.get(this.#e))?void 0:t.get(e))?void 0:r.canManageAssets)}addAssetToSource(e,t){unpackResult(this.#e.addAssetToSource(e,t))}removeAssetFromSource(e,t){unpackResult(this.#e.removeAssetFromSource(e,t))}#r(e,t){assetCallbacks.has(this.#e)||assetCallbacks.set(this.#e,new Map),t.canManageAssets&&console.warn(`\nDEPRECATION WARNING:\n\n'canManageAssets' flag was found for asset source with the id '${e}'.\n\nThis flag is deprecated and will be removed in the next version. If you have used it to control if an upload buttons is rendered in the asset library, use the 'canAdd' options on an asset library entry. See documentation here: https://img.ly/docs/cesdk/ui/guides/customize-asset-library/`),assetCallbacks.get(this.#e).set(e,{canManageAssets:t.canManageAssets})}#n(e){var t;null==(t=assetCallbacks.get(this.#e))||t.delete(e)}async apply(e,t){return new Promise(((r,n)=>{this.#e.applyAssetSourceAsset(e,ensureContext(t,e),(e=>{try{const t=unpackResult(e);this.#e.isValid(t)?r(t):r(void 0)}catch(e){n(e)}}))}))}async applyToBlock(e,t,r){return unpackAsync((n=>this.#e.applyAssetSourceAssetToBlock(e,ensureContext(t,e),r,n)))}async defaultApplyAsset(e){return new Promise(((t,r)=>{this.#e.defaultApplyAsset(ensureContext(e,""),(e=>{try{const r=unpackResult(e);this.#e.isValid(r)?t(r):t(void 0)}catch(e){r(e)}}))}))}async defaultApplyAssetToBlock(e,t){return unpackAsync((r=>this.#e.defaultApplyAssetToBlock(ensureContext(e,""),t,r)))}onAssetSourceAdded=e=>{const t=this.#e.subscribeToAssetSourceAdded(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};onAssetSourceRemoved=e=>{const t=this.#e.subscribeToAssetSourceRemoved(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};dispose(){assetCallbacks.delete(this.#e)}};function ensureContext(e,t){return"context"in e&&e.context.sourceId===t?e:{...e,context:{sourceId:t}}}var LogLevel={Info:"Info",Warning:"Warning",Error:"Error"};function defaultLogger(e,t){const r=`[UBQ] ${e}`;switch(t){case"Warning":console.warn(r);break;case"Error":console.error(r);break;case"Info":console.info(r);break;default:console.log(r)}}var BASE_URL_DEFAULT="https://cdn.img.ly/packages/imgly/cesdk-engine/1.21.1/assets",defaultExtensions={baseURL:"/extensions/",entries:["ly.img.cesdk.fonts"]};function ensureIsAbsoluteURL(e,t=("undefined"==typeof window?"":window.location.href)){return new URL(e,""===t?void 0:t).href}function ensureIsValidDirectoryURL(e){return"/"!==e[e.length-1]?`${e}/`:e}function joinPaths(e,t){const r=e.endsWith("/"),n=t.startsWith("/");return r&&n?`${e.substring(0,e.length-1)}${t}`:r||n?`${e}${t}`:`${e}/${t}`}function initWithDefaults(e={},t=BASE_URL_DEFAULT){const r={...e,license:e.license??"",featureFlags:e.featureFlags??{},baseURL:e.baseURL??t,core:e.core??{baseURL:"core/"},extensions:e.extensions??{...defaultExtensions},logger:e.logger??defaultLogger,presets:e.presets??{}};return r.extensions.baseURL??=defaultExtensions.baseURL,r.extensions.entries??={...defaultExtensions.entries},r.baseURL=ensureIsAbsoluteURL(r.baseURL),r.baseURL=ensureIsValidDirectoryURL(r.baseURL),r.core.baseURL=ensureIsAbsoluteURL(r.core.baseURL,r.baseURL),r.core.baseURL=ensureIsValidDirectoryURL(r.core.baseURL),r.extensions.baseURL=ensureIsValidDirectoryURL(r.extensions.baseURL),r.extensions.entries=r.extensions.entries.map((e=>ensureIsValidDirectoryURL(e))),r}async function loadAssetSourcesFromContentJSON(e,t,r=fetch,n,o=new Set(n.findAllSources())){const s=e.map((async e=>{const s=joinPaths(t,`/${e}/content.json`);return r(s).then((e=>{if(!e.ok)throw new Error(e.statusText);return e.json()})).then((r=>{if(void 0===r.assets)throw new Error(`Invalid content.json for assets: ${e}`);const s=r.assets;o.has(e)||n.addLocalSource(e),s.forEach((r=>{var o;r.meta&&Object.entries(r.meta).forEach((([e,n])=>{const o=n.toString();if(o.includes("{{base_url}}")){const n=o.replace("{{base_url}}",t);r.meta&&(r.meta[e]=n)}})),(null==(o=r.payload)?void 0:o.sourceSet)&&r.payload.sourceSet.forEach((e=>{e.uri.includes("{{base_url}}")&&(e.uri=e.uri.replace("{{base_url}}",t))})),n.addAssetToSource(e,r)}))}))}));await Promise.all(s)}var loadAssetSourcesFromContentJSON_default=loadAssetSourcesFromContentJSON;async function addDefaultAssetSources(e,t,r,n){const o=["ly.img.sticker","ly.img.vectorpath","ly.img.colors.defaultPalette","ly.img.filter.lut","ly.img.filter.duotone","ly.img.effect","ly.img.blur"].filter((e=>!r.includes(e)));await loadAssetSourcesFromContentJSON_default(o,t,n,e)}var addDefaultAssetSources_default=addDefaultAssetSources,StructError=class extends TypeError{constructor(e,t){let r;const{message:n,...o}=e,{path:s}=e;super(0===s.length?n:"At path: "+s.join(".")+" -- "+n),this.value=void 0,this.key=void 0,this.type=void 0,this.refinement=void 0,this.path=void 0,this.branch=void 0,this.failures=void 0,Object.assign(this,o),this.name=this.constructor.name,this.failures=()=>{var n;return null!=(n=r)?n:r=[e,...t()]}}};function isIterable(e){return isObject(e)&&"function"==typeof e[Symbol.iterator]}function isObject(e){return"object"==typeof e&&null!=e}function print(e){return"string"==typeof e?JSON.stringify(e):""+e}function shiftIterator(e){const{done:t,value:r}=e.next();return t?void 0:r}function toFailure(e,t,r,n){if(!0===e)return;!1===e?e={}:"string"==typeof e&&(e={message:e});const{path:o,branch:s}=t,{type:a}=r,{refinement:i,message:u="Expected a value of type `"+a+"`"+(i?" with refinement `"+i+"`":"")+", but received: `"+print(n)+"`"}=e;return{value:n,type:a,refinement:i,key:o[o.length-1],path:o,branch:s,...e,message:u}}function*toFailures(e,t,r,n){isIterable(e)||(e=[e]);for(const o of e){const e=toFailure(o,t,r,n);e&&(yield e)}}function*run(e,t,r={}){const{path:n=[],branch:o=[e],coerce:s=!1,mask:a=!1}=r,i={path:n,branch:o};if(s&&(e=t.coercer(e,i),a&&"type"!==t.type&&isObject(t.schema)&&isObject(e)&&!Array.isArray(e)))for(const r in e)void 0===t.schema[r]&&delete e[r];let u=!0;for(const r of t.validator(e,i))u=!1,yield[r,void 0];for(let[r,c,l]of t.entries(e,i)){const t=run(c,l,{path:void 0===r?n:[...n,r],branch:void 0===r?o:[...o,c],coerce:s,mask:a});for(const n of t)n[0]?(u=!1,yield[n[0],void 0]):s&&(c=n[1],void 0===r?e=c:e instanceof Map?e.set(r,c):e instanceof Set?e.add(c):isObject(e)&&(e[r]=c))}if(u)for(const r of t.refiner(e,i))u=!1,yield[r,void 0];u&&(yield[void 0,e])}var Struct=class{constructor(e){this.TYPE=void 0,this.type=void 0,this.schema=void 0,this.coercer=void 0,this.validator=void 0,this.refiner=void 0,this.entries=void 0;const{type:t,schema:r,validator:n,refiner:o,coercer:s=(e=>e),entries:a=function*(){}}=e;this.type=t,this.schema=r,this.entries=a,this.coercer=s,this.validator=n?(e,t)=>toFailures(n(e,t),t,this,e):()=>[],this.refiner=o?(e,t)=>toFailures(o(e,t),t,this,e):()=>[]}assert(e){return assert(e,this)}create(e){return create(e,this)}is(e){return is(e,this)}mask(e){return mask(e,this)}validate(e,t={}){return validate(e,this,t)}};function assert(e,t){const r=validate(e,t);if(r[0])throw r[0]}function create(e,t){const r=validate(e,t,{coerce:!0});if(r[0])throw r[0];return r[1]}function mask(e,t){const r=validate(e,t,{coerce:!0,mask:!0});if(r[0])throw r[0];return r[1]}function is(e,t){return!validate(e,t)[0]}function validate(e,t,r={}){const n=run(e,t,r),o=shiftIterator(n);if(o[0]){return[new StructError(o[0],(function*(){for(const e of n)e[0]&&(yield e[0])})),void 0]}return[void 0,o[1]]}function define2(e,t){return new Struct({type:e,schema:null,validator:t})}function array(e){return new Struct({type:"array",schema:e,*entries(t){if(e&&Array.isArray(t))for(const[r,n]of t.entries())yield[r,n,e]},coercer:e=>Array.isArray(e)?e.slice():e,validator:e=>Array.isArray(e)||"Expected an array value, but received: "+print(e)})}function boolean(){return define2("boolean",(e=>"boolean"==typeof e))}function integer(){return define2("integer",(e=>"number"==typeof e&&!isNaN(e)&&Number.isInteger(e)||"Expected an integer, but received: "+print(e)))}function never(){return define2("never",(()=>!1))}function number(){return define2("number",(e=>"number"==typeof e&&!isNaN(e)||"Expected a number, but received: "+print(e)))}function object(e){const t=e?Object.keys(e):[],r=never();return new Struct({type:"object",schema:e||null,*entries(n){if(e&&isObject(n)){const o=new Set(Object.keys(n));for(const r of t)o.delete(r),yield[r,n[r],e[r]];for(const e of o)yield[e,n[e],r]}},validator:e=>isObject(e)||"Expected an object, but received: "+print(e),coercer:e=>isObject(e)?{...e}:e})}function string(){return define2("string",(e=>"string"==typeof e||"Expected a string, but received: "+print(e)))}function getSize(e){return e instanceof Map||e instanceof Set?e.size:e.length}function max(e,t,r={}){const{exclusive:n}=r;return refine(e,"max",(r=>n?r<t:r<=t||"Expected a "+e.type+" less than "+(n?"":"or equal to ")+t+" but received `"+r+"`"))}function min(e,t,r={}){const{exclusive:n}=r;return refine(e,"min",(r=>n?r>t:r>=t||"Expected a "+e.type+" greater than "+(n?"":"or equal to ")+t+" but received `"+r+"`"))}function nonempty(e){return refine(e,"nonempty",(t=>getSize(t)>0||"Expected a nonempty "+e.type+" but received an empty one"))}function refine(e,t,r){return new Struct({...e,*refiner(n,o){yield*e.refiner(n,o);const s=toFailures(r(n,o),o,e,n);for(const e of s)yield{...e,refinement:t}}})}function assert2(e,t,r){const[n]=validate(t,r);if(n)throw n.message=`Error in argument '${e}': ${n.message}`,n}function mimeType(){const e=/image\/(png|jpeg|webp|x-tga)|video\/(mp4|quicktime)|application\/octet-stream|application\/pdf/;return define2("MimeType",(t=>!("string"!=typeof t||!e.test(t))||{message:`expected one of "image/png", "image/jpeg", "image/webp", "image/x-tga", "video/mp4", "video/quicktime", "application/pdf" or "application/octet-stream", but got "${t}"`}))}function sceneLayoutShape(){const e=["Free","VerticalStack","HorizontalStack","DepthStack"];return define2("SceneLayout",(t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map((e=>`"${e}"`)).join(", ")}, but got "${t}"`}))}function zoomAutoFitAxisShape(){const e=["Horizontal","Vertical","Both"];return define2("ZoomAutoFitAxis",(t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map((e=>`"${e}"`)).join(", ")}, but got "${t}"`}))}function designUnitShape(){const e=["Pixel","Millimeter","Inch"];return define2("DesignUnit",(t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map((e=>`"${e}"`)).join(", ")}, but got "${t}"`}))}function cutoutOperationShape(){const e=["Difference","Intersection","Union","XOR"];return define2("CutoutOperation",(t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map((e=>`"${e}"`)).join(", ")}, but got "${t}"`}))}var MimeType=(e=>(e.Png="image/png",e.Jpeg="image/jpeg",e.WebP="image/webp",e.Tga="image/x-tga",e.Mp4="video/mp4",e.QuickTime="video/quicktime",e.Binary="application/octet-stream",e.Pdf="application/pdf",e.Zip="application/zip",e))(MimeType||{}),MimeType_default=MimeType,Blob_default="undefined"!=typeof Blob?Blob:(()=>{try{return require("buffer").Blob}catch(e){return function(){throw new Error("Could not find Blob constructor and failed to require('buffer').Blob")}}})(),SceneAPI=class{#e;constructor(e){this.#e=e}async loadFromString(e){return assert2("sceneContent",e,string()),unpackAsync((t=>this.#e.loadSceneFromString(e,t)))}async loadFromURL(e){return assert2("url",e,string()),unpackAsync((t=>this.#e.loadSceneFromURL(e,t)))}async saveToString(){const e=this.get();if(null==e)throw new Error("No scene available.");return unpackAsync((t=>{this.#e.saveSceneToString(e,t)}))}async saveToArchive(){return new Promise(((e,t)=>{const r=this.get();null==r?t(new Error("No scene available.")):this.#e.saveSceneToArchive(r,(r=>{"error"in r?t(r.error):e(new Blob_default([r],{type:MimeType_default.Zip}))}))}))}create(e="Free"){assert2("sceneLayout",e,sceneLayoutShape());return unpackResult(this.#e.createScene(e))}createVideo(){return unpackResult(this.#e.createVideoScene())}createFromImage(e,t=300,r=1,n="Free",o=0,s=!1){return assert2("url",e,string()),assert2("dpi",t,min(number(),0)),assert2("pixelScaleFactor",r,min(number(),0)),assert2("sceneLayout",n,sceneLayoutShape()),unpackAsync((a=>this.#e.createSceneFromImage(e,t,r,n,o,s,a)))}createFromVideo(e){return assert2("url",e,string()),unpackAsync((t=>this.#e.createSceneFromVideo(e,t)))}get(){const e=unpackResult(this.#e.findByType("scene")),t=cppVectorToArray_default(e);return t.length>0?t[0]:null}async applyTemplateFromString(e){return assert2("content",e,string()),unpackAsync((t=>this.#e.applyTemplateFromString(e,t)))}async applyTemplateFromURL(e){return assert2("url",e,string()),unpackAsync((t=>this.#e.applyTemplateFromURL(e,t)))}getMode(){const e=this.get();return unpackResult(this.#e.getSceneMode(e))}setDesignUnit(e){assert2("designUnit",e,designUnitShape());const t=this.get();unpackResult(this.#e.setDesignUnit(t,e))}getDesignUnit(){const e=this.get();return unpackResult(this.#e.getDesignUnit(e))}getPages(){return cppVectorToArray_default(unpackResult(this.#e.getPages()))}getCurrentPage(){const e=this.get();if(null==e)return null;const t=unpackResult(this.#e.findNearestToViewPortCenterByKind(e,"page")),r=cppVectorToArray_default(t);return r.length>0?r[0]:null}findNearestToViewPortCenterByType(e){assert2("type",e,string());const t=this.get();if(null==t)return[];const r=unpackResult(this.#e.findNearestToViewPortCenterByType(t,e));return cppVectorToArray_default(r)}findNearestToViewPortCenterByKind(e){assert2("kind",e,string());const t=this.get();if(null==t)return[];const r=unpackResult(this.#e.findNearestToViewPortCenterByKind(t,e));return cppVectorToArray_default(r)}setZoomLevel(e=1){const t=this.get();assert2("zoomLevel",e,min(number(),0)),this.#e.setZoomLevel(t,e)}getZoomLevel(){const e=this.get();return unpackResult(this.#e.getZoomLevel(e))}async zoomToBlock(e,t=0,r=0,n=0,o=0){return assert2("id",e,integer()),unpackAsync((s=>this.#e.zoomToBlock(e,t,r,n,o,s)))}enableZoomAutoFit(e,t,r=0,n=0,o=0,s=0){return assert2("id",e,integer()),assert2("axis",t,zoomAutoFitAxisShape()),"Horizontal"===t?(assert2("paddingBefore",r,number()),assert2("paddingAfter",n,number()),unpackResult(this.#e.enableZoomAutoFit(e,t,r,0,n,0))):"Vertical"===t?(assert2("paddingBefore",r,number()),assert2("paddingAfter",n,number()),unpackResult(this.#e.enableZoomAutoFit(e,t,0,r,0,n))):(assert2("paddingLeft",r,number()),assert2("paddingTop",n,number()),assert2("paddingRight",o,number()),assert2("paddingBottom",s,number()),unpackResult(this.#e.enableZoomAutoFit(e,t,r,n,o,s)))}disableZoomAutoFit(e){return assert2("blockOrScene",e,integer()),unpackResult(this.#e.disableZoomAutoFit(e))}isZoomAutoFitEnabled(e){return assert2("blockOrScene",e,integer()),unpackResult(this.#e.isZoomAutoFitEnabled(e))}unstable_enableCameraPositionClamping(e,t=0,r=0,n=0,o=0,s=0,a=0,i=0,u=0){return assert2("ids",e,array(number())),assert2("paddingLeft",t,number()),assert2("paddingTop",r,number()),assert2("paddingRight",n,number()),assert2("paddingBottom",o,number()),assert2("scaledPaddingLeft",t,number()),assert2("scaledPaddingTop",r,number()),assert2("scaledPaddingRight",n,number()),assert2("scaledPaddingBottom",o,number()),unpackResult(this.#e.unstable_enableCameraPositionClamping(e,t,r,n,o,s,a,i,u))}unstable_disableCameraPositionClamping(e=this.get()){if(null==e)throw new Error("No scene available.");return unpackResult(this.#e.unstable_disableCameraPositionClamping(e))}unstable_isCameraPositionClampingEnabled(e=this.get()){if(null==e)throw new Error("No scene available.");return unpackResult(this.#e.unstable_isCameraPositionClampingEnabled(e))}unstable_enableCameraZoomClamping(e,t=-1,r=-1,n=0,o=0,s=0,a=0){return assert2("ids",e,array(number())),assert2("minZoomLimit",t,number()),assert2("maxZoomLimit",r,number()),assert2("paddingLeft",n,number()),assert2("paddingTop",o,number()),assert2("paddingRight",s,number()),assert2("paddingBottom",a,number()),unpackResult(this.#e.unstable_enableCameraZoomClamping(e,t,r,n,o,s,a))}unstable_disableCameraZoomClamping(e=this.get()){if(null==e)throw new Error("No scene available.");return unpackResult(this.#e.unstable_disableCameraZoomClamping(e))}unstable_isCameraZoomClampingEnabled(e=this.get()){if(null==e)throw new Error("No scene available.");return unpackResult(this.#e.unstable_isCameraZoomClampingEnabled(e))}onZoomLevelChanged=e=>{const t=this.#e.subscribeToZoomLevel(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};onActiveChanged=e=>{const t=this.#e.subscribeToActiveSceneChange(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}}};__decorateClass([setter],SceneAPI.prototype,"loadFromString",1),__decorateClass([setter],SceneAPI.prototype,"loadFromURL",1),__decorateClass([setter],SceneAPI.prototype,"create",1),__decorateClass([setter],SceneAPI.prototype,"createVideo",1),__decorateClass([setter],SceneAPI.prototype,"createFromImage",1),__decorateClass([setter],SceneAPI.prototype,"createFromVideo",1),__decorateClass([getter],SceneAPI.prototype,"get",1),__decorateClass([setter],SceneAPI.prototype,"applyTemplateFromString",1),__decorateClass([setter],SceneAPI.prototype,"applyTemplateFromURL",1),__decorateClass([getter],SceneAPI.prototype,"getMode",1),__decorateClass([setter],SceneAPI.prototype,"setDesignUnit",1),__decorateClass([getter],SceneAPI.prototype,"getDesignUnit",1),__decorateClass([getter],SceneAPI.prototype,"getPages",1),__decorateClass([getter],SceneAPI.prototype,"getCurrentPage",1),__decorateClass([getter],SceneAPI.prototype,"findNearestToViewPortCenterByType",1),__decorateClass([getter],SceneAPI.prototype,"findNearestToViewPortCenterByKind",1),__decorateClass([setter],SceneAPI.prototype,"setZoomLevel",1),__decorateClass([getter],SceneAPI.prototype,"getZoomLevel",1),__decorateClass([setter],SceneAPI.prototype,"zoomToBlock",1),__decorateClass([setter],SceneAPI.prototype,"enableZoomAutoFit",1),__decorateClass([setter],SceneAPI.prototype,"disableZoomAutoFit",1),__decorateClass([getter],SceneAPI.prototype,"isZoomAutoFitEnabled",1);var DEFAULT_DEMO_ASSET_SOURCE_BASE_URL="https://cdn.img.ly/assets/demo/v2";async function addDemoAssetSources(e,t,r,n,o,s,a=DEFAULT_DEMO_ASSET_SOURCE_BASE_URL){const i=new Set(e.findAllSources()),u="ly.img.image.upload";!o||r.includes(u)||i.has(u)||e.addLocalSource(u,["image/jpeg","image/png","image/webp","image/svg+xml","image/gif","image/bmp"]);const c="ly.img.video.upload";"Video"!==n||!o||r.includes(c)||i.has(c)||e.addLocalSource(c,["video/mp4","video/quicktime"]);const l="ly.img.audio.upload";"Video"!==n||!o||r.includes(l)||i.has(l)||e.addLocalSource(l,["audio/mpeg","audio/x-m4a","audio/m4a","audio/mp3"]);const d=["ly.img.image","ly.img.video","ly.img.audio"].filter((e=>!r.includes(e)));i.has("ly.img.template")||r.includes("ly.img.template")||(e.addLocalSource("ly.img.template",void 0,(async e=>{var r;const n=null==(r=e.meta)?void 0:r.uri;if(n)if(n.startsWith("UBQ1"))t.applyTemplateFromString(n);else{const e=new URL(n,window.location.href);t.applyTemplateFromURL(e.href)}})),d.push("ly.img.template")),await loadAssetSourcesFromContentJSON_default(d,a,s,e)}var addDemoAssetSources_default=addDemoAssetSources,BlockAPI=class{#e;constructor(e){this.#e=e}async export(e,t=MimeType_default.Png,r={}){assert2("handle",e,number()),assert2("mimeType",t,mimeType()),assert2("options",r,object());const n=null!=r.targetWidth&&null!=r.targetHeight,o=r.jpegQuality??.9,s=r.webpQuality??1,a=r.pngCompressionLevel??5;return assert2("jpegQuality",o,min(max(number(),1),0,{exclusive:!0})),assert2("webpQuality",s,min(max(number(),1),0,{exclusive:!0})),assert2("pngCompressionLevel",a,min(max(integer(),9),0)),null==r.targetWidth&&null==r.targetHeight||(assert2("targetWidth",r.targetWidth,number()),assert2("targetHeight",r.targetHeight,number())),new Promise(((i,u)=>{this.#e.exportToBuffer(e,t,(e=>{"error"in e?u(e.error):i(new Blob_default([e],{type:t}))}),{pngCompressionLevel:a,jpegQuality:o,webpQuality:s,useTargetSize:n,targetWidth:r.targetWidth??0,targetHeight:r.targetHeight??0,exportPdfWithHighCompatibility:r.exportPdfWithHighCompatibility??!0,exportPdfWithUnderlayer:r.exportPdfWithUnderlayer??!1,underlayerSpotColorName:r.underlayerSpotColorName??"",underlayerOffset:r.underlayerOffset??0})}))}async exportWithColorMask(e,t=MimeType_default.Png,r,n,o,s={}){assert2("handle",e,number()),assert2("mimeType",t,mimeType()),assert2("options",s,object());const a=null!=s.targetWidth&&null!=s.targetHeight,i=s.jpegQuality??.9,u=s.webpQuality??1,c=s.pngCompressionLevel??5;return assert2("jpegQuality",i,min(max(number(),1),0,{exclusive:!0})),assert2("webpQuality",u,min(max(number(),1),0,{exclusive:!0})),assert2("pngCompressionLevel",c,min(max(integer(),9),0)),null==s.targetWidth&&null==s.targetHeight||(assert2("targetWidth",s.targetWidth,number()),assert2("targetHeight",s.targetHeight,number())),new Promise(((l,d)=>{this.#e.exportWithColorMaskToBuffer(e,t,r,n,o,((e,r)=>{if("error"in e)d(e.error);else if("error"in r)d(r.error);else{const n=new Blob_default([e],{type:t}),o=new Blob_default([r],{type:t});l([n,o])}}),{pngCompressionLevel:c,jpegQuality:i,webpQuality:u,useTargetSize:a,targetWidth:s.targetWidth??0,targetHeight:s.targetHeight??0,exportPdfWithHighCompatibility:s.exportPdfWithHighCompatibility??!0,exportPdfWithUnderlayer:s.exportPdfWithUnderlayer??!1,underlayerSpotColorName:s.underlayerSpotColorName??"",underlayerOffset:s.underlayerOffset??0})}))}async exportVideo(e,t=MimeType_default.Mp4,r,n){throw new Error("Method not implemented. An implementation is available on the BlockAPI at engine.block or cesdk.engine.block")}async loadFromString(e){return assert2("content",e,string()),unpackAsync((t=>this.#e.loadBlocksFromString(e,t))).then((e=>cppVectorToArray_default(e)))}async saveToString(e){return assert2("blocks",e,array(number())),unpackAsync((t=>this.#e.saveBlocksToString(e,t)))}create(e){return assert2("type",e,string()),unpackResult(this.#e.create(e))}createFill(e){return assert2("type",e,string()),unpackResult(this.#e.createFill(e))}getType(e){return assert2("id",e,integer()),unpackResult(this.#e.getType(e))}getKind(e){return assert2("id",e,integer()),unpackResult(this.#e.getKind(e))}setKind(e,t){assert2("id",e,integer()),unpackResult(this.#e.setKind(e,t))}select(e){return assert2("id",e,integer()),unpackResult(this.#e.select(e))}setSelected(e,t){return assert2("id",e,integer()),assert2("selected",t,boolean()),unpackResult(this.#e.setSelected(e,t))}isSelected(e){return assert2("id",e,integer()),unpackResult(this.#e.isSelected(e))}findAllSelected(){return cppVectorToArray_default(this.#e.findAllSelected())}onSelectionChanged=e=>{const t=this.#e.subscribeToSelectionChange(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};onClicked=e=>{const t=this.#e.subscribeToBlockClicked(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};isGroupable(e){return assert2("ids",e,array(number())),unpackResult(this.#e.isGroupable(e))}group(e){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.group(e))}ungroup(e){return assert2("id",e,number()),unpackResult(this.#e.ungroup(e))}enterGroup(e){return assert2("id",e,number()),unpackResult(this.#e.enterGroup(e))}exitGroup(e){return assert2("id",e,number()),unpackResult(this.#e.exitGroup(e))}isCombinable(e){return assert2("ids",e,array(number())),unpackResult(this.#e.isCombinable(e))}combine(e,t){return assert2("ids",e,array(number())),assert2("op",t,string()),unpackResult(this.#e.combine(e,t))}setName(e,t){return assert2("id",e,integer()),assert2("name",t,string()),unpackResult(this.#e.setName(e,t))}getName(e){return assert2("id",e,integer()),unpackResult(this.#e.getName(e))}getUUID(e){return assert2("id",e,integer()),unpackResult(this.#e.getUUID(e))}findByName(e){assert2("name",e,string());const t=this.#e.findByName(e);return cppVectorToArray_default(t)}findByType(e){assert2("type",e,string());const t=unpackResult(this.#e.findByType(e));return cppVectorToArray_default(t)}findByKind(e){assert2("kind",e,string());const t=unpackResult(this.#e.findByKind(e));return cppVectorToArray_default(t)}findAll(){return cppVectorToArray_default(this.#e.findAll())}findAllPlaceholders(){return cppVectorToArray_default(this.#e.findAllPlaceholders())}createShape(e){return assert2("type",e,string()),unpackResult(this.#e.createShape(e))}hasShape(e){return assert2("id",e,integer()),unpackResult(this.#e.hasShape(e))}getShape(e){return assert2("id",e,integer()),unpackResult(this.#e.getShape(e))}setShape(e,t){return assert2("id",e,integer()),assert2("shape",t,integer()),unpackResult(this.#e.setShape(e,t))}isVisible(e){return assert2("id",e,integer()),unpackResult(this.#e.isVisible(e))}setVisible(e,t){return assert2("id",e,integer()),assert2("visible",t,boolean()),unpackResult(this.#e.setVisible(e,t))}isClipped(e){return assert2("id",e,integer()),unpackResult(this.#e.isClipped(e))}setClipped(e,t){return assert2("id",e,integer()),assert2("clipped",t,boolean()),unpackResult(this.#e.setClipped(e,t))}isTransformLocked(e){return assert2("id",e,integer()),unpackResult(this.#e.isTransformLocked(e))}setTransformLocked(e,t){return assert2("id",e,integer()),assert2("locked",t,boolean()),unpackResult(this.#e.setTransformLocked(e,t))}getPositionX(e){return assert2("id",e,integer()),unpackResult(this.#e.getPositionX(e))}getPositionXMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getPositionXMode(e))}getPositionY(e){return assert2("id",e,integer()),unpackResult(this.#e.getPositionY(e))}getPositionYMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getPositionYMode(e))}setPositionX(e,t){return assert2("id",e,integer()),assert2("value",t,number()),unpackResult(this.#e.setPositionX(e,t))}setPositionXMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setPositionXMode(e,t))}setPositionY(e,t){return assert2("id",e,integer()),assert2("value",t,number()),unpackResult(this.#e.setPositionY(e,t))}setPositionYMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setPositionYMode(e,t))}setAlwaysOnTop(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setAlwaysOnTop(e,t))}setAlwaysOnBottom(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setAlwaysOnBottom(e,t))}isAlwaysOnTop(e){return assert2("id",e,integer()),unpackResult(this.#e.isAlwaysOnTop(e))}isAlwaysOnBottom(e){return assert2("id",e,integer()),unpackResult(this.#e.isAlwaysOnBottom(e))}bringToFront(e){return assert2("id",e,number()),unpackResult(this.#e.bringToFront(e))}sendToBack(e){return assert2("id",e,number()),unpackResult(this.#e.sendToBack(e))}bringForward(e){return assert2("id",e,number()),unpackResult(this.#e.bringForward(e))}sendBackward(e){return assert2("id",e,number()),unpackResult(this.#e.sendBackward(e))}getRotation(e){return assert2("id",e,integer()),unpackResult(this.#e.getRotation(e))}setRotation(e,t){return assert2("id",e,integer()),assert2("radians",t,number()),unpackResult(this.#e.setRotation(e,t))}getFlipHorizontal(e){return assert2("id",e,integer()),unpackResult(this.#e.getFlip(e)).horizontal}getFlipVertical(e){return assert2("id",e,integer()),unpackResult(this.#e.getFlip(e)).vertical}setFlipHorizontal(e,t){return assert2("id",e,integer()),assert2("flip",t,boolean()),unpackResult(this.#e.setFlipHorizontal(e,t))}setFlipVertical(e,t){return assert2("id",e,integer()),assert2("flip",t,boolean()),unpackResult(this.#e.setFlipVertical(e,t))}hasContentFillMode(e){return assert2("id",e,integer()),unpackResult(this.#e.hasContentFillMode(e))}getWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getWidth(e))}getWidthMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getWidthMode(e))}getHeight(e){return assert2("id",e,integer()),unpackResult(this.#e.getHeight(e))}getHeightMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getHeightMode(e))}setWidth(e,t){return assert2("id",e,integer()),assert2("value",t,number()),unpackResult(this.#e.setWidth(e,t))}setWidthMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setWidthMode(e,t))}setHeight(e,t){return assert2("id",e,integer()),assert2("value",t,number()),unpackResult(this.#e.setHeight(e,t))}setHeightMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setHeightMode(e,t))}getFrameX(e){return assert2("id",e,integer()),unpackResult(this.#e.getLastFrameX(e))}getFrameY(e){return assert2("id",e,integer()),unpackResult(this.#e.getLastFrameY(e))}getFrameWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getLastFrameWidth(e))}getFrameHeight(e){return assert2("id",e,integer()),unpackResult(this.#e.getLastFrameHeight(e))}setContentFillMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setContentFillMode(e,t))}getContentFillMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getContentFillMode(e))}duplicate(e){return assert2("id",e,integer()),unpackResult(this.#e.duplicate(e))}destroy(e){return assert2("id",e,integer()),unpackResult(this.#e.destroy(e))}isValid(e){return assert2("id",e,integer()),this.#e.isValid(e)}getParent(e){return assert2("id",e,integer()),unpackResult(this.#e.hasParent(e))?unpackResult(this.#e.getParent(e)):null}getChildren(e){assert2("id",e,integer());const t=unpackResult(this.#e.getChildren(e));return cppVectorToArray_default(t)}insertChild(e,t,r){return assert2("parent",e,number()),assert2("child",t,number()),assert2("index",r,min(number(),0)),unpackResult(this.#e.insertChild(e,t,r))}appendChild(e,t){return assert2("parent",e,number()),assert2("child",t,number()),unpackResult(this.#e.appendChild(e,t))}referencesAnyVariables(e){return assert2("id",e,integer()),unpackResult(this.#e.referencesAnyVariables(e))}getGlobalBoundingBoxX(e){return assert2("id",e,integer()),unpackResult(this.#e.getGlobalBoundingBoxX(e))}getGlobalBoundingBoxY(e){return assert2("id",e,integer()),unpackResult(this.#e.getGlobalBoundingBoxY(e))}getGlobalBoundingBoxWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getGlobalBoundingBoxWidth(e))}getGlobalBoundingBoxHeight(e){return assert2("id",e,integer()),unpackResult(this.#e.getGlobalBoundingBoxHeight(e))}getScreenSpaceBoundingBoxXYWH(e){return assert2("ids",e,array(number())),unpackResult(this.#e.getScreenSpaceBoundingBoxXYWH(e))}alignHorizontally(e,t){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.alignHorizontally(e,t))}alignVertically(e,t){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.alignVertically(e,t))}isAlignable(e){return assert2("ids",e,array(number())),unpackResult(this.#e.isAlignable(e))}distributeHorizontally(e){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.distributeHorizontally(e))}distributeVertically(e){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.distributeVertically(e))}isDistributable(e){return assert2("ids",e,array(number())),unpackResult(this.#e.isDistributable(e))}fillParent(e){return assert2("id",e,integer()),unpackResult(this.#e.fillParent(e))}resizeContentAware(e,t,r){return assert2("ids",e,array(number())),assert2("width",t,number()),assert2("height",r,number()),unpackResult(this.#e.resizeContentAware(e,t,r))}scale(e,t,r=0,n=0){return assert2("id",e,integer()),unpackResult(this.#e.scale(e,t,r,n))}findAllProperties(e){return assert2("id",e,integer()),cppVectorToArray_default(unpackResult(this.#e.findAllProperties(e)))}isPropertyReadable(e){return assert2("property",e,string()),this.#e.isPropertyReadable(e)}isPropertyWritable(e){return assert2("property",e,string()),this.#e.isPropertyWritable(e)}getPropertyType(e){assert2("property",e,string());return unpackResult(this.#e.getPropertyType(e))}getEnumValues(e){return assert2("enumProperty",e,string()),cppVectorToArray_default(unpackResult(this.#e.getEnumValues(e)))}setBool(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,boolean()),unpackResult(this.#e.setBool(e,t,r))}getBool(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getBool(e,t))}setInt(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,integer()),unpackResult(this.#e.setInt(e,t,r))}getInt(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getInt(e,t))}setFloat(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,number()),unpackResult(this.#e.setFloat(e,t,r))}getFloat(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getFloat(e,t))}setDouble(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,number()),unpackResult(this.#e.setDouble(e,t,r))}getDouble(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getDouble(e,t))}setString(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,string()),unpackResult(this.#e.setString(e,t,r))}getString(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getString(e,t))}setColor(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.setColor(e,t,ColorInternal.fromColor(r)))}getColor(e,t){return assert2("id",e,integer()),assert2("property",t,string()),ColorInternal.toColor(unpackResult(this.#e.getColor(e,t)))}setColorRGBA(e,t,r,n,o,s=1){return assert2("id",e,integer()),assert2("property",t,string()),assert2("r",r,number()),assert2("g",n,number()),assert2("b",o,number()),assert2("a",s,number()),unpackResult(this.#e.setColorRGBA(e,t,r,n,o,s))}getColorRGBA(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getColorRGBA(e,t))}setColorSpot(e,t,r,n=1){return assert2("id",e,integer()),assert2("property",t,string()),assert2("name",r,string()),assert2("tint",n,number()),unpackResult(this.#e.setColorSpot(e,t,r,n))}getColorSpotName(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getColorSpotName(e,t))}getColorSpotTint(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getColorSpotTint(e,t))}setGradientColorStops(e,t,r){assert2("id",e,integer()),assert2("property",t,string());const n=r.map((e=>({color:ColorInternal.fromColor(e.color),stop:e.stop})));return unpackResult(this.#e.setGradientColorStops(e,t,n))}getGradientColorStops(e,t){assert2("id",e,integer()),assert2("property",t,string());const r=unpackResult(this.#e.getGradientColorStops(e,t));return cppVectorToArray_default(r).map((e=>({color:ColorInternal.toColor(e.color),stop:e.stop})))}getSourceSet(e,t){return assert2("id",e,integer()),assert2("property",t,string()),cppVectorToArray_default(unpackResult(this.#e.getSourceSet(e,t)))}setSourceSet(e,t,r){assert2("id",e,integer()),assert2("property",t,string()),assert2("sourceSet",r,array(object({uri:string(),width:number(),height:number()}))),unpackResult(this.#e.setSourceSet(e,t,r))}setEnum(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,string()),unpackResult(this.#e.setEnum(e,t,r))}getEnum(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getEnum(e,t))}hasCrop(e){return assert2("id",e,integer()),unpackResult(this.#e.hasCrop(e))}setCropScaleX(e,t){return assert2("id",e,integer()),assert2("scaleX",t,number()),unpackResult(this.#e.setCropScaleX(e,t))}setCropScaleY(e,t){return assert2("id",e,integer()),assert2("scaleY",t,number()),unpackResult(this.#e.setCropScaleY(e,t))}setCropRotation(e,t){return assert2("id",e,integer()),assert2("rotation",t,number()),unpackResult(this.#e.setCropRotation(e,t))}setCropScaleRatio(e,t){return assert2("id",e,integer()),assert2("scaleRatio",t,number()),unpackResult(this.#e.setCropScaleRatio(e,t))}setCropTranslationX(e,t){return assert2("id",e,integer()),assert2("translationX",t,number()),unpackResult(this.#e.setCropTranslationX(e,t))}setCropTranslationY(e,t){return assert2("id",e,integer()),assert2("translationY",t,number()),unpackResult(this.#e.setCropTranslationY(e,t))}resetCrop(e){return assert2("id",e,integer()),unpackResult(this.#e.resetCrop(e))}getCropScaleX(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropScaleX(e))}getCropScaleY(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropScaleY(e))}getCropRotation(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropRotation(e))}getCropScaleRatio(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropScaleRatio(e))}getCropTranslationX(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropTranslationX(e))}getCropTranslationY(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropTranslationY(e))}adjustCropToFillFrame(e,t){return assert2("id",e,integer()),assert2("minScaleRatio",t,number()),unpackResult(this.#e.adjustCropToFillFrame(e,t))}flipCropHorizontal(e){return assert2("id",e,integer()),unpackResult(this.#e.flipCropHorizontal(e))}flipCropVertical(e){return assert2("id",e,integer()),unpackResult(this.#e.flipCropVertical(e))}hasOpacity(e){return assert2("id",e,integer()),unpackResult(this.#e.hasOpacity(e))}setOpacity(e,t){return assert2("id",e,integer()),assert2("opacity",t,number()),unpackResult(this.#e.setOpacity(e,t))}getOpacity(e){return assert2("id",e,integer()),unpackResult(this.#e.getOpacity(e))}hasBlendMode(e){return assert2("id",e,integer()),unpackResult(this.#e.hasBlendMode(e))}setBlendMode(e,t){return assert2("id",e,integer()),assert2("blendMode",t,string()),unpackResult(this.#e.setBlendMode(e,t))}getBlendMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getBlendMode(e))}hasFillColor(e){return assert2("id",e,integer()),unpackResult(this.#e.hasFillColor(e))}isIncludedInExport(e){return assert2("id",e,integer()),unpackResult(this.#e.isIncludedInExport(e))}setIncludedInExport(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setIncludedInExport(e,t))}setFillColorRGBA(e,t,r,n,o=1){return assert2("id",e,integer()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",n,number()),assert2("a",o,number()),unpackResult(this.#e.setFillColorRGBA(e,t,r,n,o))}getFillColorRGBA(e){return assert2("id",e,integer()),unpackResult(this.#e.getFillColorRGBA(e))}setFillColorEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setFillColorEnabled(e,t))}isFillColorEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isFillColorEnabled(e))}createEffect(e){return assert2("type",e,string()),unpackResult(this.#e.createEffect(e))}hasEffects(e){return assert2("id",e,integer()),unpackResult(this.#e.hasEffects(e))}getEffects(e){assert2("id",e,integer());const t=unpackResult(this.#e.getEffects(e));return cppVectorToArray_default(t)}insertEffect(e,t,r){assert2("id",e,integer()),assert2("effectId",t,integer()),assert2("index",r,min(integer(),0)),unpackResult(this.#e.insertEffect(e,t,r))}appendEffect(e,t){assert2("id",e,integer()),assert2("effectId",t,integer()),unpackResult(this.#e.appendEffect(e,t))}removeEffect(e,t){assert2("id",e,integer()),assert2("index",t,min(integer(),0)),unpackResult(this.#e.removeEffect(e,t))}hasEffectEnabled(e){return assert2("effectId",e,integer()),unpackResult(this.#e.hasEffectEnabled(e))}setEffectEnabled(e,t){assert2("effectId",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setEffectEnabled(e,t))}isEffectEnabled(e){return assert2("effectId",e,integer()),unpackResult(this.#e.isEffectEnabled(e))}createBlur(e){return assert2("type",e,string()),unpackResult(this.#e.createBlur(e))}hasBlur(e){return assert2("id",e,integer()),unpackResult(this.#e.hasBlur(e))}setBlur(e,t){assert2("id",e,integer()),assert2("blurId",t,integer()),unpackResult(this.#e.setBlur(e,t))}getBlur(e){return assert2("id",e,integer()),unpackResult(this.#e.getBlur(e))}setBlurEnabled(e,t){assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setBlurEnabled(e,t))}isBlurEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isBlurEnabled(e))}hasBackgroundColor(e){return assert2("id",e,integer()),unpackResult(this.#e.hasBackgroundColor(e))}setBackgroundColorRGBA(e,t,r,n,o=1){return assert2("id",e,integer()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",n,number()),assert2("a",o,number()),unpackResult(this.#e.setBackgroundColorRGBA(e,t,r,n,o))}getBackgroundColorRGBA(e){return assert2("id",e,integer()),unpackResult(this.#e.getBackgroundColorRGBA(e))}setBackgroundColorEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setBackgroundColorEnabled(e,t))}isBackgroundColorEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isBackgroundColorEnabled(e))}hasStroke(e){return assert2("id",e,integer()),unpackResult(this.#e.hasStroke(e))}setStrokeEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setStrokeEnabled(e,t))}isStrokeEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isStrokeEnabled(e))}setStrokeColorRGBA(e,t,r,n,o=1){return assert2("id",e,integer()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",n,number()),assert2("a",o,number()),unpackResult(this.#e.setStrokeColorRGBA(e,t,r,n,o))}setStrokeColor(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setStrokeColor(e,ColorInternal.fromColor(t)))}getStrokeColorRGBA(e){return assert2("id",e,integer()),unpackResult(this.#e.getStrokeColorRGBA(e))}getStrokeColor(e){return assert2("id",e,integer()),ColorInternal.toColor(unpackResult(this.#e.getStrokeColor(e)))}setStrokeWidth(e,t){return assert2("id",e,integer()),assert2("width",t,number()),unpackResult(this.#e.setStrokeWidth(e,t))}getStrokeWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getStrokeWidth(e))}setStrokeStyle(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setStrokeStyle(e,t))}getStrokeStyle(e){assert2("id",e,integer());return unpackResult(this.#e.getStrokeStyle(e))}setStrokePosition(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setStrokePosition(e,t))}getStrokePosition(e){assert2("id",e,integer());return unpackResult(this.#e.getStrokePosition(e))}setStrokeCornerGeometry(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setStrokeCornerGeometry(e,t))}getStrokeCornerGeometry(e){assert2("id",e,integer());return unpackResult(this.#e.getStrokeCornerGeometry(e))}hasDropShadow(e){return assert2("id",e,integer()),unpackResult(this.#e.hasDropShadow(e))}setDropShadowEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setDropShadowEnabled(e,t))}isDropShadowEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isDropShadowEnabled(e))}setDropShadowColorRGBA(e,t,r,n,o=1){return assert2("id",e,integer()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",n,number()),assert2("a",o,number()),unpackResult(this.#e.setDropShadowColorRGBA(e,t,r,n,o))}setDropShadowColor(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setDropShadowColor(e,ColorInternal.fromColor(t)))}getDropShadowColorRGBA(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowColorRGBA(e))}getDropShadowColor(e){return assert2("id",e,integer()),ColorInternal.toColor(unpackResult(this.#e.getDropShadowColor(e)))}setDropShadowOffsetX(e,t){return assert2("id",e,integer()),assert2("offsetX",t,number()),unpackResult(this.#e.setDropShadowOffsetX(e,t))}getDropShadowOffsetX(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowOffsetX(e))}setDropShadowOffsetY(e,t){return assert2("id",e,integer()),assert2("offsetY",t,number()),unpackResult(this.#e.setDropShadowOffsetY(e,t))}getDropShadowOffsetY(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowOffsetY(e))}setDropShadowBlurRadiusX(e,t){return assert2("id",e,integer()),assert2("blurRadiusX",t,number()),unpackResult(this.#e.setDropShadowBlurRadiusX(e,t))}getDropShadowBlurRadiusX(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowBlurRadiusX(e))}setDropShadowBlurRadiusY(e,t){return assert2("id",e,integer()),assert2("blurRadiusY",t,number()),unpackResult(this.#e.setDropShadowBlurRadiusY(e,t))}getDropShadowBlurRadiusY(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowBlurRadiusY(e))}setDropShadowClip(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setDropShadowClip(e,t))}getDropShadowClip(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowClip(e))}createCutoutFromBlocks(e,t=2,r=4){return assert2("ids",e,array(integer())),assert2("vectorizeDistanceThreshold",t,number()),assert2("maxSmoothingDistance",r,number()),unpackResult(this.#e.createCutoutFromBlocks(e,t,r))}createCutoutFromPath(e){return assert2("path",e,string()),unpackResult(this.#e.createCutoutFromPath(e))}createCutoutFromOperation(e,t){return assert2("ids",e,array(integer())),assert2("op",t,cutoutOperationShape()),unpackResult(this.#e.createCutoutFromOperation(e,t))}replaceText(e,t,r=-1,n=-1){assert2("id",e,integer()),assert2("text",t,string()),assert2("from",r,integer()),assert2("to",n,integer()),unpackResult(this.#e.replaceText(e,t,r,n))}removeText(e,t=-1,r=-1){assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer()),unpackResult(this.#e.removeText(e,t,r))}setTextColor(e,t,r=-1,n=-1){assert2("id",e,integer()),assert2("from",r,integer()),assert2("to",n,integer()),unpackResult(this.#e.setTextColor(e,ColorInternal.fromColor(t),r,n))}getTextColors(e,t=-1,r=-1){assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer());const n=this.#e.getTextColors(e,t,r);return cppVectorToArray_default(unpackResult(n)).map((e=>ColorInternal.toColor(e)))}getTextFontWeights(e,t=-1,r=-1){return assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer()),cppVectorToArray_default(unpackResult(this.#e.getTextFontWeights(e,t,r)))}getTextFontStyles(e,t=-1,r=-1){return assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer()),cppVectorToArray_default(unpackResult(this.#e.getTextFontStyles(e,t,r)))}getTextCases(e,t=-1,r=-1){return assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer()),cppVectorToArray_default(unpackResult(this.#e.getTextCases(e,t,r)))}setTextCase(e,t,r=-1,n=-1){assert2("id",e,integer()),assert2("textCase",t,string()),assert2("from",r,integer()),assert2("to",n,integer()),unpackResult(this.#e.setTextCase(e,t,r,n))}getTextCursorRange(){return unpackResult(this.#e.getTextCursorRange())}hasFill(e){return assert2("id",e,integer()),unpackResult(this.#e.hasFill(e))}isFillEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isFillEnabled(e))}setFillEnabled(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setFillEnabled(e,t))}getFill(e){return assert2("id",e,integer()),unpackResult(this.#e.getFill(e))}setFill(e,t){return assert2("id",e,integer()),assert2("fill",t,integer()),unpackResult(this.#e.setFill(e,t))}setFillSolidColor(e,t,r,n,o=1){assert2("id",e,integer()),unpackResult(this.#e.setFillSolidColor(e,t,r,n,o))}getFillSolidColor(e){return assert2("id",e,integer()),unpackResult(this.#e.getFillSolidColor(e))}setPlaceholderEnabled(e,t){assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setPlaceholderEnabled(e,t))}isPlaceholderEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaceholderEnabled(e))}hasPlaceholderBehavior(e){return assert2("id",e,integer()),unpackResult(this.#e.hasPlaceholderBehavior(e))}setPlaceholderBehaviorEnabled(e,t){assert2("id",e,integer()),unpackResult(this.#e.setPlaceholderBehaviorEnabled(e,t))}isPlaceholderBehaviorEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaceholderBehaviorEnabled(e))}hasPlaceholderControls(e){return assert2("id",e,integer()),unpackResult(this.#e.hasPlaceholderControls(e))}setPlaceholderControlsOverlayEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setPlaceholderControlsOverlayEnabled(e,t))}isPlaceholderControlsOverlayEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaceholderControlsOverlayEnabled(e))}setPlaceholderControlsButtonEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setPlaceholderControlsButtonEnabled(e,t))}isPlaceholderControlsButtonEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaceholderControlsButtonEnabled(e))}setMetadata(e,t,r){assert2("id",e,integer()),assert2("key",t,string()),assert2("value",r,string()),unpackResult(this.#e.setMetadata(e,t,r))}getMetadata(e,t){return assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.getMetadata(e,t))}hasMetadata(e,t){return assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.hasMetadata(e,t))}findAllMetadata(e){return assert2("id",e,integer()),cppVectorToArray_default(unpackResult(this.#e.findAllMetadata(e)))}removeMetadata(e,t){assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.removeMetadata(e,t))}setScopeEnabled(e,t,r){assert2("id",e,integer()),assert2("key",t,string()),assert2("enabled",r,boolean()),unpackResult(this.#e.setScopeEnabled(e,t,r))}isScopeEnabled(e,t){return assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.isScopeEnabled(e,t))}isAllowedByScope(e,t){return assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.isAllowedByScope(e,t))}hasDuration(e){return assert2("id",e,integer()),unpackResult(this.#e.hasDuration(e))}setDuration(e,t){return assert2("id",e,integer()),assert2("duration",t,number()),unpackResult(this.#e.setDuration(e,t))}getDuration(e){return assert2("id",e,integer()),unpackResult(this.#e.getDuration(e))}hasTimeOffset(e){return assert2("id",e,integer()),unpackResult(this.#e.hasTimeOffset(e))}setTimeOffset(e,t){return assert2("id",e,integer()),assert2("offset",t,number()),unpackResult(this.#e.setTimeOffset(e,t))}getTimeOffset(e){return assert2("id",e,integer()),unpackResult(this.#e.getTimeOffset(e))}hasTrim(e){return assert2("id",e,integer()),unpackResult(this.#e.hasTrim(e))}setTrimOffset(e,t){return assert2("id",e,integer()),assert2("offset",t,number()),unpackResult(this.#e.setTrimOffset(e,t))}getTrimOffset(e){return assert2("id",e,integer()),unpackResult(this.#e.getTrimOffset(e))}setTrimLength(e,t){return assert2("id",e,integer()),assert2("length",t,number()),unpackResult(this.#e.setTrimLength(e,t))}getTrimLength(e){return assert2("id",e,integer()),unpackResult(this.#e.getTrimLength(e))}getTotalSceneDuration(e){return assert2("scene",e,integer()),unpackResult(this.#e.getTotalSceneDuration(e))}setPlaying(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setPlaying(e,t))}isPlaying(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaying(e))}hasPlaybackTime(e){return assert2("id",e,integer()),unpackResult(this.#e.hasPlaybackTime(e))}setPlaybackTime(e,t){return assert2("id",e,integer()),assert2("time",t,number()),unpackResult(this.#e.setPlaybackTime(e,t))}getPlaybackTime(e){return assert2("id",e,integer()),unpackResult(this.#e.getPlaybackTime(e))}isVisibleAtCurrentPlaybackTime(e){return assert2("id",e,integer()),unpackResult(this.#e.isVisibleAtCurrentPlaybackTime(e))}setSoloPlaybackEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setSoloPlaybackEnabled(e,t))}isSoloPlaybackEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isSoloPlaybackEnabled(e))}hasPlaybackControl(e){return assert2("id",e,integer()),unpackResult(this.#e.hasPlaybackControl(e))}setLooping(e,t){assert2("id",e,integer()),assert2("looping",t,boolean()),unpackResult(this.#e.setLooping(e,t))}isLooping(e){return assert2("id",e,integer()),unpackResult(this.#e.isLooping(e))}setMuted(e,t){assert2("id",e,integer()),assert2("muted",t,boolean()),unpackResult(this.#e.setMuted(e,t))}isMuted(e){return assert2("id",e,integer()),unpackResult(this.#e.isMuted(e))}setVolume(e,t){assert2("id",e,integer()),assert2("volume",t,number()),unpackResult(this.#e.setVolume(e,t))}getVolume(e){return assert2("id",e,integer()),unpackResult(this.#e.getVolume(e))}async forceLoadAVResource(e){return assert2("id",e,integer()),unpackAsync((t=>this.#e.forceLoadAVResource(e,t)))}unstable_isAVResourceLoaded(e){return assert2("id",e,integer()),unpackResult(this.#e.unstable_isAVResourceLoaded(e))}getAVResourceTotalDuration(e){return assert2("id",e,integer()),unpackResult(this.#e.getAVResourceTotalDuration(e))}getVideoWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getVideoWidth(e))}getVideoHeight(e){return assert2("id",e,integer()),unpackResult(this.#e.getVideoHeight(e))}generateVideoThumbnailSequence(e,t,r,n,o,s){return assert2("id",e,integer()),assert2("thumbnailHeight",t,integer()),assert2("timeBegin",r,number()),assert2("timeEnd",n,number()),assert2("numberOfFrames",o,integer()),this.#e.generateVideoThumbnailSequence(e,t,r,n,o,(e=>{"error"in e?s(0,new Error(e.error)):s(e.frameIndex,new ImageData(new Uint8ClampedArray(e.imageData),e.width,e.height))})),()=>{this.#e.cancelVideoThumbnailSequenceGeneration(e)}}async getVideoFillThumbnail(e,t){return assert2("id",e,integer()),assert2("thumbnailHeight",t,integer()),new Promise(((r,n)=>{this.#e.getVideoFillThumbnail(e,t,(e=>{"error"in e?n(e.error):r(new Blob_default([e],{type:"image/jpeg"}))}))}))}async getVideoFillThumbnailAtlas(e,t,r,n){return assert2("id",e,integer()),assert2("numberOfColumns",t,integer()),assert2("numberOfRows",r,integer()),assert2("thumbnailHeight",n,integer()),new Promise(((o,s)=>{this.#e.getVideoFillThumbnailAtlas(e,t,r,n,(e=>{"error"in e?s(e.error):o(new Blob_default([e],{type:"image/jpeg"}))}))}))}async getPageThumbnailAtlas(e,t,r,n){return assert2("id",e,integer()),assert2("numberOfColumns",t,integer()),assert2("numberOfRows",r,integer()),new Promise(((o,s)=>{this.#e.getPageThumbnailAtlas(e,t,r,n,(e=>{"error"in e?s(e.error):o(new Blob_default([e],{type:"image/jpeg"}))}))}))}setNativePixelBuffer(e,t){t instanceof HTMLVideoElement&&(t.width=t.videoWidth,t.height=t.videoHeight),unpackResult(this.#e.setNativePixelBuffer(e,t))}};function migrateConfigObject(e){var t;return e&&"callbacks"in e&&(null==(t=e.callbacks)?void 0:t.log)&&!e.logger?{...e,logger:e.callbacks.log}:e}function apiFallback(e,t){var r,n,o,s,a,i,u,c;if(e)try{const l=t.editor;if(null!=(null==(n=null==(r=e.page)?void 0:r.title)?void 0:n.show)&&l.setSettingBool("page/title/show",e.page.title.show),null!=(null==(s=null==(o=e.page)?void 0:o.title)?void 0:s.fontFileUri)&&l.setSettingString("page/title/fontFileUri",null==(i=null==(a=e.page)?void 0:a.title)?void 0:i.fontFileUri),null!=(null==(u=e.page)?void 0:u.dimOutOfPageAreas)&&l.setSettingBool("page/dimOutOfPageAreas",null==(c=e.page)?void 0:c.dimOutOfPageAreas),e.variables)for(const r in e.variables)if(Object.prototype.hasOwnProperty.call(e.variables,r)){const n=e.variables[r];t.variable.setString(r,String(n.value))}}catch(e){console.error(e)}}function warnKeys(e){var t;const r=[];return e?("callbacks"in e&&(null==(t=e.callbacks)?void 0:t.log)&&r.push("config.callbacks.log has been moved to config.logger"),e.scene&&r.push("config.scene options have been removed. You can set a scene's dpi and pixelScaleFactor via the BlockApi's setInt(sceneId, 'scene/dpi', dpi) and setInt(sceneId, 'scene/pixelScaleFactor', factor)."),e.page&&r.push("config.page options have been moved to the EditorAPI"),e.variables&&r.push("config.variables has been removed. Please use the VariableAPI instead"),r):r}__decorateClass([setter],BlockAPI.prototype,"loadFromString",1),__decorateClass([setter],BlockAPI.prototype,"create",1),__decorateClass([setter],BlockAPI.prototype,"createFill",1),__decorateClass([getter],BlockAPI.prototype,"getType",1),__decorateClass([setter],BlockAPI.prototype,"select",1),__decorateClass([setter],BlockAPI.prototype,"setSelected",1),__decorateClass([getter],BlockAPI.prototype,"isSelected",1),__decorateClass([getter],BlockAPI.prototype,"findAllSelected",1),__decorateClass([getter],BlockAPI.prototype,"isGroupable",1),__decorateClass([setter],BlockAPI.prototype,"group",1),__decorateClass([setter],BlockAPI.prototype,"ungroup",1),__decorateClass([setter],BlockAPI.prototype,"enterGroup",1),__decorateClass([setter],BlockAPI.prototype,"exitGroup",1),__decorateClass([getter],BlockAPI.prototype,"isCombinable",1),__decorateClass([setter],BlockAPI.prototype,"combine",1),__decorateClass([setter],BlockAPI.prototype,"setName",1),__decorateClass([getter],BlockAPI.prototype,"getName",1),__decorateClass([getter],BlockAPI.prototype,"getUUID",1),__decorateClass([getter],BlockAPI.prototype,"findByName",1),__decorateClass([getter],BlockAPI.prototype,"findByType",1),__decorateClass([getter],BlockAPI.prototype,"findAll",1),__decorateClass([getter],BlockAPI.prototype,"findAllPlaceholders",1),__decorateClass([setter],BlockAPI.prototype,"createShape",1),__decorateClass([getter],BlockAPI.prototype,"hasShape",1),__decorateClass([getter],BlockAPI.prototype,"getShape",1),__decorateClass([setter],BlockAPI.prototype,"setShape",1),__decorateClass([getter],BlockAPI.prototype,"isVisible",1),__decorateClass([setter],BlockAPI.prototype,"setVisible",1),__decorateClass([getter],BlockAPI.prototype,"isClipped",1),__decorateClass([setter],BlockAPI.prototype,"setClipped",1),__decorateClass([getter],BlockAPI.prototype,"isTransformLocked",1),__decorateClass([setter],BlockAPI.prototype,"setTransformLocked",1),__decorateClass([getter],BlockAPI.prototype,"getPositionX",1),__decorateClass([getter],BlockAPI.prototype,"getPositionXMode",1),__decorateClass([getter],BlockAPI.prototype,"getPositionY",1),__decorateClass([getter],BlockAPI.prototype,"getPositionYMode",1),__decorateClass([setter],BlockAPI.prototype,"setPositionX",1),__decorateClass([setter],BlockAPI.prototype,"setPositionXMode",1),__decorateClass([setter],BlockAPI.prototype,"setPositionY",1),__decorateClass([setter],BlockAPI.prototype,"setPositionYMode",1),__decorateClass([setter],BlockAPI.prototype,"setAlwaysOnTop",1),__decorateClass([setter],BlockAPI.prototype,"setAlwaysOnBottom",1),__decorateClass([getter],BlockAPI.prototype,"isAlwaysOnTop",1),__decorateClass([getter],BlockAPI.prototype,"isAlwaysOnBottom",1),__decorateClass([setter],BlockAPI.prototype,"bringToFront",1),__decorateClass([setter],BlockAPI.prototype,"sendToBack",1),__decorateClass([setter],BlockAPI.prototype,"bringForward",1),__decorateClass([setter],BlockAPI.prototype,"sendBackward",1),__decorateClass([getter],BlockAPI.prototype,"getRotation",1),__decorateClass([setter],BlockAPI.prototype,"setRotation",1),__decorateClass([getter],BlockAPI.prototype,"getFlipHorizontal",1),__decorateClass([getter],BlockAPI.prototype,"getFlipVertical",1),__decorateClass([setter],BlockAPI.prototype,"setFlipHorizontal",1),__decorateClass([setter],BlockAPI.prototype,"setFlipVertical",1),__decorateClass([getter],BlockAPI.prototype,"hasContentFillMode",1),__decorateClass([getter],BlockAPI.prototype,"getWidth",1),__decorateClass([getter],BlockAPI.prototype,"getWidthMode",1),__decorateClass([getter],BlockAPI.prototype,"getHeight",1),__decorateClass([getter],BlockAPI.prototype,"getHeightMode",1),__decorateClass([setter],BlockAPI.prototype,"setWidth",1),__decorateClass([setter],BlockAPI.prototype,"setWidthMode",1),__decorateClass([setter],BlockAPI.prototype,"setHeight",1),__decorateClass([setter],BlockAPI.prototype,"setHeightMode",1),__decorateClass([getter],BlockAPI.prototype,"getFrameX",1),__decorateClass([getter],BlockAPI.prototype,"getFrameY",1),__decorateClass([getter],BlockAPI.prototype,"getFrameWidth",1),__decorateClass([getter],BlockAPI.prototype,"getFrameHeight",1),__decorateClass([setter],BlockAPI.prototype,"setContentFillMode",1),__decorateClass([getter],BlockAPI.prototype,"getContentFillMode",1),__decorateClass([setter],BlockAPI.prototype,"duplicate",1),__decorateClass([setter],BlockAPI.prototype,"destroy",1),__decorateClass([getter],BlockAPI.prototype,"isValid",1),__decorateClass([getter],BlockAPI.prototype,"getParent",1),__decorateClass([getter],BlockAPI.prototype,"getChildren",1),__decorateClass([setter],BlockAPI.prototype,"insertChild",1),__decorateClass([setter],BlockAPI.prototype,"appendChild",1),__decorateClass([getter],BlockAPI.prototype,"referencesAnyVariables",1),__decorateClass([getter],BlockAPI.prototype,"getGlobalBoundingBoxX",1),__decorateClass([getter],BlockAPI.prototype,"getGlobalBoundingBoxY",1),__decorateClass([getter],BlockAPI.prototype,"getGlobalBoundingBoxWidth",1),__decorateClass([getter],BlockAPI.prototype,"getGlobalBoundingBoxHeight",1),__decorateClass([getter],BlockAPI.prototype,"getScreenSpaceBoundingBoxXYWH",1),__decorateClass([setter],BlockAPI.prototype,"alignHorizontally",1),__decorateClass([setter],BlockAPI.prototype,"alignVertically",1),__decorateClass([getter],BlockAPI.prototype,"isAlignable",1),__decorateClass([setter],BlockAPI.prototype,"distributeHorizontally",1),__decorateClass([setter],BlockAPI.prototype,"distributeVertically",1),__decorateClass([setter],BlockAPI.prototype,"isDistributable",1),__decorateClass([setter],BlockAPI.prototype,"fillParent",1),__decorateClass([setter],BlockAPI.prototype,"resizeContentAware",1),__decorateClass([setter],BlockAPI.prototype,"scale",1),__decorateClass([getter],BlockAPI.prototype,"findAllProperties",1),__decorateClass([getter],BlockAPI.prototype,"isPropertyReadable",1),__decorateClass([getter],BlockAPI.prototype,"isPropertyWritable",1),__decorateClass([getter],BlockAPI.prototype,"getPropertyType",1),__decorateClass([getter],BlockAPI.prototype,"getEnumValues",1),__decorateClass([setter],BlockAPI.prototype,"setBool",1),__decorateClass([getter],BlockAPI.prototype,"getBool",1),__decorateClass([setter],BlockAPI.prototype,"setInt",1),__decorateClass([getter],BlockAPI.prototype,"getInt",1),__decorateClass([setter],BlockAPI.prototype,"setFloat",1),__decorateClass([getter],BlockAPI.prototype,"getFloat",1),__decorateClass([setter],BlockAPI.prototype,"setDouble",1),__decorateClass([getter],BlockAPI.prototype,"getDouble",1),__decorateClass([setter],BlockAPI.prototype,"setString",1),__decorateClass([getter],BlockAPI.prototype,"getString",1),__decorateClass([setter],BlockAPI.prototype,"setColor",1),__decorateClass([getter],BlockAPI.prototype,"getColor",1),__decorateClass([setter],BlockAPI.prototype,"setColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setColorSpot",1),__decorateClass([getter],BlockAPI.prototype,"getColorSpotName",1),__decorateClass([getter],BlockAPI.prototype,"getColorSpotTint",1),__decorateClass([setter],BlockAPI.prototype,"setGradientColorStops",1),__decorateClass([getter],BlockAPI.prototype,"getGradientColorStops",1),__decorateClass([getter],BlockAPI.prototype,"getSourceSet",1),__decorateClass([setter],BlockAPI.prototype,"setSourceSet",1),__decorateClass([setter],BlockAPI.prototype,"setEnum",1),__decorateClass([getter],BlockAPI.prototype,"getEnum",1),__decorateClass([getter],BlockAPI.prototype,"hasCrop",1),__decorateClass([setter],BlockAPI.prototype,"setCropScaleX",1),__decorateClass([setter],BlockAPI.prototype,"setCropScaleY",1),__decorateClass([setter],BlockAPI.prototype,"setCropRotation",1),__decorateClass([setter],BlockAPI.prototype,"setCropScaleRatio",1),__decorateClass([setter],BlockAPI.prototype,"setCropTranslationX",1),__decorateClass([setter],BlockAPI.prototype,"setCropTranslationY",1),__decorateClass([setter],BlockAPI.prototype,"resetCrop",1),__decorateClass([getter],BlockAPI.prototype,"getCropScaleX",1),__decorateClass([getter],BlockAPI.prototype,"getCropScaleY",1),__decorateClass([getter],BlockAPI.prototype,"getCropRotation",1),__decorateClass([getter],BlockAPI.prototype,"getCropScaleRatio",1),__decorateClass([getter],BlockAPI.prototype,"getCropTranslationX",1),__decorateClass([getter],BlockAPI.prototype,"getCropTranslationY",1),__decorateClass([setter],BlockAPI.prototype,"adjustCropToFillFrame",1),__decorateClass([setter],BlockAPI.prototype,"flipCropHorizontal",1),__decorateClass([setter],BlockAPI.prototype,"flipCropVertical",1),__decorateClass([getter],BlockAPI.prototype,"hasOpacity",1),__decorateClass([setter],BlockAPI.prototype,"setOpacity",1),__decorateClass([getter],BlockAPI.prototype,"getOpacity",1),__decorateClass([getter],BlockAPI.prototype,"hasBlendMode",1),__decorateClass([setter],BlockAPI.prototype,"setBlendMode",1),__decorateClass([getter],BlockAPI.prototype,"getBlendMode",1),__decorateClass([getter],BlockAPI.prototype,"hasFillColor",1),__decorateClass([getter],BlockAPI.prototype,"isIncludedInExport",1),__decorateClass([setter],BlockAPI.prototype,"setIncludedInExport",1),__decorateClass([setter],BlockAPI.prototype,"setFillColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getFillColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setFillColorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isFillColorEnabled",1),__decorateClass([setter],BlockAPI.prototype,"createEffect",1),__decorateClass([getter],BlockAPI.prototype,"hasEffects",1),__decorateClass([getter],BlockAPI.prototype,"getEffects",1),__decorateClass([setter],BlockAPI.prototype,"insertEffect",1),__decorateClass([setter],BlockAPI.prototype,"appendEffect",1),__decorateClass([setter],BlockAPI.prototype,"removeEffect",1),__decorateClass([getter],BlockAPI.prototype,"hasEffectEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setEffectEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isEffectEnabled",1),__decorateClass([setter],BlockAPI.prototype,"createBlur",1),__decorateClass([getter],BlockAPI.prototype,"hasBlur",1),__decorateClass([setter],BlockAPI.prototype,"setBlur",1),__decorateClass([getter],BlockAPI.prototype,"getBlur",1),__decorateClass([setter],BlockAPI.prototype,"setBlurEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isBlurEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasBackgroundColor",1),__decorateClass([setter],BlockAPI.prototype,"setBackgroundColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getBackgroundColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setBackgroundColorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isBackgroundColorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasStroke",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isStrokeEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeColor",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeColor",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeWidth",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeWidth",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeStyle",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeStyle",1),__decorateClass([setter],BlockAPI.prototype,"setStrokePosition",1),__decorateClass([getter],BlockAPI.prototype,"getStrokePosition",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeCornerGeometry",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeCornerGeometry",1),__decorateClass([getter],BlockAPI.prototype,"hasDropShadow",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isDropShadowEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowColor",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowColor",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowOffsetX",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowOffsetX",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowOffsetY",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowOffsetY",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowBlurRadiusX",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowBlurRadiusX",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowBlurRadiusY",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowBlurRadiusY",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowClip",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowClip",1),__decorateClass([setter],BlockAPI.prototype,"createCutoutFromBlocks",1),__decorateClass([setter],BlockAPI.prototype,"createCutoutFromPath",1),__decorateClass([setter],BlockAPI.prototype,"createCutoutFromOperation",1),__decorateClass([setter],BlockAPI.prototype,"replaceText",1),__decorateClass([setter],BlockAPI.prototype,"removeText",1),__decorateClass([setter],BlockAPI.prototype,"setTextColor",1),__decorateClass([getter],BlockAPI.prototype,"getTextColors",1),__decorateClass([getter],BlockAPI.prototype,"getTextFontWeights",1),__decorateClass([getter],BlockAPI.prototype,"getTextFontStyles",1),__decorateClass([getter],BlockAPI.prototype,"getTextCases",1),__decorateClass([setter],BlockAPI.prototype,"setTextCase",1),__decorateClass([getter],BlockAPI.prototype,"getTextCursorRange",1),__decorateClass([getter],BlockAPI.prototype,"hasFill",1),__decorateClass([getter],BlockAPI.prototype,"isFillEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setFillEnabled",1),__decorateClass([getter],BlockAPI.prototype,"getFill",1),__decorateClass([setter],BlockAPI.prototype,"setFill",1),__decorateClass([setter],BlockAPI.prototype,"setFillSolidColor",1),__decorateClass([getter],BlockAPI.prototype,"getFillSolidColor",1),__decorateClass([setter],BlockAPI.prototype,"setPlaceholderEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isPlaceholderEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasPlaceholderBehavior",1),__decorateClass([setter],BlockAPI.prototype,"setPlaceholderBehaviorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isPlaceholderBehaviorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasPlaceholderControls",1),__decorateClass([setter],BlockAPI.prototype,"setPlaceholderControlsOverlayEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isPlaceholderControlsOverlayEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setPlaceholderControlsButtonEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isPlaceholderControlsButtonEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setMetadata",1),__decorateClass([getter],BlockAPI.prototype,"getMetadata",1),__decorateClass([getter],BlockAPI.prototype,"hasMetadata",1),__decorateClass([getter],BlockAPI.prototype,"findAllMetadata",1),__decorateClass([setter],BlockAPI.prototype,"removeMetadata",1),__decorateClass([setter],BlockAPI.prototype,"setScopeEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isScopeEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isAllowedByScope",1),__decorateClass([getter],BlockAPI.prototype,"hasDuration",1),__decorateClass([setter],BlockAPI.prototype,"setDuration",1),__decorateClass([getter],BlockAPI.prototype,"getDuration",1),__decorateClass([getter],BlockAPI.prototype,"hasTimeOffset",1),__decorateClass([setter],BlockAPI.prototype,"setTimeOffset",1),__decorateClass([getter],BlockAPI.prototype,"getTimeOffset",1),__decorateClass([getter],BlockAPI.prototype,"hasTrim",1),__decorateClass([setter],BlockAPI.prototype,"setTrimOffset",1),__decorateClass([getter],BlockAPI.prototype,"getTrimOffset",1),__decorateClass([setter],BlockAPI.prototype,"setTrimLength",1),__decorateClass([getter],BlockAPI.prototype,"getTrimLength",1),__decorateClass([getter],BlockAPI.prototype,"getTotalSceneDuration",1),__decorateClass([setter],BlockAPI.prototype,"setPlaying",1),__decorateClass([getter],BlockAPI.prototype,"isPlaying",1),__decorateClass([getter],BlockAPI.prototype,"hasPlaybackTime",1),__decorateClass([setter],BlockAPI.prototype,"setPlaybackTime",1),__decorateClass([getter],BlockAPI.prototype,"getPlaybackTime",1),__decorateClass([getter],BlockAPI.prototype,"isVisibleAtCurrentPlaybackTime",1),__decorateClass([setter],BlockAPI.prototype,"setSoloPlaybackEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isSoloPlaybackEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasPlaybackControl",1),__decorateClass([setter],BlockAPI.prototype,"setLooping",1),__decorateClass([getter],BlockAPI.prototype,"isLooping",1),__decorateClass([setter],BlockAPI.prototype,"setMuted",1),__decorateClass([getter],BlockAPI.prototype,"isMuted",1),__decorateClass([setter],BlockAPI.prototype,"setVolume",1),__decorateClass([getter],BlockAPI.prototype,"getVolume",1),__decorateClass([setter],BlockAPI.prototype,"forceLoadAVResource",1),__decorateClass([getter],BlockAPI.prototype,"unstable_isAVResourceLoaded",1),__decorateClass([getter],BlockAPI.prototype,"getAVResourceTotalDuration",1),__decorateClass([getter],BlockAPI.prototype,"getVideoWidth",1),__decorateClass([getter],BlockAPI.prototype,"getVideoHeight",1),__decorateClass([getter],BlockAPI.prototype,"getVideoFillThumbnail",1),__decorateClass([getter],BlockAPI.prototype,"getVideoFillThumbnailAtlas",1),__decorateClass([getter],BlockAPI.prototype,"getPageThumbnailAtlas",1);var EditorAPI=class{#e;constructor(e){this.#e=e}unlockWithLicense(e){unpackResult(this.#e.unlockWithLicense(e))}getActiveLicense(){return unpackResult(this.#e.getActiveLicense())}onStateChanged=e=>{const t=this.#e.subscribeToEditorState(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};setEditMode(e){assert2("keypath",e,string()),this.#e.setEditMode(e)}getEditMode(){return this.#e.getEditMode()}getCursorType(){return this.#e.getCursorType()}getCursorRotation(){return this.#e.getCursorRotation()}getTextCursorPositionInScreenSpaceX(){return this.#e.getTextCursorPositionInScreenSpaceX()}getTextCursorPositionInScreenSpaceY(){return this.#e.getTextCursorPositionInScreenSpaceY()}createHistory(){return this.#e.createHistory()}destroyHistory(e){unpackResult(this.#e.destroyHistory(e))}setActiveHistory(e){unpackResult(this.#e.setActiveHistory(e))}getActiveHistory(){return this.#e.getActiveHistory()}addUndoStep(){unpackResult(this.#e.addUndoStep())}undo(){unpackResult(this.#e.undo())}redo(){unpackResult(this.#e.redo())}canUndo(){return unpackResult(this.#e.canUndo())}canRedo(){return unpackResult(this.#e.canRedo())}onHistoryUpdated=e=>{const t=this.#e.subscribeToHistory(e);return()=>{this.#e.isDeleted()||this.#e.unsubscribe(t)}};onSettingsChanged=e=>{const t=this.#e.subscribeToSettings(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};setSettingBool(e,t){return assert2("keypath",e,string()),assert2("value",t,boolean()),unpackResult(this.#e.setSettingBool(e,t))}getSettingBool(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingBool(e))}setSettingInt(e,t){return assert2("keypath",e,string()),assert2("value",t,integer()),unpackResult(this.#e.setSettingInt(e,t))}getSettingInt(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingInt(e))}setSettingFloat(e,t){return assert2("keypath",e,string()),assert2("value",t,number()),unpackResult(this.#e.setSettingFloat(e,t))}getSettingFloat(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingFloat(e))}setSettingString(e,t){return assert2("keypath",e,string()),assert2("value",t,string()),unpackResult(this.#e.setSettingString(e,t))}getSettingString(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingString(e))}setSettingColor(e,t){return assert2("keypath",e,string()),unpackResult(this.#e.setSettingColor(e,ColorInternal.fromColor(t)))}getSettingColor(e){return assert2("keypath",e,string()),ColorInternal.toColor(unpackResult(this.#e.getSettingColor(e)))}setSettingColorRGBA(e,t,r,n,o=1){return assert2("keypath",e,string()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",n,number()),assert2("a",o,number()),unpackResult(this.#e.setSettingColorRGBA(e,t,r,n,o))}getSettingColorRGBA(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingColorRGBA(e))}setSettingEnum(e,t){return assert2("keypath",e,string()),assert2("value",t,string()),unpackResult(this.#e.setSettingEnum(e,t))}getSettingEnum(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingEnum(e))}getSettingEnumOptions(e){return assert2("keypath",e,string()),cppVectorToArray_default(unpackResult(this.#e.getSettingEnumOptions(e)))}findAllSettings(){return cppVectorToArray_default(this.#e.findAllSettings())}getSettingType(e){assert2("keypath",e,string());return unpackResult(this.#e.getSettingType(e))}getAvailableMemory(){return unpackResult(this.#e.getAvailableMemory())}getUsedMemory(){return unpackResult(this.#e.getUsedMemory())}getMaxExportSize(){return unpackResult(this.#e.getMaxExportSize())}setURIResolver(e){return unpackResult(this.#e.setURIResolver(e))}defaultURIResolver(e){return this.#e.defaultURIResolver(e)}getAbsoluteURI(e){return unpackResult(this.#e.getAbsoluteURI(e))}setGlobalScope(e,t){assert2("key",e,string()),assert2("value",t,string()),unpackResult(this.#e.setGlobalScope(e,t))}getGlobalScope(e){return assert2("key",e,string()),unpackResult(this.#e.getGlobalScope(e))}findAllSpotColors(){return cppVectorToArray_default(this.#e.findAllSpotColors())}getSpotColorRGBA(e){return assert2("name",e,string()),this.#e.getSpotColorRGB(e)}getSpotColorCMYK(e){return assert2("name",e,string()),this.#e.getSpotColorCMYK(e)}setSpotColorRGB(e,t,r,n){return assert2("name",e,string()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",n,number()),this.#e.setSpotColorRGB(e,t,r,n)}setSpotColorCMYK(e,t,r,n,o){return assert2("name",e,string()),assert2("c",t,number()),assert2("m",r,number()),assert2("y",n,number()),assert2("k",o,number()),this.#e.setSpotColorCMYK(e,t,r,n,o)}removeSpotColor(e){return assert2("name",e,string()),unpackResult(this.#e.removeSpotColor(e))}setSpotColorForCutoutType(e,t){return assert2("type",e,string()),assert2("color",t,string()),unpackResult(this.#e.setSpotColorForCutoutType(e,t))}getSpotColorForCutoutType(e){return assert2("type",e,string()),unpackResult(this.#e.getSpotColorForCutoutType(e))}convertColorToColorSpace(e,t){return assert2("colorSpace",t,string()),ColorInternal.toColor(unpackResult(this.#e.convertColorToColorSpace(ColorInternal.fromColor(e),t)))}};__decorateClass([setter],EditorAPI.prototype,"setEditMode",1),__decorateClass([getter],EditorAPI.prototype,"getEditMode",1),__decorateClass([getter],EditorAPI.prototype,"getCursorType",1),__decorateClass([getter],EditorAPI.prototype,"getCursorRotation",1),__decorateClass([getter],EditorAPI.prototype,"getTextCursorPositionInScreenSpaceX",1),__decorateClass([getter],EditorAPI.prototype,"getTextCursorPositionInScreenSpaceY",1),__decorateClass([setter],EditorAPI.prototype,"createHistory",1),__decorateClass([setter],EditorAPI.prototype,"destroyHistory",1),__decorateClass([setter],EditorAPI.prototype,"setActiveHistory",1),__decorateClass([getter],EditorAPI.prototype,"getActiveHistory",1),__decorateClass([setter],EditorAPI.prototype,"addUndoStep",1),__decorateClass([setter],EditorAPI.prototype,"undo",1),__decorateClass([setter],EditorAPI.prototype,"redo",1),__decorateClass([getter],EditorAPI.prototype,"canUndo",1),__decorateClass([getter],EditorAPI.prototype,"canRedo",1),__decorateClass([setter],EditorAPI.prototype,"setSettingBool",1),__decorateClass([getter],EditorAPI.prototype,"getSettingBool",1),__decorateClass([setter],EditorAPI.prototype,"setSettingInt",1),__decorateClass([getter],EditorAPI.prototype,"getSettingInt",1),__decorateClass([setter],EditorAPI.prototype,"setSettingFloat",1),__decorateClass([getter],EditorAPI.prototype,"getSettingFloat",1),__decorateClass([setter],EditorAPI.prototype,"setSettingString",1),__decorateClass([getter],EditorAPI.prototype,"getSettingString",1),__decorateClass([setter],EditorAPI.prototype,"setSettingColor",1),__decorateClass([getter],EditorAPI.prototype,"getSettingColor",1),__decorateClass([setter],EditorAPI.prototype,"setSettingColorRGBA",1),__decorateClass([getter],EditorAPI.prototype,"getSettingColorRGBA",1),__decorateClass([setter],EditorAPI.prototype,"setSettingEnum",1),__decorateClass([getter],EditorAPI.prototype,"getSettingEnum",1),__decorateClass([getter],EditorAPI.prototype,"getAvailableMemory",1),__decorateClass([getter],EditorAPI.prototype,"getUsedMemory",1),__decorateClass([getter],EditorAPI.prototype,"getMaxExportSize",1),__decorateClass([setter],EditorAPI.prototype,"setURIResolver",1),__decorateClass([getter],EditorAPI.prototype,"defaultURIResolver",1),__decorateClass([getter],EditorAPI.prototype,"getAbsoluteURI",1),__decorateClass([setter],EditorAPI.prototype,"setGlobalScope",1),__decorateClass([getter],EditorAPI.prototype,"getGlobalScope",1),__decorateClass([getter],EditorAPI.prototype,"findAllSpotColors",1),__decorateClass([getter],EditorAPI.prototype,"getSpotColorRGBA",1),__decorateClass([getter],EditorAPI.prototype,"getSpotColorCMYK",1),__decorateClass([setter],EditorAPI.prototype,"setSpotColorRGB",1),__decorateClass([setter],EditorAPI.prototype,"setSpotColorCMYK",1),__decorateClass([setter],EditorAPI.prototype,"removeSpotColor",1),__decorateClass([setter],EditorAPI.prototype,"setSpotColorForCutoutType",1),__decorateClass([setter],EditorAPI.prototype,"getSpotColorForCutoutType",1);var EventAPI=class{#e;constructor(e){this.#e=e}subscribe=(e,t)=>{assert2("blocks",e,array());const r=this.#e.subscribe(e,(e=>{try{t(cppVectorToArray_default(e,!0))}catch(e){console.error(e)}}));return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(r))}}},VariableAPI=class{#e;constructor(e){this.#e=e}findAll(){return cppVectorToArray_default(this.#e.findAllVariables())}setString(e,t){return assert2("key",e,string()),assert2("value",t,string()),unpackResult(this.#e.setVariableString(e,t))}getString(e){return assert2("key",e,string()),unpackResult(this.#e.getVariableString(e))}remove(e){return assert2("key",e,string()),unpackResult(this.#e.removeVariable(e))}},import_promises=__toESM(require("fs/promises")),import_url=require("url"),customFetch=findFetch();function findFetch(){if("undefined"!=typeof fetch)return fetch;if("undefined"!=typeof window)throw new Error("Could not find `fetch` API");try{return require("node-fetch")}catch{throw new Error("Could not find a `fetch` implementation. Please make sure you're using Node.JS >= 18, or install the node-fetch@cjs package, or provide another polyfill.")}}async function fetchJSON(e){if(!e.match(/^file:/))return customFetch(e);try{const t=await import_promises.default.readFile((0,import_url.fileURLToPath)(e),{encoding:"utf8"}),r=JSON.parse(t);return{ok:!0,json:async()=>r}}catch(e){return{ok:!1,statusText:e.message}}}var fetch_default=customFetch,import_url2=require("url"),isDevelopment=!1;function configureEngine(e,t){var r;const n=new UBQHelper(e),o=new EditorAPI(e),s=new AssetAPI(e);o.setSettingEnum("role",t.role??"Creator"),"Adopter"===t.role&&o.setSettingEnum("doubleClickSelectionMode","Direct"),isDevelopment&&(n.execute("cesdk/getVersionInfo").then((e=>console.debug(e))),n.execute("cesdk/getCapabilitiesInfo").then((e=>console.debug(e)))),o.setSettingString("basePath",t.baseURL),o.setSettingBool("showBuildVersion",isDevelopment||!1),(null==(r=t.featureFlags)?void 0:r.preventScrolling)&&(o.setSettingBool("touch/singlePointPanning",!1),o.setSettingBool("touch/dragStartCanSelect",!1)),s.addLocalSource("ly.img.text"),Object.entries(t.presets.typefaces||{}).forEach((([e,t])=>{(t.fonts||[]).forEach((r=>{const o=`${e}_${r.weight}_${r.style}`;n.execute("ubq/assets/registerFont",[o,r.fontURL,t.family,r.weight,r.style])}))})),function(){var e;isDevelopment&&(o.setSettingBool("features/hspSelectiveAdjustmentsEnabled",!1),o.setSettingBool("features/layerListEnabled",!1),o.setSettingBool("features/templatingEnabled",!0));const r=!!(null==(e=t.featureFlags)?void 0:e.singlePageMode);o.setSettingBool("features/singlePageModeEnabled",r),o.setSettingBool("features/effectsEnabled",!0)}(),function(){const e=t.extensions??[];e.entries.forEach((t=>{n.execute("ubq/extension/register",`${e.baseURL+t}`)}))}(),function(){const t=new VariableAPI(e);(isDevelopment||"undefined"!=typeof window&&window.Cypress)&&(t.setString("company_name","img.ly"),t.setString("first_name","Charly"),t.setString("last_name","Williams"),t.setString("address","742 Evergreen Terrace"),t.setString("city","Springfield"))}()}var licenseEndpoint="https://api.img.ly/activate";function downloadAndCheckLicense(e,t=fetch){if(!e.license)throw new Error("Missing license key in config");return e.license.length<128?t(licenseEndpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:e.license,userId:e.userId})}).then((e=>{if(e.ok)return e.json();throw new Error("Unfortunately we are experiencing a server down time and your License key cannot be validated. We're already working on a fix and will restore service soon. Should services not restore within the hour, kindly get in touch with our support team.")})).then((e=>{if("valid"===e.status)return e.license;throw"expired"===e.status?new Error("Thanks for using IMG.LY for creative editing. Please note that your license file or commercial use is expired. Please get in touch with our sales team to discuss extension of your commercial license."):new Error("The License Key (API Key) you are using to access the IMG.LY SDK is invalid. Please ensure that you are using the license key tied to your subscription and get in touch with our support team.")})):Promise.resolve(e.license)}function unlockUbq(e,t){if(!t)throw new Error("Missing license key");unpackResult(e.unlockWithLicense(t))}var import_cesdk=__toESM(require_cesdk()),cesdk_default="./cesdk-v1.21.1-SHMUI6C6.data",cesdk_default2="./cesdk-v1.21.1-WEFKCPUA.wasm",CESDK_JS=import_cesdk.default;async function init(e){const t=e.logger,r=downloadAndCheckLicense(e,fetch_default),{getPreloadedPackage:n,instantiateWasm:o}=await httpBaseUrlHandlers(e),s={locateFile:t=>t.endsWith(".wasm")?getAssetLocation(e,cesdk_default2):t.endsWith(".data")?getAssetLocation(e,cesdk_default):getAssetLocation(e,t),instantiateWasm:o,getPreloadedPackage:n,print:e=>{e&&t(e,"Info")},printErr:e=>{e&&t(e,"Error")},onRuntimeInitialized:()=>{t("Engine has been initialized.","Info")},logReadFiles:!1,printWithColors:!0},a=await CESDK_JS(s);a.emscripten_ubq_asyncFetchManager.setFetch(fetch_default);const i=unpackResult(a.createEngine("","auto"));return unlockUbq(i,await r),configureEngine(i,e),i}function getAssetLocation(e,t){const r=t.split("/").pop(),n=new URL(r,e.core.baseURL);if("file:"===n.protocol)return(0,import_url2.fileURLToPath)(n);return new URL(r,e.core.baseURL).toString()}async function httpBaseUrlHandlers(e){if(!e.core.baseURL.startsWith("http"))return{};const t=getAssetLocation(e,cesdk_default),r=getAssetLocation(e,cesdk_default2),n=fetch_default(t).then((e=>{if(e.status>=400)throw new Error(`Failed to fetch DATA package: ${e.status} ${e.statusText}`);return e.arrayBuffer()})),o=await n;return{getPreloadedPackage:function(e,r){if(e===t){if(r!==o.byteLength)throw new Error(`Attempt to get preloaded data package of incorrect size. Expected: ${r} Actual: ${o.byteLength}`);return o}return null},instantiateWasm:function(e,t){const n=e,o=fetch_default(r).then((e=>{if(e.status>=400)throw new Error(`Failed to fetch WASM package: ${e.status} ${e.statusText}`);return e}));return void 0!==WebAssembly.instantiateStreaming?o.then((e=>WebAssembly.instantiateStreaming(e,n))).then((({instance:e})=>t(e))):o.then((e=>e.arrayBuffer())).then((e=>WebAssembly.compile(e))).then((e=>WebAssembly.instantiate(e,n))).then(t),{}}}}var ASSET_SOURCE_BASE_URL="https://cdn.img.ly/assets/v2",CreativeEngine=class{asset;block;editor;event;scene;variable;#o;#e;constructor(e,t){this.#e=e,this.#o=new UBQHelper(e),this.asset=new AssetAPI(e),this.block=new BlockAPI(e),this.editor=new EditorAPI(e),this.event=new EventAPI(e),this.scene=new SceneAPI(e),this.variable=new VariableAPI(e),this.block.exportVideo=()=>{throw new Error("Exporting video is currently not supported on Node.JS")},this.#s(),"undefined"!=typeof window&&window.Cypress&&(this.config=t,this.helper=this.#o)}#a;#s(){this.#i()}#i(){if(this.#a)return;const e=()=>{this.update(),this.#a=setTimeout(e,16)};this.#a=setTimeout(e,16)}#u(){this.#a&&(clearTimeout(this.#a),this.#a=null)}update(){this.#e.update()}dispose(){this.#u(),this.#o=null,this.block=null,this.scene=null,this.variable=null,this.#e.delete(),this.#e=null}static async init(e){const t="46a2ccbf04";t&&console.log(`[CreativeEngine] Revision ${t}`);const r=initWithDefaults(migrateConfigObject(e),`file://${__dirname}/assets/`);for(const t of warnKeys(e))r.logger(t,"Warning");const n=new this(await init(r),r);return apiFallback(e,n),n}async addDefaultAssetSources({baseURL:e=ASSET_SOURCE_BASE_URL,excludeAssetSourceIds:t=[]}={}){return addDefaultAssetSources_default(this.asset,e,t,fetchJSON)}async addDemoAssetSources({excludeAssetSourceIds:e=[],sceneMode:t="Design",withUploadAssetSources:r=!1}={}){return addDemoAssetSources_default(this.asset,this.scene,e,t,r,fetchJSON)}},src_default=CreativeEngine;module.exports=CreativeEngine,Object.defineProperty(module.exports,"__esModule",{value:!0}),Object.defineProperty(module.exports,"default",{value:CreativeEngine}),Object.defineProperty(module.exports,"LogLevel",{value:LogLevel}),Object.defineProperty(module.exports,"MimeType",{value:MimeType_default});
1
+ "use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__commonJS=(e,t)=>function(){return t||(0,e[__getOwnPropNames(e)[0]])((t={exports:{}}).exports,t),t.exports},__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of __getOwnPropNames(t))__hasOwnProp.call(e,n)||n===r||__defProp(e,n,{get:()=>t[n],enumerable:!(o=__getOwnPropDesc(t,n))||o.enumerable});return e},__toESM=(e,t,r)=>(r=null!=e?__create(__getProtoOf(e)):{},__copyProps(!t&&e&&e.__esModule?r:__defProp(r,"default",{value:e,enumerable:!0}),e)),__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),__decorateClass=(e,t,r,o)=>{for(var n,s=o>1?void 0:o?__getOwnPropDesc(t,r):t,a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o?n(t,r,s):n(s))||s);return o&&s&&__defProp(t,r,s),s},require_cesdk=__commonJS({"../../../_builds/cesdk/wasm32-unknown-emscripten+simd/Release/cesdk.js"(e,t){var r,o=(r="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,"undefined"!=typeof __filename&&(r||=__filename),function(e={}){var t,o,n,s,a,i,u=e;if(void 0===globalThis.BigInt64Array){let e=function(e,t){return BigInt(e)|BigInt(t+2*(2147483648&t))<<32n},t=function(e,t){return BigInt(e)|BigInt(t)<<32n},r=function(e){return[0|Number(BigInt(e)&BigInt(4294967295)),0|Number(BigInt(e)>>32n)]},o=function(e){return function t(o){var n;"number"==typeof o&&(o=new Uint32Array(2*o)),ArrayBuffer.isView(o)||(o.constructor&&"ArrayBuffer"===o.constructor.name?o=new Uint32Array(o):(n=o,o=new Uint32Array(2*o.length)));var s=new Proxy({slice:(e,r)=>(r??=o.length,t(o.slice(2*e,2*r))),subarray:(e,r)=>t(o.subarray(2*e,2*r)),[Symbol.iterator]:function*(){for(var t=0;t<o.length/2;t++)yield e(o[2*t],o[2*t+1])},BYTES_PER_ELEMENT:2*o.BYTES_PER_ELEMENT,buffer:o.buffer,byteLength:o.byteLength,byteOffset:o.byteOffset,length:o.length/2,copyWithin:function(e,t,r){return o.copyWithin(2*e,2*t,2*r),s},set(e,t){if(t??=0,2*(e.length+t)>o.length)throw new RangeError("offset is out of bounds");for(var n=0;n<e.length;n++){var s=e[n],a=r(s);o.set(a,2*(t+n))}}},{get(t,r,n){if("string"!=typeof r||!/^\d+$/.test(r))return Reflect.get(t,r,n);var s=o[2*r],a=o[2*r+1];return e(s,a)},set(e,t,n,s){if("string"!=typeof t||!/^\d+$/.test(t))return Reflect.set(e,t,n,s);if("bigint"!=typeof n)throw new TypeError(`Cannot convert ${n} to a BigInt`);var a=r(n);return o.set(a,2*t),!0}});return n&&s.set(n),s}};globalThis.BigUint64Array=o(t),globalThis.BigInt64Array=o(e)}u.ready=new Promise(((e,r)=>{t=e,o=r})),u.expectedDataFileDownloads||(u.expectedDataFileDownloads=0),u.expectedDataFileDownloads++,u.ENVIRONMENT_IS_PTHREAD||u.$ww||function(e){"object"==typeof window?window.encodeURIComponent(window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/"):"undefined"==typeof process&&"undefined"!=typeof location&&encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/");var t="cesdk.data";"function"!=typeof u.locateFilePackage||u.locateFile||(u.locateFile=u.locateFilePackage,E("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)"));var r=u.locateFile?u.locateFile(t,""):t,o=e.remote_package_size,n=null,s=u.getPreloadedPackage?u.getPreloadedPackage(r,o):null;function a(){function t(e,t){if(!e)throw t+(new Error).stack}function r(e,t,r){this.start=e,this.end=t,this.audio=r}u.FS_createPath("/","ly.img.cesdk",!0,!0),u.FS_createPath("/ly.img.cesdk","fonts",!0,!0),u.FS_createPath("/ly.img.cesdk","icons",!0,!0),u.FS_createPath("/ly.img.cesdk","icu",!0,!0),u.FS_createPath("/ly.img.cesdk","presets",!0,!0),u.FS_createPath("/ly.img.cesdk","shaders",!0,!0),u.FS_createPath("/ly.img.cesdk/shaders","common",!0,!0),r.prototype={requests:{},open:function(e,t){this.name=t,this.requests[t]=this,u.addRunDependency(`fp ${this.name}`)},send:function(){},onload:function(){var e=this.byteArray.subarray(this.start,this.end);this.finish(e)},finish:function(e){u.FS_createDataFile(this.name,null,e,!0,!0,!0),u.removeRunDependency(`fp ${this.name}`),this.requests[this.name]=null}};for(var o=e.files,a=0;a<o.length;++a)new r(o[a].start,o[a].end,o[a].audio||0).open("GET",o[a].filename);function i(o){t(o,"Loading data file failed."),t(o.constructor.name===ArrayBuffer.name,"bad input to processPackageData");var n=new Uint8Array(o);r.prototype.byteArray=n;for(var s=e.files,a=0;a<s.length;++a)r.prototype.requests[s[a].filename].onload();u.removeRunDependency("datafile_cesdk.data")}u.addRunDependency("datafile_cesdk.data"),u.preloadResults||(u.preloadResults={}),u.preloadResults["cesdk.data"]={fromCache:!1},s?(i(s),s=null):n=i}s||function(e,t,r,o){if("object"!=typeof process||"object"!=typeof process.versions||"string"!=typeof process.versions.node){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onprogress=function(r){var o=e,s=t;if(r.total&&(s=r.total),r.loaded){n.addedTotal?u.dataFileDownloads[o].loaded=r.loaded:(n.addedTotal=!0,u.dataFileDownloads||(u.dataFileDownloads={}),u.dataFileDownloads[o]={loaded:r.loaded,total:s});var a=0,i=0,l=0;for(var c in u.dataFileDownloads){var d=u.dataFileDownloads[c];a+=d.total,i+=d.loaded,l++}a=Math.ceil(a*u.expectedDataFileDownloads/l),u.setStatus&&u.setStatus(`Downloading data... (${i}/${a})`)}else u.dataFileDownloads||u.setStatus&&u.setStatus("Downloading data...")},n.onerror=function(t){throw new Error("NetworkError for: "+e)},n.onload=function(e){if(!(200==n.status||304==n.status||206==n.status||0==n.status&&n.response))throw new Error(n.statusText+" : "+n.responseURL);var t=n.response;r(t)},n.send(null)}else require("fs").readFile(e,(function(e,t){e?o(e):r(t.buffer)}))}(r,o,(function(e){n?(n(e),n=null):s=e}),(function(e){console.error("package error:",e)})),u.calledRun?a():(u.preRun||(u.preRun=[]),u.preRun.push(a))}({files:[{filename:"/ly.img.cesdk/fonts/imgly_font_inter_semibold.otf",start:0,end:270760},{filename:"/ly.img.cesdk/icons/ErrorAudio.svg",start:270760,end:271672},{filename:"/ly.img.cesdk/icons/ErrorConnection.svg",start:271672,end:272620},{filename:"/ly.img.cesdk/icons/ErrorVideo.svg",start:272620,end:273473},{filename:"/ly.img.cesdk/icons/Move.svg",start:273473,end:274748},{filename:"/ly.img.cesdk/icons/RotateIndicator.svg",start:274748,end:275745},{filename:"/ly.img.cesdk/icu/icudt74l.dat",start:275745,end:810849},{filename:"/ly.img.cesdk/presets/.keep",start:810849,end:810849},{filename:"/ly.img.cesdk/shaders/adjustments.sksl",start:810849,end:814738},{filename:"/ly.img.cesdk/shaders/black_and_white_color_mixer.sksl",start:814738,end:821055},{filename:"/ly.img.cesdk/shaders/common/ubq_adjustments.sksl",start:821055,end:825646},{filename:"/ly.img.cesdk/shaders/common/ubq_color_conversions.sksl",start:825646,end:835631},{filename:"/ly.img.cesdk/shaders/common/ubq_constants.sksl",start:835631,end:836121},{filename:"/ly.img.cesdk/shaders/common/ubq_hue_constants.sksl",start:836121,end:839288},{filename:"/ly.img.cesdk/shaders/common/ubq_noise.sksl",start:839288,end:841926},{filename:"/ly.img.cesdk/shaders/cross_cut.sksl",start:841926,end:842873},{filename:"/ly.img.cesdk/shaders/dot_pattern.sksl",start:842873,end:843388},{filename:"/ly.img.cesdk/shaders/duotone_filter.sksl",start:843388,end:844352},{filename:"/ly.img.cesdk/shaders/extrude_blur.sksl",start:844352,end:846469},{filename:"/ly.img.cesdk/shaders/glow.sksl",start:846469,end:847436},{filename:"/ly.img.cesdk/shaders/half_tone.sksl",start:847436,end:847930},{filename:"/ly.img.cesdk/shaders/hsp_selective_adjustments.sksl",start:847930,end:861530},{filename:"/ly.img.cesdk/shaders/linocut.sksl",start:861530,end:862315},{filename:"/ly.img.cesdk/shaders/liquid.sksl",start:862315,end:862797},{filename:"/ly.img.cesdk/shaders/lut_filter.sksl",start:862797,end:865660},{filename:"/ly.img.cesdk/shaders/mask_color.sksl",start:865660,end:866165},{filename:"/ly.img.cesdk/shaders/mirror.sksl",start:866165,end:866619},{filename:"/ly.img.cesdk/shaders/outliner.sksl",start:866619,end:868256},{filename:"/ly.img.cesdk/shaders/pixelize.sksl",start:868256,end:868556},{filename:"/ly.img.cesdk/shaders/placeholder_overlay_lines.sksl",start:868556,end:869244},{filename:"/ly.img.cesdk/shaders/posterize.sksl",start:869244,end:869456},{filename:"/ly.img.cesdk/shaders/radial_pixel.sksl",start:869456,end:870019},{filename:"/ly.img.cesdk/shaders/recolor.sksl",start:870019,end:872220},{filename:"/ly.img.cesdk/shaders/sharpie.sksl",start:872220,end:874525},{filename:"/ly.img.cesdk/shaders/shifter.sksl",start:874525,end:875209},{filename:"/ly.img.cesdk/shaders/tiltshift.sksl",start:875209,end:875791},{filename:"/ly.img.cesdk/shaders/tv_glitch.sksl",start:875791,end:876509},{filename:"/ly.img.cesdk/shaders/vignette.sksl",start:876509,end:876881}],remote_package_size:876881}),"object"==typeof window&&"object"==typeof window.performance?u.performance=performance:"object"==typeof global&&"object"==typeof global.perf_hooks&&"object"==typeof global.perf_hooks.performance?u.performance=global.perf_hooks.performance:u.performance={mark:function(){},measure:function(){}},(s=n||(n={}))[s.PENDING=0]="PENDING",s[s.FINISHED=1]="FINISHED",s[s.ALLOCATED=2]="ALLOCATED",s[s.ERROR=3]="ERROR",(i=a||(a={}))[i.GET=0]="GET",i[i.POST=1]="POST";class FetchProcess{constructor(e,t){this.state=n.PENDING,this.totalBytes=0,this.receivedLength=0,this.handle=e,this.uri=t,this.abortController=new AbortController,this.abortSignal=this.abortController.signal}async readChunks(e){let t=0;const r=[],o=e=>{r.push(e),t+=e.length,this.receivedLength=t};if(null==e);else if("getReader"in e){const t=e.getReader();for(;;){const{done:e,value:r}=await t.read();if(e)break;if(this.abortSignal.aborted)throw await t.cancel(),t.releaseLock(),new Error(this.abortSignal.reason);o(r)}t.releaseLock()}else{const t=()=>e.destroy(new Error(this.abortSignal.reason));this.abortSignal.addEventListener("abort",t,{once:!0});try{await new Promise(((t,r)=>{e.on("data",o),e.on("end",(()=>t())),e.on("error",(e=>r(e)))}))}finally{this.abortSignal.removeEventListener("abort",t)}}const n=new Uint8Array(t);let s=0;for(const e of r)n.set(e,s),s+=e.length;return this.finish(n)}abort(){this.isPending()&&this.abortController.abort("Fetch aborted")}isPending(){return this.state===n.PENDING}isError(){return this.state===n.ERROR}isFinished(){return this.state===n.FINISHED}isAllocated(){return this.state===n.ALLOCATED}allocate(){if(this.isAllocated())return this;if(this.isFinished()){const e=this.result.length,t=u._malloc(e);u.HEAPU8.set(this.result,t);const r=Object.assign(Object.assign({},this),{state:n.ALLOCATED,resultAddress:t,resultLength:e});return Object.assign(this,r),r}return null}finish(e){const t=Object.assign(Object.assign({},this),{state:n.FINISHED,result:e,totalBytes:e.length});return Object.assign(this,t)}fail(e){const t=Object.assign(Object.assign({},this),{state:n.ERROR,error:e});return Object.assign(this,t)}}u.emscripten_ubq_asyncFetchManager=new class AsyncFetchManager{constructor(){this._nextHandle=0,this._nextHeaderHandle=0,this._processes=new Map,this._headers=new Map,this._fetchImpl=null}_fetch(e,t){return this._fetchImpl?this._fetchImpl(e,t):fetch(e,t)}setFetch(e){this._fetchImpl=e}getProcess(e){return this._processes.get(e)}deleteProcess(e){const t=this._processes.get(e);return(null==t?void 0:t.isPending())&&t.abort(),this._processes.delete(e)}clear(){for(const e of this._processes.values())e.isPending()&&e.abort();this._processes.clear(),this._headers.clear()}fetch(e,t,r,o,n,s,a,i,l){const c=u.UTF8ToString(t,r),d=this._nextHandle++,p=new FetchProcess(d,c);return this._processes.set(d,p),c.match(/^file:/)?this._fetchFile(p).catch((e=>{p.fail(e)})):this._fetchRemote(p,e,o,n,s,a,i,l).catch((e=>{p.fail(e)})),p}async _fetchFile(e){if("undefined"!=typeof window)throw new Error("File URLs supported only in Node.JS");const t=require("fs"),{fileURLToPath:r}=require("url"),o=t.createReadStream(r(e.uri));return e.readChunks(o)}async _fetchRemote(e,t,r,o,n,s,i,l){const c=u.UTF8ToString(i,l),d=this.getHeaders(r,o),p=t===a.POST?new Uint8Array(u.HEAPU8.buffer,n,s):void 0,g=await this._fetch(e.uri,{method:a[t],headers:d,body:p,mode:"cors",credentials:c,signal:e.abortSignal});if(g.status>=200&&g.status<=209){let t=0;return g.headers.has("Content-Length")&&(t=+g.headers.get("Content-Length")),e.totalBytes=t,e.readChunks(g.body)}return e.fail(g.statusText)}getHeaders(e,t){const r={};for(let o=0;o<t;o++){const t=u.getValue(e+4*o,"i32"),n=this._headers.get(t);r[n.key]=n.value}return r}createHeader(e,t,r,o){const n=u.UTF8ToString(e,t),s=u.UTF8ToString(r,o),a=this._nextHeaderHandle++;return this._headers.set(a,{key:n,value:s}),a}deleteHeader(e){return this._headers.delete(e)}},u.emscripten_ubq_codec_videoDecoders=new Map,u.emscripten_ubq_codec_audioDecoders=new Map,u.emscripten_ubq_codec_videoEncoders=new Map,u.emscripten_ubq_codec_audioEncoders=new Map,u.emscripten_ubq_codec_videoDecoderNextHandle=1,u.emscripten_ubq_codec_audioDecoderNextHandle=1,u.emscripten_ubq_codec_videoEncoderNextHandle=1,u.emscripten_ubq_codec_audioEncoderNextHandle=1,u.emscripten_ubq_codec_createNativeResult=function(e){const t=u._malloc(8),r=u.HEAPU32.subarray(t/4,t/4+2);if(r[0]=e.handle?e.handle:e.code?e.code:0,e.error){const t=(new TextEncoder).encode(e.error),o=u._malloc(t.length+1),n=u.HEAPU8.subarray(o,o+t.length+1);for(let e=0;e<t.length;e++)n[e]=t[e];n[t.length]=0,r[1]=o}else r[1]=0;return t},u.emscripten_ubq_codec_createVideoDecoder=function(e,t){const r=new VideoDecoder({output:o=>{const n=r.textures;let s=!1;if((r.shouldDropFrames||r.decodedFrames<r.requestedFrame||r.decodeQueueSize>=n.length)&&(s=!0),!s){var a=u.ctx;const e=r.decodedFrames%n.length,t=a.getParameter(a.TEXTURE_BINDING_2D);a.bindTexture(a.TEXTURE_2D,n[e]),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,o),a.bindTexture(a.TEXTURE_2D,t)}o.close(),r.decodedFrames++,u.emscripten_ubq_codec_onOutputDecodedVideoFrame(e,r.decodedFrames,s,t)},error:e=>{r.unexpectedError=e,console.error(e)}});return r.decodedFrames=0,r.requestedFrame=0,r.shouldDropFrames=!1,r},u.emscripten_ubq_codec_createAudioDecoder=function(e,t,r){const o=new AudioDecoder({output:n=>{if(o.flushing)return void n.close();const s=u.HEAPF32.subarray(e/4,e/4+r),a=u.HEAPF32.subarray(t/4,t/4+r),i=1===n.numberOfChannels?0:1;if("f32-planar"===n.format){let e=o.writtenFrames%r;if(e+n.numberOfFrames<=r)n.copyTo(s.subarray(e),{planeIndex:0,frameCount:n.numberOfFrames}),n.copyTo(a.subarray(e),{planeIndex:i,frameCount:n.numberOfFrames});else{const t=r-e;n.copyTo(s.subarray(e),{planeIndex:0,frameCount:t}),n.copyTo(a.subarray(e),{planeIndex:i,frameCount:t}),n.copyTo(s,{planeIndex:0,frameOffset:t}),n.copyTo(a,{planeIndex:i,frameOffset:t})}o.writtenFrames+=n.numberOfFrames}else if("s16-planar"===n.format)if(1===n.numberOfChannels){const e=new Int16Array(n.numberOfFrames);n.copyTo(e,{planeIndex:0});for(let t=0;t<n.numberOfFrames;t++){const n=e[t]/32768;let i=o.writtenFrames%r;s[i]=n,a[i]=n,o.writtenFrames++}}else{const e=new Int16Array(n.numberOfFrames),t=new Int16Array(n.numberOfFrames);n.copyTo(e,{planeIndex:0}),n.copyTo(t,{planeIndex:1});for(let i=0;i<n.numberOfFrames;i++){let n=o.writtenFrames%r;s[n]=e[i]/32768,a[n]=t[i]/32768,o.writtenFrames++}}else if("s16"===n.format){const e=new Int16Array(n.numberOfFrames*n.numberOfChannels);if(n.copyTo(e,{planeIndex:0}),1===n.numberOfChannels)for(let t=0;t<n.numberOfFrames;t++){const n=e[t]/32768;let i=o.writtenFrames%r;s[i]=n,a[i]=n,o.writtenFrames++}else for(let t=0;t<n.numberOfFrames;t++){let i=o.writtenFrames%r;s[i]=e[t*n.numberOfChannels+0]/32768,a[i]=e[t*n.numberOfChannels+1]/32768,o.writtenFrames++}}else console.error("Unsupported audio format:",n.format);n.close()},error:e=>{o.unexpectedError=e,console.error(e)}});return o.writtenFrames=0,o},u.emscripten_ubq_settings_forceWebGL1=!1;var l,c,d,p=Object.assign({},u),g=[],f="./this.program",m=(e,t)=>{throw t},h="object"==typeof window,b="function"==typeof importScripts,y="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,v="";if(y){var _=require("fs"),k=require("path");v=b?k.dirname(v)+"/":__dirname+"/",l=(e,t)=>(e=ee(e)?new URL(e):k.normalize(e),_.readFileSync(e,t?void 0:"utf8")),d=e=>{var t=l(e,!0);return t.buffer||(t=new Uint8Array(t)),t},c=(e,t,r,o=!0)=>{e=ee(e)?new URL(e):k.normalize(e),_.readFile(e,o?void 0:"utf8",((e,n)=>{e?r(e):t(o?n.buffer:n)}))},!u.thisProgram&&process.argv.length>1&&(f=process.argv[1].replace(/\\/g,"/")),g=process.argv.slice(2),m=(e,t)=>{throw process.exitCode=e,t}}else(h||b)&&(b?v=self.location.href:"undefined"!=typeof document&&document.currentScript&&(v=document.currentScript.src),r&&(v=r),v=v.startsWith("blob:")?"":v.substr(0,v.replace(/[?#].*/,"").lastIndexOf("/")+1),l=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},b&&(d=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),c=(e,t,r)=>{var o=new XMLHttpRequest;o.open("GET",e,!0),o.responseType="arraybuffer",o.onload=()=>{200==o.status||0==o.status&&o.response?t(o.response):r()},o.onerror=r,o.send(null)});var C,w,A=u.print||console.log.bind(console),E=u.printErr||console.error.bind(console);Object.assign(u,p),p=null,u.arguments&&(g=u.arguments),u.thisProgram&&(f=u.thisProgram),u.quit&&(m=u.quit),u.wasmBinary&&(C=u.wasmBinary),"object"!=typeof WebAssembly&&Q("no native wasm support detected");var P,S,R,B,x,I,T,q,F,D,L,M=!1;function O(e,t){e||Q(t)}function U(){var e=w.buffer;u.HEAP8=S=new Int8Array(e),u.HEAP16=B=new Int16Array(e),u.HEAPU8=R=new Uint8Array(e),u.HEAPU16=x=new Uint16Array(e),u.HEAP32=I=new Int32Array(e),u.HEAPU32=T=new Uint32Array(e),u.HEAPF32=q=new Float32Array(e),u.HEAPF64=L=new Float64Array(e),u.HEAP64=F=new BigInt64Array(e),u.HEAPU64=D=new BigUint64Array(e)}var $=u.INITIAL_MEMORY||16777216;w=u.wasmMemory?u.wasmMemory:new WebAssembly.Memory({initial:$/65536,maximum:32768}),U(),$=w.buffer.byteLength;var V=[],N=[],H=[],j=[],W=0,G=null,z=null;function Y(e){var t;W++,null==(t=u.monitorRunDependencies)||t.call(u,W)}function X(e){var t;if(W--,null==(t=u.monitorRunDependencies)||t.call(u,W),0==W&&(null!==G&&(clearInterval(G),G=null),z)){var r=z;z=null,r()}}function Q(e){var t;null==(t=u.onAbort)||t.call(u,e),E(e="Aborted("+e+")"),M=!0,P=1,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw o(r),r}var K,Z,J=e=>e.startsWith("data:application/octet-stream;base64,"),ee=e=>e.startsWith("file://");function te(e){if(e==K&&C)return new Uint8Array(C);if(d)return d(e);throw"both async and sync fetching of the wasm failed"}function re(e,t,r){return function(e){return C||!h&&!b||"function"!=typeof fetch?Promise.resolve().then((()=>te(e))):fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw`failed to load wasm binary file at '${e}'`;return t.arrayBuffer()})).catch((()=>te(e)))}(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{E(`failed to asynchronously prepare wasm: ${e}`),Q(e)}))}J(K="cesdk.wasm")||(Z=K,K=u.locateFile?u.locateFile(Z,v):v+Z);var oe={2392456:(e,t,r,o,n)=>"undefined"==typeof window||void 0===(window.AudioContext||window.webkitAudioContext)?0:(void 0===window.miniaudio&&(window.miniaudio={referenceCount:0},window.miniaudio.device_type={},window.miniaudio.device_type.playback=e,window.miniaudio.device_type.capture=t,window.miniaudio.device_type.duplex=r,window.miniaudio.device_state={},window.miniaudio.device_state.stopped=o,window.miniaudio.device_state.started=n,miniaudio.devices=[],miniaudio.track_device=function(e){for(var t=0;t<miniaudio.devices.length;++t)if(null==miniaudio.devices[t])return miniaudio.devices[t]=e,t;return miniaudio.devices.push(e),miniaudio.devices.length-1},miniaudio.untrack_device_by_index=function(e){for(miniaudio.devices[e]=null;miniaudio.devices.length>0&&null==miniaudio.devices[miniaudio.devices.length-1];)miniaudio.devices.pop()},miniaudio.untrack_device=function(e){for(var t=0;t<miniaudio.devices.length;++t)if(miniaudio.devices[t]==e)return miniaudio.untrack_device_by_index(t)},miniaudio.get_device_by_index=function(e){return miniaudio.devices[e]},miniaudio.unlock_event_types=function(){return["touchstart","touchend","click"]}(),miniaudio.unlock=function(){for(var e=0;e<miniaudio.devices.length;++e){var t=miniaudio.devices[e];null!=t&&null!=t.webaudio&&2===t.state&&t.webaudio.resume()}miniaudio.unlock_event_types.map((function(e){document.removeEventListener(e,miniaudio.unlock,!0)}))},miniaudio.unlock_event_types.map((function(e){document.addEventListener(e,miniaudio.unlock,!0)}))),window.miniaudio.referenceCount+=1,1),2394446:()=>{void 0!==window.miniaudio&&(window.miniaudio.referenceCount-=1,0===window.miniaudio.referenceCount&&delete window.miniaudio)},2394610:()=>void 0!==navigator.mediaDevices&&void 0!==navigator.mediaDevices.getUserMedia,2394714:()=>{try{var e=new(window.AudioContext||window.webkitAudioContext),t=e.sampleRate;return e.close(),t}catch(e){return 0}},2394885:(e,t,r,o,n,s)=>{var a=e,i=t,l=r,c=o,d=n,p=s;if(void 0===window.miniaudio)return-1;var g={},f={};a==window.miniaudio.device_type.playback&&(f.sampleRate=l),g.webaudio=new(window.AudioContext||window.webkitAudioContext)(f),g.webaudio.suspend(),g.state=window.miniaudio.device_state.stopped;var m=0,h=i;return a!=window.miniaudio.device_type.playback&&(m=i),g.scriptNode=g.webaudio.createScriptProcessor(c,m,h),g.scriptNode.onaudioprocess=function(e){if(null!=g.intermediaryBufferView&&0!=g.intermediaryBufferView.length||(g.intermediaryBufferView=new Float32Array(u.HEAPF32.buffer,d,c*i)),a==miniaudio.device_type.capture||a==miniaudio.device_type.duplex){for(var t=0;t<i;t+=1)for(var r=e.inputBuffer.getChannelData(t),o=g.intermediaryBufferView,n=0;n<c;n+=1)o[n*i+t]=r[n];qu(p,c,d)}if(a==miniaudio.device_type.playback||a==miniaudio.device_type.duplex)for(Fu(p,c,d),t=0;t<e.outputBuffer.numberOfChannels;++t){var s=e.outputBuffer.getChannelData(t);for(o=g.intermediaryBufferView,n=0;n<c;n+=1)s[n]=o[n*i+t]}else for(t=0;t<e.outputBuffer.numberOfChannels;++t)e.outputBuffer.getChannelData(t).fill(0)},a!=miniaudio.device_type.capture&&a!=miniaudio.device_type.duplex||navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then((function(e){g.streamNode=g.webaudio.createMediaStreamSource(e),g.streamNode.connect(g.scriptNode),g.scriptNode.connect(g.webaudio.destination)})).catch((function(e){console.log("Failed to get user media: "+e)})),a==miniaudio.device_type.playback&&g.scriptNode.connect(g.webaudio.destination),miniaudio.track_device(g)},2397668:e=>miniaudio.get_device_by_index(e).webaudio.sampleRate,2397734:e=>{var t=miniaudio.get_device_by_index(e);void 0!==t.scriptNode&&(t.scriptNode.onaudioprocess=function(e){},t.scriptNode.disconnect(),t.scriptNode=void 0),void 0!==t.streamNode&&(t.streamNode.disconnect(),t.streamNode=void 0),t.webaudio.close(),t.webaudio=void 0},2398099:e=>{miniaudio.untrack_device_by_index(e)},2398142:e=>{var t=miniaudio.get_device_by_index(e);t.webaudio.resume(),t.state=miniaudio.device_state.started},2398267:e=>{var t=miniaudio.get_device_by_index(e);t.webaudio.suspend(),t.state=miniaudio.device_state.stopped},2398393:()=>!!globalThis.ubq_browserTabHidden,2398439:()=>S.length};function ne(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var se=e=>{for(;e.length>0;)e.shift()(u)},ae=u.noExitRuntime||!0,ie=[],ue=0;class ExceptionInfo{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){T[this.ptr+4>>2]=e}get_type(){return T[this.ptr+4>>2]}set_destructor(e){T[this.ptr+8>>2]=e}get_destructor(){return T[this.ptr+8>>2]}set_caught(e){e=e?1:0,S[this.ptr+12>>0]=e}get_caught(){return 0!=S[this.ptr+12>>0]}set_rethrown(e){e=e?1:0,S[this.ptr+13>>0]=e}get_rethrown(){return 0!=S[this.ptr+13>>0]}init(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)}set_adjusted_ptr(e){T[this.ptr+16>>2]=e}get_adjusted_ptr(){return T[this.ptr+16>>2]}get_exception_ptr(){if(Wu(this.get_type()))return T[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var le=e=>{var t=ue;if(!t)return Du(0),0;var r=new ExceptionInfo(t);r.set_adjusted_ptr(t);var o=r.get_type();if(!o)return Du(0),t;for(var n in e){var s=e[n];if(0===s||s===o)break;var a=r.ptr+16;if(ju(s,o,a))return Du(s),t}return Du(o),t},ce={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,o=e.length-1;o>=0;o--){var n=e[o];"."===n?e.splice(o,1):".."===n?(e.splice(o,1),r++):r&&(e.splice(o,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ce.isAbs(e),r="/"===e.substr(-1);return(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ce.splitPath(e),r=t[0],o=t[1];return r||o?(o&&(o=o.substr(0,o.length-1)),r+o):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ce.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ce.normalize(e.join("/"))},join2:(e,t)=>ce.normalize(e+"/"+t)},de=e=>(de=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(y)try{var e=require("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}Q("initRandomDevice")})())(e),pe={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var o=r>=0?arguments[r]:Ae.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";e=o+"/"+e,t=ce.isAbs(o)}return(t?"/":"")+(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=pe.resolve(e).substr(1),t=pe.resolve(t).substr(1);for(var o=r(e.split("/")),n=r(t.split("/")),s=Math.min(o.length,n.length),a=s,i=0;i<s;i++)if(o[i]!==n[i]){a=i;break}var u=[];for(i=a;i<o.length;i++)u.push("..");return(u=u.concat(n.slice(a))).join("/")}},ge="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,fe=(e,t,r)=>{for(var o=t+r,n=t;e[n]&&!(n>=o);)++n;if(n-t>16&&e.buffer&&ge)return ge.decode(e.subarray(t,n));for(var s="";t<n;){var a=e[t++];if(128&a){var i=63&e[t++];if(192!=(224&a)){var u=63&e[t++];if((a=224==(240&a)?(15&a)<<12|i<<6|u:(7&a)<<18|i<<12|u<<6|63&e[t++])<65536)s+=String.fromCharCode(a);else{var l=a-65536;s+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else s+=String.fromCharCode((31&a)<<6|i)}else s+=String.fromCharCode(a)}return s},me=[],he=e=>{for(var t=0,r=0;r<e.length;++r){var o=e.charCodeAt(r);o<=127?t++:o<=2047?t+=2:o>=55296&&o<=57343?(t+=4,++r):t+=3}return t},be=(e,t,r,o)=>{if(!(o>0))return 0;for(var n=r,s=r+o-1,a=0;a<e.length;++a){var i=e.charCodeAt(a);if(i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++a)),i<=127){if(r>=s)break;t[r++]=i}else if(i<=2047){if(r+1>=s)break;t[r++]=192|i>>6,t[r++]=128|63&i}else if(i<=65535){if(r+2>=s)break;t[r++]=224|i>>12,t[r++]=128|i>>6&63,t[r++]=128|63&i}else{if(r+3>=s)break;t[r++]=240|i>>18,t[r++]=128|i>>12&63,t[r++]=128|i>>6&63,t[r++]=128|63&i}}return t[r]=0,r-n};function ye(e,t,r){var o=r>0?r:he(e)+1,n=new Array(o),s=be(e,n,0,n.length);return t&&(n.length=s),n}var ve={ttys:[],init(){},shutdown(){},register(e,t){ve.ttys[e]={input:[],output:[],ops:t},Ae.registerDevice(e,ve.stream_ops)},stream_ops:{open(e){var t=ve.ttys[e.node.rdev];if(!t)throw new Ae.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,o,n){if(!e.tty||!e.tty.ops.get_char)throw new Ae.ErrnoError(60);for(var s=0,a=0;a<o;a++){var i;try{i=e.tty.ops.get_char(e.tty)}catch(e){throw new Ae.ErrnoError(29)}if(void 0===i&&0===s)throw new Ae.ErrnoError(6);if(null==i)break;s++,t[r+a]=i}return s&&(e.node.timestamp=Date.now()),s},write(e,t,r,o,n){if(!e.tty||!e.tty.ops.put_char)throw new Ae.ErrnoError(60);try{for(var s=0;s<o;s++)e.tty.ops.put_char(e.tty,t[r+s])}catch(e){throw new Ae.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),s}},default_tty_ops:{get_char:e=>(()=>{if(!me.length){var e=null;if(y){var t=Buffer.alloc(256),r=0,o=process.stdin.fd;try{r=_.readSync(o,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;me=ye(e,!0)}return me.shift()})(),put_char(e,t){null===t||10===t?(A(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(A(fe(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(E(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(E(fe(e.output,0)),e.output=[])}}},_e=e=>{e=((e,t)=>Math.ceil(e/t)*t)(e,65536);var t=Mu(65536,e);return t?((e,t)=>(R.fill(0,e,e+t),e))(t,e):0},ke={ops_table:null,mount:e=>ke.createNode(null,"/",16895,0),createNode(e,t,r,o){if(Ae.isBlkdev(r)||Ae.isFIFO(r))throw new Ae.ErrnoError(63);ke.ops_table||={dir:{node:{getattr:ke.node_ops.getattr,setattr:ke.node_ops.setattr,lookup:ke.node_ops.lookup,mknod:ke.node_ops.mknod,rename:ke.node_ops.rename,unlink:ke.node_ops.unlink,rmdir:ke.node_ops.rmdir,readdir:ke.node_ops.readdir,symlink:ke.node_ops.symlink},stream:{llseek:ke.stream_ops.llseek}},file:{node:{getattr:ke.node_ops.getattr,setattr:ke.node_ops.setattr},stream:{llseek:ke.stream_ops.llseek,read:ke.stream_ops.read,write:ke.stream_ops.write,allocate:ke.stream_ops.allocate,mmap:ke.stream_ops.mmap,msync:ke.stream_ops.msync}},link:{node:{getattr:ke.node_ops.getattr,setattr:ke.node_ops.setattr,readlink:ke.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ke.node_ops.getattr,setattr:ke.node_ops.setattr},stream:Ae.chrdev_stream_ops}};var n=Ae.createNode(e,t,r,o);return Ae.isDir(n.mode)?(n.node_ops=ke.ops_table.dir.node,n.stream_ops=ke.ops_table.dir.stream,n.contents={}):Ae.isFile(n.mode)?(n.node_ops=ke.ops_table.file.node,n.stream_ops=ke.ops_table.file.stream,n.usedBytes=0,n.contents=null):Ae.isLink(n.mode)?(n.node_ops=ke.ops_table.link.node,n.stream_ops=ke.ops_table.link.stream):Ae.isChrdev(n.mode)&&(n.node_ops=ke.ops_table.chrdev.node,n.stream_ops=ke.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var o=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(o.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=Ae.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Ae.isDir(e.mode)?t.size=4096:Ae.isFile(e.mode)?t.size=e.usedBytes:Ae.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&ke.resizeFileStorage(e,t.size)},lookup(e,t){throw Ae.genericErrors[44]},mknod:(e,t,r,o)=>ke.createNode(e,t,r,o),rename(e,t,r){if(Ae.isDir(e.mode)){var o;try{o=Ae.lookupNode(t,r)}catch(e){}if(o)for(var n in o.contents)throw new Ae.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=Ae.lookupNode(e,t);for(var o in r.contents)throw new Ae.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r of Object.keys(e.contents))t.push(r);return t},symlink(e,t,r){var o=ke.createNode(e,t,41471,0);return o.link=r,o},readlink(e){if(!Ae.isLink(e.mode))throw new Ae.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,o,n){var s=e.node.contents;if(n>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-n,o);if(a>8&&s.subarray)t.set(s.subarray(n,n+a),r);else for(var i=0;i<a;i++)t[r+i]=s[n+i];return a},write(e,t,r,o,n,s){if(t.buffer===S.buffer&&(s=!1),!o)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(s)return a.contents=t.subarray(r,r+o),a.usedBytes=o,o;if(0===a.usedBytes&&0===n)return a.contents=t.slice(r,r+o),a.usedBytes=o,o;if(n+o<=a.usedBytes)return a.contents.set(t.subarray(r,r+o),n),o}if(ke.expandFileStorage(a,n+o),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+o),n);else for(var i=0;i<o;i++)a.contents[n+i]=t[r+i];return a.usedBytes=Math.max(a.usedBytes,n+o),o},llseek(e,t,r){var o=t;if(1===r?o+=e.position:2===r&&Ae.isFile(e.node.mode)&&(o+=e.node.usedBytes),o<0)throw new Ae.ErrnoError(28);return o},allocate(e,t,r){ke.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,o,n){if(!Ae.isFile(e.node.mode))throw new Ae.ErrnoError(43);var s,a,i=e.node.contents;if(2&n||i.buffer!==S.buffer){if((r>0||r+t<i.length)&&(i=i.subarray?i.subarray(r,r+t):Array.prototype.slice.call(i,r,r+t)),a=!0,!(s=_e(t)))throw new Ae.ErrnoError(48);S.set(i,s)}else a=!1,s=i.byteOffset;return{ptr:s,allocated:a}},msync:(e,t,r,o,n)=>(ke.stream_ops.write(e,t,0,o,r,!1),0)}},Ce=u.preloadPlugins||[],we=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},Ae={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){this.name="ErrnoError",this.errno=e}},genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e,t={}){if(!(e=pe.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new Ae.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),o=Ae.root,n="/",s=0;s<r.length;s++){var a=s===r.length-1;if(a&&t.parent)break;if(o=Ae.lookupNode(o,r[s]),n=ce.join2(n,r[s]),Ae.isMountpoint(o)&&(!a||a&&t.follow_mount)&&(o=o.mounted.root),!a||t.follow)for(var i=0;Ae.isLink(o.mode);){var u=Ae.readlink(n);if(n=pe.resolve(ce.dirname(n),u),o=Ae.lookupPath(n,{recurse_count:t.recurse_count+1}).node,i++>40)throw new Ae.ErrnoError(32)}}return{path:n,node:o}},getPath(e){for(var t;;){if(Ae.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,o=0;o<t.length;o++)r=(r<<5)-r+t.charCodeAt(o)|0;return(e+r>>>0)%Ae.nameTable.length},hashAddNode(e){var t=Ae.hashName(e.parent.id,e.name);e.name_next=Ae.nameTable[t],Ae.nameTable[t]=e},hashRemoveNode(e){var t=Ae.hashName(e.parent.id,e.name);if(Ae.nameTable[t]===e)Ae.nameTable[t]=e.name_next;else for(var r=Ae.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=Ae.mayLookup(e);if(r)throw new Ae.ErrnoError(r);for(var o=Ae.hashName(e.id,t),n=Ae.nameTable[o];n;n=n.name_next){var s=n.name;if(n.parent.id===e.id&&s===t)return n}return Ae.lookup(e,t)},createNode(e,t,r,o){var n=new Ae.FSNode(e,t,r,o);return Ae.hashAddNode(n),n},destroyNode(e){Ae.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Ae.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!Ae.isDir(e.mode))return 54;var t=Ae.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{return Ae.lookupNode(e,t),20}catch(e){}return Ae.nodePermissions(e,"wx")},mayDelete(e,t,r){var o;try{o=Ae.lookupNode(e,t)}catch(e){return e.errno}var n=Ae.nodePermissions(e,"wx");if(n)return n;if(r){if(!Ae.isDir(o.mode))return 54;if(Ae.isRoot(o)||Ae.getPath(o)===Ae.cwd())return 10}else if(Ae.isDir(o.mode))return 31;return 0},mayOpen:(e,t)=>e?Ae.isLink(e.mode)?32:Ae.isDir(e.mode)&&("r"!==Ae.flagsToPermissionString(t)||512&t)?31:Ae.nodePermissions(e,Ae.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Ae.MAX_OPEN_FDS;e++)if(!Ae.streams[e])return e;throw new Ae.ErrnoError(33)},getStreamChecked(e){var t=Ae.getStream(e);if(!t)throw new Ae.ErrnoError(8);return t},getStream:e=>Ae.streams[e],createStream:(e,t=-1)=>(Ae.FSStream||(Ae.FSStream=function(){this.shared={}},Ae.FSStream.prototype={},Object.defineProperties(Ae.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Ae.FSStream,e),-1==t&&(t=Ae.nextfd()),e.fd=t,Ae.streams[t]=e,e),closeStream(e){Ae.streams[e]=null},chrdev_stream_ops:{open(e){var t,r,o=Ae.getDevice(e.node.rdev);e.stream_ops=o.stream_ops,null==(r=(t=e.stream_ops).open)||r.call(t,e)},llseek(){throw new Ae.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){Ae.devices[e]={stream_ops:t}},getDevice:e=>Ae.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var o=r.pop();t.push(o),r.push.apply(r,o.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),Ae.syncFSRequests++,Ae.syncFSRequests>1&&E(`warning: ${Ae.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=Ae.getMounts(Ae.root.mount),o=0;function n(e){return Ae.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,n(e));++o>=r.length&&n(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var o,n="/"===r,s=!r;if(n&&Ae.root)throw new Ae.ErrnoError(10);if(!n&&!s){var a=Ae.lookupPath(r,{follow_mount:!1});if(r=a.path,o=a.node,Ae.isMountpoint(o))throw new Ae.ErrnoError(10);if(!Ae.isDir(o.mode))throw new Ae.ErrnoError(54)}var i={type:e,opts:t,mountpoint:r,mounts:[]},u=e.mount(i);return u.mount=i,i.root=u,n?Ae.root=u:o&&(o.mounted=i,o.mount&&o.mount.mounts.push(i)),u},unmount(e){var t=Ae.lookupPath(e,{follow_mount:!1});if(!Ae.isMountpoint(t.node))throw new Ae.ErrnoError(28);var r=t.node,o=r.mounted,n=Ae.getMounts(o);Object.keys(Ae.nameTable).forEach((e=>{for(var t=Ae.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&Ae.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(o);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var o=Ae.lookupPath(e,{parent:!0}).node,n=ce.basename(e);if(!n||"."===n||".."===n)throw new Ae.ErrnoError(28);var s=Ae.mayCreate(o,n);if(s)throw new Ae.ErrnoError(s);if(!o.node_ops.mknod)throw new Ae.ErrnoError(63);return o.node_ops.mknod(o,n,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Ae.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Ae.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),o="",n=0;n<r.length;++n)if(r[n]){o+="/"+r[n];try{Ae.mkdir(o,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,Ae.mknod(e,t,r)),symlink(e,t){if(!pe.resolve(e))throw new Ae.ErrnoError(44);var r=Ae.lookupPath(t,{parent:!0}).node;if(!r)throw new Ae.ErrnoError(44);var o=ce.basename(t),n=Ae.mayCreate(r,o);if(n)throw new Ae.ErrnoError(n);if(!r.node_ops.symlink)throw new Ae.ErrnoError(63);return r.node_ops.symlink(r,o,e)},rename(e,t){var r,o,n=ce.dirname(e),s=ce.dirname(t),a=ce.basename(e),i=ce.basename(t);if(r=Ae.lookupPath(e,{parent:!0}).node,o=Ae.lookupPath(t,{parent:!0}).node,!r||!o)throw new Ae.ErrnoError(44);if(r.mount!==o.mount)throw new Ae.ErrnoError(75);var u,l=Ae.lookupNode(r,a),c=pe.relative(e,s);if("."!==c.charAt(0))throw new Ae.ErrnoError(28);if("."!==(c=pe.relative(t,n)).charAt(0))throw new Ae.ErrnoError(55);try{u=Ae.lookupNode(o,i)}catch(e){}if(l!==u){var d=Ae.isDir(l.mode),p=Ae.mayDelete(r,a,d);if(p)throw new Ae.ErrnoError(p);if(p=u?Ae.mayDelete(o,i,d):Ae.mayCreate(o,i))throw new Ae.ErrnoError(p);if(!r.node_ops.rename)throw new Ae.ErrnoError(63);if(Ae.isMountpoint(l)||u&&Ae.isMountpoint(u))throw new Ae.ErrnoError(10);if(o!==r&&(p=Ae.nodePermissions(r,"w")))throw new Ae.ErrnoError(p);Ae.hashRemoveNode(l);try{r.node_ops.rename(l,o,i)}catch(e){throw e}finally{Ae.hashAddNode(l)}}},rmdir(e){var t=Ae.lookupPath(e,{parent:!0}).node,r=ce.basename(e),o=Ae.lookupNode(t,r),n=Ae.mayDelete(t,r,!0);if(n)throw new Ae.ErrnoError(n);if(!t.node_ops.rmdir)throw new Ae.ErrnoError(63);if(Ae.isMountpoint(o))throw new Ae.ErrnoError(10);t.node_ops.rmdir(t,r),Ae.destroyNode(o)},readdir(e){var t=Ae.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Ae.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=Ae.lookupPath(e,{parent:!0}).node;if(!t)throw new Ae.ErrnoError(44);var r=ce.basename(e),o=Ae.lookupNode(t,r),n=Ae.mayDelete(t,r,!1);if(n)throw new Ae.ErrnoError(n);if(!t.node_ops.unlink)throw new Ae.ErrnoError(63);if(Ae.isMountpoint(o))throw new Ae.ErrnoError(10);t.node_ops.unlink(t,r),Ae.destroyNode(o)},readlink(e){var t=Ae.lookupPath(e).node;if(!t)throw new Ae.ErrnoError(44);if(!t.node_ops.readlink)throw new Ae.ErrnoError(28);return pe.resolve(Ae.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=Ae.lookupPath(e,{follow:!t}).node;if(!r)throw new Ae.ErrnoError(44);if(!r.node_ops.getattr)throw new Ae.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Ae.stat(e,!0),chmod(e,t,r){var o;if(!(o="string"==typeof e?Ae.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new Ae.ErrnoError(63);o.node_ops.setattr(o,{mode:4095&t|-4096&o.mode,timestamp:Date.now()})},lchmod(e,t){Ae.chmod(e,t,!0)},fchmod(e,t){var r=Ae.getStreamChecked(e);Ae.chmod(r.node,t)},chown(e,t,r,o){var n;if(!(n="string"==typeof e?Ae.lookupPath(e,{follow:!o}).node:e).node_ops.setattr)throw new Ae.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,t,r){Ae.chown(e,t,r,!0)},fchown(e,t,r){var o=Ae.getStreamChecked(e);Ae.chown(o.node,t,r)},truncate(e,t){if(t<0)throw new Ae.ErrnoError(28);var r;if(!(r="string"==typeof e?Ae.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Ae.ErrnoError(63);if(Ae.isDir(r.mode))throw new Ae.ErrnoError(31);if(!Ae.isFile(r.mode))throw new Ae.ErrnoError(28);var o=Ae.nodePermissions(r,"w");if(o)throw new Ae.ErrnoError(o);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=Ae.getStreamChecked(e);if(0==(2097155&r.flags))throw new Ae.ErrnoError(28);Ae.truncate(r.node,t)},utime(e,t,r){var o=Ae.lookupPath(e,{follow:!0}).node;o.node_ops.setattr(o,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new Ae.ErrnoError(44);var o;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?(e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t})(t):t)?4095&r|32768:0,"object"==typeof e)o=e;else{e=ce.normalize(e);try{o=Ae.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var n=!1;if(64&t)if(o){if(128&t)throw new Ae.ErrnoError(20)}else o=Ae.mknod(e,r,0),n=!0;if(!o)throw new Ae.ErrnoError(44);if(Ae.isChrdev(o.mode)&&(t&=-513),65536&t&&!Ae.isDir(o.mode))throw new Ae.ErrnoError(54);if(!n){var s=Ae.mayOpen(o,t);if(s)throw new Ae.ErrnoError(s)}512&t&&!n&&Ae.truncate(o,0),t&=-131713;var a=Ae.createStream({node:o,path:Ae.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!u.logReadFiles||1&t||(Ae.readFiles||(Ae.readFiles={}),e in Ae.readFiles||(Ae.readFiles[e]=1)),a},close(e){if(Ae.isClosed(e))throw new Ae.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Ae.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(Ae.isClosed(e))throw new Ae.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Ae.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Ae.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,o,n){if(o<0||n<0)throw new Ae.ErrnoError(28);if(Ae.isClosed(e))throw new Ae.ErrnoError(8);if(1==(2097155&e.flags))throw new Ae.ErrnoError(8);if(Ae.isDir(e.node.mode))throw new Ae.ErrnoError(31);if(!e.stream_ops.read)throw new Ae.ErrnoError(28);var s=void 0!==n;if(s){if(!e.seekable)throw new Ae.ErrnoError(70)}else n=e.position;var a=e.stream_ops.read(e,t,r,o,n);return s||(e.position+=a),a},write(e,t,r,o,n,s){if(o<0||n<0)throw new Ae.ErrnoError(28);if(Ae.isClosed(e))throw new Ae.ErrnoError(8);if(0==(2097155&e.flags))throw new Ae.ErrnoError(8);if(Ae.isDir(e.node.mode))throw new Ae.ErrnoError(31);if(!e.stream_ops.write)throw new Ae.ErrnoError(28);e.seekable&&1024&e.flags&&Ae.llseek(e,0,2);var a=void 0!==n;if(a){if(!e.seekable)throw new Ae.ErrnoError(70)}else n=e.position;var i=e.stream_ops.write(e,t,r,o,n,s);return a||(e.position+=i),i},allocate(e,t,r){if(Ae.isClosed(e))throw new Ae.ErrnoError(8);if(t<0||r<=0)throw new Ae.ErrnoError(28);if(0==(2097155&e.flags))throw new Ae.ErrnoError(8);if(!Ae.isFile(e.node.mode)&&!Ae.isDir(e.node.mode))throw new Ae.ErrnoError(43);if(!e.stream_ops.allocate)throw new Ae.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,o,n){if(0!=(2&o)&&0==(2&n)&&2!=(2097155&e.flags))throw new Ae.ErrnoError(2);if(1==(2097155&e.flags))throw new Ae.ErrnoError(2);if(!e.stream_ops.mmap)throw new Ae.ErrnoError(43);return e.stream_ops.mmap(e,t,r,o,n)},msync:(e,t,r,o,n)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,o,n):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new Ae.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,o=Ae.open(e,t.flags),n=Ae.stat(e).size,s=new Uint8Array(n);return Ae.read(o,s,0,n,0),"utf8"===t.encoding?r=fe(s,0):"binary"===t.encoding&&(r=s),Ae.close(o),r},writeFile(e,t,r={}){r.flags=r.flags||577;var o=Ae.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(he(t)+1),s=be(t,n,0,n.length);Ae.write(o,n,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Ae.write(o,t,0,t.byteLength,void 0,r.canOwn)}Ae.close(o)},cwd:()=>Ae.currentPath,chdir(e){var t=Ae.lookupPath(e,{follow:!0});if(null===t.node)throw new Ae.ErrnoError(44);if(!Ae.isDir(t.node.mode))throw new Ae.ErrnoError(54);var r=Ae.nodePermissions(t.node,"x");if(r)throw new Ae.ErrnoError(r);Ae.currentPath=t.path},createDefaultDirectories(){Ae.mkdir("/tmp"),Ae.mkdir("/home"),Ae.mkdir("/home/web_user")},createDefaultDevices(){Ae.mkdir("/dev"),Ae.registerDevice(Ae.makedev(1,3),{read:()=>0,write:(e,t,r,o,n)=>o}),Ae.mkdev("/dev/null",Ae.makedev(1,3)),ve.register(Ae.makedev(5,0),ve.default_tty_ops),ve.register(Ae.makedev(6,0),ve.default_tty1_ops),Ae.mkdev("/dev/tty",Ae.makedev(5,0)),Ae.mkdev("/dev/tty1",Ae.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=de(e).byteLength),e[--t]);Ae.createDevice("/dev","random",r),Ae.createDevice("/dev","urandom",r),Ae.mkdir("/dev/shm"),Ae.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Ae.mkdir("/proc");var e=Ae.mkdir("/proc/self");Ae.mkdir("/proc/self/fd"),Ae.mount({mount(){var t=Ae.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,o=Ae.getStreamChecked(r),n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>o.path}};return n.parent=n,n}},t}},{},"/proc/self/fd")},createStandardStreams(){u.stdin?Ae.createDevice("/dev","stdin",u.stdin):Ae.symlink("/dev/tty","/dev/stdin"),u.stdout?Ae.createDevice("/dev","stdout",null,u.stdout):Ae.symlink("/dev/tty","/dev/stdout"),u.stderr?Ae.createDevice("/dev","stderr",null,u.stderr):Ae.symlink("/dev/tty1","/dev/stderr"),Ae.open("/dev/stdin",0),Ae.open("/dev/stdout",1),Ae.open("/dev/stderr",1)},staticInit(){[44].forEach((e=>{Ae.genericErrors[e]=new Ae.ErrnoError(e),Ae.genericErrors[e].stack="<generic error, no stack>"})),Ae.nameTable=new Array(4096),Ae.mount(ke,{},"/"),Ae.createDefaultDirectories(),Ae.createDefaultDevices(),Ae.createSpecialDirectories(),Ae.filesystems={MEMFS:ke}},init(e,t,r){Ae.init.initialized=!0,u.stdin=e||u.stdin,u.stdout=t||u.stdout,u.stderr=r||u.stderr,Ae.createStandardStreams()},quit(){Ae.init.initialized=!1;for(var e=0;e<Ae.streams.length;e++){var t=Ae.streams[e];t&&Ae.close(t)}},findObject(e,t){var r=Ae.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{e=(o=Ae.lookupPath(e,{follow:!t})).path}catch(e){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var o=Ae.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=o.path,r.parentObject=o.node,r.name=ce.basename(e),o=Ae.lookupPath(e,{follow:!t}),r.exists=!0,r.path=o.path,r.object=o.node,r.name=o.node.name,r.isRoot="/"===o.path}catch(e){r.error=e.errno}return r},createPath(e,t,r,o){e="string"==typeof e?e:Ae.getPath(e);for(var n=t.split("/").reverse();n.length;){var s=n.pop();if(s){var a=ce.join2(e,s);try{Ae.mkdir(a)}catch(e){}e=a}}return a},createFile(e,t,r,o,n){var s=ce.join2("string"==typeof e?e:Ae.getPath(e),t),a=we(o,n);return Ae.create(s,a)},createDataFile(e,t,r,o,n,s){var a=t;e&&(e="string"==typeof e?e:Ae.getPath(e),a=t?ce.join2(e,t):e);var i=we(o,n),u=Ae.create(a,i);if(r){if("string"==typeof r){for(var l=new Array(r.length),c=0,d=r.length;c<d;++c)l[c]=r.charCodeAt(c);r=l}Ae.chmod(u,146|i);var p=Ae.open(u,577);Ae.write(p,r,0,r.length,0,s),Ae.close(p),Ae.chmod(u,i)}},createDevice(e,t,r,o){var n=ce.join2("string"==typeof e?e:Ae.getPath(e),t),s=we(!!r,!!o);Ae.createDevice.major||(Ae.createDevice.major=64);var a=Ae.makedev(Ae.createDevice.major++,0);return Ae.registerDevice(a,{open(e){e.seekable=!1},close(e){var t;(null==(t=null==o?void 0:o.buffer)?void 0:t.length)&&o(10)},read(e,t,o,n,s){for(var a=0,i=0;i<n;i++){var u;try{u=r()}catch(e){throw new Ae.ErrnoError(29)}if(void 0===u&&0===a)throw new Ae.ErrnoError(6);if(null==u)break;a++,t[o+i]=u}return a&&(e.node.timestamp=Date.now()),a},write(e,t,r,n,s){for(var a=0;a<n;a++)try{o(t[r+a])}catch(e){throw new Ae.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),a}}),Ae.mkdev(n,s,a)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!l)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=ye(l(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new Ae.ErrnoError(29)}},createLazyFile(e,t,r,o,n){function s(){this.lengthKnown=!1,this.chunks=[]}if(s.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,o=Number(e.getResponseHeader("Content-length")),n=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;n||(a=o);var i=this;i.setDataGetter((e=>{var t=e*a,n=(e+1)*a-1;if(n=Math.min(n,o-1),void 0===i.chunks[e]&&(i.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>o-1)throw new Error("only "+o+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),o!==a&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ye(n.responseText||"",!0)})(t,n)),void 0===i.chunks[e])throw new Error("doXHR failed!");return i.chunks[e]})),!s&&o||(a=o=1,o=this.getter(0).length,a=o,A("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=o,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!b)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new s;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:a}}else i={isDevice:!1,url:r};var u=Ae.createFile(e,t,i,o,n);i.contents?u.contents=i.contents:i.url&&(u.contents=null,u.url=i.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var l={};function c(e,t,r,o,n){var s=e.node.contents;if(n>=s.length)return 0;var a=Math.min(s.length-n,o);if(s.slice)for(var i=0;i<a;i++)t[r+i]=s[n+i];else for(i=0;i<a;i++)t[r+i]=s.get(n+i);return a}return Object.keys(u.stream_ops).forEach((e=>{var t=u.stream_ops[e];l[e]=function(){return Ae.forceLoadFile(u),t.apply(null,arguments)}})),l.read=(e,t,r,o,n)=>(Ae.forceLoadFile(u),c(e,t,r,o,n)),l.mmap=(e,t,r,o,n)=>{Ae.forceLoadFile(u);var s=_e(t);if(!s)throw new Ae.ErrnoError(48);return c(e,S,s,t,r),{ptr:s,allocated:!0}},u.stream_ops=l,u}},Ee=(e,t)=>e?fe(R,e,t):"",Pe={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ce.isAbs(t))return t;var o;if(o=-100===e?Ae.cwd():Pe.getStreamFromFD(e).path,0==t.length){if(!r)throw new Ae.ErrnoError(44);return o}return ce.join2(o,t)},doStat(e,t,r){var o=e(t);I[r>>2]=o.dev,I[r+4>>2]=o.mode,T[r+8>>2]=o.nlink,I[r+12>>2]=o.uid,I[r+16>>2]=o.gid,I[r+20>>2]=o.rdev,F[r+24>>3]=BigInt(o.size),I[r+32>>2]=4096,I[r+36>>2]=o.blocks;var n=o.atime.getTime(),s=o.mtime.getTime(),a=o.ctime.getTime();return F[r+40>>3]=BigInt(Math.floor(n/1e3)),T[r+48>>2]=n%1e3*1e3,F[r+56>>3]=BigInt(Math.floor(s/1e3)),T[r+64>>2]=s%1e3*1e3,F[r+72>>3]=BigInt(Math.floor(a/1e3)),T[r+80>>2]=a%1e3*1e3,F[r+88>>3]=BigInt(o.ino),0},doMsync(e,t,r,o,n){if(!Ae.isFile(t.node.mode))throw new Ae.ErrnoError(43);if(2&o)return 0;var s=R.slice(e,e+r);Ae.msync(t,s,n,r,o)},varargs:void 0,get(){var e=I[+Pe.varargs>>2];return Pe.varargs+=4,e},getp:()=>Pe.get(),getStr:e=>Ee(e),getStreamFromFD:e=>Ae.getStreamChecked(e)},Se={},Re=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Be(e){return this.fromWireType(I[e>>2])}var xe,Ie,Te,qe={},Fe={},De={},Le=e=>{throw new xe(e)},Me=(e,t,r)=>{function o(t){var o=r(t);o.length!==e.length&&Le("Mismatched type converter count");for(var n=0;n<e.length;++n)Ne(e[n],o[n])}e.forEach((function(e){De[e]=t}));var n=new Array(t.length),s=[],a=0;t.forEach(((e,t)=>{Fe.hasOwnProperty(e)?n[t]=Fe[e]:(s.push(e),qe.hasOwnProperty(e)||(qe[e]=[]),qe[e].push((()=>{n[t]=Fe[e],++a===s.length&&o(n)})))})),0===s.length&&o(n)},Oe={},Ue=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},$e=e=>{for(var t="",r=e;R[r];)t+=Ie[R[r++]];return t},Ve=e=>{throw new Te(e)};function Ne(e,t,r={}){if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t,r={}){var o=t.name;if(e||Ve(`type "${o}" must have a positive integer typeid pointer`),Fe.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Ve(`Cannot register type '${o}' twice`)}if(Fe[e]=t,delete De[e],qe.hasOwnProperty(e)){var n=qe[e];delete qe[e],n.forEach((e=>e()))}}(e,t,r)}var He,je=(e,t,r)=>{switch(t){case 1:return r?e=>S[e>>0]:e=>R[e>>0];case 2:return r?e=>B[e>>1]:e=>x[e>>1];case 4:return r?e=>I[e>>2]:e=>T[e>>2];case 8:return r?e=>F[e>>3]:e=>D[e>>3];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},We=8,Ge=e=>{Ve(e.$$.ptrType.registeredClass.name+" instance already deleted")},ze=!1,Ye=e=>{},Xe=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},Qe=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var o=Qe(e,t,r.baseClass);return null===o?null:r.downcast(o)},Ke={},Ze=()=>Object.keys(ot).length,Je=()=>{var e=[];for(var t in ot)ot.hasOwnProperty(t)&&e.push(ot[t]);return e},et=[],tt=()=>{for(;et.length;){var e=et.pop();e.$$.deleteScheduled=!1,e.delete()}},rt=e=>{He=e,et.length&&He&&He(tt)},ot={},nt=(e,t)=>(t=((e,t)=>{for(void 0===t&&Ve("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t})(e,t),ot[t]),st=(e,t)=>(t.ptrType&&t.ptr||Le("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Le("Both smartPtrType and smartPtr must be specified"),t.count={value:1},it(Object.create(e,{$$:{value:t,writable:!0}})));function at(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=nt(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var o=r.clone();return this.destructor(e),o}function n(){return this.isSmartPointer?st(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):st(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,a=this.registeredClass.getActualType(t),i=Ke[a];if(!i)return n.call(this);s=this.isConst?i.constPointerType:i.pointerType;var u=Qe(t,this.registeredClass,s.registeredClass);return null===u?n.call(this):this.isSmartPointer?st(s.registeredClass.instancePrototype,{ptrType:s,ptr:u,smartPtrType:this,smartPtr:e}):st(s.registeredClass.instancePrototype,{ptrType:s,ptr:u})}var it=e=>"undefined"==typeof FinalizationRegistry?(it=e=>e,e):(ze=new FinalizationRegistry((e=>{Xe(e.$$)})),Ye=e=>ze.unregister(e),(it=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};ze.register(e,r,e)}return e})(e));function ut(){}var lt=(e,t)=>Object.defineProperty(t,"name",{value:e}),ct=(e,t,r)=>{if(void 0===e[t].overloadTable){var o=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Ve(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[o.argCount]=o}},dt=(e,t,r)=>{u.hasOwnProperty(e)?((void 0===r||void 0!==u[e].overloadTable&&void 0!==u[e].overloadTable[r])&&Ve(`Cannot register public name '${e}' twice`),ct(u,e,e),u.hasOwnProperty(r)&&Ve(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),u[e].overloadTable[r]=t):(u[e]=t,void 0!==r&&(u[e].numArguments=r))};function pt(e,t,r,o,n,s,a,i){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=o,this.baseClass=n,this.getActualType=s,this.upcast=a,this.downcast=i,this.pureVirtualFunctions=[]}var gt=(e,t,r)=>{for(;t!==r;)t.upcast||Ve(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function ft(e,t){if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;t.$$||Ve(`Cannot pass "${Ue(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return gt(t.$$.ptr,r,this.registeredClass)}function mt(e,t){var r;if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t&&t.$$||Ve(`Cannot pass "${Ue(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&Ve(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var o=t.$$.ptrType.registeredClass;if(r=gt(t.$$.ptr,o,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Ve("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:Ve(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var n=t.clone();r=this.rawShare(r,Lt.toHandle((()=>n.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:Ve("Unsupporting sharing policy")}return r}function ht(e,t){if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;t.$$||Ve(`Cannot pass "${Ue(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&Ve(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return gt(t.$$.ptr,r,this.registeredClass)}function bt(e){return this.fromWireType(T[e>>2])}function yt(e,t,r,o,n,s,a,i,u,l,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=o,this.isSmartPointer=n,this.pointeeType=s,this.sharingPolicy=a,this.rawGetPointee=i,this.rawConstructor=u,this.rawShare=l,this.rawDestructor=c,n||void 0!==t.baseClass?this.toWireType=mt:o?(this.toWireType=ft,this.destructorFunction=null):(this.toWireType=ht,this.destructorFunction=null)}var vt,_t,kt=(e,t,r)=>{u.hasOwnProperty(e)||Le("Replacing nonexistant public symbol"),void 0!==u[e].overloadTable&&void 0!==r?u[e].overloadTable[r]=t:(u[e]=t,u[e].argCount=r)},Ct=[],wt=e=>{var t=Ct[e];return t||(e>=Ct.length&&(Ct.length=e+1),Ct[e]=t=vt.get(e)),t},At=(e,t)=>{e=$e(e);var r=wt(t);return"function"!=typeof r&&Ve(`unknown function pointer with signature ${e}: ${t}`),r},Et=e=>{var t=Lu(e),r=$e(t);return Tu(t),r},Pt=(e,t)=>{var r=[],o={};throw t.forEach((function e(t){o[t]||Fe[t]||(De[t]?De[t].forEach(e):(r.push(t),o[t]=!0))})),new _t(`${e}: `+r.map(Et).join([", "]))},St=(e,t)=>{for(var r=[],o=0;o<e;o++)r.push(T[t+4*o>>2]);return r};function Rt(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].destructorFunction)return!0;return!1}function Bt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=lt(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var o=new r,n=e.apply(o,t);return n instanceof Object?n:o}function xt(e,t,r,o,n,s){var a=t.length;a<2&&Ve("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var i=null!==t[1]&&null!==r,u=Rt(t),l="void"!==t[0].name,c=[e,Ve,o,n,Re,t[0],t[1]],d=0;d<a-2;++d)c.push(t[d+2]);if(!u)for(d=i?1:2;d<t.length;++d)null!==t[d].destructorFunction&&c.push(t[d].destructorFunction);let[p,g]=function(e,t,r,o){for(var n=Rt(e),s=e.length,a="",i="",u=0;u<s-2;++u)a+=(0!==u?", ":"")+"arg"+u,i+=(0!==u?", ":"")+"arg"+u+"Wired";var l=`\n return function (${a}) {\n if (arguments.length !== ${s-2}) {\n throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ${s-2}');\n }`;n&&(l+="var destructors = [];\n");var c=n?"destructors":"null",d=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(t&&(l+="var thisWired = classParam['toWireType']("+c+", this);\n"),u=0;u<s-2;++u)l+="var arg"+u+"Wired = argType"+u+"['toWireType']("+c+", arg"+u+");\n",d.push("argType"+u);if(t&&(i="thisWired"+(i.length>0?", ":"")+i),l+=(r||o?"var rv = ":"")+"invoker(fn"+(i.length>0?", ":"")+i+");\n",n)l+="runDestructors(destructors);\n";else for(u=t?1:2;u<e.length;++u){var p=1===u?"thisWired":"arg"+(u-2)+"Wired";null!==e[u].destructorFunction&&(l+=p+"_dtor("+p+");\n",d.push(p+"_dtor"))}return r&&(l+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),[d,l+="}\n"]}(t,i,l,s);p.push(g);var f=Bt(Function,p).apply(null,c);return lt(e,f)}var It,Tt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},qt=new class HandleAllocator{constructor(){this.allocated=[void 0],this.freelist=[]}get(e){return this.allocated[e]}has(e){return void 0!==this.allocated[e]}allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t}free(e){this.allocated[e]=void 0,this.freelist.push(e)}},Ft=e=>{e>=qt.reserved&&0==--qt.get(e).refcount&&qt.free(e)},Dt=()=>{for(var e=0,t=qt.reserved;t<qt.allocated.length;++t)void 0!==qt.allocated[t]&&++e;return e},Lt={toValue:e=>(e||Ve("Cannot use deleted val. handle = "+e),qt.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return qt.allocate({refcount:1,value:e})}}},Mt={name:"emscripten::val",fromWireType:e=>{var t=Lt.toValue(e);return Ft(e),t},toWireType:(e,t)=>Lt.toHandle(t),argPackAdvance:We,readValueFromPointer:Be,destructorFunction:null},Ot=(e,t,r)=>{switch(t){case 1:return r?function(e){return this.fromWireType(S[e>>0])}:function(e){return this.fromWireType(R[e>>0])};case 2:return r?function(e){return this.fromWireType(B[e>>1])}:function(e){return this.fromWireType(x[e>>1])};case 4:return r?function(e){return this.fromWireType(I[e>>2])}:function(e){return this.fromWireType(T[e>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Ut=(e,t)=>{var r=Fe[e];return void 0===r&&Ve(t+" has unknown type "+Et(e)),r},$t=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(q[e>>2])};case 8:return function(e){return this.fromWireType(L[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Vt=(e,t,r)=>be(e,R,t,r),Nt="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Ht=(e,t)=>{for(var r=e,o=r>>1,n=o+t/2;!(o>=n)&&x[o];)++o;if((r=o<<1)-e>32&&Nt)return Nt.decode(R.subarray(e,r));for(var s="",a=0;!(a>=t/2);++a){var i=B[e+2*a>>1];if(0==i)break;s+=String.fromCharCode(i)}return s},jt=(e,t,r)=>{if(r??=2147483647,r<2)return 0;for(var o=t,n=(r-=2)<2*e.length?r/2:e.length,s=0;s<n;++s){var a=e.charCodeAt(s);B[t>>1]=a,t+=2}return B[t>>1]=0,t-o},Wt=e=>2*e.length,Gt=(e,t)=>{for(var r=0,o="";!(r>=t/4);){var n=I[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var s=n-65536;o+=String.fromCharCode(55296|s>>10,56320|1023&s)}else o+=String.fromCharCode(n)}return o},zt=(e,t,r)=>{if(r??=2147483647,r<4)return 0;for(var o=t,n=o+r-4,s=0;s<e.length;++s){var a=e.charCodeAt(s);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s)),I[t>>2]=a,(t+=4)+4>n)break}return I[t>>2]=0,t-o},Yt=e=>{for(var t=0,r=0;r<e.length;++r){var o=e.charCodeAt(r);o>=55296&&o<=57343&&++r,t+=4}return t},Xt=(e,t,r)=>{var o=[],n=e.toWireType(o,r);return o.length&&(T[t>>2]=Lt.toHandle(o)),n},Qt=[],Kt={},Zt=e=>{var t=Kt[e];return void 0===t?$e(e):t},Jt=()=>"object"==typeof globalThis?globalThis:function(){return Function}()("return this")(),er=(Reflect.construct,e=>e<-9007199254740992||e>9007199254740992?NaN:Number(e)),tr=e=>e%4==0&&(e%100!=0||e%400==0),rr=[0,31,60,91,121,152,182,213,244,274,305,335],or=[0,31,59,90,120,151,181,212,243,273,304,334],nr=e=>(tr(e.getFullYear())?rr:or)[e.getMonth()]+e.getDate()-1,sr=e=>{var t=he(e)+1,r=xu(t);return r&&Vt(e,r,t),r},ar=(e,t)=>{if(gr.mainLoop.timingMode=e,gr.mainLoop.timingValue=t,!gr.mainLoop.func)return 1;if(gr.mainLoop.running||(gr.mainLoop.running=!0),0==e)gr.mainLoop.scheduler=function(){var e=0|Math.max(0,gr.mainLoop.tickStartTime+t-It());setTimeout(gr.mainLoop.runner,e)},gr.mainLoop.method="timeout";else if(1==e)gr.mainLoop.scheduler=function(){gr.requestAnimationFrame(gr.mainLoop.runner)},gr.mainLoop.method="rAF";else if(2==e){if(void 0===gr.setImmediate)if("undefined"==typeof setImmediate){var r=[],o="setimmediate";addEventListener("message",(e=>{e.data!==o&&e.data.target!==o||(e.stopPropagation(),r.shift()())}),!0),gr.setImmediate=function(e){r.push(e),b?(void 0===u.setImmediates&&(u.setImmediates=[]),u.setImmediates.push(e),postMessage({target:o})):postMessage(o,"*")}}else gr.setImmediate=setImmediate;gr.mainLoop.scheduler=function(){gr.setImmediate(gr.mainLoop.runner)},gr.mainLoop.method="immediate"}return 0};It=()=>performance.now();var ir=e=>{if(e instanceof ne||"unwind"==e)return P;m(1,e)},ur=()=>ae||!1,lr=(e,t)=>{var r,o;P=e,P=r=e,ur()||(null==(o=u.onExit)||o.call(u,r),M=!0),m(r,new ne(r))},cr=lr,dr=e=>{if(!M)try{e(),(()=>{if(!ur())try{cr(P)}catch(e){ir(e)}})()}catch(e){ir(e)}},pr=(e,t)=>setTimeout((()=>{dr(e)}),t),gr={mainLoop:{running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause(){gr.mainLoop.scheduler=null,gr.mainLoop.currentlyRunningMainloop++},resume(){gr.mainLoop.currentlyRunningMainloop++;var e=gr.mainLoop.timingMode,t=gr.mainLoop.timingValue,r=gr.mainLoop.func;gr.mainLoop.func=null,((e,t,r,o,n)=>{O(!gr.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),gr.mainLoop.func=e,gr.mainLoop.arg=o;var s=gr.mainLoop.currentlyRunningMainloop;function a(){return!(s<gr.mainLoop.currentlyRunningMainloop)}if(gr.mainLoop.running=!1,gr.mainLoop.runner=function(){var t,r;if(!M)if(gr.mainLoop.queue.length>0){Date.now();var o=gr.mainLoop.queue.shift();if(o.func(o.arg),gr.mainLoop.remainingBlockers){var n=gr.mainLoop.remainingBlockers,s=n%1==0?n-1:Math.floor(n);o.counted?gr.mainLoop.remainingBlockers=s:(s+=.5,gr.mainLoop.remainingBlockers=(8*n+s)/9)}if(gr.mainLoop.updateStatus(),!a())return;setTimeout(gr.mainLoop.runner,0)}else a()&&(gr.mainLoop.currentFrameNumber=gr.mainLoop.currentFrameNumber+1|0,1==gr.mainLoop.timingMode&&gr.mainLoop.timingValue>1&&gr.mainLoop.currentFrameNumber%gr.mainLoop.timingValue!=0?gr.mainLoop.scheduler():(0==gr.mainLoop.timingMode&&(gr.mainLoop.tickStartTime=It()),gr.mainLoop.runIter(e),a()&&("object"==typeof SDL&&(null==(r=null==(t=SDL.audio)?void 0:t.queueNewAudioData)||r.call(t)),gr.mainLoop.scheduler())))},n||(t&&t>0?ar(0,1e3/t):ar(1,1),gr.mainLoop.scheduler()),r)throw"unwind"})(r,0,!1,gr.mainLoop.arg,!0),ar(e,t),gr.mainLoop.scheduler()},updateStatus(){if(u.setStatus){var e=u.statusMessage||"Please wait...",t=gr.mainLoop.remainingBlockers,r=gr.mainLoop.expectedBlockers;t?t<r?u.setStatus(e+" ("+(r-t)+"/"+r+")"):u.setStatus(e):u.setStatus("")}},runIter(e){var t;if(!M){if(u.preMainLoop&&!1===u.preMainLoop())return;dr(e),null==(t=u.postMainLoop)||t.call(u)}}},isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init(){if(!gr.initted){gr.initted=!0;var e={canHandle:function(e){return!u.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,t,r,o){var n=new Blob([e],{type:gr.getMimetype(t)});n.size!==e.length&&(n=new Blob([new Uint8Array(e).buffer],{type:gr.getMimetype(t)}));var s=URL.createObjectURL(n),a=new Image;a.onload=()=>{O(a.complete,`Image ${t} could not be decoded`);var o=document.createElement("canvas");o.width=a.width,o.height=a.height,o.getContext("2d").drawImage(a,0,0),Cu[t]=o,URL.revokeObjectURL(s),null==r||r(e)},a.onerror=e=>{E(`Image ${s} could not be decoded`),null==o||o()},a.src=s}};Ce.push(e);var t={canHandle:function(e){return!u.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,t,r,o){var n=!1;function s(o){n||(n=!0,wu[t]=o,null==r||r(e))}var a=new Blob([e],{type:gr.getMimetype(t)}),i=URL.createObjectURL(a),u=new Audio;u.addEventListener("canplaythrough",(()=>s(u)),!1),u.onerror=function(r){n||(E(`warning: browser could not fully decode audio ${t}, trying slower base64 approach`),u.src="data:audio/x-"+t.substr(-3)+";base64,"+function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",o=0,n=0,s=0;s<e.length;s++)for(o=o<<8|e[s],n+=8;n>=6;){var a=o>>n-6&63;n-=6,r+=t[a]}return 2==n?(r+=t[(3&o)<<4],r+="=="):4==n&&(r+=t[(15&o)<<2],r+="="),r}(e),s(u))},u.src=i,pr((()=>{s(u)}),1e4)}};Ce.push(t);var r=u.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||(()=>{}),r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||(()=>{}),r.exitPointerLock=r.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",o,!1),document.addEventListener("mozpointerlockchange",o,!1),document.addEventListener("webkitpointerlockchange",o,!1),document.addEventListener("mspointerlockchange",o,!1),u.elementPointerLock&&r.addEventListener("click",(e=>{!gr.pointerLock&&u.canvas.requestPointerLock&&(u.canvas.requestPointerLock(),e.preventDefault())}),!1))}function o(){gr.pointerLock=document.pointerLockElement===u.canvas||document.mozPointerLockElement===u.canvas||document.webkitPointerLockElement===u.canvas||document.msPointerLockElement===u.canvas}},createContext(e,t,r,o){if(t&&u.ctx&&e==u.canvas)return u.ctx;var n,s;if(t){var a={antialias:!1,alpha:!1,majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1};if(o)for(var i in o)a[i]=o[i];void 0!==mr&&(s=mr.createContext(e,a))&&(n=mr.getContext(s).GLctx)}else n=e.getContext("2d");return n?(r&&(t||O(void 0===ku,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),u.ctx=n,t&&mr.makeContextCurrent(s),u.useWebGL=t,gr.moduleContextCreatedCallbacks.forEach((e=>e())),gr.init()),n):null},destroyContext(e,t,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen(e,t){gr.lockPointer=e,gr.resizeCanvas=t,void 0===gr.lockPointer&&(gr.lockPointer=!0),void 0===gr.resizeCanvas&&(gr.resizeCanvas=!1);var r=u.canvas;function o(){var e,t;gr.isFullscreen=!1;var o=r.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===o?(r.exitFullscreen=gr.exitFullscreen,gr.lockPointer&&r.requestPointerLock(),gr.isFullscreen=!0,gr.resizeCanvas?gr.setFullscreenCanvasSize():gr.updateCanvasDimensions(r)):(o.parentNode.insertBefore(r,o),o.parentNode.removeChild(o),gr.resizeCanvas?gr.setWindowedCanvasSize():gr.updateCanvasDimensions(r)),null==(e=u.onFullScreen)||e.call(u,gr.isFullscreen),null==(t=u.onFullscreen)||t.call(u,gr.isFullscreen)}gr.fullscreenHandlersInstalled||(gr.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",o,!1),document.addEventListener("mozfullscreenchange",o,!1),document.addEventListener("webkitfullscreenchange",o,!1),document.addEventListener("MSFullscreenChange",o,!1));var n=document.createElement("div");r.parentNode.insertBefore(n,r),n.appendChild(r),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?()=>n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(n.webkitRequestFullScreen?()=>n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null),n.requestFullscreen()},exitFullscreen:()=>!!gr.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{})).apply(document,[]),!0),nextRAF:0,fakeRequestAnimationFrame(e){var t=Date.now();if(0===gr.nextRAF)gr.nextRAF=t+1e3/60;else for(;t+2>=gr.nextRAF;)gr.nextRAF+=1e3/60;var r=Math.max(gr.nextRAF-t,0);setTimeout(e,r)},requestAnimationFrame(e){"function"!=typeof requestAnimationFrame?(0,gr.fakeRequestAnimationFrame)(e):requestAnimationFrame(e)},safeSetTimeout:(e,t)=>pr(e,t),safeRequestAnimationFrame:e=>gr.requestAnimationFrame((()=>{dr(e)})),getMimetype:e=>({jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]),getUserMedia(e){window.getUserMedia||=navigator.getUserMedia||navigator.mozGetUserMedia,window.getUserMedia(e)},getMovementX:e=>e.movementX||e.mozMovementX||e.webkitMovementX||0,getMovementY:e=>e.movementY||e.mozMovementY||e.webkitMovementY||0,getMouseWheelDelta(e){var t=0;switch(e.type){case"DOMMouseScroll":t=e.detail/3;break;case"mousewheel":t=e.wheelDelta/120;break;case"wheel":switch(t=e.deltaY,e.deltaMode){case 0:t/=100;break;case 1:t/=3;break;case 2:t*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return t},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(e,t){var r=u.canvas.getBoundingClientRect(),o=u.canvas.width,n=u.canvas.height,s=void 0!==window.scrollX?window.scrollX:window.pageXOffset,a=void 0!==window.scrollY?window.scrollY:window.pageYOffset,i=e-(s+r.left),l=t-(a+r.top);return{x:i*=o/r.width,y:l*=n/r.height}},setMouseCoords(e,t){const{x:r,y:o}=gr.calculateMouseCoords(e,t);gr.mouseMovementX=r-gr.mouseX,gr.mouseMovementY=o-gr.mouseY,gr.mouseX=r,gr.mouseY=o},calculateMouseEvent(e){if(gr.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?gr.mouseMovementX=gr.mouseMovementY=0:(gr.mouseMovementX=gr.getMovementX(e),gr.mouseMovementY=gr.getMovementY(e)),"undefined"!=typeof SDL?(gr.mouseX=SDL.mouseX+gr.mouseMovementX,gr.mouseY=SDL.mouseY+gr.mouseMovementY):(gr.mouseX+=gr.mouseMovementX,gr.mouseY+=gr.mouseMovementY);else{if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var t=e.touch;if(void 0===t)return;var r=gr.calculateMouseCoords(t.pageX,t.pageY);if("touchstart"===e.type)gr.lastTouches[t.identifier]=r,gr.touches[t.identifier]=r;else if("touchend"===e.type||"touchmove"===e.type){var o=gr.touches[t.identifier];o||=r,gr.lastTouches[t.identifier]=o,gr.touches[t.identifier]=r}return}gr.setMouseCoords(e.pageX,e.pageY)}},resizeListeners:[],updateResizeListeners(){var e=u.canvas;gr.resizeListeners.forEach((t=>t(e.width,e.height)))},setCanvasSize(e,t,r){var o=u.canvas;gr.updateCanvasDimensions(o,e,t),r||gr.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if("undefined"!=typeof SDL){var e=T[SDL.screen>>2];e|=8388608,I[SDL.screen>>2]=e}gr.updateCanvasDimensions(u.canvas),gr.updateResizeListeners()},setWindowedCanvasSize(){if("undefined"!=typeof SDL){var e=T[SDL.screen>>2];e&=-8388609,I[SDL.screen>>2]=e}gr.updateCanvasDimensions(u.canvas),gr.updateResizeListeners()},updateCanvasDimensions(e,t,r){t&&r?(e.widthNative=t,e.heightNative=r):(t=e.widthNative,r=e.heightNative);var o=t,n=r;if(u.forcedAspectRatio&&u.forcedAspectRatio>0&&(o/n<u.forcedAspectRatio?o=Math.round(n*u.forcedAspectRatio):n=Math.round(o/u.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var s=Math.min(screen.width/o,screen.height/n);o=Math.round(o*s),n=Math.round(n*s)}gr.resizeCanvas?(e.width!=o&&(e.width=o),e.height!=n&&(e.height=n),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=t&&(e.width=t),e.height!=r&&(e.height=r),void 0!==e.style&&(o!=t||n!=r?(e.style.setProperty("width",o+"px","important"),e.style.setProperty("height",n+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}},fr={errorCode:12288,defaultDisplayInitialized:!1,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:!1,depth:!1,stencil:!1,antialias:!1},stringCache:{},setErrorCode(e){fr.errorCode=e},chooseConfig(e,t,r,o,n){if(62e3!=e)return fr.setErrorCode(12296),0;if(t)for(;;){var s=I[t>>2];if(12321==s){var a=I[t+4>>2];fr.contextAttributes.alpha=a>0}else if(12325==s){var i=I[t+4>>2];fr.contextAttributes.depth=i>0}else if(12326==s){var u=I[t+4>>2];fr.contextAttributes.stencil=u>0}else if(12337==s){var l=I[t+4>>2];fr.contextAttributes.antialias=l>0}else if(12338==s)l=I[t+4>>2],fr.contextAttributes.antialias=1==l;else if(12544==s){var c=I[t+4>>2];fr.contextAttributes.lowLatency=12547!=c}else if(12344==s)break;t+=8}return r&&o||n?(n&&(I[n>>2]=1),r&&o>0&&(T[r>>2]=62002),fr.setErrorCode(12288),1):(fr.setErrorCode(12300),0)}},mr={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function(e){mr.lastError||(mr.lastError=e)},getNewId:e=>{for(var t=mr.counter++,r=e.length;r<t;r++)e[r]=null;return t},getSource:(e,t,r,o)=>{for(var n="",s=0;s<t;++s){var a=o?T[o+4*s>>2]:void 0;n+=Ee(T[r+4*s>>2],a)}return n},createContext:(e,t)=>{if(!e.getContextSafariWebGL2Fixed){let t=function(t,r){var o=e.getContextSafariWebGL2Fixed(t,r);return"webgl"==t==o instanceof WebGLRenderingContext?o:null};e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=t}var r=t.majorVersion>1?e.getContext("webgl2",t):e.getContext("webgl",t);return r?mr.registerContext(r,t):0},registerContext:(e,t)=>{var r=mr.getNewId(mr.contexts),o={handle:r,attributes:t,version:t.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=o),mr.contexts[r]=o,r},makeContextCurrent:e=>{var t;return mr.currentContext=mr.contexts[e],u.ctx=ku=null==(t=mr.currentContext)?void 0:t.GLctx,!(e&&!ku)},getContext:e=>mr.contexts[e],deleteContext:e=>{mr.currentContext===mr.contexts[e]&&(mr.currentContext=null),"object"==typeof su&&su.removeAllHandlersOnTarget(mr.contexts[e].GLctx.canvas),mr.contexts[e]&&mr.contexts[e].GLctx.canvas&&(mr.contexts[e].GLctx.canvas.GLctxObject=void 0),mr.contexts[e]=null}},hr=[],br=(e,t,r)=>{var o=((e,t)=>{var r;for(hr.length=0;r=R[e++];){var o=105!=r;t+=(o&=112!=r)&&t%8?4:0,hr.push(112==r?T[t>>2]:106==r?F[t>>3]:105==r?I[t>>2]:L[t>>3]),t+=o?8:4}return hr})(t,r);return oe[e].apply(null,o)},yr=function(e){ku.activeTexture(e)},vr=(e,t)=>{ku.attachShader(mr.programs[e],mr.shaders[t])},_r=(e,t)=>{ku.beginQuery(e,mr.queries[t])},kr=(e,t)=>{ku.disjointTimerQueryExt.beginQueryEXT(e,mr.queries[t])},Cr=function(e){ku.beginTransformFeedback(e)},wr=(e,t,r)=>{ku.bindAttribLocation(mr.programs[e],t,Ee(r))},Ar=(e,t)=>{35051==e?ku.currentPixelPackBufferBinding=t:35052==e&&(ku.currentPixelUnpackBufferBinding=t),ku.bindBuffer(e,mr.buffers[t])},Er=(e,t,r)=>{ku.bindBufferBase(e,t,mr.buffers[r])},Pr=(e,t,r,o,n)=>{ku.bindBufferRange(e,t,mr.buffers[r],o,n)},Sr=(e,t)=>{ku.bindFramebuffer(e,mr.framebuffers[t])},Rr=(e,t)=>{ku.bindRenderbuffer(e,mr.renderbuffers[t])},Br=(e,t)=>{ku.bindSampler(e,mr.samplers[t])},xr=(e,t)=>{ku.bindTexture(e,mr.textures[t])},Ir=(e,t)=>{ku.bindTransformFeedback(e,mr.transformFeedbacks[t])},Tr=e=>{ku.bindVertexArray(mr.vaos[e])},qr=Tr,Fr=Tr,Dr=function(e,t,r,o){ku.blendColor(e,t,r,o)},Lr=function(e){ku.blendEquation(e)},Mr=function(e,t){ku.blendEquationSeparate(e,t)},Or=function(e,t){ku.blendFunc(e,t)},Ur=function(e,t,r,o){ku.blendFuncSeparate(e,t,r,o)},$r=function(e,t,r,o,n,s,a,i,u,l){ku.blitFramebuffer(e,t,r,o,n,s,a,i,u,l)},Vr=(e,t,r,o)=>{mr.currentContext.version>=2?r&&t?ku.bufferData(e,R,o,r,t):ku.bufferData(e,t,o):ku.bufferData(e,r?R.subarray(r,r+t):t,o)},Nr=(e,t,r,o)=>{mr.currentContext.version>=2?r&&ku.bufferSubData(e,t,R,o,r):ku.bufferSubData(e,t,R.subarray(o,o+r))},Hr=function(e){return ku.checkFramebufferStatus(e)},jr=function(e){ku.clear(e)},Wr=function(e,t,r,o){ku.clearBufferfi(e,t,r,o)},Gr=(e,t,r)=>{ku.clearBufferfv(e,t,q,r>>2)},zr=(e,t,r)=>{ku.clearBufferiv(e,t,I,r>>2)},Yr=(e,t,r)=>{ku.clearBufferuiv(e,t,T,r>>2)},Xr=function(e,t,r,o){ku.clearColor(e,t,r,o)},Qr=function(e){ku.clearDepth(e)},Kr=function(e){ku.clearStencil(e)},Zr=(e,t,r)=>(r=Number(r),ku.clientWaitSync(mr.syncs[e],t,r)),Jr=(e,t,r,o)=>{ku.colorMask(!!e,!!t,!!r,!!o)},eo=e=>{ku.compileShader(mr.shaders[e])},to=(e,t,r,o,n,s,a,i)=>{mr.currentContext.version>=2?ku.currentPixelUnpackBufferBinding||!a?ku.compressedTexImage2D(e,t,r,o,n,s,a,i):ku.compressedTexImage2D(e,t,r,o,n,s,R,i,a):ku.compressedTexImage2D(e,t,r,o,n,s,i?R.subarray(i,i+a):null)},ro=(e,t,r,o,n,s,a,i,u)=>{ku.currentPixelUnpackBufferBinding?ku.compressedTexImage3D(e,t,r,o,n,s,a,i,u):ku.compressedTexImage3D(e,t,r,o,n,s,a,R,u,i)},oo=(e,t,r,o,n,s,a,i,u)=>{mr.currentContext.version>=2?ku.currentPixelUnpackBufferBinding||!i?ku.compressedTexSubImage2D(e,t,r,o,n,s,a,i,u):ku.compressedTexSubImage2D(e,t,r,o,n,s,a,R,u,i):ku.compressedTexSubImage2D(e,t,r,o,n,s,a,u?R.subarray(u,u+i):null)},no=(e,t,r,o,n,s,a,i,u,l,c)=>{ku.currentPixelUnpackBufferBinding?ku.compressedTexSubImage3D(e,t,r,o,n,s,a,i,u,l,c):ku.compressedTexSubImage3D(e,t,r,o,n,s,a,i,u,R,c,l)},so=function(e,t,r,o,n){ku.copyBufferSubData(e,t,r,o,n)},ao=function(e,t,r,o,n,s,a,i){ku.copyTexImage2D(e,t,r,o,n,s,a,i)},io=function(e,t,r,o,n,s,a,i){ku.copyTexSubImage2D(e,t,r,o,n,s,a,i)},uo=function(e,t,r,o,n,s,a,i,u){ku.copyTexSubImage3D(e,t,r,o,n,s,a,i,u)},lo=()=>{var e=mr.getNewId(mr.programs),t=ku.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,mr.programs[e]=t,e},co=e=>{var t=mr.getNewId(mr.shaders);return mr.shaders[t]=ku.createShader(e),t},po=function(e){ku.cullFace(e)},go=(e,t)=>{for(var r=0;r<e;r++){var o=I[t+4*r>>2],n=mr.buffers[o];n&&(ku.deleteBuffer(n),n.name=0,mr.buffers[o]=null,o==ku.currentPixelPackBufferBinding&&(ku.currentPixelPackBufferBinding=0),o==ku.currentPixelUnpackBufferBinding&&(ku.currentPixelUnpackBufferBinding=0))}},fo=(e,t)=>{for(var r=0;r<e;++r){var o=I[t+4*r>>2],n=mr.framebuffers[o];n&&(ku.deleteFramebuffer(n),n.name=0,mr.framebuffers[o]=null)}},mo=e=>{if(e){var t=mr.programs[e];t?(ku.deleteProgram(t),t.name=0,mr.programs[e]=null):mr.recordError(1281)}},ho=(e,t)=>{for(var r=0;r<e;r++){var o=I[t+4*r>>2],n=mr.queries[o];n&&(ku.deleteQuery(n),mr.queries[o]=null)}},bo=(e,t)=>{for(var r=0;r<e;r++){var o=I[t+4*r>>2],n=mr.queries[o];n&&(ku.disjointTimerQueryExt.deleteQueryEXT(n),mr.queries[o]=null)}},yo=(e,t)=>{for(var r=0;r<e;r++){var o=I[t+4*r>>2],n=mr.renderbuffers[o];n&&(ku.deleteRenderbuffer(n),n.name=0,mr.renderbuffers[o]=null)}},vo=(e,t)=>{for(var r=0;r<e;r++){var o=I[t+4*r>>2],n=mr.samplers[o];n&&(ku.deleteSampler(n),n.name=0,mr.samplers[o]=null)}},_o=e=>{if(e){var t=mr.shaders[e];t?(ku.deleteShader(t),mr.shaders[e]=null):mr.recordError(1281)}},ko=e=>{if(e){var t=mr.syncs[e];t?(ku.deleteSync(t),t.name=0,mr.syncs[e]=null):mr.recordError(1281)}},Co=(e,t)=>{for(var r=0;r<e;r++){var o=I[t+4*r>>2],n=mr.textures[o];n&&(ku.deleteTexture(n),n.name=0,mr.textures[o]=null)}},wo=(e,t)=>{for(var r=0;r<e;r++){var o=I[t+4*r>>2],n=mr.transformFeedbacks[o];n&&(ku.deleteTransformFeedback(n),n.name=0,mr.transformFeedbacks[o]=null)}},Ao=(e,t)=>{for(var r=0;r<e;r++){var o=I[t+4*r>>2];ku.deleteVertexArray(mr.vaos[o]),mr.vaos[o]=null}},Eo=Ao,Po=Ao,So=function(e){ku.depthFunc(e)},Ro=e=>{ku.depthMask(!!e)},Bo=function(e,t){ku.depthRange(e,t)},xo=(e,t)=>{ku.detachShader(mr.programs[e],mr.shaders[t])},Io=function(e){ku.disable(e)},To=e=>{ku.disableVertexAttribArray(e)},qo=(e,t,r)=>{ku.drawArrays(e,t,r)},Fo=(e,t,r,o)=>{ku.drawArraysInstanced(e,t,r,o)},Do=Fo,Lo=Fo,Mo=Fo,Oo=(e,t,r,o,n)=>{ku.dibvbi.drawArraysInstancedBaseInstanceWEBGL(e,t,r,o,n)},Uo=Fo,$o=Fo,Vo=[],No=(e,t)=>{for(var r=Vo[e],o=0;o<e;o++)r[o]=I[t+4*o>>2];ku.drawBuffers(r)},Ho=No,jo=No,Wo=No,Go=(e,t,r,o)=>{ku.drawElements(e,t,r,o)},zo=Go,Yo=(e,t,r,o,n)=>{ku.drawElementsInstanced(e,t,r,o,n)},Xo=Yo,Qo=Yo,Ko=Yo,Zo=(e,t,r,o,n,s,a)=>{ku.dibvbi.drawElementsInstancedBaseVertexBaseInstanceWEBGL(e,t,r,o,n,s,a)},Jo=Yo,en=Yo,tn=(e,t,r,o,n,s)=>{Go(e,o,n,s)},rn=function(e){ku.enable(e)},on=e=>{ku.enableVertexAttribArray(e)},nn=function(e){ku.endQuery(e)},sn=e=>{ku.disjointTimerQueryExt.endQueryEXT(e)},an=function(){ku.endTransformFeedback()},un=(e,t)=>{var r=ku.fenceSync(e,t);if(r){var o=mr.getNewId(mr.syncs);return r.name=o,mr.syncs[o]=r,o}return 0},ln=function(){ku.finish()},cn=function(){ku.flush()},dn=(e,t,r,o)=>{ku.framebufferRenderbuffer(e,t,r,mr.renderbuffers[o])},pn=(e,t,r,o,n)=>{ku.framebufferTexture2D(e,t,r,mr.textures[o],n)},gn=(e,t,r,o,n)=>{ku.framebufferTextureLayer(e,t,mr.textures[r],o,n)},fn=function(e){ku.frontFace(e)},mn=(e,t,r,o)=>{for(var n=0;n<e;n++){var s=ku[r](),a=s&&mr.getNewId(o);s?(s.name=a,o[a]=s):mr.recordError(1282),I[t+4*n>>2]=a}},hn=(e,t)=>{mn(e,t,"createBuffer",mr.buffers)},bn=(e,t)=>{mn(e,t,"createFramebuffer",mr.framebuffers)},yn=(e,t)=>{mn(e,t,"createQuery",mr.queries)},vn=(e,t)=>{for(var r=0;r<e;r++){var o=ku.disjointTimerQueryExt.createQueryEXT();if(!o){for(mr.recordError(1282);r<e;)I[t+4*r++>>2]=0;return}var n=mr.getNewId(mr.queries);o.name=n,mr.queries[n]=o,I[t+4*r>>2]=n}},_n=(e,t)=>{mn(e,t,"createRenderbuffer",mr.renderbuffers)},kn=(e,t)=>{mn(e,t,"createSampler",mr.samplers)},Cn=(e,t)=>{mn(e,t,"createTexture",mr.textures)},wn=(e,t)=>{mn(e,t,"createTransformFeedback",mr.transformFeedbacks)};function An(e,t){mn(e,t,"createVertexArray",mr.vaos)}var En,Pn,Sn,Rn=An,Bn=An,xn=function(e){ku.generateMipmap(e)},In=(e,t,r,o,n,s,a,i)=>{t=mr.programs[t];var u=ku[e](t,r);if(u){var l=i&&Vt(u.name,i,o);n&&(I[n>>2]=l),s&&(I[s>>2]=u.size),a&&(I[a>>2]=u.type)}},Tn=(e,t,r,o,n,s,a)=>{In("getActiveAttrib",e,t,r,o,n,s,a)},qn=(e,t,r,o,n,s,a)=>{In("getActiveUniform",e,t,r,o,n,s,a)},Fn=(e,t,r,o,n)=>{e=mr.programs[e];var s=ku.getActiveUniformBlockName(e,t);if(s)if(n&&r>0){var a=Vt(s,n,r);o&&(I[o>>2]=a)}else o&&(I[o>>2]=0)},Dn=(e,t,r,o)=>{if(o)if(e=mr.programs[e],35393!=r){var n=ku.getActiveUniformBlockParameter(e,t,r);if(null!==n)if(35395==r)for(var s=0;s<n.length;s++)I[o+4*s>>2]=n[s];else I[o>>2]=n}else{var a=ku.getActiveUniformBlockName(e,t);I[o>>2]=a.length+1}else mr.recordError(1281)},Ln=(e,t,r,o,n)=>{if(n)if(t>0&&0==r)mr.recordError(1281);else{e=mr.programs[e];for(var s=[],a=0;a<t;a++)s.push(I[r+4*a>>2]);var i=ku.getActiveUniforms(e,s,o);if(i){var u=i.length;for(a=0;a<u;a++)I[n+4*a>>2]=i[a]}}else mr.recordError(1281)},Mn=(e,t,r,o)=>{var n=ku.getAttachedShaders(mr.programs[e]),s=n.length;s>t&&(s=t),I[r>>2]=s;for(var a=0;a<s;++a){var i=mr.shaders.indexOf(n[a]);I[o+4*a>>2]=i}},On=(e,t)=>ku.getAttribLocation(mr.programs[e],Ee(t)),Un=(e,t)=>{T[e>>2]=t;var r=T[e>>2];T[e+4>>2]=(t-r)/4294967296},$n=function(){var e,t=(e=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_color_buffer_float","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"],(ku.getSupportedExtensions()||[]).filter((t=>e.includes(t))));return t=t.concat(t.map((e=>"GL_"+e)))},Vn=(e,t,r)=>{if(t){var o=void 0;switch(e){case 36346:o=1;break;case 36344:return void(0!=r&&1!=r&&mr.recordError(1280));case 34814:case 36345:o=0;break;case 34466:var n=ku.getParameter(34467);o=n?n.length:0;break;case 33309:if(mr.currentContext.version<2)return void mr.recordError(1282);o=$n().length;break;case 33307:case 33308:if(mr.currentContext.version<2)return void mr.recordError(1280);o=33307==e?3:0}if(void 0===o){var s=ku.getParameter(e);switch(typeof s){case"number":o=s;break;case"boolean":o=s?1:0;break;case"string":return void mr.recordError(1280);case"object":if(null===s)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:o=0;break;default:return void mr.recordError(1280)}else{if(s instanceof Float32Array||s instanceof Uint32Array||s instanceof Int32Array||s instanceof Array){for(var a=0;a<s.length;++a)switch(r){case 0:I[t+4*a>>2]=s[a];break;case 2:q[t+4*a>>2]=s[a];break;case 4:S[t+a>>0]=s[a]?1:0}return}try{o=0|s.name}catch(t){return mr.recordError(1280),void E(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${t})`)}}break;default:return mr.recordError(1280),void E(`GL_INVALID_ENUM in glGet${r}v: Native code calling glGet${r}v(${e}) and it returns ${s} of type ${typeof s}!`)}}switch(r){case 1:Un(t,o);break;case 0:I[t>>2]=o;break;case 2:q[t>>2]=o;break;case 4:S[t>>0]=o?1:0}}else mr.recordError(1281)},Nn=(e,t)=>Vn(e,t,4),Hn=(e,t,r)=>{r?Un(r,ku.getBufferParameter(e,t)):mr.recordError(1281)},jn=(e,t,r)=>{r?I[r>>2]=ku.getBufferParameter(e,t):mr.recordError(1281)},Wn=()=>{var e=ku.getError()||mr.lastError;return mr.lastError=0,e},Gn=(e,t)=>Vn(e,t,2),zn=(e,t)=>ku.getFragDataLocation(mr.programs[e],Ee(t)),Yn=(e,t,r,o)=>{var n=ku.getFramebufferAttachmentParameter(e,t,r);(n instanceof WebGLRenderbuffer||n instanceof WebGLTexture)&&(n=0|n.name),I[o>>2]=n},Xn=(e,t,r,o)=>{if(r){var n,s=ku.getIndexedParameter(e,t);switch(typeof s){case"boolean":n=s?1:0;break;case"number":n=s;break;case"object":if(null===s)switch(e){case 35983:case 35368:n=0;break;default:return void mr.recordError(1280)}else{if(!(s instanceof WebGLBuffer))return void mr.recordError(1280);n=0|s.name}break;default:return void mr.recordError(1280)}switch(o){case 1:Un(r,n);break;case 0:I[r>>2]=n;break;case 2:q[r>>2]=n;break;case 4:S[r>>0]=n?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+o}}else mr.recordError(1281)},Qn=(e,t,r)=>Xn(e,t,r,1),Kn=(e,t)=>{Vn(e,t,1)},Zn=(e,t,r)=>Xn(e,t,r,0),Jn=(e,t)=>Vn(e,t,0),es=(e,t,r,o,n)=>{if(o<0)mr.recordError(1281);else if(n){var s=ku.getInternalformatParameter(e,t,r);if(null!==s)for(var a=0;a<s.length&&a<o;++a)I[n+4*a>>2]=s[a]}else mr.recordError(1281)},ts=(e,t,r,o,n)=>{mr.recordError(1282)},rs=(e,t,r,o)=>{var n=ku.getProgramInfoLog(mr.programs[e]);null===n&&(n="(unknown error)");var s=t>0&&o?Vt(n,o,t):0;r&&(I[r>>2]=s)},os=(e,t,r)=>{if(r)if(e>=mr.counter)mr.recordError(1281);else if(e=mr.programs[e],35716==t){var o=ku.getProgramInfoLog(e);null===o&&(o="(unknown error)"),I[r>>2]=o.length+1}else if(35719==t){if(!e.maxUniformLength)for(var n=0;n<ku.getProgramParameter(e,35718);++n)e.maxUniformLength=Math.max(e.maxUniformLength,ku.getActiveUniform(e,n).name.length+1);I[r>>2]=e.maxUniformLength}else if(35722==t){if(!e.maxAttributeLength)for(n=0;n<ku.getProgramParameter(e,35721);++n)e.maxAttributeLength=Math.max(e.maxAttributeLength,ku.getActiveAttrib(e,n).name.length+1);I[r>>2]=e.maxAttributeLength}else if(35381==t){if(!e.maxUniformBlockNameLength)for(n=0;n<ku.getProgramParameter(e,35382);++n)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,ku.getActiveUniformBlockName(e,n).length+1);I[r>>2]=e.maxUniformBlockNameLength}else I[r>>2]=ku.getProgramParameter(e,t);else mr.recordError(1281)},ns=(e,t,r)=>{if(r){var o,n=mr.queries[e];o=mr.currentContext.version<2?ku.disjointTimerQueryExt.getQueryObjectEXT(n,t):ku.getQueryParameter(n,t),Un(r,"boolean"==typeof o?o?1:0:o)}else mr.recordError(1281)},ss=ns,as=(e,t,r)=>{if(r){var o,n=mr.queries[e],s=ku.disjointTimerQueryExt.getQueryObjectEXT(n,t);o="boolean"==typeof s?s?1:0:s,I[r>>2]=o}else mr.recordError(1281)},us=as,ls=ns,cs=(e,t,r)=>{if(r){var o,n=mr.queries[e],s=ku.getQueryParameter(n,t);o="boolean"==typeof s?s?1:0:s,I[r>>2]=o}else mr.recordError(1281)},ds=as,ps=(e,t,r)=>{r?I[r>>2]=ku.getQuery(e,t):mr.recordError(1281)},gs=(e,t,r)=>{r?I[r>>2]=ku.disjointTimerQueryExt.getQueryEXT(e,t):mr.recordError(1281)},fs=(e,t,r)=>{r?I[r>>2]=ku.getRenderbufferParameter(e,t):mr.recordError(1281)},ms=(e,t,r)=>{r?q[r>>2]=ku.getSamplerParameter(mr.samplers[e],t):mr.recordError(1281)},hs=(e,t,r)=>{r?I[r>>2]=ku.getSamplerParameter(mr.samplers[e],t):mr.recordError(1281)},bs=(e,t,r,o)=>{var n=ku.getShaderInfoLog(mr.shaders[e]);null===n&&(n="(unknown error)");var s=t>0&&o?Vt(n,o,t):0;r&&(I[r>>2]=s)},ys=(e,t,r,o)=>{var n=ku.getShaderPrecisionFormat(e,t);I[r>>2]=n.rangeMin,I[r+4>>2]=n.rangeMax,I[o>>2]=n.precision},vs=(e,t,r,o)=>{var n=ku.getShaderSource(mr.shaders[e]);if(n){var s=t>0&&o?Vt(n,o,t):0;r&&(I[r>>2]=s)}},_s=(e,t,r)=>{if(r)if(35716==t){var o=ku.getShaderInfoLog(mr.shaders[e]);null===o&&(o="(unknown error)");var n=o?o.length+1:0;I[r>>2]=n}else if(35720==t){var s=ku.getShaderSource(mr.shaders[e]),a=s?s.length+1:0;I[r>>2]=a}else I[r>>2]=ku.getShaderParameter(mr.shaders[e],t);else mr.recordError(1281)},ks=e=>{var t=mr.stringCache[e];if(!t){switch(e){case 7939:t=sr($n().join(" "));break;case 7936:case 7937:case 37445:case 37446:var r=ku.getParameter(e);r||mr.recordError(1280),t=r?sr(r):0;break;case 7938:var o=ku.getParameter(7938);o=mr.currentContext.version>=2?`OpenGL ES 3.0 (${o})`:`OpenGL ES 2.0 (${o})`,t=sr(o);break;case 35724:var n=ku.getParameter(35724),s=n.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==s&&(3==s[1].length&&(s[1]=s[1]+"0"),n=`OpenGL ES GLSL ES ${s[1]} (${n})`),t=sr(n);break;default:mr.recordError(1280)}mr.stringCache[e]=t}return t},Cs=(e,t)=>{if(mr.currentContext.version<2)return mr.recordError(1282),0;var r=mr.stringiCache[e];if(r)return t<0||t>=r.length?(mr.recordError(1281),0):r[t];if(7939===e){var o=$n().map(sr);return r=mr.stringiCache[e]=o,t<0||t>=r.length?(mr.recordError(1281),0):r[t]}return mr.recordError(1280),0},ws=(e,t,r,o,n)=>{if(r<0)mr.recordError(1281);else if(n){var s=ku.getSyncParameter(mr.syncs[e],t);null!==s&&(I[n>>2]=s,o&&(I[o>>2]=1))}else mr.recordError(1281)},As=(e,t,r)=>{r?q[r>>2]=ku.getTexParameter(e,t):mr.recordError(1281)},Es=(e,t,r)=>{r?I[r>>2]=ku.getTexParameter(e,t):mr.recordError(1281)},Ps=(e,t,r,o,n,s,a)=>{e=mr.programs[e];var i=ku.getTransformFeedbackVarying(e,t);if(i){if(a&&r>0){var u=Vt(i.name,a,r);o&&(I[o>>2]=u)}else o&&(I[o>>2]=0);n&&(I[n>>2]=i.size),s&&(I[s>>2]=i.type)}},Ss=(e,t)=>ku.getUniformBlockIndex(mr.programs[e],Ee(t)),Rs=(e,t,r,o)=>{if(o)if(t>0&&(0==r||0==o))mr.recordError(1281);else{e=mr.programs[e];for(var n=[],s=0;s<t;s++)n.push(Ee(I[r+4*s>>2]));var a=ku.getUniformIndices(e,n);if(a){var i=a.length;for(s=0;s<i;s++)I[o+4*s>>2]=a[s]}}else mr.recordError(1281)},Bs=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),xs=e=>{var t,r,o=e.uniformLocsById,n=e.uniformSizeAndIdsByName;if(!o)for(e.uniformLocsById=o={},e.uniformArrayNamesById={},t=0;t<ku.getProgramParameter(e,35718);++t){var s=ku.getActiveUniform(e,t),a=s.name,i=s.size,u=Bs(a),l=u>0?a.slice(0,u):a,c=e.uniformIdCounter;for(e.uniformIdCounter+=i,n[l]=[i,c],r=0;r<i;++r)o[c]=r,e.uniformArrayNamesById[c++]=l}},Is=(e,t)=>{if(t=Ee(t),e=mr.programs[e]){xs(e);var r=e.uniformLocsById,o=0,n=t,s=Bs(t);s>0&&(i=t.slice(s+1),o=parseInt(i)>>>0,n=t.slice(0,s));var a=e.uniformSizeAndIdsByName[n];if(a&&o<a[0]&&(r[o+=a[1]]=r[o]||ku.getUniformLocation(e,t)))return o}else mr.recordError(1281);var i;return-1},Ts=e=>{var t=ku.currentProgram;if(t){var r=t.uniformLocsById[e];return"number"==typeof r&&(t.uniformLocsById[e]=r=ku.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?`[${r}]`:""))),r}mr.recordError(1282)},qs=(e,t,r,o)=>{if(r){e=mr.programs[e],xs(e);var n=ku.getUniform(e,Ts(t));if("number"==typeof n||"boolean"==typeof n)switch(o){case 0:I[r>>2]=n;break;case 2:q[r>>2]=n}else for(var s=0;s<n.length;s++)switch(o){case 0:I[r+4*s>>2]=n[s];break;case 2:q[r+4*s>>2]=n[s]}}else mr.recordError(1281)},Fs=(e,t,r)=>{qs(e,t,r,2)},Ds=(e,t,r)=>{qs(e,t,r,0)},Ls=(e,t,r)=>qs(e,t,r,0),Ms=(e,t,r,o)=>{if(r){var n=ku.getVertexAttrib(e,t);if(34975==t)I[r>>2]=n&&n.name;else if("number"==typeof n||"boolean"==typeof n)switch(o){case 0:I[r>>2]=n;break;case 2:q[r>>2]=n;break;case 5:I[r>>2]=Math.fround(n)}else for(var s=0;s<n.length;s++)switch(o){case 0:I[r+4*s>>2]=n[s];break;case 2:q[r+4*s>>2]=n[s];break;case 5:I[r+4*s>>2]=Math.fround(n[s])}}else mr.recordError(1281)},Os=(e,t,r)=>{Ms(e,t,r,0)},Us=Os,$s=Os,Vs=(e,t,r)=>{r?I[r>>2]=ku.getVertexAttribOffset(e,t):mr.recordError(1281)},Ns=(e,t,r)=>{Ms(e,t,r,2)},Hs=(e,t,r)=>{Ms(e,t,r,5)},js=function(e,t){ku.hint(e,t)},Ws=(e,t,r)=>{for(var o=Vo[t],n=0;n<t;n++)o[n]=I[r+4*n>>2];ku.invalidateFramebuffer(e,o)},Gs=(e,t,r,o,n,s,a)=>{for(var i=Vo[t],u=0;u<t;u++)i[u]=I[r+4*u>>2];ku.invalidateSubFramebuffer(e,i,o,n,s,a)},zs=e=>{var t=mr.buffers[e];return t?ku.isBuffer(t):0},Ys=function(e){return ku.isEnabled(e)},Xs=e=>{var t=mr.framebuffers[e];return t?ku.isFramebuffer(t):0},Qs=e=>(e=mr.programs[e])?ku.isProgram(e):0,Ks=e=>{var t=mr.queries[e];return t?ku.isQuery(t):0},Zs=e=>{var t=mr.queries[e];return t?ku.disjointTimerQueryExt.isQueryEXT(t):0},Js=e=>{var t=mr.renderbuffers[e];return t?ku.isRenderbuffer(t):0},ea=e=>{var t=mr.samplers[e];return t?ku.isSampler(t):0},ta=e=>{var t=mr.shaders[e];return t?ku.isShader(t):0},ra=e=>ku.isSync(mr.syncs[e]),oa=e=>{var t=mr.textures[e];return t?ku.isTexture(t):0},na=e=>ku.isTransformFeedback(mr.transformFeedbacks[e]),sa=e=>{var t=mr.vaos[e];return t?ku.isVertexArray(t):0},aa=sa,ia=sa,ua=function(e){ku.lineWidth(e)},la=e=>{e=mr.programs[e],ku.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},ca=(e,t,r,o,n,s)=>{ku.mdibvbi.multiDrawArraysInstancedBaseInstanceWEBGL(e,I,t>>2,I,r>>2,I,o>>2,T,n>>2,s)},da=(e,t,r,o,n,s,a,i)=>{ku.mdibvbi.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(e,I,t>>2,r,I,o>>2,I,n>>2,I,s>>2,T,a>>2,i)},pa=function(){ku.pauseTransformFeedback()},ga=(e,t)=>{3317==e&&(mr.unpackAlignment=t),ku.pixelStorei(e,t)},fa=function(e,t){ku.polygonOffset(e,t)},ma=(e,t,r,o)=>{mr.recordError(1280)},ha=(e,t,r)=>{mr.recordError(1280)},ba=(e,t)=>{ku.disjointTimerQueryExt.queryCounterEXT(mr.queries[e],t)},ya=function(e){ku.readBuffer(e)},va=e=>0==(e-=5120)?S:1==e?R:2==e?B:4==e?I:6==e?q:5==e||28922==e||28520==e||30779==e||30782==e?T:x,_a=e=>31-Math.clz32(e.BYTES_PER_ELEMENT),ka=(e,t,r,o,n,s)=>{var a=va(e),i=_a(a),u=1<<i,l=(e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1))(t)*u,c=((e,t,r,o)=>{var n;return t*(e*r+(n=o)-1&-n)})(r,o,l,mr.unpackAlignment);return a.subarray(n>>i,n+c>>i)},Ca=(e,t,r,o,n,s,a)=>{if(mr.currentContext.version>=2)if(ku.currentPixelPackBufferBinding)ku.readPixels(e,t,r,o,n,s,a);else{var i=va(s);ku.readPixels(e,t,r,o,n,s,i,a>>_a(i))}else{var u=ka(s,n,r,o,a);u?ku.readPixels(e,t,r,o,n,s,u):mr.recordError(1280)}},wa=()=>{},Aa=function(e,t,r,o){ku.renderbufferStorage(e,t,r,o)},Ea=function(e,t,r,o,n){ku.renderbufferStorageMultisample(e,t,r,o,n)},Pa=function(){ku.resumeTransformFeedback()},Sa=(e,t)=>{ku.sampleCoverage(e,!!t)},Ra=(e,t,r)=>{ku.samplerParameterf(mr.samplers[e],t,r)},Ba=(e,t,r)=>{var o=q[r>>2];ku.samplerParameterf(mr.samplers[e],t,o)},xa=(e,t,r)=>{ku.samplerParameteri(mr.samplers[e],t,r)},Ia=(e,t,r)=>{var o=I[r>>2];ku.samplerParameteri(mr.samplers[e],t,o)},Ta=function(e,t,r,o){ku.scissor(e,t,r,o)},qa=(e,t,r,o,n)=>{mr.recordError(1280)},Fa=(e,t,r,o)=>{var n=mr.getSource(e,t,r,o);if(mr.currentContext.version>=2&&n.includes("#version 100")){var s="";(n=(n=n.replace(/#extension GL_OES_standard_derivatives : enable/g,"")).replace(/#extension GL_EXT_shader_texture_lod : enable/g,"")).includes("gl_FragColor")&&(s+="out mediump vec4 GL_FragColor;\n",n=n.replace(/gl_FragColor/g,"GL_FragColor")),n=(n=(n=(n=(n=(n=(n=(n=(n=(n=(n=(n=n.includes("attribute")?(n=n.replace(/attribute/g,"in")).replace(/varying/g,"out"):n.replace(/varying/g,"in")).replace(/textureCubeLodEXT/g,"textureCubeLod")).replace(/texture2DLodEXT/g,"texture2DLod")).replace(/texture2DProjLodEXT/g,"texture2DProjLod")).replace(/texture2DGradEXT/g,"texture2DGrad")).replace(/texture2DProjGradEXT/g,"texture2DProjGrad")).replace(/textureCubeGradEXT/g,"textureCubeGrad")).replace(/textureCube/g,"texture")).replace(/texture1D/g,"texture")).replace(/texture2D/g,"texture")).replace(/texture3D/g,"texture")).replace(/#version 100/g,"#version 300 es\n"+s)}ku.shaderSource(mr.shaders[e],n)},Da=function(e,t,r){ku.stencilFunc(e,t,r)},La=function(e,t,r,o){ku.stencilFuncSeparate(e,t,r,o)},Ma=function(e){ku.stencilMask(e)},Oa=function(e,t){ku.stencilMaskSeparate(e,t)},Ua=function(e,t,r){ku.stencilOp(e,t,r)},$a=function(e,t,r,o){ku.stencilOpSeparate(e,t,r,o)},Va=(e,t,r,o,n,s,a,i,u)=>{if(mr.currentContext.version>=2&&(6402==a&&6402==r&&5125==i&&(r=33190),36193==i&&(i=5131,6408==a&&6408==r&&(r=34842)),34041==r&&(r=35056)),mr.currentContext.version>=2)if(ku.currentPixelUnpackBufferBinding)ku.texImage2D(e,t,r,o,n,s,a,i,u);else if(u){var l=va(i);ku.texImage2D(e,t,r,o,n,s,a,i,l,u>>_a(l))}else ku.texImage2D(e,t,r,o,n,s,a,i,null);else ku.texImage2D(e,t,r,o,n,s,a,i,u?ka(i,a,o,n,u):null)},Na=(e,t,r,o,n,s,a,i,u,l)=>{if(ku.currentPixelUnpackBufferBinding)ku.texImage3D(e,t,r,o,n,s,a,i,u,l);else if(l){var c=va(u);ku.texImage3D(e,t,r,o,n,s,a,i,u,c,l>>_a(c))}else ku.texImage3D(e,t,r,o,n,s,a,i,u,null)},Ha=function(e,t,r){ku.texParameterf(e,t,r)},ja=(e,t,r)=>{var o=q[r>>2];ku.texParameterf(e,t,o)},Wa=function(e,t,r){ku.texParameteri(e,t,r)},Ga=(e,t,r)=>{var o=I[r>>2];ku.texParameteri(e,t,o)},za=function(e,t,r,o,n){ku.texStorage2D(e,t,r,o,n)},Ya=function(e,t,r,o,n,s){ku.texStorage3D(e,t,r,o,n,s)},Xa=(e,t,r,o,n,s,a,i,u)=>{if(mr.currentContext.version>=2&&36193==i&&(i=5131),mr.currentContext.version>=2)if(ku.currentPixelUnpackBufferBinding)ku.texSubImage2D(e,t,r,o,n,s,a,i,u);else if(u){var l=va(i);ku.texSubImage2D(e,t,r,o,n,s,a,i,l,u>>_a(l))}else ku.texSubImage2D(e,t,r,o,n,s,a,i,null);else{var c=null;u&&(c=ka(i,a,n,s,u)),ku.texSubImage2D(e,t,r,o,n,s,a,i,c)}},Qa=(e,t,r,o,n,s,a,i,u,l,c)=>{if(ku.currentPixelUnpackBufferBinding)ku.texSubImage3D(e,t,r,o,n,s,a,i,u,l,c);else if(c){var d=va(l);ku.texSubImage3D(e,t,r,o,n,s,a,i,u,l,d,c>>_a(d))}else ku.texSubImage3D(e,t,r,o,n,s,a,i,u,l,null)},Ka=(e,t,r,o)=>{e=mr.programs[e];for(var n=[],s=0;s<t;s++)n.push(Ee(I[r+4*s>>2]));ku.transformFeedbackVaryings(e,n,o)},Za=(e,t)=>{ku.uniform1f(Ts(e),t)},Ja=[],ei=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform1fv(Ts(e),q,r>>2,t);else{if(t<=288)for(var o=Ja[t-1],n=0;n<t;++n)o[n]=q[r+4*n>>2];else o=q.subarray(r>>2,r+4*t>>2);ku.uniform1fv(Ts(e),o)}},ti=(e,t)=>{ku.uniform1i(Ts(e),t)},ri=[],oi=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform1iv(Ts(e),I,r>>2,t);else{if(t<=288)for(var o=ri[t-1],n=0;n<t;++n)o[n]=I[r+4*n>>2];else o=I.subarray(r>>2,r+4*t>>2);ku.uniform1iv(Ts(e),o)}},ni=(e,t)=>{ku.uniform1ui(Ts(e),t)},si=(e,t,r)=>{t&&ku.uniform1uiv(Ts(e),T,r>>2,t)},ai=(e,t,r)=>{ku.uniform2f(Ts(e),t,r)},ii=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform2fv(Ts(e),q,r>>2,2*t);else{if(t<=144)for(var o=Ja[2*t-1],n=0;n<2*t;n+=2)o[n]=q[r+4*n>>2],o[n+1]=q[r+(4*n+4)>>2];else o=q.subarray(r>>2,r+8*t>>2);ku.uniform2fv(Ts(e),o)}},ui=(e,t,r)=>{ku.uniform2i(Ts(e),t,r)},li=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform2iv(Ts(e),I,r>>2,2*t);else{if(t<=144)for(var o=ri[2*t-1],n=0;n<2*t;n+=2)o[n]=I[r+4*n>>2],o[n+1]=I[r+(4*n+4)>>2];else o=I.subarray(r>>2,r+8*t>>2);ku.uniform2iv(Ts(e),o)}},ci=(e,t,r)=>{ku.uniform2ui(Ts(e),t,r)},di=(e,t,r)=>{t&&ku.uniform2uiv(Ts(e),T,r>>2,2*t)},pi=(e,t,r,o)=>{ku.uniform3f(Ts(e),t,r,o)},gi=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform3fv(Ts(e),q,r>>2,3*t);else{if(t<=96)for(var o=Ja[3*t-1],n=0;n<3*t;n+=3)o[n]=q[r+4*n>>2],o[n+1]=q[r+(4*n+4)>>2],o[n+2]=q[r+(4*n+8)>>2];else o=q.subarray(r>>2,r+12*t>>2);ku.uniform3fv(Ts(e),o)}},fi=(e,t,r,o)=>{ku.uniform3i(Ts(e),t,r,o)},mi=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform3iv(Ts(e),I,r>>2,3*t);else{if(t<=96)for(var o=ri[3*t-1],n=0;n<3*t;n+=3)o[n]=I[r+4*n>>2],o[n+1]=I[r+(4*n+4)>>2],o[n+2]=I[r+(4*n+8)>>2];else o=I.subarray(r>>2,r+12*t>>2);ku.uniform3iv(Ts(e),o)}},hi=(e,t,r,o)=>{ku.uniform3ui(Ts(e),t,r,o)},bi=(e,t,r)=>{t&&ku.uniform3uiv(Ts(e),T,r>>2,3*t)},yi=(e,t,r,o,n)=>{ku.uniform4f(Ts(e),t,r,o,n)},vi=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform4fv(Ts(e),q,r>>2,4*t);else{if(t<=72){var o=Ja[4*t-1],n=q;r>>=2;for(var s=0;s<4*t;s+=4){var a=r+s;o[s]=n[a],o[s+1]=n[a+1],o[s+2]=n[a+2],o[s+3]=n[a+3]}}else o=q.subarray(r>>2,r+16*t>>2);ku.uniform4fv(Ts(e),o)}},_i=(e,t,r,o,n)=>{ku.uniform4i(Ts(e),t,r,o,n)},ki=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform4iv(Ts(e),I,r>>2,4*t);else{if(t<=72)for(var o=ri[4*t-1],n=0;n<4*t;n+=4)o[n]=I[r+4*n>>2],o[n+1]=I[r+(4*n+4)>>2],o[n+2]=I[r+(4*n+8)>>2],o[n+3]=I[r+(4*n+12)>>2];else o=I.subarray(r>>2,r+16*t>>2);ku.uniform4iv(Ts(e),o)}},Ci=(e,t,r,o,n)=>{ku.uniform4ui(Ts(e),t,r,o,n)},wi=(e,t,r)=>{t&&ku.uniform4uiv(Ts(e),T,r>>2,4*t)},Ai=(e,t,r)=>{e=mr.programs[e],ku.uniformBlockBinding(e,t,r)},Ei=(e,t,r,o)=>{if(mr.currentContext.version>=2)t&&ku.uniformMatrix2fv(Ts(e),!!r,q,o>>2,4*t);else{if(t<=72)for(var n=Ja[4*t-1],s=0;s<4*t;s+=4)n[s]=q[o+4*s>>2],n[s+1]=q[o+(4*s+4)>>2],n[s+2]=q[o+(4*s+8)>>2],n[s+3]=q[o+(4*s+12)>>2];else n=q.subarray(o>>2,o+16*t>>2);ku.uniformMatrix2fv(Ts(e),!!r,n)}},Pi=(e,t,r,o)=>{t&&ku.uniformMatrix2x3fv(Ts(e),!!r,q,o>>2,6*t)},Si=(e,t,r,o)=>{t&&ku.uniformMatrix2x4fv(Ts(e),!!r,q,o>>2,8*t)},Ri=(e,t,r,o)=>{if(mr.currentContext.version>=2)t&&ku.uniformMatrix3fv(Ts(e),!!r,q,o>>2,9*t);else{if(t<=32)for(var n=Ja[9*t-1],s=0;s<9*t;s+=9)n[s]=q[o+4*s>>2],n[s+1]=q[o+(4*s+4)>>2],n[s+2]=q[o+(4*s+8)>>2],n[s+3]=q[o+(4*s+12)>>2],n[s+4]=q[o+(4*s+16)>>2],n[s+5]=q[o+(4*s+20)>>2],n[s+6]=q[o+(4*s+24)>>2],n[s+7]=q[o+(4*s+28)>>2],n[s+8]=q[o+(4*s+32)>>2];else n=q.subarray(o>>2,o+36*t>>2);ku.uniformMatrix3fv(Ts(e),!!r,n)}},Bi=(e,t,r,o)=>{t&&ku.uniformMatrix3x2fv(Ts(e),!!r,q,o>>2,6*t)},xi=(e,t,r,o)=>{t&&ku.uniformMatrix3x4fv(Ts(e),!!r,q,o>>2,12*t)},Ii=(e,t,r,o)=>{if(mr.currentContext.version>=2)t&&ku.uniformMatrix4fv(Ts(e),!!r,q,o>>2,16*t);else{if(t<=18){var n=Ja[16*t-1],s=q;o>>=2;for(var a=0;a<16*t;a+=16){var i=o+a;n[a]=s[i],n[a+1]=s[i+1],n[a+2]=s[i+2],n[a+3]=s[i+3],n[a+4]=s[i+4],n[a+5]=s[i+5],n[a+6]=s[i+6],n[a+7]=s[i+7],n[a+8]=s[i+8],n[a+9]=s[i+9],n[a+10]=s[i+10],n[a+11]=s[i+11],n[a+12]=s[i+12],n[a+13]=s[i+13],n[a+14]=s[i+14],n[a+15]=s[i+15]}}else n=q.subarray(o>>2,o+64*t>>2);ku.uniformMatrix4fv(Ts(e),!!r,n)}},Ti=(e,t,r,o)=>{t&&ku.uniformMatrix4x2fv(Ts(e),!!r,q,o>>2,8*t)},qi=(e,t,r,o)=>{t&&ku.uniformMatrix4x3fv(Ts(e),!!r,q,o>>2,12*t)},Fi=e=>{e=mr.programs[e],ku.useProgram(e),ku.currentProgram=e},Di=e=>{ku.validateProgram(mr.programs[e])},Li=function(e,t){ku.vertexAttrib1f(e,t)},Mi=(e,t)=>{ku.vertexAttrib1f(e,q[t>>2])},Oi=function(e,t,r){ku.vertexAttrib2f(e,t,r)},Ui=(e,t)=>{ku.vertexAttrib2f(e,q[t>>2],q[t+4>>2])},$i=function(e,t,r,o){ku.vertexAttrib3f(e,t,r,o)},Vi=(e,t)=>{ku.vertexAttrib3f(e,q[t>>2],q[t+4>>2],q[t+8>>2])},Ni=function(e,t,r,o,n){ku.vertexAttrib4f(e,t,r,o,n)},Hi=(e,t)=>{ku.vertexAttrib4f(e,q[t>>2],q[t+4>>2],q[t+8>>2],q[t+12>>2])},ji=(e,t)=>{ku.vertexAttribDivisor(e,t)},Wi=ji,Gi=ji,zi=ji,Yi=ji,Xi=ji,Qi=function(e,t,r,o,n){ku.vertexAttribI4i(e,t,r,o,n)},Ki=(e,t)=>{ku.vertexAttribI4i(e,I[t>>2],I[t+4>>2],I[t+8>>2],I[t+12>>2])},Zi=function(e,t,r,o,n){ku.vertexAttribI4ui(e,t,r,o,n)},Ji=(e,t)=>{ku.vertexAttribI4ui(e,T[t>>2],T[t+4>>2],T[t+8>>2],T[t+12>>2])},eu=(e,t,r,o,n)=>{ku.vertexAttribIPointer(e,t,r,o,n)},tu=(e,t,r,o,n,s)=>{ku.vertexAttribPointer(e,t,r,!!o,n,s)},ru=function(e,t,r,o){ku.viewport(e,t,r,o)},ou=(e,t,r)=>{r=Number(r),ku.waitSync(mr.syncs[e],t,r)},nu=e=>{var t=(e-w.buffer.byteLength+65535)/65536;try{return w.grow(t),U(),1}catch(e){}},su={removeAllEventListeners(){for(;su.eventHandlers.length;)su._removeHandler(su.eventHandlers.length-1);su.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(e,t,r){function o(e,t){if(e.length!=t.length)return!1;for(var r in e)if(e[r]!=t[r])return!1;return!0}for(var n in su.deferredCalls){var s=su.deferredCalls[n];if(s.targetFunction==e&&o(s.argsList,r))return}su.deferredCalls.push({targetFunction:e,precedence:t,argsList:r}),su.deferredCalls.sort(((e,t)=>e.precedence<t.precedence))},removeDeferredCalls(e){for(var t=0;t<su.deferredCalls.length;++t)su.deferredCalls[t].targetFunction==e&&(su.deferredCalls.splice(t,1),--t)},canPerformEventHandlerRequests:()=>navigator.userActivation?navigator.userActivation.isActive:su.inEventHandler&&su.currentEventHandler.allowsDeferredCalls,runDeferredCalls(){if(su.canPerformEventHandlerRequests())for(var e=0;e<su.deferredCalls.length;++e){var t=su.deferredCalls[e];su.deferredCalls.splice(e,1),--e,t.targetFunction.apply(null,t.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(e,t)=>{for(var r=0;r<su.eventHandlers.length;++r)su.eventHandlers[r].target!=e||t&&t!=su.eventHandlers[r].eventTypeString||su._removeHandler(r--)},_removeHandler(e){var t=su.eventHandlers[e];t.target.removeEventListener(t.eventTypeString,t.eventListenerFunc,t.useCapture),su.eventHandlers.splice(e,1)},registerOrRemoveHandler(e){if(!e.target)return-4;if(e.callbackfunc)e.eventListenerFunc=function(t){++su.inEventHandler,su.currentEventHandler=e,su.runDeferredCalls(),e.handlerFunc(t),su.runDeferredCalls(),--su.inEventHandler},e.target.addEventListener(e.eventTypeString,e.eventListenerFunc,e.useCapture),su.eventHandlers.push(e);else for(var t=0;t<su.eventHandlers.length;++t)su.eventHandlers[t].target==e.target&&su.eventHandlers[t].eventTypeString==e.eventTypeString&&su._removeHandler(t--);return 0},getNodeNameForTarget:e=>e?e==window?"#window":e==screen?"#screen":(null==e?void 0:e.nodeName)||"":"",fullscreenEnabled:()=>document.fullscreenEnabled||document.webkitFullscreenEnabled},au=["default","low-power","high-performance"],iu=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0],uu=e=>{var t;return e=(t=e)>2?Ee(t):t,iu[e]||("undefined"!=typeof document?document.querySelector(e):void 0)},lu=(e,t)=>{var r=t>>2,o=I[r+6],n={alpha:!!I[r+0],depth:!!I[r+1],stencil:!!I[r+2],antialias:!!I[r+3],premultipliedAlpha:!!I[r+4],preserveDrawingBuffer:!!I[r+5],powerPreference:au[o],failIfMajorPerformanceCaveat:!!I[r+7],majorVersion:I[r+8],minorVersion:I[r+9],enableExtensionsByDefault:I[r+10],explicitSwapControl:I[r+11],proxyContextToMainThread:I[r+12],renderViaOffscreenBackBuffer:I[r+13]},s=uu(e);return s?n.explicitSwapControl?0:mr.createContext(s,n):0},cu={},du=()=>{if(!du.strings){var e={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",_:f||"./this.program"};for(var t in cu)void 0===cu[t]?delete e[t]:e[t]=cu[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);du.strings=r}return du.strings},pu=(e,t,r,o)=>{for(var n=0,s=0;s<r;s++){var a=T[t>>2],i=T[t+4>>2];t+=8;var u=Ae.read(e,S,a,i,o);if(u<0)return-1;if(n+=u,u<i)break;void 0!==o&&(o+=u)}return n},gu=[31,29,31,30,31,30,31,31,30,31,30,31],fu=[31,28,31,30,31,30,31,31,30,31,30,31],mu=(e,t)=>{S.set(e,t)},hu=(e,t,r,o)=>{var n=T[o+40>>2],s={tm_sec:I[o>>2],tm_min:I[o+4>>2],tm_hour:I[o+8>>2],tm_mday:I[o+12>>2],tm_mon:I[o+16>>2],tm_year:I[o+20>>2],tm_wday:I[o+24>>2],tm_yday:I[o+28>>2],tm_isdst:I[o+32>>2],tm_gmtoff:I[o+36>>2],tm_zone:n?Ee(n):""},a=Ee(r),i={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in i)a=a.replace(new RegExp(u,"g"),i[u]);var l=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function d(e,t,r){for(var o="number"==typeof e?e.toString():e||"";o.length<t;)o=r[0]+o;return o}function p(e,t){return d(e,t,"0")}function g(e,t){function r(e){return e<0?-1:e>0?1:0}var o;return 0===(o=r(e.getFullYear()-t.getFullYear()))&&0===(o=r(e.getMonth()-t.getMonth()))&&(o=r(e.getDate()-t.getDate())),o}function f(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function m(e){var t=((e,t)=>{for(var r=new Date(e.getTime());t>0;){var o=tr(r.getFullYear()),n=r.getMonth(),s=(o?gu:fu)[n];if(!(t>s-r.getDate()))return r.setDate(r.getDate()+t),r;t-=s-r.getDate()+1,r.setDate(1),n<11?r.setMonth(n+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r})(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(t.getFullYear(),0,4),o=new Date(t.getFullYear()+1,0,4),n=f(r),s=f(o);return g(n,t)<=0?g(s,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var h={"%a":e=>l[e.tm_wday].substring(0,3),"%A":e=>l[e.tm_wday],"%b":e=>c[e.tm_mon].substring(0,3),"%B":e=>c[e.tm_mon],"%C":e=>p((e.tm_year+1900)/100|0,2),"%d":e=>p(e.tm_mday,2),"%e":e=>d(e.tm_mday,2," "),"%g":e=>m(e).toString().substring(2),"%G":m,"%H":e=>p(e.tm_hour,2),"%I":e=>{var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),p(t,2)},"%j":e=>p(e.tm_mday+((e,t)=>{for(var r=0,o=0;o<=t;r+=e[o++]);return r})(tr(e.tm_year+1900)?gu:fu,e.tm_mon-1),3),"%m":e=>p(e.tm_mon+1,2),"%M":e=>p(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>p(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var t=e.tm_yday+7-e.tm_wday;return p(Math.floor(t/7),2)},"%V":e=>{var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var r=(e.tm_wday+371-e.tm_yday)%7;4==r||3==r&&tr(e.tm_year)||(t=1)}}else{t=52;var o=(e.tm_wday+7-e.tm_yday-1)%7;(4==o||5==o&&tr(e.tm_year%400-1))&&t++}return p(t,2)},"%w":e=>e.tm_wday,"%W":e=>{var t=e.tm_yday+7-(e.tm_wday+6)%7;return p(Math.floor(t/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var t=e.tm_gmtoff,r=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(r?"+":"-")+String("0000"+t).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var u in a=a.replace(/%%/g,"\0\0"),h)a.includes(u)&&(a=a.replace(new RegExp(u,"g"),h[u](s)));var b=ye(a=a.replace(/\0\0/g,"%"),!1);return b.length>t?0:(mu(b,e),b.length-1)},bu=e=>{var t=he(e)+1,r=Vu(t);return Vt(e,r,t),r},yu=function(e,t,r,o){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Ae.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=o},vu=365,_u=146;Object.defineProperties(yu.prototype,{read:{get:function(){return(this.mode&vu)===vu},set:function(e){e?this.mode|=vu:this.mode&=-366}},write:{get:function(){return(this.mode&_u)===_u},set:function(e){e?this.mode|=_u:this.mode&=-147}},isFolder:{get:function(){return Ae.isDir(this.mode)}},isDevice:{get:function(){return Ae.isChrdev(this.mode)}}}),Ae.FSNode=yu,Ae.createPreloadedFile=(e,t,r,o,n,s,a,i,u,l)=>{var d=t?pe.resolve(ce.join2(e,t)):e;function p(r){function c(r){null==l||l(),i||((e,t,r,o,n,s)=>{Ae.createDataFile(e,t,r,o,n,s)})(e,t,r,o,n,u),null==s||s(),X()}((e,t,r,o)=>{void 0!==gr&&gr.init();var n=!1;return Ce.forEach((s=>{n||s.canHandle(t)&&(s.handle(e,t,r,o),n=!0)})),n})(r,d,c,(()=>{null==a||a(),X()}))||c(r)}Y(),"string"==typeof r?((e,t,r,o)=>{var n=o?"":`al ${e}`;c(e,(e=>{t(new Uint8Array(e)),n&&X()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),n&&Y()})(r,p,a):p(r)},Ae.staticInit(),u.FS_createPath=Ae.createPath,u.FS_createDataFile=Ae.createDataFile,u.FS_createPreloadedFile=Ae.createPreloadedFile,u.FS_unlink=Ae.unlink,u.FS_createLazyFile=Ae.createLazyFile,u.FS_createDevice=Ae.createDevice,xe=u.InternalError=class InternalError extends Error{constructor(e){super(e),this.name="InternalError"}},(()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Ie=e})(),Te=u.BindingError=class BindingError extends Error{constructor(e){super(e),this.name="BindingError"}},Object.assign(ut.prototype,{isAliasOf(e){if(!(this instanceof ut))return!1;if(!(e instanceof ut))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var o=e.$$.ptrType.registeredClass,n=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;o.baseClass;)n=o.upcast(n),o=o.baseClass;return t===o&&r===n},clone(){if(this.$$.ptr||Ge(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=it(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},delete(){this.$$.ptr||Ge(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),Ye(this),Xe(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ge(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),et.push(this),1===et.length&&He&&He(tt),this.$$.deleteScheduled=!0,this}}),u.getInheritedInstanceCount=Ze,u.getLiveInheritedInstances=Je,u.flushPendingDeletes=tt,u.setDelayFunction=rt,Object.assign(yt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var t;null==(t=this.rawDestructor)||t.call(this,e)},argPackAdvance:We,readValueFromPointer:bt,fromWireType:at}),_t=u.UnboundTypeError=(En=Error,(Sn=lt(Pn="UnboundTypeError",(function(e){this.name=Pn,this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(En.prototype),Sn.prototype.constructor=Sn,Sn.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},Sn),qt.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Object.assign(qt,{reserved:qt.allocated.length}),u.count_emval_handles=Dt,u.requestFullscreen=gr.requestFullscreen,u.requestAnimationFrame=gr.requestAnimationFrame,u.setCanvasSize=gr.setCanvasSize,u.pauseMainLoop=gr.mainLoop.pause,u.resumeMainLoop=gr.mainLoop.resume,u.getUserMedia=gr.getUserMedia,u.createContext=gr.createContext;for(var ku,Cu={},wu={},Au=0;Au<32;++Au)Vo.push(new Array(Au));var Eu=new Float32Array(288);for(Au=0;Au<288;++Au)Ja[Au]=Eu.subarray(0,Au+1);var Pu=new Int32Array(288);for(Au=0;Au<288;++Au)ri[Au]=Pu.subarray(0,Au+1);var Su,Ru={Ha:e=>{var t=new ExceptionInfo(e);return t.get_caught()||t.set_caught(!0),t.set_rethrown(!1),ie.push(t),Hu(t.excPtr),t.get_exception_ptr()},Ga:()=>{Ou(0,0);var e=ie.pop();Nu(e.excPtr),ue=0},o:()=>le([]),$:e=>le([e]),k:(e,t,r)=>{throw new ExceptionInfo(e).init(t,r),ue=e},Q:e=>{throw ue||(ue=e),ue},da:function(e,t,r){Pe.varargs=r;try{var o=Pe.getStreamFromFD(e);switch(t){case 0:if((n=Pe.get())<0)return-28;for(;Ae.streams[n];)n++;return Ae.createStream(o,n).fd;case 1:case 2:case 13:case 14:return 0;case 3:return o.flags;case 4:var n=Pe.get();return o.flags|=n,0;case 12:return n=Pe.getp(),B[n+0>>1]=2,0}return-28}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},xb:function(e,t){try{var r=Pe.getStreamFromFD(e);return Pe.doStat(Ae.stat,r.path,t)}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},Cb:function(e,t,r){Pe.varargs=r;try{var o=Pe.getStreamFromFD(e);switch(t){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return o.tty?0:-59;case 21505:if(!o.tty)return-59;if(o.tty.ops.ioctl_tcgets){var n=o.tty.ops.ioctl_tcgets(o),s=Pe.getp();I[s>>2]=n.c_iflag||0,I[s+4>>2]=n.c_oflag||0,I[s+8>>2]=n.c_cflag||0,I[s+12>>2]=n.c_lflag||0;for(var a=0;a<32;a++)S[s+a+17>>0]=n.c_cc[a]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!o.tty)return-59;if(o.tty.ops.ioctl_tcsets){s=Pe.getp();var i=I[s>>2],u=I[s+4>>2],l=I[s+8>>2],c=I[s+12>>2],d=[];for(a=0;a<32;a++)d.push(S[s+a+17>>0]);return o.tty.ops.ioctl_tcsets(o.tty,t,{c_iflag:i,c_oflag:u,c_cflag:l,c_lflag:c,c_cc:d})}return 0;case 21519:return o.tty?(s=Pe.getp(),I[s>>2]=0,0):-59;case 21520:return o.tty?-28:-59;case 21531:return s=Pe.getp(),Ae.ioctl(o,t,s);case 21523:if(!o.tty)return-59;if(o.tty.ops.ioctl_tiocgwinsz){var p=o.tty.ops.ioctl_tiocgwinsz(o.tty);s=Pe.getp(),B[s>>1]=p[0],B[s+2>>1]=p[1]}return 0;default:return-28}}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},ub:function(e,t){try{return e=Pe.getStr(e),Pe.doStat(Ae.lstat,e,t)}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},vb:function(e,t,r,o){try{t=Pe.getStr(t);var n=256&o,s=4096&o;return o&=-6401,t=Pe.calculateAt(e,t,s),Pe.doStat(n?Ae.lstat:Ae.stat,t,r)}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},pa:function(e,t,r,o){Pe.varargs=o;try{t=Pe.getStr(t),t=Pe.calculateAt(e,t);var n=o?Pe.get():0;return Ae.open(t,r,n).fd}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},wb:function(e,t){try{return e=Pe.getStr(e),Pe.doStat(Ae.stat,e,t)}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},ua:e=>{var t=Se[e];delete Se[e];var r=t.elements,o=r.length,n=r.map((e=>e.getterReturnType)).concat(r.map((e=>e.setterArgumentType))),s=t.rawConstructor,a=t.rawDestructor;Me([e],n,(function(e){return r.forEach(((t,r)=>{var n=e[r],s=t.getter,a=t.getterContext,i=e[r+o],u=t.setter,l=t.setterContext;t.read=e=>n.fromWireType(s(a,e)),t.write=(e,t)=>{var r=[];u(l,e,i.toWireType(r,t)),Re(r)}})),[{name:t.name,fromWireType:e=>{for(var t=new Array(o),n=0;n<o;++n)t[n]=r[n].read(e);return a(e),t},toWireType:(e,n)=>{if(o!==n.length)throw new TypeError(`Incorrect number of tuple elements for ${t.name}: expected=${o}, actual=${n.length}`);for(var i=s(),u=0;u<o;++u)r[u].write(i,n[u]);return null!==e&&e.push(a,i),i},argPackAdvance:We,readValueFromPointer:Be,destructorFunction:a}]}))},z:e=>{var t=Oe[e];delete Oe[e];var r=t.rawConstructor,o=t.rawDestructor,n=t.fields,s=n.map((e=>e.getterReturnType)).concat(n.map((e=>e.setterArgumentType)));Me([e],s,(e=>{var s={};return n.forEach(((t,r)=>{var o=t.fieldName,a=e[r],i=t.getter,u=t.getterContext,l=e[r+n.length],c=t.setter,d=t.setterContext;s[o]={read:e=>a.fromWireType(i(u,e)),write:(e,t)=>{var r=[];c(d,e,l.toWireType(r,t)),Re(r)}}})),[{name:t.name,fromWireType:e=>{var t={};for(var r in s)t[r]=s[r].read(e);return o(e),t},toWireType:(e,t)=>{for(var n in s)if(!(n in t))throw new TypeError(`Missing field: "${n}"`);var a=r();for(n in s)s[n].write(a,t[n]);return null!==e&&e.push(o,a),a},argPackAdvance:We,readValueFromPointer:Be,destructorFunction:o}]}))},ya:(e,t,r,o,n)=>{var s=-1!=(t=$e(t)).indexOf("u");Ne(e,{name:t,fromWireType:e=>e,toWireType:function(e,t){if("bigint"!=typeof t&&"number"!=typeof t)throw new TypeError(`Cannot convert "${Ue(t)}" to ${this.name}`);return"number"==typeof t&&(t=BigInt(t)),t},argPackAdvance:We,readValueFromPointer:je(t,r,!s),destructorFunction:null})},ie:(e,t,r,o)=>{Ne(e,{name:t=$e(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:o},argPackAdvance:We,readValueFromPointer:function(e){return this.fromWireType(R[e])},destructorFunction:null})},v:(e,t,r,o,n,s,a,i,u,l,c,d,p)=>{c=$e(c),s=At(n,s),i&&=At(a,i),l&&=At(u,l),p=At(d,p);var g=(e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?`_${e}`:e})(c);dt(g,(function(){Pt(`Cannot construct ${c} due to unbound types`,[o])})),Me([e,t,r],o?[o]:[],(function(t){var r,n;t=t[0],n=o?(r=t.registeredClass).instancePrototype:ut.prototype;var a=lt(c,(function(){if(Object.getPrototypeOf(this)!==u)throw new Te("Use 'new' to construct "+c);if(void 0===d.constructor_body)throw new Te(c+" has no accessible constructor");var e=d.constructor_body[arguments.length];if(void 0===e)throw new Te(`Tried to invoke ctor of ${c} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),u=Object.create(n,{constructor:{value:a}});a.prototype=u;var d=new pt(c,a,u,p,r,s,i,l);d.baseClass&&(d.baseClass.__derivedClasses??=[],d.baseClass.__derivedClasses.push(d));var f=new yt(c,d,!0,!1,!1),m=new yt(c+"*",d,!1,!1,!1),h=new yt(c+" const*",d,!1,!0,!1);return Ke[e]={pointerType:m,constPointerType:h},kt(g,a),[f,m,h]}))},x:(e,t,r,o,n,s)=>{var a=St(t,r);n=At(o,n),Me([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Te(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Pt(`Cannot construct ${e.name} due to unbound types`,a)},Me([],a,(o=>(o.splice(1,0,null),e.registeredClass.constructor_body[t-1]=xt(r,o,null,n,s),[]))),[]}))},d:(e,t,r,o,n,s,a,i,u)=>{var l=St(r,o);t=$e(t),t=Tt(t),s=At(n,s),Me([],[e],(function(e){var o=`${(e=e[0]).name}.${t}`;function n(){Pt(`Cannot call ${o} due to unbound types`,l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),i&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,d=c[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(n.argCount=r-2,n.className=e.name,c[t]=n):(ct(c,t,o),c[t].overloadTable[r-2]=n),Me([],l,(function(n){var i=xt(o,n,e,s,a,u);return void 0===c[t].overloadTable?(i.argCount=r-2,c[t]=i):c[t].overloadTable[r-2]=i,[]})),[]}))},he:e=>Ne(e,Mt),V:(e,t,r,o)=>{function n(){}t=$e(t),n.values={},Ne(e,{name:t,constructor:n,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,t)=>t.value,argPackAdvance:We,readValueFromPointer:Ot(t,r,o),destructorFunction:null}),dt(t,n)},H:(e,t,r)=>{var o=Ut(e,"enum");t=$e(t);var n=o.constructor,s=Object.create(o.constructor.prototype,{value:{value:r},constructor:{value:lt(`${o.name}_${t}`,(function(){}))}});n.values[r]=s,n[t]=s},xa:(e,t,r)=>{Ne(e,{name:t=$e(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:We,readValueFromPointer:$t(t,r),destructorFunction:null})},J:(e,t,r,o,n,s,a)=>{var i=St(t,r);e=$e(e),e=Tt(e),n=At(o,n),dt(e,(function(){Pt(`Cannot call ${e} due to unbound types`,i)}),t-1),Me([],i,(function(r){var o=[r[0],null].concat(r.slice(1));return kt(e,xt(e,o,null,n,s,a),t-1),[]}))},O:(e,t,r,o,n)=>{t=$e(t),-1===n&&(n=4294967295);var s=e=>e;if(0===o){var a=32-8*r;s=e=>e<<a>>>a}var i=t.includes("unsigned");Ne(e,{name:t,fromWireType:s,toWireType:i?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:We,readValueFromPointer:je(t,r,0!==o),destructorFunction:null})},E:(e,t,r)=>{var o=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];function n(e){var t=T[e>>2],r=T[e+4>>2];return new o(S.buffer,r,t)}Ne(e,{name:r=$e(r),fromWireType:n,argPackAdvance:We,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})},$e:(e,t,r,o,n,s,a,i,u,l,c,d)=>{r=$e(r),s=At(n,s),i=At(a,i),l=At(u,l),d=At(c,d),Me([e],[t],(function(e){return e=e[0],[new yt(r,e.registeredClass,!1,!1,!0,e,o,s,i,l,d)]}))},wa:(e,t)=>{var r="std::string"===(t=$e(t));Ne(e,{name:t,fromWireType(e){var t,o=T[e>>2],n=e+4;if(r)for(var s=n,a=0;a<=o;++a){var i=n+a;if(a==o||0==R[i]){var u=Ee(s,i-s);void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),s=i+1}}else{var l=new Array(o);for(a=0;a<o;++a)l[a]=String.fromCharCode(R[n+a]);t=l.join("")}return Tu(e),t},toWireType(e,t){var o;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;n||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||Ve("Cannot pass non-string to std::string"),o=r&&n?he(t):t.length;var s=xu(4+o+1),a=s+4;if(T[s>>2]=o,r&&n)Vt(t,a,o+1);else if(n)for(var i=0;i<o;++i){var u=t.charCodeAt(i);u>255&&(Tu(a),Ve("String has UTF-16 code units that do not fit in 8 bits")),R[a+i]=u}else for(i=0;i<o;++i)R[a+i]=t[i];return null!==e&&e.push(Tu,s),s},argPackAdvance:We,readValueFromPointer:bt,destructorFunction(e){Tu(e)}})},ea:(e,t,r)=>{var o,n,s,a,i;r=$e(r),2===t?(o=Ht,n=jt,a=Wt,s=()=>x,i=1):4===t&&(o=Gt,n=zt,a=Yt,s=()=>T,i=2),Ne(e,{name:r,fromWireType:e=>{for(var r,n=T[e>>2],a=s(),u=e+4,l=0;l<=n;++l){var c=e+4+l*t;if(l==n||0==a[c>>i]){var d=o(u,c-u);void 0===r?r=d:(r+=String.fromCharCode(0),r+=d),u=c+t}}return Tu(e),r},toWireType:(e,o)=>{"string"!=typeof o&&Ve(`Cannot pass non-string to C++ string type ${r}`);var s=a(o),u=xu(4+s+t);return T[u>>2]=s>>i,n(o,u+4,s+t),null!==e&&e.push(Tu,u),u},argPackAdvance:We,readValueFromPointer:Be,destructorFunction(e){Tu(e)}})},va:(e,t,r,o,n,s)=>{Se[e]={name:$e(t),rawConstructor:At(r,o),rawDestructor:At(n,s),elements:[]}},N:(e,t,r,o,n,s,a,i,u)=>{Se[e].elements.push({getterReturnType:t,getter:At(r,o),getterContext:n,setterArgumentType:s,setter:At(a,i),setterContext:u})},A:(e,t,r,o,n,s)=>{Oe[e]={name:$e(t),rawConstructor:At(r,o),rawDestructor:At(n,s),fields:[]}},m:(e,t,r,o,n,s,a,i,u,l)=>{Oe[e].fields.push({fieldName:$e(t),getterReturnType:r,getter:At(o,n),getterContext:s,setterArgumentType:a,setter:At(i,u),setterContext:l})},je:(e,t)=>{Ne(e,{isVoid:!0,name:t=$e(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},Ab:()=>1,hb:()=>{throw 1/0},j:(e,t,r)=>(e=Lt.toValue(e),t=Ut(t,"emval::as"),Xt(t,r,e)),w:(e,t,r,o)=>(e=Qt[e])(null,t=Lt.toValue(t),r,o),T:(e,t,r,o,n)=>(e=Qt[e])(t=Lt.toValue(t),t[r=Zt(r)],o,n),c:Ft,se:(e,t)=>(e=Lt.toValue(e))==(t=Lt.toValue(t)),M:e=>0===e?Lt.toHandle(Jt()):(e=Zt(e),Lt.toHandle(Jt()[e])),u:(e,t,r)=>{var o=((e,t)=>{for(var r=new Array(e),o=0;o<e;++o)r[o]=Ut(T[t+4*o>>2],"parameter "+o);return r})(e,t),n=o.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",a=0,i=[];0===r&&i.push("obj");for(var u=["retType"],l=[n],c=0;c<e;++c)i.push("arg"+c),u.push("argType"+c),l.push(o[c]),s+=` var arg${c} = argType${c}.readValueFromPointer(args${a?"+"+a:""});\n`,a+=o[c].argPackAdvance;s+=` var rv = ${1===r?"new func":"func.call"}(${i.join(", ")});\n`,n.isVoid||(u.push("emval_returnValue"),l.push(Xt),s+=" return emval_returnValue(retType, destructorsRef, rv);\n"),s+="};\n",u.push(s);var d,p,g=Bt(Function,u).apply(null,l),f=`methodCaller<(${o.map((e=>e.name)).join(", ")}) => ${n.name}>`;return d=lt(f,g),p=Qt.length,Qt.push(d),p},h:(e,t)=>(e=Lt.toValue(e),t=Lt.toValue(t),Lt.toHandle(e[t])),e:e=>{e>4&&(qt.get(e).refcount+=1)},W:(e,t)=>(e=Lt.toValue(e))instanceof(t=Lt.toValue(t)),fa:e=>"number"==typeof(e=Lt.toValue(e)),K:e=>"string"==typeof(e=Lt.toValue(e)),ye:()=>Lt.toHandle([]),g:e=>Lt.toHandle(Zt(e)),C:()=>Lt.toHandle({}),i:e=>{var t=Lt.toValue(e);Re(t),Ft(e)},n:(e,t,r)=>{e=Lt.toValue(e),t=Lt.toValue(t),r=Lt.toValue(r),e[t]=r},f:(e,t)=>{var r=(e=Ut(e,"_emval_take_value")).readValueFromPointer(t);return Lt.toHandle(r)},Ge:e=>{throw e=Lt.toValue(e)},hd:e=>(e=Lt.toValue(e),Lt.toHandle(typeof e)),ob:function(e,t){e=er(e);var r=new Date(1e3*e);I[t>>2]=r.getUTCSeconds(),I[t+4>>2]=r.getUTCMinutes(),I[t+8>>2]=r.getUTCHours(),I[t+12>>2]=r.getUTCDate(),I[t+16>>2]=r.getUTCMonth(),I[t+20>>2]=r.getUTCFullYear()-1900,I[t+24>>2]=r.getUTCDay();var o=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-o)/864e5|0;I[t+28>>2]=n},pb:function(e,t){e=er(e);var r=new Date(1e3*e);I[t>>2]=r.getSeconds(),I[t+4>>2]=r.getMinutes(),I[t+8>>2]=r.getHours(),I[t+12>>2]=r.getDate(),I[t+16>>2]=r.getMonth(),I[t+20>>2]=r.getFullYear()-1900,I[t+24>>2]=r.getDay();var o=0|nr(r);I[t+28>>2]=o,I[t+36>>2]=-60*r.getTimezoneOffset();var n=new Date(r.getFullYear(),0,1),s=new Date(r.getFullYear(),6,1).getTimezoneOffset(),a=n.getTimezoneOffset(),i=0|(s!=a&&r.getTimezoneOffset()==Math.min(a,s));I[t+32>>2]=i},qb:function(e){var t=(()=>{var t=new Date(I[e+20>>2]+1900,I[e+16>>2],I[e+12>>2],I[e+8>>2],I[e+4>>2],I[e>>2],0),r=I[e+32>>2],o=t.getTimezoneOffset(),n=new Date(t.getFullYear(),0,1),s=new Date(t.getFullYear(),6,1).getTimezoneOffset(),a=n.getTimezoneOffset(),i=Math.min(a,s);if(r<0)I[e+32>>2]=Number(s!=a&&i==o);else if(r>0!=(i==o)){var u=Math.max(a,s),l=r>0?i:u;t.setTime(t.getTime()+6e4*(l-o))}I[e+24>>2]=t.getDay();var c=0|nr(t);I[e+28>>2]=c,I[e>>2]=t.getSeconds(),I[e+4>>2]=t.getMinutes(),I[e+8>>2]=t.getHours(),I[e+12>>2]=t.getDate(),I[e+16>>2]=t.getMonth(),I[e+20>>2]=t.getYear();var d=t.getTime();return isNaN(d)?-1:d/1e3})();return BigInt(t)},mb:function(e,t,r,o,n,s,a){n=er(n);try{if(isNaN(n))return 61;var i=Pe.getStreamFromFD(o),u=Ae.mmap(i,e,n,t,r),l=u.ptr;return I[s>>2]=u.allocated,T[a>>2]=l,0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},nb:function(e,t,r,o,n,s){s=er(s);try{if(isNaN(s))return 61;var a=Pe.getStreamFromFD(n);2&r&&Pe.doMsync(e,a,t,o,s),Ae.munmap(a)}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},ib:(e,t,r)=>{var o=(new Date).getFullYear(),n=new Date(o,0,1),s=new Date(o,6,1),a=n.getTimezoneOffset(),i=s.getTimezoneOffset(),u=Math.max(a,i);function l(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}T[e>>2]=60*u,I[t>>2]=Number(a!=i);var c=l(n),d=l(s),p=sr(c),g=sr(d);i<a?(T[r>>2]=p,T[r+4>>2]=g):(T[r>>2]=g,T[r+4>>2]=p)},b:()=>{Q("")},na:(e,t,r,o,n)=>fr.chooseConfig(e,t,r,o,n),oa:(e,t,r,o)=>{if(62e3!=e)return fr.setErrorCode(12296),0;for(var n=1;;){var s=I[o>>2];if(12440!=s){if(12344==s)break;return fr.setErrorCode(12292),0}n=I[o+4>>2],o+=8}return n<2||n>3?(fr.setErrorCode(12293),0):(fr.contextAttributes.majorVersion=n-1,fr.contextAttributes.minorVersion=0,fr.context=mr.createContext(u.canvas,fr.contextAttributes),0!=fr.context?(fr.setErrorCode(12288),mr.makeContextCurrent(fr.context),u.useWebGL=!0,gr.moduleContextCreatedCallbacks.forEach((function(e){e()})),mr.makeContextCurrent(null),62004):(fr.setErrorCode(12297),0))},$a:(e,t,r,o)=>62e3!=e?(fr.setErrorCode(12296),0):62002!=t?(fr.setErrorCode(12293),0):(fr.setErrorCode(12288),62006),Ec:(e,t)=>62e3!=e?(fr.setErrorCode(12296),0):62004!=t?(fr.setErrorCode(12294),0):(mr.deleteContext(fr.context),fr.setErrorCode(12288),fr.currentContext==t&&(fr.currentContext=0),1),tc:(e,t)=>62e3!=e?(fr.setErrorCode(12296),0):62006!=t?(fr.setErrorCode(12301),1):(fr.currentReadSurface==t&&(fr.currentReadSurface=0),fr.currentDrawSurface==t&&(fr.currentDrawSurface=0),fr.setErrorCode(12288),1),R:(e,t,r,o)=>{if(62e3!=e)return fr.setErrorCode(12296),0;if(62002!=t)return fr.setErrorCode(12293),0;if(!o)return fr.setErrorCode(12300),0;switch(fr.setErrorCode(12288),r){case 12320:return I[o>>2]=fr.contextAttributes.alpha?32:24,1;case 12321:return I[o>>2]=fr.contextAttributes.alpha?8:0,1;case 12322:case 12323:case 12324:return I[o>>2]=8,1;case 12325:return I[o>>2]=fr.contextAttributes.depth?24:0,1;case 12326:return I[o>>2]=fr.contextAttributes.stencil?8:0,1;case 12327:case 12335:case 12340:return I[o>>2]=12344,1;case 12328:return I[o>>2]=62002,1;case 12329:case 12333:case 12334:case 12345:case 12346:case 12347:case 12349:case 12350:case 12354:return I[o>>2]=0,1;case 12330:case 12332:return I[o>>2]=4096,1;case 12331:return I[o>>2]=16777216,1;case 12337:return I[o>>2]=fr.contextAttributes.antialias?4:0,1;case 12338:return I[o>>2]=fr.contextAttributes.antialias?1:0,1;case 12339:case 12352:return I[o>>2]=4,1;case 12341:case 12342:case 12343:return I[o>>2]=-1,1;case 12348:return I[o>>2]=1,1;case 12351:return I[o>>2]=12430,1;default:return fr.setErrorCode(12292),0}},Eb:e=>(fr.setErrorCode(12288),0!=e&&1!=e?0:62e3),sa:()=>fr.errorCode,yb:(e,t,r)=>62e3!=e?(fr.setErrorCode(12296),0):(t&&(I[t>>2]=1),r&&(I[r>>2]=4),fr.defaultDisplayInitialized=!0,fr.setErrorCode(12288),1),Pb:(e,t,r,o)=>62e3!=e?(fr.setErrorCode(12296),0):0!=o&&62004!=o?(fr.setErrorCode(12294),0):0!=r&&62006!=r||0!=t&&62006!=t?(fr.setErrorCode(12301),0):(mr.makeContextCurrent(o?fr.context:null),fr.currentContext=o,fr.currentDrawSurface=t,fr.currentReadSurface=r,fr.setErrorCode(12288),1),ta:(e,t)=>{if(fr.defaultDisplayInitialized)if(u.ctx){if(!u.ctx.isContextLost())return fr.setErrorCode(12288),1;fr.setErrorCode(12302)}else fr.setErrorCode(12290);else fr.setErrorCode(12289);return 0},ic:e=>62e3!=e?(fr.setErrorCode(12296),0):(fr.currentContext=0,fr.currentReadSurface=0,fr.currentDrawSurface=0,fr.defaultDisplayInitialized=!1,fr.setErrorCode(12288),1),I:(e,t,r)=>br(e,t,r),ve:e=>{console.error(Ee(e))},we:e=>{console.log(Ee(e))},ha:e=>{console.warn(Ee(e))},ba:()=>Date.now(),le:function(){},jb:()=>2147483648,zb:It,Wf:yr,Xf:vr,Xc:_r,de:kr,Kc:Cr,Yf:wr,Zf:Ar,Hc:Er,Ic:Pr,Xe:Sr,Ye:Rr,He:Br,_f:xr,Vb:Ir,tf:qr,vf:Fr,$f:Dr,ag:Lr,Sd:Mr,bg:Or,Rd:Ur,Re:$r,cg:Vr,dg:Nr,Ze:Hr,eg:jr,jc:Wr,kc:Gr,mc:zr,lc:Yr,fg:Xr,Qd:Qr,gg:Kr,Ea:Zr,hg:Jr,ig:eo,jg:to,ad:ro,kg:oo,$c:no,Pe:so,Pd:ao,lg:io,bd:uo,mg:lo,ng:co,og:po,pg:go,_e:fo,qg:mo,Zc:ho,fe:bo,af:yo,Ie:vo,rg:_o,Qe:ko,sg:Co,Ub:wo,uf:Eo,wf:Po,Od:So,tg:Ro,Nd:Bo,Md:xo,ug:Io,vg:To,wg:qo,rf:Do,Vd:Lo,Gb:Mo,of:Oo,gd:Uo,Hb:$o,mf:Ho,ed:jo,Wd:Wo,xg:zo,sf:Xo,Ud:Qo,Db:Ko,pf:Zo,Fb:Jo,fd:en,ff:tn,yg:rn,zg:on,Wc:nn,ce:sn,Jc:an,Ne:un,Ag:ln,Bg:cn,bf:dn,cf:pn,Nc:gn,Cg:fn,Dg:hn,df:bn,_c:yn,ge:vn,ef:_n,Je:kn,Eg:Cn,Tb:wn,qf:Rn,xf:Bn,Te:xn,Ld:Tn,Kd:qn,dc:Fn,ec:Dn,gc:Ln,Jd:Mn,Id:On,Hd:Nn,_b:Hn,Fg:jn,Gg:Wn,Hg:Gn,wc:zn,Ue:Yn,$b:Qn,bc:Kn,Lc:Zn,gh:Jn,Kb:es,Ob:ts,Ig:rs,Jg:os,Zd:ss,$d:us,Yd:ls,Uc:cs,_d:ds,Vc:ps,ae:gs,Ve:fs,Wb:ms,Xb:hs,Kg:bs,De:ys,Gd:vs,Lg:_s,Da:ks,hh:Cs,ac:ws,Fd:As,Ed:Es,Fc:Ps,fc:Ss,hc:Rs,Mg:Is,Dd:Fs,Cd:Ds,xc:Ls,Dc:Us,Cc:$s,zd:Vs,Bd:Ns,Ad:Hs,yd:js,Ee:Ws,Fe:Gs,xd:zs,wd:Ys,vd:Xs,ud:Qs,Yc:Ks,ee:Zs,td:Js,Zb:ea,sd:ta,Oe:ra,Ng:oa,Sb:na,Mc:aa,Xd:ia,Og:ua,Pg:la,kf:ca,lf:da,Rb:pa,Qg:ga,rd:fa,Nb:ma,Mb:ha,be:ba,nf:ya,Rg:Ca,qd:wa,We:Aa,Se:Ea,Qb:Pa,pd:Sa,Ke:Ra,Yb:Ba,Le:xa,Me:Ia,Sg:Ta,od:qa,Tg:Fa,Ug:Da,Vg:La,Wg:Ma,Xg:Oa,Yg:Ua,Zg:$a,_g:Va,dd:Na,$g:Ha,ah:ja,bh:Wa,ch:Ga,gf:za,Lb:Ya,dh:Xa,cd:Qa,Gc:Ka,eh:Za,fh:ei,Sf:ti,Tf:oi,vc:ni,qc:si,Uf:ai,Vf:ii,Rf:ui,Qf:li,uc:ci,pc:di,Pf:pi,Of:gi,Nf:fi,Mf:mi,sc:hi,oc:bi,Lf:yi,Kf:vi,yf:_i,zf:ki,rc:Ci,nc:wi,cc:Ai,Af:Ei,Tc:Pi,Rc:Si,Bf:Ri,Sc:Bi,Pc:xi,Cf:Ii,Qc:Ti,Oc:qi,Df:Fi,nd:Di,Ef:Li,md:Mi,ld:Oi,Ff:Ui,kd:$i,Gf:Vi,jd:Ni,Hf:Hi,hf:Wi,Td:Gi,Ib:zi,id:Yi,Jb:Xi,Bc:Qi,zc:Ki,Ac:Zi,yc:Ji,jf:eu,If:tu,Jf:ru,Fa:ou,Bb:(e,t,r)=>R.copyWithin(e,t,t+r),kb:e=>{var t=R.length,r=2147483648;if((e>>>=0)>r)return!1;for(var o,n,s=1;s<=4;s*=2){var a=t*(1+.2/s);a=Math.min(a,e+100663296);var i=Math.min(r,(o=Math.max(e,a))+((n=65536)-o%n)%n);if(nu(i))return!0}return!1},Va:function(e,t,r,o,n,s,a,i,l){const c=u.UTF8ToString(e,e+t),d=u.HEAPU8.subarray(n,n+s),p=u.emscripten_ubq_codec_audioDecoderNextHandle++,g={codec:c,sampleRate:r,numberOfChannels:o,description:d};try{const e=u.emscripten_ubq_codec_createAudioDecoder(a,i,l);AudioDecoder.isConfigSupported(g).then((t=>{e.configUnsupported=!t}),(()=>{e.configUnsupported=!0})),e.configure(g),u.emscripten_ubq_codec_audioDecoders.set(p,{audioDecoder:e,decoderConfig:g,leftBufferPtr:a,rightBufferPtr:i,bufferLength:l})}catch(e){return u.emscripten_ubq_codec_createNativeResult({error:e})}return u.emscripten_ubq_codec_createNativeResult({handle:p})},Ma:function(e,t,r,o,n,s){const a=u.UTF8ToString(e,e+t),i=u.emscripten_ubq_codec_audioEncoderNextHandle++,l={codec:a,sampleRate:r,numberOfChannels:o,bitrate:n};try{const e=new AudioEncoder({output:e=>{const t=u._malloc(e.byteLength),r=u.HEAPU8.subarray(t,t+e.byteLength);e.copyTo(r),u.emscripten_ubq_codec_onOutputEncodedAudioChunk(i,t,e.byteLength,s),u._free(t)},error:e=>console.error(e)});e.configure(l),u.emscripten_ubq_codec_audioEncoders.set(i,{audioEncoder:e,audioEncoderConfig:l,frameIndex:0})}catch(e){return e+=' Requested codec: "'+a+'"',e+="; sample rate: "+r,e+="; channels: "+o,e+="; bit rate: "+n,u.emscripten_ubq_codec_createNativeResult({error:e})}return u.emscripten_ubq_codec_createNativeResult({handle:i})},_a:function(e,t,r,o,n,s,a){const i=u.UTF8ToString(e,e+t),l=u.HEAPU8.subarray(n,n+s),c=u.emscripten_ubq_codec_videoDecoderNextHandle++,d={codec:i,codedWidth:r,codedHeight:o,description:l,optimizeForLatency:!0};try{const e=u.emscripten_ubq_codec_createVideoDecoder(c,a);VideoDecoder.isConfigSupported(d).then((t=>{e.configUnsupported=!t}),(()=>{e.configUnsupported=!0})),e.configure(d),u.emscripten_ubq_codec_videoDecoders.set(c,{videoDecoder:e,decoderConfig:d,codecServicePtr:a})}catch(e){return u.emscripten_ubq_codec_createNativeResult({error:e})}return u.emscripten_ubq_codec_createNativeResult({handle:c})},Qa:function(e,t,r,o,n,s){const a=u.UTF8ToString(e,e+t),i=u.emscripten_ubq_codec_videoEncoderNextHandle++,l=u.specialHTMLTargets["!canvas"];l.width=r,l.height=o;const c={codec:a,width:r,height:o,avc:{format:"annexb"},framerate:n};try{const e=new VideoEncoder({output:e=>{const t=u._malloc(e.byteLength),r=u.HEAPU8.subarray(t,t+e.byteLength);e.copyTo(r),u.emscripten_ubq_codec_onOutputEncodedVideoChunk(i,t,e.byteLength,s),u._free(t)},error:e=>console.error(e)});VideoEncoder.isConfigSupported(c).then((t=>{e.configUnsupported=!t}),(()=>{e.configUnsupported=!0})),e.configure(c),u.emscripten_ubq_codec_videoEncoders.set(i,{videoEncoder:e,encoderConfig:c,groupOfPictures:150,frameIndex:0})}catch(e){return e+=' Requested codec: "'+a+'"',e+="; resolution: "+r+"x"+o,u.emscripten_ubq_codec_createNativeResult({error:e})}return u.emscripten_ubq_codec_createNativeResult({handle:i})},Ra:function(e,t,r,o,n,s){const a=u.emscripten_ubq_codec_audioDecoders.get(e);if(a.audioDecoder.unexpectedError)return u.emscripten_ubq_codec_createNativeResult({code:2,error:a.audioDecoder.unexpectedError});"closed"===a.audioDecoder.state&&(a.audioDecoder=u.emscripten_ubq_codec_createAudioDecoder(a.leftBufferPtr,a.rightBufferPtr,a.bufferLength),a.audioDecoder.configure(a.decoderConfig));const i=a.audioDecoder,l=u.HEAPU8.subarray(n,n+s),c=new EncodedAudioChunk({type:t?"key":"delta",timestamp:r,duration:o,data:l});try{i.decode(c)}catch(e){return i.configUnsupported?u.emscripten_ubq_codec_createNativeResult({code:2,error:e}):u.emscripten_ubq_codec_createNativeResult({code:1,error:e})}return u.emscripten_ubq_codec_createNativeResult({code:0})},Ia:function(e,t,r,o,n,s){const a=u.emscripten_ubq_codec_videoDecoders.get(e);if(a.videoDecoder.unexpectedError)return u.emscripten_ubq_codec_createNativeResult({code:2,error:a.videoDecoder.unexpectedError});if("closed"===a.videoDecoder.state){const t=a.videoDecoder.textures;return a.videoDecoder=u.emscripten_ubq_codec_createVideoDecoder(e,a.codecServicePtr),a.videoDecoder.textures=t,a.videoDecoder.configure(a.decoderConfig),u.emscripten_ubq_codec_createNativeResult({code:1,error:"VideoDecoder was closed"})}const i=a.videoDecoder,l=u.HEAPU8.subarray(n,n+s),c=new EncodedVideoChunk({type:t?"key":"delta",timestamp:r,duration:o,data:l});try{i.decode(c)}catch(e){return i.configUnsupported?u.emscripten_ubq_codec_createNativeResult({code:2,error:e}):u.emscripten_ubq_codec_createNativeResult({code:1,error:e})}return u.emscripten_ubq_codec_createNativeResult({code:0})},Ua:function(e){if(u.emscripten_ubq_codec_audioDecoders.has(e)){const t=u.emscripten_ubq_codec_audioDecoders.get(e);"closed"!==t.audioDecoder.state&&t.audioDecoder.close(),u.emscripten_ubq_codec_audioDecoders.delete(e)}},La:function(e){const t=u.emscripten_ubq_codec_audioEncoders.get(e);"closed"!==t.audioEncoder.state&&t.audioEncoder.close(),u.emscripten_ubq_codec_audioEncoders.delete(e)},Ya:function(e){if(u.emscripten_ubq_codec_videoDecoders.has(e)){const t=u.emscripten_ubq_codec_videoDecoders.get(e);"closed"!==t.videoDecoder.state&&t.videoDecoder.close(),u.emscripten_ubq_codec_videoDecoders.delete(e)}},Pa:function(e){const t=u.emscripten_ubq_codec_videoEncoders.get(e);"closed"!==t.videoEncoder.state&&t.videoEncoder.close(),u.emscripten_ubq_codec_videoEncoders.delete(e)},Ka:function(e,t,r){const o=1e6,n=u.emscripten_ubq_codec_audioEncoders.get(e),s=n.audioEncoderConfig.sampleRate,a=n.audioEncoderConfig.numberOfChannels,i=r/a,l=Math.round(o*(n.frameIndex*i/s)),c=Math.round(o*(i/s)),d=u.HEAPF32.subarray(t/4,t/4+r),p=new AudioData({format:"f32",sampleRate:s,numberOfFrames:i,numberOfChannels:a,duration:c,timestamp:l,data:d});n.audioEncoder.encode(p),n.frameIndex++,p.close()},Oa:function(e,t,r){const o=1e6,n=u.emscripten_ubq_codec_videoEncoders.get(e),s=Math.round(o*(n.frameIndex/n.encoderConfig.framerate)),a=n.frameIndex%n.groupOfPictures==0,i=Math.round(o/n.encoderConfig.framerate),l=u.specialHTMLTargets["!canvas"],c=new VideoFrame(l,{timestamp:s,duration:i});n.videoEncoder.encode(c,{keyFrame:a}),c.close(),n.frameIndex++},Ja:async function(e,t){const r=u.emscripten_ubq_codec_audioEncoders.get(e);await r.audioEncoder.flush(),u.emscripten_ubq_codec_onFinalizedAudioEncoding(e,t)},Na:async function(e,t){const r=u.emscripten_ubq_codec_videoEncoders.get(e);await r.videoEncoder.flush(),u.emscripten_ubq_codec_onFinalizedVideoEncoding(e,t)},Ta:async function(e,t){const r=u.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder;r.flushing=!0;try{await r.flush()}catch{}r.flushing=!1,r.writtenFrames=t},Y:async function(e,t,r){const o=u.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder;o.shouldDropFrames=r,o.flushing=!0;try{await o.flush()}catch{}o.flushing=!1,o.shouldDropFrames=!1,o.decodedFrames=t},ka:function(e){return u.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.decodeQueueSize},la:function(e){return u.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.decodedFrames},X:function(e){return u.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.writtenFrames},Sa:function(e){return u.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.flushing},Xa:function(e){return u.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.flushing},Z:function(){return"undefined"!=typeof VideoFrame&&"undefined"!=typeof VideoDecoder&&"undefined"!=typeof VideoEncoder&&"undefined"!=typeof AudioDecoder&&"undefined"!=typeof AudioEncoder},Wa:function(e,t){u.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.requestedFrame=t},Za:function(e,t,r){const o=u.emscripten_ubq_codec_videoDecoders.get(e),n=u.HEAPU32.subarray(t/4,t/4+r);o.videoDecoder.textures=[];for(let e=0;e<r;e++)o.videoDecoder.textures[e]=mr.textures[n[e]]},pe:function(e){const t=u.emscripten_ubq_asyncFetchManager.getProcess(e);return!!(null==t?void 0:t.allocate())},Aa:function(){u.emscripten_ubq_asyncFetchManager.clear()},ga:function(e,t,r,o){return u.emscripten_ubq_asyncFetchManager.createHeader(e,t,r,o)},te:function(e){u.emscripten_ubq_asyncFetchManager.deleteHeader(e)},ue:function(e,t,r,o,n,s,a,i,l){return u.emscripten_ubq_asyncFetchManager.fetch(e,t,r,o,n,s,a,i,l).handle},me:function(e){return u.emscripten_ubq_asyncFetchManager.deleteProcess(e)},re:function(e){var t,r;return null!==(r=null===(t=u.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.receivedLength)&&void 0!==r?r:0},oe:function(e){const t=u.emscripten_ubq_asyncFetchManager.getProcess(e);return(null==t?void 0:t.isAllocated())?t.resultAddress:-1},ne:function(e){const t=u.emscripten_ubq_asyncFetchManager.getProcess(e);return(null==t?void 0:t.isAllocated())?t.resultLength:-1},za:function(e){var t,r;return null!==(r=null===(t=u.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.state)&&void 0!==r?r:-1},qe:function(e){var t,r;return null!==(r=null===(t=u.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.totalBytes)&&void 0!==r?r:0},ab:function(){return!!u.emscripten_ubq_settings_forceWebGL1},ma:lu,_:e=>{mr.currentContext==e&&(mr.currentContext=0),mr.deleteContext(e)},db:e=>(e=>{var t=e.getExtension("OES_vertex_array_object");if(t)return e.createVertexArray=()=>t.createVertexArrayOES(),e.deleteVertexArray=e=>t.deleteVertexArrayOES(e),e.bindVertexArray=e=>t.bindVertexArrayOES(e),e.isVertexArray=e=>t.isVertexArrayOES(e),1})(mr.contexts[e].GLctx),cb:e=>(e=>{var t=e.getExtension("WEBGL_draw_buffers");if(t)return e.drawBuffers=(e,r)=>t.drawBuffersWEBGL(e,r),1})(mr.contexts[e].GLctx),bb:e=>(e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")))(mr.contexts[e].GLctx),aa:(e,t)=>{var r=mr.getContext(e),o=Ee(t);return o.startsWith("GL_")&&(o=o.substr(3)),!!r.GLctx.getExtension(o)},eb:e=>mr.makeContextCurrent(e)?0:-5,sb:(e,t)=>{var r=0;return du().forEach(((o,n)=>{var s=t+r;T[e+4*n>>2]=s,((e,t)=>{for(var r=0;r<e.length;++r)S[t++>>0]=e.charCodeAt(r);S[t>>0]=0})(o,s),r+=o.length+1})),0},tb:(e,t)=>{var r=du();T[e>>2]=r.length;var o=0;return r.forEach((e=>o+=e.length+1)),T[t>>2]=o,0},xe:cr,ca:function(e){try{var t=Pe.getStreamFromFD(e);return Ae.close(t),0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return e.errno}},lb:function(e,t,r,o,n){o=er(o);try{if(isNaN(o))return 61;var s=Pe.getStreamFromFD(e),a=pu(s,t,r,o);return T[n>>2]=a,0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return e.errno}},ra:function(e,t,r,o){try{var n=Pe.getStreamFromFD(e),s=pu(n,t,r);return T[o>>2]=s,0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return e.errno}},rb:function(e,t,r,o){t=er(t);try{if(isNaN(t))return 61;var n=Pe.getStreamFromFD(e);return Ae.llseek(n,t,r),F[o>>3]=BigInt(n.position),n.getdents&&0===t&&0===r&&(n.getdents=null),0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return e.errno}},qa:function(e,t,r,o){try{var n=((e,t,r,o)=>{for(var n=0,s=0;s<r;s++){var a=T[t>>2],i=T[t+4>>2];t+=8;var u=Ae.write(e,S,a,i,o);if(u<0)return-1;n+=u,void 0!==o&&(o+=u)}return n})(Pe.getStreamFromFD(e),t,r);return T[o>>2]=n,0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return e.errno}},ke:function(){return"undefined"!=typeof window?sr(window.location.hostname):sr("")},fb:(e,t)=>(de(R.subarray(e,e+t)),0),y:function(e,t,r){var o=Uu();try{return wt(e)(t,r)}catch(e){if($u(o),e!==e+0)throw e;Ou(1,0)}},L:function(e,t){var r=Uu();try{return wt(e)(t)}catch(e){if($u(r),e!==e+0)throw e;Ou(1,0)}},G:function(e,t,r){var o=Uu();try{return wt(e)(t,r)}catch(e){if($u(o),e!==e+0)throw e;Ou(1,0)}},l:function(e,t,r,o){var n=Uu();try{return wt(e)(t,r,o)}catch(e){if($u(n),e!==e+0)throw e;Ou(1,0)}},jh:function(e){var t=Uu();try{return wt(e)()}catch(e){if($u(t),e!==e+0)throw e;Ou(1,0)}},ia:function(e,t,r){var o=Uu();try{return wt(e)(t,r)}catch(e){if($u(o),e!==e+0)throw e;Ou(1,0)}},q:function(e,t){var r=Uu();try{return wt(e)(t)}catch(e){if($u(r),e!==e+0)throw e;Ou(1,0)}},U:function(e,t,r,o,n,s,a,i,u,l,c,d,p,g,f,m){var h=Uu();try{return wt(e)(t,r,o,n,s,a,i,u,l,c,d,p,g,f,m)}catch(e){if($u(h),e!==e+0)throw e;Ou(1,0)}},r:function(e,t,r){var o=Uu();try{return wt(e)(t,r)}catch(e){if($u(o),e!==e+0)throw e;Ou(1,0)}},s:function(e,t,r,o){var n=Uu();try{return wt(e)(t,r,o)}catch(e){if($u(n),e!==e+0)throw e;Ou(1,0)}},S:function(e,t,r,o,n){var s=Uu();try{return wt(e)(t,r,o,n)}catch(e){if($u(s),e!==e+0)throw e;Ou(1,0)}},Ce:function(e,t,r,o,n,s){var a=Uu();try{return wt(e)(t,r,o,n,s)}catch(e){if($u(a),e!==e+0)throw e;Ou(1,0)}},Ca:function(e,t,r,o,n,s,a){var i=Uu();try{return wt(e)(t,r,o,n,s,a)}catch(e){if($u(i),e!==e+0)throw e;Ou(1,0)}},Ba:function(e,t,r,o,n,s,a,i,u,l){var c=Uu();try{return wt(e)(t,r,o,n,s,a,i,u,l)}catch(e){if($u(c),e!==e+0)throw e;Ou(1,0)}},P:function(e){var t=Uu();try{wt(e)()}catch(e){if($u(t),e!==e+0)throw e;Ou(1,0)}},t:function(e,t){var r=Uu();try{wt(e)(t)}catch(e){if($u(r),e!==e+0)throw e;Ou(1,0)}},B:function(e,t,r,o){var n=Uu();try{wt(e)(t,r,o)}catch(e){if($u(n),e!==e+0)throw e;Ou(1,0)}},F:function(e,t,r){var o=Uu();try{wt(e)(t,r)}catch(e){if($u(o),e!==e+0)throw e;Ou(1,0)}},p:function(e,t,r,o){var n=Uu();try{wt(e)(t,r,o)}catch(e){if($u(n),e!==e+0)throw e;Ou(1,0)}},D:function(e,t,r,o,n){var s=Uu();try{wt(e)(t,r,o,n)}catch(e){if($u(s),e!==e+0)throw e;Ou(1,0)}},Be:function(e,t,r,o,n,s){var a=Uu();try{wt(e)(t,r,o,n,s)}catch(e){if($u(a),e!==e+0)throw e;Ou(1,0)}},ze:function(e,t,r,o,n,s,a){var i=Uu();try{wt(e)(t,r,o,n,s,a)}catch(e){if($u(i),e!==e+0)throw e;Ou(1,0)}},ih:function(e,t,r,o,n,s,a,i){var u=Uu();try{wt(e)(t,r,o,n,s,a,i)}catch(e){if($u(u),e!==e+0)throw e;Ou(1,0)}},Ae:function(e,t,r,o,n,s,a,i,u,l){var c=Uu();try{wt(e)(t,r,o,n,s,a,i,u,l)}catch(e){if($u(c),e!==e+0)throw e;Ou(1,0)}},ja:function(e,t){const r=Lt.toValue(t),o=u.ctx;o.bindTexture(o.TEXTURE_2D,mr.textures[e]),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,r)},a:w,gb:(e,t,r,o,n)=>hu(e,t,r,o)},Bu=function(){var e,t,r,n,s={a:Ru};function a(e,t){var r;return Bu=e.exports,vt=Bu.mh,r=Bu.kh,N.unshift(r),X(),Bu}if(Y(),u.instantiateWasm)try{return u.instantiateWasm(s,a)}catch(e){E(`Module.instantiateWasm callback failed with error: ${e}`),o(e)}return(e=C,t=K,r=s,n=function(e){a(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||J(t)||y||"function"!=typeof fetch?re(t,r,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(n,(function(e){return E(`wasm streaming compile failed: ${e}`),E("falling back to ArrayBuffer instantiation"),re(t,r,n)}))))).catch(o),{}}(),xu=u._malloc=e=>(xu=u._malloc=Bu.lh)(e),Iu=u._main=(e,t)=>(Iu=u._main=Bu.nh)(e,t),Tu=u._free=e=>(Tu=u._free=Bu.oh)(e),qu=(u._ma_malloc_emscripten=(e,t)=>(u._ma_malloc_emscripten=Bu.ph)(e,t),u._ma_free_emscripten=(e,t)=>(u._ma_free_emscripten=Bu.qh)(e,t),u._ma_device_process_pcm_frames_capture__webaudio=(e,t,r)=>(qu=u._ma_device_process_pcm_frames_capture__webaudio=Bu.rh)(e,t,r)),Fu=u._ma_device_process_pcm_frames_playback__webaudio=(e,t,r)=>(Fu=u._ma_device_process_pcm_frames_playback__webaudio=Bu.sh)(e,t,r),Du=e=>(Du=Bu.th)(e),Lu=e=>(Lu=Bu.uh)(e),Mu=(e,t)=>(Mu=Bu.vh)(e,t),Ou=(e,t)=>(Ou=Bu.wh)(e,t),Uu=()=>(Uu=Bu.xh)(),$u=e=>($u=Bu.yh)(e),Vu=e=>(Vu=Bu.zh)(e),Nu=e=>(Nu=Bu.Ah)(e),Hu=e=>(Hu=Bu.Bh)(e),ju=(e,t,r)=>(ju=Bu.Ch)(e,t,r),Wu=e=>(Wu=Bu.Dh)(e);function Gu(e=g){function r(){Su||(Su=!0,u.calledRun=!0,M||(u.noFSInit||Ae.init.initialized||Ae.init(),Ae.ignorePermissions=!1,ve.init(),se(N),se(H),t(u),u.onRuntimeInitialized&&u.onRuntimeInitialized(),zu&&function(e=[]){var t=Iu;e.unshift(f);var r=e.length,o=Vu(4*(r+1)),n=o;e.forEach((e=>{T[n>>2]=bu(e),n+=4})),T[n>>2]=0;try{var s=t(r,o);return lr(s,!0),s}catch(e){return ir(e)}}(e),function(){if(u.postRun)for("function"==typeof u.postRun&&(u.postRun=[u.postRun]);u.postRun.length;)e=u.postRun.shift(),j.unshift(e);var e;se(j)}()))}W>0||(function(){if(u.preRun)for("function"==typeof u.preRun&&(u.preRun=[u.preRun]);u.preRun.length;)e=u.preRun.shift(),V.unshift(e);var e;se(V)}(),W>0||(u.setStatus?(u.setStatus("Running..."),setTimeout((function(){setTimeout((function(){u.setStatus("")}),1),r()}),1)):r()))}if(u.___start_em_js=2398459,u.___stop_em_js=2398823,u.addRunDependency=Y,u.removeRunDependency=X,u.FS_createPath=Ae.createPath,u.FS_createLazyFile=Ae.createLazyFile,u.FS_createDevice=Ae.createDevice,u.ccall=(e,t,r,o,n)=>{var s={string:e=>{var t=0;return null!=e&&0!==e&&(t=bu(e)),t},array:e=>{var t=Vu(e.length);return mu(e,t),t}},a=(e=>u["_"+e])(e),i=[],l=0;if(o)for(var c=0;c<o.length;c++){var d=s[r[c]];d?(0===l&&(l=Uu()),i[c]=d(o[c])):i[c]=o[c]}var p,g=a.apply(null,i);return p=g,0!==l&&$u(l),g=function(e){return"string"===t?Ee(e):"boolean"===t?Boolean(e):e}(p),g},u.getValue=function(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return S[e>>0];case"i16":return B[e>>1];case"i32":return I[e>>2];case"i64":return F[e>>3];case"float":return q[e>>2];case"double":return L[e>>3];case"*":return T[e>>2];default:Q(`invalid type for getValue: ${t}`)}},u.UTF8ToString=Ee,u.specialHTMLTargets=iu,u.FS_createPreloadedFile=Ae.createPreloadedFile,u.FS_createDataFile=Ae.createDataFile,u.FS_unlink=Ae.unlink,z=function e(){Su||Gu(),Su||(z=e)},u.preInit)for("function"==typeof u.preInit&&(u.preInit=[u.preInit]);u.preInit.length>0;)u.preInit.pop()();var zu=!0;return u.noInitialRun&&(zu=!1),Gu(),e.ready});"object"==typeof e&&"object"==typeof t?t.exports=o:"function"==typeof define&&define.amd&&define([],(()=>o))}}),src_exports={};__export(src_exports,{LogLevel:()=>LogLevel,MimeType:()=>MimeType_default,default:()=>src_default}),module.exports=__toCommonJS(src_exports);var ColorInternal,PROXY=Symbol("PROXY"),RESTORE=Symbol("RESTORE");function getter(e,t){Object.defineProperty(e[t],PROXY,{value:{type:"getter"},writable:!1})}function setter(e,t){Object.defineProperty(e[t],PROXY,{value:{type:"setter"},writable:!1})}function isRGBAColor(e){return"r"in e&&"a"in e&&void 0!==e.r&&void 0!==e.a}function isSpotColor(e){return"name"in e&&void 0!==e.name}function isCMYKColor(e){return"c"in e&&"m"in e&&"y"in e&&"k"in e&&void 0!==e.c&&void 0!==e.m&&void 0!==e.y&&void 0!==e.k}(e=>{let t;var r;(r=t=e.ColorSpace||(e.ColorSpace={}))[r.sRGB=0]="sRGB",r[r.CMYK=1]="CMYK",r[r.SpotColor=2]="SpotColor",e.toColor=function(e){switch(e.colorSpace){case 0:return{r:e.components.x,g:e.components.y,b:e.components.z,a:e.components.w};case 2:return{name:e.spotColorName,tint:e.tint,externalReference:e.externalReference};case 1:return{c:e.components.x,m:e.components.y,y:e.components.z,k:e.components.w,tint:e.tint};default:throw new Error("Unknown color space!")}},e.fromColor=function(e){if(isRGBAColor(e))return{colorSpace:0,components:{x:e.r,y:e.g,z:e.b,w:e.a},spotColorName:"",tint:1,externalReference:""};if(isCMYKColor(e))return{colorSpace:1,components:{x:e.c,y:e.m,z:e.y,w:e.k},spotColorName:"",tint:e.tint,externalReference:""};if(isSpotColor(e))return{colorSpace:2,components:{x:0,y:0,z:0,w:0},spotColorName:e.name,tint:e.tint,externalReference:e.externalReference};throw new Error("Unknown color space!")}})(ColorInternal||(ColorInternal={}));var UBQHelper=class{ubq;constructor(e){this.ubq=e}useInternalAPI(e){const t=this.ubq.getInternalAPI();try{return e(t)}finally{t.delete()}}setValue(e,t,r,o){return this.useInternalAPI((n=>unpackResult(n.setValue(e,t,r,o))))}getValue(e,t,r){return this.useInternalAPI((o=>unpackResult(o.getValue(e,t,r))))}async execute(e,t){return new Promise(((r,o)=>{this.useInternalAPI((n=>n.ubqExecute(e,t,(e=>{try{const t=unpackResult(e);r(t)}catch(e){o(e)}})))).delete()}))}};function unpackResult(e){if(e.isValid()){const t=e.value();return e.delete(),t}{const t=e.error(),r=t.publicMessage();throw t.delete(),e.delete(),new Error(r)}}function unpackAsync(e){return new Promise(((t,r)=>{e((e=>{try{const r=unpackResult(e);t(r)}catch(e){r(e)}}))}))}__decorateClass([setter],UBQHelper.prototype,"setValue",1),__decorateClass([getter],UBQHelper.prototype,"getValue",1);var cppVectorToArray_default=(e,t=!0)=>{const r=[];for(let t=0;t<e.size();t+=1)r.push(e.get(t));return t&&e.delete(),r},assetCallbacks=new WeakMap,EMPTY_RESULT={assets:[],total:0,currentPage:0,nextPage:void 0},AssetAPI=class{#e;constructor(e){this.#e=e}addSource(e){var t,r,o,n,s,a;const i=null==(t=e.getSupportedMimeTypes)?void 0:t.bind(e),u=null==(r=e.getGroups)?void 0:r.bind(e),l=null==(o=e.applyAsset)?void 0:o.bind(e),c=null==(n=e.applyAssetToBlock)?void 0:n.bind(e),d=null==(s=e.addAsset)?void 0:s.bind(e),p=null==(a=e.removeAsset)?void 0:a.bind(e),g=e.credits,f=e.license;unpackResult(this.#e.addAssetSource(e.id,(async(t,r)=>{try{const o={...t,tags:cppVectorToArray_default(t.tags),groups:cppVectorToArray_default(t.groups),excludeGroups:cppVectorToArray_default(t.excludeGroups)},n=await e.findAssets(o);if(n){const t={...n,assets:n.assets.map((t=>ensureContext(t,e.id)))};r.invoke(t)}else r.invoke(EMPTY_RESULT)}catch(e){r.invoke(e.message??"Unknown error in user-defined `findAssets`")}}),u?async e=>{try{const t=await u();e.invoke(t)}catch(t){e.invoke(t.message??"Unknown error in user-defined `getGroups`")}}:null,g?()=>({name:g.name,url:g.url??""}):null,f?()=>({name:f.name,url:f.url??""}):null,i?()=>i()??[]:null,l?async(e,t)=>{try{const r=await l(this.#t(e));t.invoke(r)}catch(e){t.invoke(e.message??"Unknown error in user-defined `applyAsset`")}}:null,c?async(e,t,r)=>{try{await c(this.#t(e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetToBlock`")}}:null,d?async e=>{d(e)}:null,p?async e=>{p(e)}:null)),this.#r(e.id,e)}addLocalSource(e,t,r,o){unpackResult(this.#e.addLocalAssetSource(e,t??[],r?async(e,t)=>{try{const o=await r(this.#t(e));t.invoke(o)}catch(e){t.invoke(e.message??"Unknown error in user-defined `applyAsset`")}}:null,o?async(e,t,r)=>{try{await o(this.#t(e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetToBlock`")}}:null))}removeSource(e){unpackResult(this.#e.removeAssetSource(e)),this.#o(e)}findAllSources(){return cppVectorToArray_default(this.#e.findAllAssetSources())}findAssets(e,t){return new Promise(((r,o)=>{let n=(null==t?void 0:t.tags)??[];Array.isArray(n)||(n=[n]);const s={perPage:(null==t?void 0:t.perPage)??0,page:(null==t?void 0:t.page)??0,query:(null==t?void 0:t.query)??"",tags:n,groups:(null==t?void 0:t.groups)??[],excludeGroups:(null==t?void 0:t.excludeGroups)??[],locale:(null==t?void 0:t.locale)??""};this.#e.findAssetSourceAssets(e,s,(e=>{try{const t=unpackResult(e);r({...t,nextPage:-1===t.nextPage?void 0:t.nextPage})}catch(e){o(e)}}))}))}#t(e){var t,r,o,n,s,a,i,u;const l={...e};return 0===(null==(t=l.groups)?void 0:t.length)&&delete l.groups,l.locale||delete l.locale,l.label||delete l.label,0===(null==(r=l.tags)?void 0:r.length)&&delete l.tags,(null==(o=l.credits)?void 0:o.name)||(null==(n=l.credits)?void 0:n.url)?l.credits.url||delete l.credits.url:delete l.credits,(null==(s=l.license)?void 0:s.name)||(null==(a=l.license)?void 0:a.url)?l.license.url||delete l.license.url:delete l.license,(null==(i=l.utm)?void 0:i.source)||(null==(u=l.utm)?void 0:u.medium)?(l.utm.source||delete l.utm.source,l.utm.medium||delete l.utm.medium):delete l.utm,l}async getGroups(e){return unpackAsync((t=>this.#e.getAssetSourceGroups(e,t))).then((e=>cppVectorToArray_default(e)))}getSupportedMimeTypes(e){return cppVectorToArray_default(unpackResult(this.#e.getAssetSourceSupportedMimeTypes(e)))}getCredits(e){const t=unpackResult(this.#e.getAssetSourceCredits(e));if(t.name||t.url)return t.url?t:{name:t.name,url:void 0}}getLicense(e){const t=unpackResult(this.#e.getAssetSourceLicense(e));if(t.name||t.url)return t.url?t:{name:t.name,url:void 0}}canManageAssets(e){var t,r;return!!(null==(r=null==(t=assetCallbacks.get(this.#e))?void 0:t.get(e))?void 0:r.canManageAssets)}addAssetToSource(e,t){unpackResult(this.#e.addAssetToSource(e,t))}removeAssetFromSource(e,t){unpackResult(this.#e.removeAssetFromSource(e,t))}#r(e,t){assetCallbacks.has(this.#e)||assetCallbacks.set(this.#e,new Map),t.canManageAssets&&console.warn(`\nDEPRECATION WARNING:\n\n'canManageAssets' flag was found for asset source with the id '${e}'.\n\nThis flag is deprecated and will be removed in the next version. If you have used it to control if an upload buttons is rendered in the asset library, use the 'canAdd' options on an asset library entry. See documentation here: https://img.ly/docs/cesdk/ui/guides/customize-asset-library/`),assetCallbacks.get(this.#e).set(e,{canManageAssets:t.canManageAssets})}#o(e){var t;null==(t=assetCallbacks.get(this.#e))||t.delete(e)}async apply(e,t){return new Promise(((r,o)=>{this.#e.applyAssetSourceAsset(e,ensureContext(t,e),(e=>{try{const t=unpackResult(e);this.#e.isValid(t)?r(t):r(void 0)}catch(e){o(e)}}))}))}async applyToBlock(e,t,r){return unpackAsync((o=>this.#e.applyAssetSourceAssetToBlock(e,ensureContext(t,e),r,o)))}async defaultApplyAsset(e){return new Promise(((t,r)=>{this.#e.defaultApplyAsset(ensureContext(e,""),(e=>{try{const r=unpackResult(e);this.#e.isValid(r)?t(r):t(void 0)}catch(e){r(e)}}))}))}async defaultApplyAssetToBlock(e,t){return unpackAsync((r=>this.#e.defaultApplyAssetToBlock(ensureContext(e,""),t,r)))}onAssetSourceAdded=e=>{const t=this.#e.subscribeToAssetSourceAdded(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};onAssetSourceRemoved=e=>{const t=this.#e.subscribeToAssetSourceRemoved(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};dispose(){assetCallbacks.delete(this.#e)}};function ensureContext(e,t){return"context"in e&&e.context.sourceId===t?e:{...e,context:{sourceId:t}}}var LogLevel={Info:"Info",Warning:"Warning",Error:"Error"};function defaultLogger(e,t){const r=`[UBQ] ${e}`;switch(t){case"Warning":console.warn(r);break;case"Error":console.error(r);break;case"Info":console.info(r);break;default:console.log(r)}}var BASE_URL_DEFAULT="https://cdn.img.ly/packages/imgly/cesdk-engine/1.22.0-rc.0/assets",defaultExtensions={baseURL:"/extensions/",entries:["ly.img.cesdk.fonts"]};function ensureIsAbsoluteURL(e,t=("undefined"==typeof window?"":window.location.href)){return new URL(e,""===t?void 0:t).href}function ensureIsValidDirectoryURL(e){return"/"!==e[e.length-1]?`${e}/`:e}function joinPaths(e,t){const r=e.endsWith("/"),o=t.startsWith("/");return r&&o?`${e.substring(0,e.length-1)}${t}`:r||o?`${e}${t}`:`${e}/${t}`}function initWithDefaults(e={},t=BASE_URL_DEFAULT){const r={...e,license:e.license??"",featureFlags:e.featureFlags??{},baseURL:e.baseURL??t,core:e.core??{baseURL:"core/"},extensions:e.extensions??{...defaultExtensions},logger:e.logger??defaultLogger,presets:e.presets??{}};return r.extensions.baseURL??=defaultExtensions.baseURL,r.extensions.entries??={...defaultExtensions.entries},r.baseURL=ensureIsAbsoluteURL(r.baseURL),r.baseURL=ensureIsValidDirectoryURL(r.baseURL),r.core.baseURL=ensureIsAbsoluteURL(r.core.baseURL,r.baseURL),r.core.baseURL=ensureIsValidDirectoryURL(r.core.baseURL),r.extensions.baseURL=ensureIsValidDirectoryURL(r.extensions.baseURL),r.extensions.entries=r.extensions.entries.map((e=>ensureIsValidDirectoryURL(e))),r}async function loadAssetSourcesFromContentJSON(e,t,r=fetch,o,n=new Set(o.findAllSources())){const s=e.map((async e=>{const s=joinPaths(t,`/${e}/content.json`);return r(s).then((e=>{if(!e.ok)throw new Error(e.statusText);return e.json()})).then((r=>{if(void 0===r.assets)throw new Error(`Invalid content.json for assets: ${e}`);const s=r.assets;n.has(e)||o.addLocalSource(e),s.forEach((r=>{var n;r.meta&&Object.entries(r.meta).forEach((([e,o])=>{const n=o.toString();if(n.includes("{{base_url}}")){const o=n.replace("{{base_url}}",t);r.meta&&(r.meta[e]=o)}})),(null==(n=r.payload)?void 0:n.sourceSet)&&r.payload.sourceSet.forEach((e=>{e.uri.includes("{{base_url}}")&&(e.uri=e.uri.replace("{{base_url}}",t))})),o.addAssetToSource(e,r)}))}))}));await Promise.all(s)}var loadAssetSourcesFromContentJSON_default=loadAssetSourcesFromContentJSON;async function addDefaultAssetSources(e,t,r,o){const n=["ly.img.sticker","ly.img.vectorpath","ly.img.colors.defaultPalette","ly.img.filter.lut","ly.img.filter.duotone","ly.img.effect","ly.img.blur"].filter((e=>!r.includes(e)));await loadAssetSourcesFromContentJSON_default(n,t,o,e)}var addDefaultAssetSources_default=addDefaultAssetSources,StructError=class extends TypeError{constructor(e,t){let r;const{message:o,...n}=e,{path:s}=e;super(0===s.length?o:"At path: "+s.join(".")+" -- "+o),this.value=void 0,this.key=void 0,this.type=void 0,this.refinement=void 0,this.path=void 0,this.branch=void 0,this.failures=void 0,Object.assign(this,n),this.name=this.constructor.name,this.failures=()=>{var o;return null!=(o=r)?o:r=[e,...t()]}}};function isIterable(e){return isObject(e)&&"function"==typeof e[Symbol.iterator]}function isObject(e){return"object"==typeof e&&null!=e}function print(e){return"string"==typeof e?JSON.stringify(e):""+e}function shiftIterator(e){const{done:t,value:r}=e.next();return t?void 0:r}function toFailure(e,t,r,o){if(!0===e)return;!1===e?e={}:"string"==typeof e&&(e={message:e});const{path:n,branch:s}=t,{type:a}=r,{refinement:i,message:u="Expected a value of type `"+a+"`"+(i?" with refinement `"+i+"`":"")+", but received: `"+print(o)+"`"}=e;return{value:o,type:a,refinement:i,key:n[n.length-1],path:n,branch:s,...e,message:u}}function*toFailures(e,t,r,o){isIterable(e)||(e=[e]);for(const n of e){const e=toFailure(n,t,r,o);e&&(yield e)}}function*run(e,t,r={}){const{path:o=[],branch:n=[e],coerce:s=!1,mask:a=!1}=r,i={path:o,branch:n};if(s&&(e=t.coercer(e,i),a&&"type"!==t.type&&isObject(t.schema)&&isObject(e)&&!Array.isArray(e)))for(const r in e)void 0===t.schema[r]&&delete e[r];let u=!0;for(const r of t.validator(e,i))u=!1,yield[r,void 0];for(let[r,l,c]of t.entries(e,i)){const t=run(l,c,{path:void 0===r?o:[...o,r],branch:void 0===r?n:[...n,l],coerce:s,mask:a});for(const o of t)o[0]?(u=!1,yield[o[0],void 0]):s&&(l=o[1],void 0===r?e=l:e instanceof Map?e.set(r,l):e instanceof Set?e.add(l):isObject(e)&&(e[r]=l))}if(u)for(const r of t.refiner(e,i))u=!1,yield[r,void 0];u&&(yield[void 0,e])}var Struct=class{constructor(e){this.TYPE=void 0,this.type=void 0,this.schema=void 0,this.coercer=void 0,this.validator=void 0,this.refiner=void 0,this.entries=void 0;const{type:t,schema:r,validator:o,refiner:n,coercer:s=(e=>e),entries:a=function*(){}}=e;this.type=t,this.schema=r,this.entries=a,this.coercer=s,this.validator=o?(e,t)=>toFailures(o(e,t),t,this,e):()=>[],this.refiner=n?(e,t)=>toFailures(n(e,t),t,this,e):()=>[]}assert(e){return assert(e,this)}create(e){return create(e,this)}is(e){return is(e,this)}mask(e){return mask(e,this)}validate(e,t={}){return validate(e,this,t)}};function assert(e,t){const r=validate(e,t);if(r[0])throw r[0]}function create(e,t){const r=validate(e,t,{coerce:!0});if(r[0])throw r[0];return r[1]}function mask(e,t){const r=validate(e,t,{coerce:!0,mask:!0});if(r[0])throw r[0];return r[1]}function is(e,t){return!validate(e,t)[0]}function validate(e,t,r={}){const o=run(e,t,r),n=shiftIterator(o);if(n[0]){return[new StructError(n[0],(function*(){for(const e of o)e[0]&&(yield e[0])})),void 0]}return[void 0,n[1]]}function define2(e,t){return new Struct({type:e,schema:null,validator:t})}function array(e){return new Struct({type:"array",schema:e,*entries(t){if(e&&Array.isArray(t))for(const[r,o]of t.entries())yield[r,o,e]},coercer:e=>Array.isArray(e)?e.slice():e,validator:e=>Array.isArray(e)||"Expected an array value, but received: "+print(e)})}function boolean(){return define2("boolean",(e=>"boolean"==typeof e))}function integer(){return define2("integer",(e=>"number"==typeof e&&!isNaN(e)&&Number.isInteger(e)||"Expected an integer, but received: "+print(e)))}function never(){return define2("never",(()=>!1))}function number(){return define2("number",(e=>"number"==typeof e&&!isNaN(e)||"Expected a number, but received: "+print(e)))}function object(e){const t=e?Object.keys(e):[],r=never();return new Struct({type:"object",schema:e||null,*entries(o){if(e&&isObject(o)){const n=new Set(Object.keys(o));for(const r of t)n.delete(r),yield[r,o[r],e[r]];for(const e of n)yield[e,o[e],r]}},validator:e=>isObject(e)||"Expected an object, but received: "+print(e),coercer:e=>isObject(e)?{...e}:e})}function string(){return define2("string",(e=>"string"==typeof e||"Expected a string, but received: "+print(e)))}function getSize(e){return e instanceof Map||e instanceof Set?e.size:e.length}function max(e,t,r={}){const{exclusive:o}=r;return refine(e,"max",(r=>o?r<t:r<=t||"Expected a "+e.type+" less than "+(o?"":"or equal to ")+t+" but received `"+r+"`"))}function min(e,t,r={}){const{exclusive:o}=r;return refine(e,"min",(r=>o?r>t:r>=t||"Expected a "+e.type+" greater than "+(o?"":"or equal to ")+t+" but received `"+r+"`"))}function nonempty(e){return refine(e,"nonempty",(t=>getSize(t)>0||"Expected a nonempty "+e.type+" but received an empty one"))}function refine(e,t,r){return new Struct({...e,*refiner(o,n){yield*e.refiner(o,n);const s=toFailures(r(o,n),n,e,o);for(const e of s)yield{...e,refinement:t}}})}function assert2(e,t,r){const[o]=validate(t,r);if(o)throw o.message=`Error in argument '${e}': ${o.message}`,o}function mimeType(){const e=/image\/(png|jpeg|webp|x-tga)|video\/(mp4|quicktime)|application\/octet-stream|application\/pdf/;return define2("MimeType",(t=>!("string"!=typeof t||!e.test(t))||{message:`expected one of "image/png", "image/jpeg", "image/webp", "image/x-tga", "video/mp4", "video/quicktime", "application/pdf" or "application/octet-stream", but got "${t}"`}))}function sceneLayoutShape(){const e=["Free","VerticalStack","HorizontalStack","DepthStack"];return define2("SceneLayout",(t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map((e=>`"${e}"`)).join(", ")}, but got "${t}"`}))}function zoomAutoFitAxisShape(){const e=["Horizontal","Vertical","Both"];return define2("ZoomAutoFitAxis",(t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map((e=>`"${e}"`)).join(", ")}, but got "${t}"`}))}function designUnitShape(){const e=["Pixel","Millimeter","Inch"];return define2("DesignUnit",(t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map((e=>`"${e}"`)).join(", ")}, but got "${t}"`}))}function cutoutOperationShape(){const e=["Difference","Intersection","Union","XOR"];return define2("CutoutOperation",(t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map((e=>`"${e}"`)).join(", ")}, but got "${t}"`}))}var MimeType=(e=>(e.Png="image/png",e.Jpeg="image/jpeg",e.WebP="image/webp",e.Tga="image/x-tga",e.Mp4="video/mp4",e.QuickTime="video/quicktime",e.Binary="application/octet-stream",e.Pdf="application/pdf",e.Zip="application/zip",e))(MimeType||{}),MimeType_default=MimeType,Blob_default="undefined"!=typeof Blob?Blob:(()=>{try{return require("buffer").Blob}catch(e){return function(){throw new Error("Could not find Blob constructor and failed to require('buffer').Blob")}}})(),SceneAPI=class{#e;constructor(e){this.#e=e}async loadFromString(e){return assert2("sceneContent",e,string()),unpackAsync((t=>this.#e.loadSceneFromString(e,t)))}async loadFromURL(e){return assert2("url",e,string()),unpackAsync((t=>this.#e.loadSceneFromURL(e,t)))}async saveToString(){const e=this.get();if(null==e)throw new Error("No scene available.");return unpackAsync((t=>{this.#e.saveSceneToString(e,t)}))}async saveToArchive(){return new Promise(((e,t)=>{const r=this.get();null==r?t(new Error("No scene available.")):this.#e.saveSceneToArchive(r,(r=>{"error"in r?t(r.error):e(new Blob_default([r],{type:MimeType_default.Zip}))}))}))}create(e="Free"){assert2("sceneLayout",e,sceneLayoutShape());return unpackResult(this.#e.createScene(e))}createVideo(){return unpackResult(this.#e.createVideoScene())}createFromImage(e,t=300,r=1,o="Free",n=0,s=!1){return assert2("url",e,string()),assert2("dpi",t,min(number(),0)),assert2("pixelScaleFactor",r,min(number(),0)),assert2("sceneLayout",o,sceneLayoutShape()),unpackAsync((a=>this.#e.createSceneFromImage(e,t,r,o,n,s,a)))}createFromVideo(e){return assert2("url",e,string()),unpackAsync((t=>this.#e.createSceneFromVideo(e,t)))}get(){const e=unpackResult(this.#e.findByType("scene")),t=cppVectorToArray_default(e);return t.length>0?t[0]:null}async applyTemplateFromString(e){return assert2("content",e,string()),unpackAsync((t=>this.#e.applyTemplateFromString(e,t)))}async applyTemplateFromURL(e){return assert2("url",e,string()),unpackAsync((t=>this.#e.applyTemplateFromURL(e,t)))}getMode(){const e=this.get();return unpackResult(this.#e.getSceneMode(e))}setDesignUnit(e){assert2("designUnit",e,designUnitShape());const t=this.get();unpackResult(this.#e.setDesignUnit(t,e))}getDesignUnit(){const e=this.get();return unpackResult(this.#e.getDesignUnit(e))}getPages(){return cppVectorToArray_default(unpackResult(this.#e.getPages()))}getCurrentPage(){const e=this.get();if(null==e)return null;const t=unpackResult(this.#e.findNearestToViewPortCenterByKind(e,"page")),r=cppVectorToArray_default(t);return r.length>0?r[0]:null}findNearestToViewPortCenterByType(e){assert2("type",e,string());const t=this.get();if(null==t)return[];const r=unpackResult(this.#e.findNearestToViewPortCenterByType(t,e));return cppVectorToArray_default(r)}findNearestToViewPortCenterByKind(e){assert2("kind",e,string());const t=this.get();if(null==t)return[];const r=unpackResult(this.#e.findNearestToViewPortCenterByKind(t,e));return cppVectorToArray_default(r)}setZoomLevel(e=1){const t=this.get();assert2("zoomLevel",e,min(number(),0)),this.#e.setZoomLevel(t,e)}getZoomLevel(){const e=this.get();return unpackResult(this.#e.getZoomLevel(e))}async zoomToBlock(e,t=0,r=0,o=0,n=0){return assert2("id",e,integer()),unpackAsync((s=>this.#e.zoomToBlock(e,t,r,o,n,s)))}enableZoomAutoFit(e,t,r=0,o=0,n=0,s=0){return assert2("id",e,integer()),assert2("axis",t,zoomAutoFitAxisShape()),"Horizontal"===t?(assert2("paddingBefore",r,number()),assert2("paddingAfter",o,number()),unpackResult(this.#e.enableZoomAutoFit(e,t,r,0,o,0))):"Vertical"===t?(assert2("paddingBefore",r,number()),assert2("paddingAfter",o,number()),unpackResult(this.#e.enableZoomAutoFit(e,t,0,r,0,o))):(assert2("paddingLeft",r,number()),assert2("paddingTop",o,number()),assert2("paddingRight",n,number()),assert2("paddingBottom",s,number()),unpackResult(this.#e.enableZoomAutoFit(e,t,r,o,n,s)))}disableZoomAutoFit(e){return assert2("blockOrScene",e,integer()),unpackResult(this.#e.disableZoomAutoFit(e))}isZoomAutoFitEnabled(e){return assert2("blockOrScene",e,integer()),unpackResult(this.#e.isZoomAutoFitEnabled(e))}unstable_enableCameraPositionClamping(e,t=0,r=0,o=0,n=0,s=0,a=0,i=0,u=0){return assert2("ids",e,array(number())),assert2("paddingLeft",t,number()),assert2("paddingTop",r,number()),assert2("paddingRight",o,number()),assert2("paddingBottom",n,number()),assert2("scaledPaddingLeft",t,number()),assert2("scaledPaddingTop",r,number()),assert2("scaledPaddingRight",o,number()),assert2("scaledPaddingBottom",n,number()),unpackResult(this.#e.unstable_enableCameraPositionClamping(e,t,r,o,n,s,a,i,u))}unstable_disableCameraPositionClamping(e=this.get()){if(null==e)throw new Error("No scene available.");return unpackResult(this.#e.unstable_disableCameraPositionClamping(e))}unstable_isCameraPositionClampingEnabled(e=this.get()){if(null==e)throw new Error("No scene available.");return unpackResult(this.#e.unstable_isCameraPositionClampingEnabled(e))}unstable_enableCameraZoomClamping(e,t=-1,r=-1,o=0,n=0,s=0,a=0){return assert2("ids",e,array(number())),assert2("minZoomLimit",t,number()),assert2("maxZoomLimit",r,number()),assert2("paddingLeft",o,number()),assert2("paddingTop",n,number()),assert2("paddingRight",s,number()),assert2("paddingBottom",a,number()),unpackResult(this.#e.unstable_enableCameraZoomClamping(e,t,r,o,n,s,a))}unstable_disableCameraZoomClamping(e=this.get()){if(null==e)throw new Error("No scene available.");return unpackResult(this.#e.unstable_disableCameraZoomClamping(e))}unstable_isCameraZoomClampingEnabled(e=this.get()){if(null==e)throw new Error("No scene available.");return unpackResult(this.#e.unstable_isCameraZoomClampingEnabled(e))}onZoomLevelChanged=e=>{const t=this.#e.subscribeToZoomLevel(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};onActiveChanged=e=>{const t=this.#e.subscribeToActiveSceneChange(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}}};__decorateClass([setter],SceneAPI.prototype,"loadFromString",1),__decorateClass([setter],SceneAPI.prototype,"loadFromURL",1),__decorateClass([setter],SceneAPI.prototype,"create",1),__decorateClass([setter],SceneAPI.prototype,"createVideo",1),__decorateClass([setter],SceneAPI.prototype,"createFromImage",1),__decorateClass([setter],SceneAPI.prototype,"createFromVideo",1),__decorateClass([getter],SceneAPI.prototype,"get",1),__decorateClass([setter],SceneAPI.prototype,"applyTemplateFromString",1),__decorateClass([setter],SceneAPI.prototype,"applyTemplateFromURL",1),__decorateClass([getter],SceneAPI.prototype,"getMode",1),__decorateClass([setter],SceneAPI.prototype,"setDesignUnit",1),__decorateClass([getter],SceneAPI.prototype,"getDesignUnit",1),__decorateClass([getter],SceneAPI.prototype,"getPages",1),__decorateClass([getter],SceneAPI.prototype,"getCurrentPage",1),__decorateClass([getter],SceneAPI.prototype,"findNearestToViewPortCenterByType",1),__decorateClass([getter],SceneAPI.prototype,"findNearestToViewPortCenterByKind",1),__decorateClass([setter],SceneAPI.prototype,"setZoomLevel",1),__decorateClass([getter],SceneAPI.prototype,"getZoomLevel",1),__decorateClass([setter],SceneAPI.prototype,"zoomToBlock",1),__decorateClass([setter],SceneAPI.prototype,"enableZoomAutoFit",1),__decorateClass([setter],SceneAPI.prototype,"disableZoomAutoFit",1),__decorateClass([getter],SceneAPI.prototype,"isZoomAutoFitEnabled",1);var DEFAULT_DEMO_ASSET_SOURCE_BASE_URL="https://cdn.img.ly/assets/demo/v2";async function addDemoAssetSources(e,t,r,o,n,s,a=DEFAULT_DEMO_ASSET_SOURCE_BASE_URL){const i=new Set(e.findAllSources()),u="ly.img.image.upload";!n||r.includes(u)||i.has(u)||e.addLocalSource(u,["image/jpeg","image/png","image/webp","image/svg+xml","image/gif","image/bmp"]);const l="ly.img.video.upload";"Video"!==o||!n||r.includes(l)||i.has(l)||e.addLocalSource(l,["video/mp4","video/quicktime"]);const c="ly.img.audio.upload";"Video"!==o||!n||r.includes(c)||i.has(c)||e.addLocalSource(c,["audio/mpeg","audio/x-m4a","audio/m4a","audio/mp3"]);const d=["ly.img.image","ly.img.video","ly.img.audio"].filter((e=>!r.includes(e)));i.has("ly.img.template")||r.includes("ly.img.template")||(e.addLocalSource("ly.img.template",void 0,(async e=>{var r;const o=null==(r=e.meta)?void 0:r.uri;if(o)if(o.startsWith("UBQ1"))t.applyTemplateFromString(o);else{const e=new URL(o,window.location.href);t.applyTemplateFromURL(e.href)}})),d.push("ly.img.template")),"Video"!==o||i.has("ly.img.video.template")||r.includes("ly.img.video.template")||(e.addLocalSource("ly.img.video.template",void 0,(async e=>{var r;const o=null==(r=e.meta)?void 0:r.uri;if(o)if(o.startsWith("UBQ1"))t.applyTemplateFromString(o);else{const e=new URL(o,window.location.href);t.applyTemplateFromURL(e.href)}})),d.push("ly.img.video.template")),await loadAssetSourcesFromContentJSON_default(d,a,s,e)}var addDemoAssetSources_default=addDemoAssetSources,BlockAPI=class{#e;constructor(e){this.#e=e}async export(e,t=MimeType_default.Png,r={}){assert2("handle",e,number()),assert2("mimeType",t,mimeType()),assert2("options",r,object());const o=null!=r.targetWidth&&null!=r.targetHeight,n=r.jpegQuality??.9,s=r.webpQuality??1,a=r.pngCompressionLevel??5;return assert2("jpegQuality",n,min(max(number(),1),0,{exclusive:!0})),assert2("webpQuality",s,min(max(number(),1),0,{exclusive:!0})),assert2("pngCompressionLevel",a,min(max(integer(),9),0)),null==r.targetWidth&&null==r.targetHeight||(assert2("targetWidth",r.targetWidth,number()),assert2("targetHeight",r.targetHeight,number())),new Promise(((i,u)=>{this.#e.exportToBuffer(e,t,(e=>{"error"in e?u(e.error):i(new Blob_default([e],{type:t}))}),{pngCompressionLevel:a,jpegQuality:n,webpQuality:s,useTargetSize:o,targetWidth:r.targetWidth??0,targetHeight:r.targetHeight??0,exportPdfWithHighCompatibility:r.exportPdfWithHighCompatibility??!0,exportPdfWithUnderlayer:r.exportPdfWithUnderlayer??!1,underlayerSpotColorName:r.underlayerSpotColorName??"",underlayerOffset:r.underlayerOffset??0})}))}async exportWithColorMask(e,t=MimeType_default.Png,r,o,n,s={}){assert2("handle",e,number()),assert2("mimeType",t,mimeType()),assert2("options",s,object());const a=null!=s.targetWidth&&null!=s.targetHeight,i=s.jpegQuality??.9,u=s.webpQuality??1,l=s.pngCompressionLevel??5;return assert2("jpegQuality",i,min(max(number(),1),0,{exclusive:!0})),assert2("webpQuality",u,min(max(number(),1),0,{exclusive:!0})),assert2("pngCompressionLevel",l,min(max(integer(),9),0)),null==s.targetWidth&&null==s.targetHeight||(assert2("targetWidth",s.targetWidth,number()),assert2("targetHeight",s.targetHeight,number())),new Promise(((c,d)=>{this.#e.exportWithColorMaskToBuffer(e,t,r,o,n,((e,r)=>{if("error"in e)d(e.error);else if("error"in r)d(r.error);else{const o=new Blob_default([e],{type:t}),n=new Blob_default([r],{type:t});c([o,n])}}),{pngCompressionLevel:l,jpegQuality:i,webpQuality:u,useTargetSize:a,targetWidth:s.targetWidth??0,targetHeight:s.targetHeight??0,exportPdfWithHighCompatibility:s.exportPdfWithHighCompatibility??!0,exportPdfWithUnderlayer:s.exportPdfWithUnderlayer??!1,underlayerSpotColorName:s.underlayerSpotColorName??"",underlayerOffset:s.underlayerOffset??0})}))}async exportVideo(e,t=MimeType_default.Mp4,r,o){throw new Error("Method not implemented. An implementation is available on the BlockAPI at engine.block or cesdk.engine.block")}async loadFromString(e){return assert2("content",e,string()),unpackAsync((t=>this.#e.loadBlocksFromString(e,t))).then((e=>cppVectorToArray_default(e)))}async saveToString(e){return assert2("blocks",e,array(number())),unpackAsync((t=>this.#e.saveBlocksToString(e,t)))}create(e){return assert2("type",e,string()),unpackResult(this.#e.create(e))}createFill(e){return assert2("type",e,string()),unpackResult(this.#e.createFill(e))}getType(e){return assert2("id",e,integer()),unpackResult(this.#e.getType(e))}getKind(e){return assert2("id",e,integer()),unpackResult(this.#e.getKind(e))}setKind(e,t){assert2("id",e,integer()),unpackResult(this.#e.setKind(e,t))}select(e){return assert2("id",e,integer()),unpackResult(this.#e.select(e))}setSelected(e,t){return assert2("id",e,integer()),assert2("selected",t,boolean()),unpackResult(this.#e.setSelected(e,t))}isSelected(e){return assert2("id",e,integer()),unpackResult(this.#e.isSelected(e))}findAllSelected(){return cppVectorToArray_default(this.#e.findAllSelected())}onSelectionChanged=e=>{const t=this.#e.subscribeToSelectionChange(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};onClicked=e=>{const t=this.#e.subscribeToBlockClicked(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};isGroupable(e){return assert2("ids",e,array(number())),unpackResult(this.#e.isGroupable(e))}group(e){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.group(e))}ungroup(e){return assert2("id",e,number()),unpackResult(this.#e.ungroup(e))}enterGroup(e){return assert2("id",e,number()),unpackResult(this.#e.enterGroup(e))}exitGroup(e){return assert2("id",e,number()),unpackResult(this.#e.exitGroup(e))}isCombinable(e){return assert2("ids",e,array(number())),unpackResult(this.#e.isCombinable(e))}combine(e,t){return assert2("ids",e,array(number())),assert2("op",t,string()),unpackResult(this.#e.combine(e,t))}setName(e,t){return assert2("id",e,integer()),assert2("name",t,string()),unpackResult(this.#e.setName(e,t))}getName(e){return assert2("id",e,integer()),unpackResult(this.#e.getName(e))}getUUID(e){return assert2("id",e,integer()),unpackResult(this.#e.getUUID(e))}findByName(e){assert2("name",e,string());const t=this.#e.findByName(e);return cppVectorToArray_default(t)}findByType(e){assert2("type",e,string());const t=unpackResult(this.#e.findByType(e));return cppVectorToArray_default(t)}findByKind(e){assert2("kind",e,string());const t=unpackResult(this.#e.findByKind(e));return cppVectorToArray_default(t)}findAll(){return cppVectorToArray_default(this.#e.findAll())}findAllPlaceholders(){return cppVectorToArray_default(this.#e.findAllPlaceholders())}createShape(e){return assert2("type",e,string()),unpackResult(this.#e.createShape(e))}hasShape(e){return assert2("id",e,integer()),unpackResult(this.#e.hasShape(e))}getShape(e){return assert2("id",e,integer()),unpackResult(this.#e.getShape(e))}setShape(e,t){return assert2("id",e,integer()),assert2("shape",t,integer()),unpackResult(this.#e.setShape(e,t))}isVisible(e){return assert2("id",e,integer()),unpackResult(this.#e.isVisible(e))}setVisible(e,t){return assert2("id",e,integer()),assert2("visible",t,boolean()),unpackResult(this.#e.setVisible(e,t))}isClipped(e){return assert2("id",e,integer()),unpackResult(this.#e.isClipped(e))}setClipped(e,t){return assert2("id",e,integer()),assert2("clipped",t,boolean()),unpackResult(this.#e.setClipped(e,t))}isTransformLocked(e){return assert2("id",e,integer()),unpackResult(this.#e.isTransformLocked(e))}setTransformLocked(e,t){return assert2("id",e,integer()),assert2("locked",t,boolean()),unpackResult(this.#e.setTransformLocked(e,t))}getPositionX(e){return assert2("id",e,integer()),unpackResult(this.#e.getPositionX(e))}getPositionXMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getPositionXMode(e))}getPositionY(e){return assert2("id",e,integer()),unpackResult(this.#e.getPositionY(e))}getPositionYMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getPositionYMode(e))}setPositionX(e,t){return assert2("id",e,integer()),assert2("value",t,number()),unpackResult(this.#e.setPositionX(e,t))}setPositionXMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setPositionXMode(e,t))}setPositionY(e,t){return assert2("id",e,integer()),assert2("value",t,number()),unpackResult(this.#e.setPositionY(e,t))}setPositionYMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setPositionYMode(e,t))}setAlwaysOnTop(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setAlwaysOnTop(e,t))}setAlwaysOnBottom(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setAlwaysOnBottom(e,t))}isAlwaysOnTop(e){return assert2("id",e,integer()),unpackResult(this.#e.isAlwaysOnTop(e))}isAlwaysOnBottom(e){return assert2("id",e,integer()),unpackResult(this.#e.isAlwaysOnBottom(e))}bringToFront(e){return assert2("id",e,number()),unpackResult(this.#e.bringToFront(e))}sendToBack(e){return assert2("id",e,number()),unpackResult(this.#e.sendToBack(e))}bringForward(e){return assert2("id",e,number()),unpackResult(this.#e.bringForward(e))}sendBackward(e){return assert2("id",e,number()),unpackResult(this.#e.sendBackward(e))}getRotation(e){return assert2("id",e,integer()),unpackResult(this.#e.getRotation(e))}setRotation(e,t){return assert2("id",e,integer()),assert2("radians",t,number()),unpackResult(this.#e.setRotation(e,t))}getFlipHorizontal(e){return assert2("id",e,integer()),unpackResult(this.#e.getFlip(e)).horizontal}getFlipVertical(e){return assert2("id",e,integer()),unpackResult(this.#e.getFlip(e)).vertical}setFlipHorizontal(e,t){return assert2("id",e,integer()),assert2("flip",t,boolean()),unpackResult(this.#e.setFlipHorizontal(e,t))}setFlipVertical(e,t){return assert2("id",e,integer()),assert2("flip",t,boolean()),unpackResult(this.#e.setFlipVertical(e,t))}hasContentFillMode(e){return assert2("id",e,integer()),unpackResult(this.#e.hasContentFillMode(e))}getWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getWidth(e))}getWidthMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getWidthMode(e))}getHeight(e){return assert2("id",e,integer()),unpackResult(this.#e.getHeight(e))}getHeightMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getHeightMode(e))}setWidth(e,t){return assert2("id",e,integer()),assert2("value",t,number()),unpackResult(this.#e.setWidth(e,t))}setWidthMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setWidthMode(e,t))}setHeight(e,t){return assert2("id",e,integer()),assert2("value",t,number()),unpackResult(this.#e.setHeight(e,t))}setHeightMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setHeightMode(e,t))}getFrameX(e){return assert2("id",e,integer()),unpackResult(this.#e.getLastFrameX(e))}getFrameY(e){return assert2("id",e,integer()),unpackResult(this.#e.getLastFrameY(e))}getFrameWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getLastFrameWidth(e))}getFrameHeight(e){return assert2("id",e,integer()),unpackResult(this.#e.getLastFrameHeight(e))}setContentFillMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setContentFillMode(e,t))}getContentFillMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getContentFillMode(e))}duplicate(e){return assert2("id",e,integer()),unpackResult(this.#e.duplicate(e))}destroy(e){return assert2("id",e,integer()),unpackResult(this.#e.destroy(e))}isValid(e){return assert2("id",e,integer()),this.#e.isValid(e)}getParent(e){return assert2("id",e,integer()),unpackResult(this.#e.hasParent(e))?unpackResult(this.#e.getParent(e)):null}getChildren(e){assert2("id",e,integer());const t=unpackResult(this.#e.getChildren(e));return cppVectorToArray_default(t)}insertChild(e,t,r){return assert2("parent",e,number()),assert2("child",t,number()),assert2("index",r,min(number(),0)),unpackResult(this.#e.insertChild(e,t,r))}appendChild(e,t){return assert2("parent",e,number()),assert2("child",t,number()),unpackResult(this.#e.appendChild(e,t))}referencesAnyVariables(e){return assert2("id",e,integer()),unpackResult(this.#e.referencesAnyVariables(e))}getGlobalBoundingBoxX(e){return assert2("id",e,integer()),unpackResult(this.#e.getGlobalBoundingBoxX(e))}getGlobalBoundingBoxY(e){return assert2("id",e,integer()),unpackResult(this.#e.getGlobalBoundingBoxY(e))}getGlobalBoundingBoxWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getGlobalBoundingBoxWidth(e))}getGlobalBoundingBoxHeight(e){return assert2("id",e,integer()),unpackResult(this.#e.getGlobalBoundingBoxHeight(e))}getScreenSpaceBoundingBoxXYWH(e){return assert2("ids",e,array(number())),unpackResult(this.#e.getScreenSpaceBoundingBoxXYWH(e))}alignHorizontally(e,t){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.alignHorizontally(e,t))}alignVertically(e,t){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.alignVertically(e,t))}isAlignable(e){return assert2("ids",e,array(number())),unpackResult(this.#e.isAlignable(e))}distributeHorizontally(e){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.distributeHorizontally(e))}distributeVertically(e){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.distributeVertically(e))}isDistributable(e){return assert2("ids",e,array(number())),unpackResult(this.#e.isDistributable(e))}fillParent(e){return assert2("id",e,integer()),unpackResult(this.#e.fillParent(e))}resizeContentAware(e,t,r){return assert2("ids",e,array(number())),assert2("width",t,number()),assert2("height",r,number()),unpackResult(this.#e.resizeContentAware(e,t,r))}scale(e,t,r=0,o=0){return assert2("id",e,integer()),unpackResult(this.#e.scale(e,t,r,o))}findAllProperties(e){return assert2("id",e,integer()),cppVectorToArray_default(unpackResult(this.#e.findAllProperties(e)))}isPropertyReadable(e){return assert2("property",e,string()),this.#e.isPropertyReadable(e)}isPropertyWritable(e){return assert2("property",e,string()),this.#e.isPropertyWritable(e)}getPropertyType(e){assert2("property",e,string());return unpackResult(this.#e.getPropertyType(e))}getEnumValues(e){return assert2("enumProperty",e,string()),cppVectorToArray_default(unpackResult(this.#e.getEnumValues(e)))}setBool(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,boolean()),unpackResult(this.#e.setBool(e,t,r))}getBool(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getBool(e,t))}setInt(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,integer()),unpackResult(this.#e.setInt(e,t,r))}getInt(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getInt(e,t))}setFloat(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,number()),unpackResult(this.#e.setFloat(e,t,r))}getFloat(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getFloat(e,t))}setDouble(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,number()),unpackResult(this.#e.setDouble(e,t,r))}getDouble(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getDouble(e,t))}setString(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,string()),unpackResult(this.#e.setString(e,t,r))}getString(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getString(e,t))}setColor(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.setColor(e,t,ColorInternal.fromColor(r)))}getColor(e,t){return assert2("id",e,integer()),assert2("property",t,string()),ColorInternal.toColor(unpackResult(this.#e.getColor(e,t)))}setColorRGBA(e,t,r,o,n,s=1){return assert2("id",e,integer()),assert2("property",t,string()),assert2("r",r,number()),assert2("g",o,number()),assert2("b",n,number()),assert2("a",s,number()),unpackResult(this.#e.setColorRGBA(e,t,r,o,n,s))}getColorRGBA(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getColorRGBA(e,t))}setColorSpot(e,t,r,o=1){return assert2("id",e,integer()),assert2("property",t,string()),assert2("name",r,string()),assert2("tint",o,number()),unpackResult(this.#e.setColorSpot(e,t,r,o))}getColorSpotName(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getColorSpotName(e,t))}getColorSpotTint(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getColorSpotTint(e,t))}setGradientColorStops(e,t,r){assert2("id",e,integer()),assert2("property",t,string());const o=r.map((e=>({color:ColorInternal.fromColor(e.color),stop:e.stop})));return unpackResult(this.#e.setGradientColorStops(e,t,o))}getGradientColorStops(e,t){assert2("id",e,integer()),assert2("property",t,string());const r=unpackResult(this.#e.getGradientColorStops(e,t));return cppVectorToArray_default(r).map((e=>({color:ColorInternal.toColor(e.color),stop:e.stop})))}getSourceSet(e,t){return assert2("id",e,integer()),assert2("property",t,string()),cppVectorToArray_default(unpackResult(this.#e.getSourceSet(e,t)))}setSourceSet(e,t,r){assert2("id",e,integer()),assert2("property",t,string()),assert2("sourceSet",r,array(object({uri:string(),width:number(),height:number()}))),unpackResult(this.#e.setSourceSet(e,t,r))}setEnum(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,string()),unpackResult(this.#e.setEnum(e,t,r))}getEnum(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getEnum(e,t))}hasCrop(e){return assert2("id",e,integer()),unpackResult(this.#e.hasCrop(e))}setCropScaleX(e,t){return assert2("id",e,integer()),assert2("scaleX",t,number()),unpackResult(this.#e.setCropScaleX(e,t))}setCropScaleY(e,t){return assert2("id",e,integer()),assert2("scaleY",t,number()),unpackResult(this.#e.setCropScaleY(e,t))}setCropRotation(e,t){return assert2("id",e,integer()),assert2("rotation",t,number()),unpackResult(this.#e.setCropRotation(e,t))}setCropScaleRatio(e,t){return assert2("id",e,integer()),assert2("scaleRatio",t,number()),unpackResult(this.#e.setCropScaleRatio(e,t))}setCropTranslationX(e,t){return assert2("id",e,integer()),assert2("translationX",t,number()),unpackResult(this.#e.setCropTranslationX(e,t))}setCropTranslationY(e,t){return assert2("id",e,integer()),assert2("translationY",t,number()),unpackResult(this.#e.setCropTranslationY(e,t))}resetCrop(e){return assert2("id",e,integer()),unpackResult(this.#e.resetCrop(e))}getCropScaleX(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropScaleX(e))}getCropScaleY(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropScaleY(e))}getCropRotation(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropRotation(e))}getCropScaleRatio(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropScaleRatio(e))}getCropTranslationX(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropTranslationX(e))}getCropTranslationY(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropTranslationY(e))}adjustCropToFillFrame(e,t){return assert2("id",e,integer()),assert2("minScaleRatio",t,number()),unpackResult(this.#e.adjustCropToFillFrame(e,t))}flipCropHorizontal(e){return assert2("id",e,integer()),unpackResult(this.#e.flipCropHorizontal(e))}flipCropVertical(e){return assert2("id",e,integer()),unpackResult(this.#e.flipCropVertical(e))}hasOpacity(e){return assert2("id",e,integer()),unpackResult(this.#e.hasOpacity(e))}setOpacity(e,t){return assert2("id",e,integer()),assert2("opacity",t,number()),unpackResult(this.#e.setOpacity(e,t))}getOpacity(e){return assert2("id",e,integer()),unpackResult(this.#e.getOpacity(e))}hasBlendMode(e){return assert2("id",e,integer()),unpackResult(this.#e.hasBlendMode(e))}setBlendMode(e,t){return assert2("id",e,integer()),assert2("blendMode",t,string()),unpackResult(this.#e.setBlendMode(e,t))}getBlendMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getBlendMode(e))}hasFillColor(e){return assert2("id",e,integer()),unpackResult(this.#e.hasFillColor(e))}isIncludedInExport(e){return assert2("id",e,integer()),unpackResult(this.#e.isIncludedInExport(e))}setIncludedInExport(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setIncludedInExport(e,t))}setFillColorRGBA(e,t,r,o,n=1){return assert2("id",e,integer()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),assert2("a",n,number()),unpackResult(this.#e.setFillColorRGBA(e,t,r,o,n))}getFillColorRGBA(e){return assert2("id",e,integer()),unpackResult(this.#e.getFillColorRGBA(e))}setFillColorEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setFillColorEnabled(e,t))}isFillColorEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isFillColorEnabled(e))}createEffect(e){return assert2("type",e,string()),unpackResult(this.#e.createEffect(e))}hasEffects(e){return assert2("id",e,integer()),unpackResult(this.#e.hasEffects(e))}getEffects(e){assert2("id",e,integer());const t=unpackResult(this.#e.getEffects(e));return cppVectorToArray_default(t)}insertEffect(e,t,r){assert2("id",e,integer()),assert2("effectId",t,integer()),assert2("index",r,min(integer(),0)),unpackResult(this.#e.insertEffect(e,t,r))}appendEffect(e,t){assert2("id",e,integer()),assert2("effectId",t,integer()),unpackResult(this.#e.appendEffect(e,t))}removeEffect(e,t){assert2("id",e,integer()),assert2("index",t,min(integer(),0)),unpackResult(this.#e.removeEffect(e,t))}hasEffectEnabled(e){return assert2("effectId",e,integer()),unpackResult(this.#e.hasEffectEnabled(e))}setEffectEnabled(e,t){assert2("effectId",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setEffectEnabled(e,t))}isEffectEnabled(e){return assert2("effectId",e,integer()),unpackResult(this.#e.isEffectEnabled(e))}createBlur(e){return assert2("type",e,string()),unpackResult(this.#e.createBlur(e))}hasBlur(e){return assert2("id",e,integer()),unpackResult(this.#e.hasBlur(e))}setBlur(e,t){assert2("id",e,integer()),assert2("blurId",t,integer()),unpackResult(this.#e.setBlur(e,t))}getBlur(e){return assert2("id",e,integer()),unpackResult(this.#e.getBlur(e))}setBlurEnabled(e,t){assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setBlurEnabled(e,t))}isBlurEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isBlurEnabled(e))}hasBackgroundColor(e){return assert2("id",e,integer()),unpackResult(this.#e.hasBackgroundColor(e))}setBackgroundColorRGBA(e,t,r,o,n=1){return assert2("id",e,integer()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),assert2("a",n,number()),unpackResult(this.#e.setBackgroundColorRGBA(e,t,r,o,n))}getBackgroundColorRGBA(e){return assert2("id",e,integer()),unpackResult(this.#e.getBackgroundColorRGBA(e))}setBackgroundColorEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setBackgroundColorEnabled(e,t))}isBackgroundColorEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isBackgroundColorEnabled(e))}hasStroke(e){return assert2("id",e,integer()),unpackResult(this.#e.hasStroke(e))}setStrokeEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setStrokeEnabled(e,t))}isStrokeEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isStrokeEnabled(e))}setStrokeColorRGBA(e,t,r,o,n=1){return assert2("id",e,integer()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),assert2("a",n,number()),unpackResult(this.#e.setStrokeColorRGBA(e,t,r,o,n))}setStrokeColor(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setStrokeColor(e,ColorInternal.fromColor(t)))}getStrokeColorRGBA(e){return assert2("id",e,integer()),unpackResult(this.#e.getStrokeColorRGBA(e))}getStrokeColor(e){return assert2("id",e,integer()),ColorInternal.toColor(unpackResult(this.#e.getStrokeColor(e)))}setStrokeWidth(e,t){return assert2("id",e,integer()),assert2("width",t,number()),unpackResult(this.#e.setStrokeWidth(e,t))}getStrokeWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getStrokeWidth(e))}setStrokeStyle(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setStrokeStyle(e,t))}getStrokeStyle(e){assert2("id",e,integer());return unpackResult(this.#e.getStrokeStyle(e))}setStrokePosition(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setStrokePosition(e,t))}getStrokePosition(e){assert2("id",e,integer());return unpackResult(this.#e.getStrokePosition(e))}setStrokeCornerGeometry(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setStrokeCornerGeometry(e,t))}getStrokeCornerGeometry(e){assert2("id",e,integer());return unpackResult(this.#e.getStrokeCornerGeometry(e))}hasDropShadow(e){return assert2("id",e,integer()),unpackResult(this.#e.hasDropShadow(e))}setDropShadowEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setDropShadowEnabled(e,t))}isDropShadowEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isDropShadowEnabled(e))}setDropShadowColorRGBA(e,t,r,o,n=1){return assert2("id",e,integer()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),assert2("a",n,number()),unpackResult(this.#e.setDropShadowColorRGBA(e,t,r,o,n))}setDropShadowColor(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setDropShadowColor(e,ColorInternal.fromColor(t)))}getDropShadowColorRGBA(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowColorRGBA(e))}getDropShadowColor(e){return assert2("id",e,integer()),ColorInternal.toColor(unpackResult(this.#e.getDropShadowColor(e)))}setDropShadowOffsetX(e,t){return assert2("id",e,integer()),assert2("offsetX",t,number()),unpackResult(this.#e.setDropShadowOffsetX(e,t))}getDropShadowOffsetX(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowOffsetX(e))}setDropShadowOffsetY(e,t){return assert2("id",e,integer()),assert2("offsetY",t,number()),unpackResult(this.#e.setDropShadowOffsetY(e,t))}getDropShadowOffsetY(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowOffsetY(e))}setDropShadowBlurRadiusX(e,t){return assert2("id",e,integer()),assert2("blurRadiusX",t,number()),unpackResult(this.#e.setDropShadowBlurRadiusX(e,t))}getDropShadowBlurRadiusX(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowBlurRadiusX(e))}setDropShadowBlurRadiusY(e,t){return assert2("id",e,integer()),assert2("blurRadiusY",t,number()),unpackResult(this.#e.setDropShadowBlurRadiusY(e,t))}getDropShadowBlurRadiusY(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowBlurRadiusY(e))}setDropShadowClip(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setDropShadowClip(e,t))}getDropShadowClip(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowClip(e))}createCutoutFromBlocks(e,t=2,r=4){return assert2("ids",e,array(integer())),assert2("vectorizeDistanceThreshold",t,number()),assert2("maxSmoothingDistance",r,number()),unpackResult(this.#e.createCutoutFromBlocks(e,t,r))}createCutoutFromPath(e){return assert2("path",e,string()),unpackResult(this.#e.createCutoutFromPath(e))}createCutoutFromOperation(e,t){return assert2("ids",e,array(integer())),assert2("op",t,cutoutOperationShape()),unpackResult(this.#e.createCutoutFromOperation(e,t))}replaceText(e,t,r=-1,o=-1){assert2("id",e,integer()),assert2("text",t,string()),assert2("from",r,integer()),assert2("to",o,integer()),unpackResult(this.#e.replaceText(e,t,r,o))}removeText(e,t=-1,r=-1){assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer()),unpackResult(this.#e.removeText(e,t,r))}setTextColor(e,t,r=-1,o=-1){assert2("id",e,integer()),assert2("from",r,integer()),assert2("to",o,integer()),unpackResult(this.#e.setTextColor(e,ColorInternal.fromColor(t),r,o))}getTextColors(e,t=-1,r=-1){assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer());const o=this.#e.getTextColors(e,t,r);return cppVectorToArray_default(unpackResult(o)).map((e=>ColorInternal.toColor(e)))}getTextFontWeights(e,t=-1,r=-1){return assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer()),cppVectorToArray_default(unpackResult(this.#e.getTextFontWeights(e,t,r)))}getTextFontStyles(e,t=-1,r=-1){return assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer()),cppVectorToArray_default(unpackResult(this.#e.getTextFontStyles(e,t,r)))}getTextCases(e,t=-1,r=-1){return assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer()),cppVectorToArray_default(unpackResult(this.#e.getTextCases(e,t,r)))}setTextCase(e,t,r=-1,o=-1){assert2("id",e,integer()),assert2("textCase",t,string()),assert2("from",r,integer()),assert2("to",o,integer()),unpackResult(this.#e.setTextCase(e,t,r,o))}getTextCursorRange(){return unpackResult(this.#e.getTextCursorRange())}hasFill(e){return assert2("id",e,integer()),unpackResult(this.#e.hasFill(e))}isFillEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isFillEnabled(e))}setFillEnabled(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setFillEnabled(e,t))}getFill(e){return assert2("id",e,integer()),unpackResult(this.#e.getFill(e))}setFill(e,t){return assert2("id",e,integer()),assert2("fill",t,integer()),unpackResult(this.#e.setFill(e,t))}setFillSolidColor(e,t,r,o,n=1){assert2("id",e,integer()),unpackResult(this.#e.setFillSolidColor(e,t,r,o,n))}getFillSolidColor(e){return assert2("id",e,integer()),unpackResult(this.#e.getFillSolidColor(e))}setPlaceholderEnabled(e,t){assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setPlaceholderEnabled(e,t))}isPlaceholderEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaceholderEnabled(e))}hasPlaceholderBehavior(e){return assert2("id",e,integer()),unpackResult(this.#e.hasPlaceholderBehavior(e))}setPlaceholderBehaviorEnabled(e,t){assert2("id",e,integer()),unpackResult(this.#e.setPlaceholderBehaviorEnabled(e,t))}isPlaceholderBehaviorEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaceholderBehaviorEnabled(e))}hasPlaceholderControls(e){return assert2("id",e,integer()),unpackResult(this.#e.hasPlaceholderControls(e))}setPlaceholderControlsOverlayEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setPlaceholderControlsOverlayEnabled(e,t))}isPlaceholderControlsOverlayEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaceholderControlsOverlayEnabled(e))}setPlaceholderControlsButtonEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setPlaceholderControlsButtonEnabled(e,t))}isPlaceholderControlsButtonEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaceholderControlsButtonEnabled(e))}setMetadata(e,t,r){assert2("id",e,integer()),assert2("key",t,string()),assert2("value",r,string()),unpackResult(this.#e.setMetadata(e,t,r))}getMetadata(e,t){return assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.getMetadata(e,t))}hasMetadata(e,t){return assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.hasMetadata(e,t))}findAllMetadata(e){return assert2("id",e,integer()),cppVectorToArray_default(unpackResult(this.#e.findAllMetadata(e)))}removeMetadata(e,t){assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.removeMetadata(e,t))}setScopeEnabled(e,t,r){assert2("id",e,integer()),assert2("key",t,string()),assert2("enabled",r,boolean()),unpackResult(this.#e.setScopeEnabled(e,t,r))}isScopeEnabled(e,t){return assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.isScopeEnabled(e,t))}isAllowedByScope(e,t){return assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.isAllowedByScope(e,t))}hasDuration(e){return assert2("id",e,integer()),unpackResult(this.#e.hasDuration(e))}setDuration(e,t){return assert2("id",e,integer()),assert2("duration",t,number()),unpackResult(this.#e.setDuration(e,t))}getDuration(e){return assert2("id",e,integer()),unpackResult(this.#e.getDuration(e))}hasTimeOffset(e){return assert2("id",e,integer()),unpackResult(this.#e.hasTimeOffset(e))}setTimeOffset(e,t){return assert2("id",e,integer()),assert2("offset",t,number()),unpackResult(this.#e.setTimeOffset(e,t))}getTimeOffset(e){return assert2("id",e,integer()),unpackResult(this.#e.getTimeOffset(e))}hasTrim(e){return assert2("id",e,integer()),unpackResult(this.#e.hasTrim(e))}setTrimOffset(e,t){return assert2("id",e,integer()),assert2("offset",t,number()),unpackResult(this.#e.setTrimOffset(e,t))}getTrimOffset(e){return assert2("id",e,integer()),unpackResult(this.#e.getTrimOffset(e))}setTrimLength(e,t){return assert2("id",e,integer()),assert2("length",t,number()),unpackResult(this.#e.setTrimLength(e,t))}getTrimLength(e){return assert2("id",e,integer()),unpackResult(this.#e.getTrimLength(e))}getTotalSceneDuration(e){return assert2("scene",e,integer()),unpackResult(this.#e.getTotalSceneDuration(e))}setPlaying(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setPlaying(e,t))}isPlaying(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaying(e))}hasPlaybackTime(e){return assert2("id",e,integer()),unpackResult(this.#e.hasPlaybackTime(e))}setPlaybackTime(e,t){return assert2("id",e,integer()),assert2("time",t,number()),unpackResult(this.#e.setPlaybackTime(e,t))}getPlaybackTime(e){return assert2("id",e,integer()),unpackResult(this.#e.getPlaybackTime(e))}isVisibleAtCurrentPlaybackTime(e){return assert2("id",e,integer()),unpackResult(this.#e.isVisibleAtCurrentPlaybackTime(e))}setSoloPlaybackEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setSoloPlaybackEnabled(e,t))}isSoloPlaybackEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isSoloPlaybackEnabled(e))}hasPlaybackControl(e){return assert2("id",e,integer()),unpackResult(this.#e.hasPlaybackControl(e))}setLooping(e,t){assert2("id",e,integer()),assert2("looping",t,boolean()),unpackResult(this.#e.setLooping(e,t))}isLooping(e){return assert2("id",e,integer()),unpackResult(this.#e.isLooping(e))}setMuted(e,t){assert2("id",e,integer()),assert2("muted",t,boolean()),unpackResult(this.#e.setMuted(e,t))}isMuted(e){return assert2("id",e,integer()),unpackResult(this.#e.isMuted(e))}setVolume(e,t){assert2("id",e,integer()),assert2("volume",t,number()),unpackResult(this.#e.setVolume(e,t))}getVolume(e){return assert2("id",e,integer()),unpackResult(this.#e.getVolume(e))}async forceLoadAVResource(e){return assert2("id",e,integer()),unpackAsync((t=>this.#e.forceLoadAVResource(e,t)))}unstable_isAVResourceLoaded(e){return assert2("id",e,integer()),unpackResult(this.#e.unstable_isAVResourceLoaded(e))}getAVResourceTotalDuration(e){return assert2("id",e,integer()),unpackResult(this.#e.getAVResourceTotalDuration(e))}getVideoWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getVideoWidth(e))}getVideoHeight(e){return assert2("id",e,integer()),unpackResult(this.#e.getVideoHeight(e))}generateVideoThumbnailSequence(e,t,r,o,n,s){return assert2("id",e,integer()),assert2("thumbnailHeight",t,integer()),assert2("timeBegin",r,number()),assert2("timeEnd",o,number()),assert2("numberOfFrames",n,integer()),this.#e.generateVideoThumbnailSequence(e,t,r,o,n,(e=>{"error"in e?s(0,new Error(e.error)):s(e.frameIndex,new ImageData(new Uint8ClampedArray(e.imageData),e.width,e.height))})),()=>{this.#e.cancelVideoThumbnailSequenceGeneration(e)}}async getVideoFillThumbnail(e,t){return assert2("id",e,integer()),assert2("thumbnailHeight",t,integer()),new Promise(((r,o)=>{this.#e.getVideoFillThumbnail(e,t,(e=>{"error"in e?o(e.error):r(new Blob_default([e],{type:"image/jpeg"}))}))}))}async getVideoFillThumbnailAtlas(e,t,r,o){return assert2("id",e,integer()),assert2("numberOfColumns",t,integer()),assert2("numberOfRows",r,integer()),assert2("thumbnailHeight",o,integer()),new Promise(((n,s)=>{this.#e.getVideoFillThumbnailAtlas(e,t,r,o,(e=>{"error"in e?s(e.error):n(new Blob_default([e],{type:"image/jpeg"}))}))}))}async getPageThumbnailAtlas(e,t,r,o){return assert2("id",e,integer()),assert2("numberOfColumns",t,integer()),assert2("numberOfRows",r,integer()),new Promise(((n,s)=>{this.#e.getPageThumbnailAtlas(e,t,r,o,(e=>{"error"in e?s(e.error):n(new Blob_default([e],{type:"image/jpeg"}))}))}))}setNativePixelBuffer(e,t){t instanceof HTMLVideoElement&&(t.width=t.videoWidth,t.height=t.videoHeight),unpackResult(this.#e.setNativePixelBuffer(e,t))}};function migrateConfigObject(e){var t;return e&&"callbacks"in e&&(null==(t=e.callbacks)?void 0:t.log)&&!e.logger?{...e,logger:e.callbacks.log}:e}function apiFallback(e,t){var r,o,n,s,a,i,u,l;if(e)try{const c=t.editor;if(null!=(null==(o=null==(r=e.page)?void 0:r.title)?void 0:o.show)&&c.setSettingBool("page/title/show",e.page.title.show),null!=(null==(s=null==(n=e.page)?void 0:n.title)?void 0:s.fontFileUri)&&c.setSettingString("page/title/fontFileUri",null==(i=null==(a=e.page)?void 0:a.title)?void 0:i.fontFileUri),null!=(null==(u=e.page)?void 0:u.dimOutOfPageAreas)&&c.setSettingBool("page/dimOutOfPageAreas",null==(l=e.page)?void 0:l.dimOutOfPageAreas),e.variables)for(const r in e.variables)if(Object.prototype.hasOwnProperty.call(e.variables,r)){const o=e.variables[r];t.variable.setString(r,String(o.value))}}catch(e){console.error(e)}}function warnKeys(e){var t;const r=[];return e?("callbacks"in e&&(null==(t=e.callbacks)?void 0:t.log)&&r.push("config.callbacks.log has been moved to config.logger"),e.scene&&r.push("config.scene options have been removed. You can set a scene's dpi and pixelScaleFactor via the BlockApi's setInt(sceneId, 'scene/dpi', dpi) and setInt(sceneId, 'scene/pixelScaleFactor', factor)."),e.page&&r.push("config.page options have been moved to the EditorAPI"),e.variables&&r.push("config.variables has been removed. Please use the VariableAPI instead"),r):r}__decorateClass([setter],BlockAPI.prototype,"loadFromString",1),__decorateClass([setter],BlockAPI.prototype,"create",1),__decorateClass([setter],BlockAPI.prototype,"createFill",1),__decorateClass([getter],BlockAPI.prototype,"getType",1),__decorateClass([setter],BlockAPI.prototype,"select",1),__decorateClass([setter],BlockAPI.prototype,"setSelected",1),__decorateClass([getter],BlockAPI.prototype,"isSelected",1),__decorateClass([getter],BlockAPI.prototype,"findAllSelected",1),__decorateClass([getter],BlockAPI.prototype,"isGroupable",1),__decorateClass([setter],BlockAPI.prototype,"group",1),__decorateClass([setter],BlockAPI.prototype,"ungroup",1),__decorateClass([setter],BlockAPI.prototype,"enterGroup",1),__decorateClass([setter],BlockAPI.prototype,"exitGroup",1),__decorateClass([getter],BlockAPI.prototype,"isCombinable",1),__decorateClass([setter],BlockAPI.prototype,"combine",1),__decorateClass([setter],BlockAPI.prototype,"setName",1),__decorateClass([getter],BlockAPI.prototype,"getName",1),__decorateClass([getter],BlockAPI.prototype,"getUUID",1),__decorateClass([getter],BlockAPI.prototype,"findByName",1),__decorateClass([getter],BlockAPI.prototype,"findByType",1),__decorateClass([getter],BlockAPI.prototype,"findAll",1),__decorateClass([getter],BlockAPI.prototype,"findAllPlaceholders",1),__decorateClass([setter],BlockAPI.prototype,"createShape",1),__decorateClass([getter],BlockAPI.prototype,"hasShape",1),__decorateClass([getter],BlockAPI.prototype,"getShape",1),__decorateClass([setter],BlockAPI.prototype,"setShape",1),__decorateClass([getter],BlockAPI.prototype,"isVisible",1),__decorateClass([setter],BlockAPI.prototype,"setVisible",1),__decorateClass([getter],BlockAPI.prototype,"isClipped",1),__decorateClass([setter],BlockAPI.prototype,"setClipped",1),__decorateClass([getter],BlockAPI.prototype,"isTransformLocked",1),__decorateClass([setter],BlockAPI.prototype,"setTransformLocked",1),__decorateClass([getter],BlockAPI.prototype,"getPositionX",1),__decorateClass([getter],BlockAPI.prototype,"getPositionXMode",1),__decorateClass([getter],BlockAPI.prototype,"getPositionY",1),__decorateClass([getter],BlockAPI.prototype,"getPositionYMode",1),__decorateClass([setter],BlockAPI.prototype,"setPositionX",1),__decorateClass([setter],BlockAPI.prototype,"setPositionXMode",1),__decorateClass([setter],BlockAPI.prototype,"setPositionY",1),__decorateClass([setter],BlockAPI.prototype,"setPositionYMode",1),__decorateClass([setter],BlockAPI.prototype,"setAlwaysOnTop",1),__decorateClass([setter],BlockAPI.prototype,"setAlwaysOnBottom",1),__decorateClass([getter],BlockAPI.prototype,"isAlwaysOnTop",1),__decorateClass([getter],BlockAPI.prototype,"isAlwaysOnBottom",1),__decorateClass([setter],BlockAPI.prototype,"bringToFront",1),__decorateClass([setter],BlockAPI.prototype,"sendToBack",1),__decorateClass([setter],BlockAPI.prototype,"bringForward",1),__decorateClass([setter],BlockAPI.prototype,"sendBackward",1),__decorateClass([getter],BlockAPI.prototype,"getRotation",1),__decorateClass([setter],BlockAPI.prototype,"setRotation",1),__decorateClass([getter],BlockAPI.prototype,"getFlipHorizontal",1),__decorateClass([getter],BlockAPI.prototype,"getFlipVertical",1),__decorateClass([setter],BlockAPI.prototype,"setFlipHorizontal",1),__decorateClass([setter],BlockAPI.prototype,"setFlipVertical",1),__decorateClass([getter],BlockAPI.prototype,"hasContentFillMode",1),__decorateClass([getter],BlockAPI.prototype,"getWidth",1),__decorateClass([getter],BlockAPI.prototype,"getWidthMode",1),__decorateClass([getter],BlockAPI.prototype,"getHeight",1),__decorateClass([getter],BlockAPI.prototype,"getHeightMode",1),__decorateClass([setter],BlockAPI.prototype,"setWidth",1),__decorateClass([setter],BlockAPI.prototype,"setWidthMode",1),__decorateClass([setter],BlockAPI.prototype,"setHeight",1),__decorateClass([setter],BlockAPI.prototype,"setHeightMode",1),__decorateClass([getter],BlockAPI.prototype,"getFrameX",1),__decorateClass([getter],BlockAPI.prototype,"getFrameY",1),__decorateClass([getter],BlockAPI.prototype,"getFrameWidth",1),__decorateClass([getter],BlockAPI.prototype,"getFrameHeight",1),__decorateClass([setter],BlockAPI.prototype,"setContentFillMode",1),__decorateClass([getter],BlockAPI.prototype,"getContentFillMode",1),__decorateClass([setter],BlockAPI.prototype,"duplicate",1),__decorateClass([setter],BlockAPI.prototype,"destroy",1),__decorateClass([getter],BlockAPI.prototype,"isValid",1),__decorateClass([getter],BlockAPI.prototype,"getParent",1),__decorateClass([getter],BlockAPI.prototype,"getChildren",1),__decorateClass([setter],BlockAPI.prototype,"insertChild",1),__decorateClass([setter],BlockAPI.prototype,"appendChild",1),__decorateClass([getter],BlockAPI.prototype,"referencesAnyVariables",1),__decorateClass([getter],BlockAPI.prototype,"getGlobalBoundingBoxX",1),__decorateClass([getter],BlockAPI.prototype,"getGlobalBoundingBoxY",1),__decorateClass([getter],BlockAPI.prototype,"getGlobalBoundingBoxWidth",1),__decorateClass([getter],BlockAPI.prototype,"getGlobalBoundingBoxHeight",1),__decorateClass([getter],BlockAPI.prototype,"getScreenSpaceBoundingBoxXYWH",1),__decorateClass([setter],BlockAPI.prototype,"alignHorizontally",1),__decorateClass([setter],BlockAPI.prototype,"alignVertically",1),__decorateClass([getter],BlockAPI.prototype,"isAlignable",1),__decorateClass([setter],BlockAPI.prototype,"distributeHorizontally",1),__decorateClass([setter],BlockAPI.prototype,"distributeVertically",1),__decorateClass([setter],BlockAPI.prototype,"isDistributable",1),__decorateClass([setter],BlockAPI.prototype,"fillParent",1),__decorateClass([setter],BlockAPI.prototype,"resizeContentAware",1),__decorateClass([setter],BlockAPI.prototype,"scale",1),__decorateClass([getter],BlockAPI.prototype,"findAllProperties",1),__decorateClass([getter],BlockAPI.prototype,"isPropertyReadable",1),__decorateClass([getter],BlockAPI.prototype,"isPropertyWritable",1),__decorateClass([getter],BlockAPI.prototype,"getPropertyType",1),__decorateClass([getter],BlockAPI.prototype,"getEnumValues",1),__decorateClass([setter],BlockAPI.prototype,"setBool",1),__decorateClass([getter],BlockAPI.prototype,"getBool",1),__decorateClass([setter],BlockAPI.prototype,"setInt",1),__decorateClass([getter],BlockAPI.prototype,"getInt",1),__decorateClass([setter],BlockAPI.prototype,"setFloat",1),__decorateClass([getter],BlockAPI.prototype,"getFloat",1),__decorateClass([setter],BlockAPI.prototype,"setDouble",1),__decorateClass([getter],BlockAPI.prototype,"getDouble",1),__decorateClass([setter],BlockAPI.prototype,"setString",1),__decorateClass([getter],BlockAPI.prototype,"getString",1),__decorateClass([setter],BlockAPI.prototype,"setColor",1),__decorateClass([getter],BlockAPI.prototype,"getColor",1),__decorateClass([setter],BlockAPI.prototype,"setColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setColorSpot",1),__decorateClass([getter],BlockAPI.prototype,"getColorSpotName",1),__decorateClass([getter],BlockAPI.prototype,"getColorSpotTint",1),__decorateClass([setter],BlockAPI.prototype,"setGradientColorStops",1),__decorateClass([getter],BlockAPI.prototype,"getGradientColorStops",1),__decorateClass([getter],BlockAPI.prototype,"getSourceSet",1),__decorateClass([setter],BlockAPI.prototype,"setSourceSet",1),__decorateClass([setter],BlockAPI.prototype,"setEnum",1),__decorateClass([getter],BlockAPI.prototype,"getEnum",1),__decorateClass([getter],BlockAPI.prototype,"hasCrop",1),__decorateClass([setter],BlockAPI.prototype,"setCropScaleX",1),__decorateClass([setter],BlockAPI.prototype,"setCropScaleY",1),__decorateClass([setter],BlockAPI.prototype,"setCropRotation",1),__decorateClass([setter],BlockAPI.prototype,"setCropScaleRatio",1),__decorateClass([setter],BlockAPI.prototype,"setCropTranslationX",1),__decorateClass([setter],BlockAPI.prototype,"setCropTranslationY",1),__decorateClass([setter],BlockAPI.prototype,"resetCrop",1),__decorateClass([getter],BlockAPI.prototype,"getCropScaleX",1),__decorateClass([getter],BlockAPI.prototype,"getCropScaleY",1),__decorateClass([getter],BlockAPI.prototype,"getCropRotation",1),__decorateClass([getter],BlockAPI.prototype,"getCropScaleRatio",1),__decorateClass([getter],BlockAPI.prototype,"getCropTranslationX",1),__decorateClass([getter],BlockAPI.prototype,"getCropTranslationY",1),__decorateClass([setter],BlockAPI.prototype,"adjustCropToFillFrame",1),__decorateClass([setter],BlockAPI.prototype,"flipCropHorizontal",1),__decorateClass([setter],BlockAPI.prototype,"flipCropVertical",1),__decorateClass([getter],BlockAPI.prototype,"hasOpacity",1),__decorateClass([setter],BlockAPI.prototype,"setOpacity",1),__decorateClass([getter],BlockAPI.prototype,"getOpacity",1),__decorateClass([getter],BlockAPI.prototype,"hasBlendMode",1),__decorateClass([setter],BlockAPI.prototype,"setBlendMode",1),__decorateClass([getter],BlockAPI.prototype,"getBlendMode",1),__decorateClass([getter],BlockAPI.prototype,"hasFillColor",1),__decorateClass([getter],BlockAPI.prototype,"isIncludedInExport",1),__decorateClass([setter],BlockAPI.prototype,"setIncludedInExport",1),__decorateClass([setter],BlockAPI.prototype,"setFillColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getFillColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setFillColorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isFillColorEnabled",1),__decorateClass([setter],BlockAPI.prototype,"createEffect",1),__decorateClass([getter],BlockAPI.prototype,"hasEffects",1),__decorateClass([getter],BlockAPI.prototype,"getEffects",1),__decorateClass([setter],BlockAPI.prototype,"insertEffect",1),__decorateClass([setter],BlockAPI.prototype,"appendEffect",1),__decorateClass([setter],BlockAPI.prototype,"removeEffect",1),__decorateClass([getter],BlockAPI.prototype,"hasEffectEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setEffectEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isEffectEnabled",1),__decorateClass([setter],BlockAPI.prototype,"createBlur",1),__decorateClass([getter],BlockAPI.prototype,"hasBlur",1),__decorateClass([setter],BlockAPI.prototype,"setBlur",1),__decorateClass([getter],BlockAPI.prototype,"getBlur",1),__decorateClass([setter],BlockAPI.prototype,"setBlurEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isBlurEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasBackgroundColor",1),__decorateClass([setter],BlockAPI.prototype,"setBackgroundColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getBackgroundColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setBackgroundColorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isBackgroundColorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasStroke",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isStrokeEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeColor",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeColor",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeWidth",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeWidth",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeStyle",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeStyle",1),__decorateClass([setter],BlockAPI.prototype,"setStrokePosition",1),__decorateClass([getter],BlockAPI.prototype,"getStrokePosition",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeCornerGeometry",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeCornerGeometry",1),__decorateClass([getter],BlockAPI.prototype,"hasDropShadow",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isDropShadowEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowColor",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowColor",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowOffsetX",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowOffsetX",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowOffsetY",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowOffsetY",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowBlurRadiusX",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowBlurRadiusX",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowBlurRadiusY",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowBlurRadiusY",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowClip",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowClip",1),__decorateClass([setter],BlockAPI.prototype,"createCutoutFromBlocks",1),__decorateClass([setter],BlockAPI.prototype,"createCutoutFromPath",1),__decorateClass([setter],BlockAPI.prototype,"createCutoutFromOperation",1),__decorateClass([setter],BlockAPI.prototype,"replaceText",1),__decorateClass([setter],BlockAPI.prototype,"removeText",1),__decorateClass([setter],BlockAPI.prototype,"setTextColor",1),__decorateClass([getter],BlockAPI.prototype,"getTextColors",1),__decorateClass([getter],BlockAPI.prototype,"getTextFontWeights",1),__decorateClass([getter],BlockAPI.prototype,"getTextFontStyles",1),__decorateClass([getter],BlockAPI.prototype,"getTextCases",1),__decorateClass([setter],BlockAPI.prototype,"setTextCase",1),__decorateClass([getter],BlockAPI.prototype,"getTextCursorRange",1),__decorateClass([getter],BlockAPI.prototype,"hasFill",1),__decorateClass([getter],BlockAPI.prototype,"isFillEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setFillEnabled",1),__decorateClass([getter],BlockAPI.prototype,"getFill",1),__decorateClass([setter],BlockAPI.prototype,"setFill",1),__decorateClass([setter],BlockAPI.prototype,"setFillSolidColor",1),__decorateClass([getter],BlockAPI.prototype,"getFillSolidColor",1),__decorateClass([setter],BlockAPI.prototype,"setPlaceholderEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isPlaceholderEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasPlaceholderBehavior",1),__decorateClass([setter],BlockAPI.prototype,"setPlaceholderBehaviorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isPlaceholderBehaviorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasPlaceholderControls",1),__decorateClass([setter],BlockAPI.prototype,"setPlaceholderControlsOverlayEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isPlaceholderControlsOverlayEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setPlaceholderControlsButtonEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isPlaceholderControlsButtonEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setMetadata",1),__decorateClass([getter],BlockAPI.prototype,"getMetadata",1),__decorateClass([getter],BlockAPI.prototype,"hasMetadata",1),__decorateClass([getter],BlockAPI.prototype,"findAllMetadata",1),__decorateClass([setter],BlockAPI.prototype,"removeMetadata",1),__decorateClass([setter],BlockAPI.prototype,"setScopeEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isScopeEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isAllowedByScope",1),__decorateClass([getter],BlockAPI.prototype,"hasDuration",1),__decorateClass([setter],BlockAPI.prototype,"setDuration",1),__decorateClass([getter],BlockAPI.prototype,"getDuration",1),__decorateClass([getter],BlockAPI.prototype,"hasTimeOffset",1),__decorateClass([setter],BlockAPI.prototype,"setTimeOffset",1),__decorateClass([getter],BlockAPI.prototype,"getTimeOffset",1),__decorateClass([getter],BlockAPI.prototype,"hasTrim",1),__decorateClass([setter],BlockAPI.prototype,"setTrimOffset",1),__decorateClass([getter],BlockAPI.prototype,"getTrimOffset",1),__decorateClass([setter],BlockAPI.prototype,"setTrimLength",1),__decorateClass([getter],BlockAPI.prototype,"getTrimLength",1),__decorateClass([getter],BlockAPI.prototype,"getTotalSceneDuration",1),__decorateClass([setter],BlockAPI.prototype,"setPlaying",1),__decorateClass([getter],BlockAPI.prototype,"isPlaying",1),__decorateClass([getter],BlockAPI.prototype,"hasPlaybackTime",1),__decorateClass([setter],BlockAPI.prototype,"setPlaybackTime",1),__decorateClass([getter],BlockAPI.prototype,"getPlaybackTime",1),__decorateClass([getter],BlockAPI.prototype,"isVisibleAtCurrentPlaybackTime",1),__decorateClass([setter],BlockAPI.prototype,"setSoloPlaybackEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isSoloPlaybackEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasPlaybackControl",1),__decorateClass([setter],BlockAPI.prototype,"setLooping",1),__decorateClass([getter],BlockAPI.prototype,"isLooping",1),__decorateClass([setter],BlockAPI.prototype,"setMuted",1),__decorateClass([getter],BlockAPI.prototype,"isMuted",1),__decorateClass([setter],BlockAPI.prototype,"setVolume",1),__decorateClass([getter],BlockAPI.prototype,"getVolume",1),__decorateClass([setter],BlockAPI.prototype,"forceLoadAVResource",1),__decorateClass([getter],BlockAPI.prototype,"unstable_isAVResourceLoaded",1),__decorateClass([getter],BlockAPI.prototype,"getAVResourceTotalDuration",1),__decorateClass([getter],BlockAPI.prototype,"getVideoWidth",1),__decorateClass([getter],BlockAPI.prototype,"getVideoHeight",1),__decorateClass([getter],BlockAPI.prototype,"getVideoFillThumbnail",1),__decorateClass([getter],BlockAPI.prototype,"getVideoFillThumbnailAtlas",1),__decorateClass([getter],BlockAPI.prototype,"getPageThumbnailAtlas",1);var EditorAPI=class{#e;constructor(e){this.#e=e}unlockWithLicense(e){unpackResult(this.#e.unlockWithLicense(e))}getActiveLicense(){return unpackResult(this.#e.getActiveLicense())}onStateChanged=e=>{const t=this.#e.subscribeToEditorState(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};setEditMode(e){assert2("keypath",e,string()),this.#e.setEditMode(e)}getEditMode(){return this.#e.getEditMode()}getCursorType(){return this.#e.getCursorType()}getCursorRotation(){return this.#e.getCursorRotation()}getTextCursorPositionInScreenSpaceX(){return this.#e.getTextCursorPositionInScreenSpaceX()}getTextCursorPositionInScreenSpaceY(){return this.#e.getTextCursorPositionInScreenSpaceY()}createHistory(){return this.#e.createHistory()}destroyHistory(e){unpackResult(this.#e.destroyHistory(e))}setActiveHistory(e){unpackResult(this.#e.setActiveHistory(e))}getActiveHistory(){return this.#e.getActiveHistory()}addUndoStep(){unpackResult(this.#e.addUndoStep())}undo(){unpackResult(this.#e.undo())}redo(){unpackResult(this.#e.redo())}canUndo(){return unpackResult(this.#e.canUndo())}canRedo(){return unpackResult(this.#e.canRedo())}onHistoryUpdated=e=>{const t=this.#e.subscribeToHistory(e);return()=>{this.#e.isDeleted()||this.#e.unsubscribe(t)}};onSettingsChanged=e=>{const t=this.#e.subscribeToSettings(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};setSettingBool(e,t){return assert2("keypath",e,string()),assert2("value",t,boolean()),unpackResult(this.#e.setSettingBool(e,t))}getSettingBool(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingBool(e))}setSettingInt(e,t){return assert2("keypath",e,string()),assert2("value",t,integer()),unpackResult(this.#e.setSettingInt(e,t))}getSettingInt(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingInt(e))}setSettingFloat(e,t){return assert2("keypath",e,string()),assert2("value",t,number()),unpackResult(this.#e.setSettingFloat(e,t))}getSettingFloat(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingFloat(e))}setSettingString(e,t){return assert2("keypath",e,string()),assert2("value",t,string()),unpackResult(this.#e.setSettingString(e,t))}getSettingString(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingString(e))}setSettingColor(e,t){return assert2("keypath",e,string()),unpackResult(this.#e.setSettingColor(e,ColorInternal.fromColor(t)))}getSettingColor(e){return assert2("keypath",e,string()),ColorInternal.toColor(unpackResult(this.#e.getSettingColor(e)))}setSettingColorRGBA(e,t,r,o,n=1){return assert2("keypath",e,string()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),assert2("a",n,number()),unpackResult(this.#e.setSettingColorRGBA(e,t,r,o,n))}getSettingColorRGBA(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingColorRGBA(e))}setSettingEnum(e,t){return assert2("keypath",e,string()),assert2("value",t,string()),unpackResult(this.#e.setSettingEnum(e,t))}getSettingEnum(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingEnum(e))}getSettingEnumOptions(e){return assert2("keypath",e,string()),cppVectorToArray_default(unpackResult(this.#e.getSettingEnumOptions(e)))}findAllSettings(){return cppVectorToArray_default(this.#e.findAllSettings())}getSettingType(e){assert2("keypath",e,string());return unpackResult(this.#e.getSettingType(e))}getAvailableMemory(){return unpackResult(this.#e.getAvailableMemory())}getUsedMemory(){return unpackResult(this.#e.getUsedMemory())}getMaxExportSize(){return unpackResult(this.#e.getMaxExportSize())}setURIResolver(e){return unpackResult(this.#e.setURIResolver(e))}defaultURIResolver(e){return this.#e.defaultURIResolver(e)}getAbsoluteURI(e){return unpackResult(this.#e.getAbsoluteURI(e))}setGlobalScope(e,t){assert2("key",e,string()),assert2("value",t,string()),unpackResult(this.#e.setGlobalScope(e,t))}getGlobalScope(e){return assert2("key",e,string()),unpackResult(this.#e.getGlobalScope(e))}findAllSpotColors(){return cppVectorToArray_default(this.#e.findAllSpotColors())}getSpotColorRGBA(e){return assert2("name",e,string()),this.#e.getSpotColorRGB(e)}getSpotColorCMYK(e){return assert2("name",e,string()),this.#e.getSpotColorCMYK(e)}setSpotColorRGB(e,t,r,o){return assert2("name",e,string()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),this.#e.setSpotColorRGB(e,t,r,o)}setSpotColorCMYK(e,t,r,o,n){return assert2("name",e,string()),assert2("c",t,number()),assert2("m",r,number()),assert2("y",o,number()),assert2("k",n,number()),this.#e.setSpotColorCMYK(e,t,r,o,n)}removeSpotColor(e){return assert2("name",e,string()),unpackResult(this.#e.removeSpotColor(e))}setSpotColorForCutoutType(e,t){return assert2("type",e,string()),assert2("color",t,string()),unpackResult(this.#e.setSpotColorForCutoutType(e,t))}getSpotColorForCutoutType(e){return assert2("type",e,string()),unpackResult(this.#e.getSpotColorForCutoutType(e))}convertColorToColorSpace(e,t){return assert2("colorSpace",t,string()),ColorInternal.toColor(unpackResult(this.#e.convertColorToColorSpace(ColorInternal.fromColor(e),t)))}};__decorateClass([setter],EditorAPI.prototype,"setEditMode",1),__decorateClass([getter],EditorAPI.prototype,"getEditMode",1),__decorateClass([getter],EditorAPI.prototype,"getCursorType",1),__decorateClass([getter],EditorAPI.prototype,"getCursorRotation",1),__decorateClass([getter],EditorAPI.prototype,"getTextCursorPositionInScreenSpaceX",1),__decorateClass([getter],EditorAPI.prototype,"getTextCursorPositionInScreenSpaceY",1),__decorateClass([setter],EditorAPI.prototype,"createHistory",1),__decorateClass([setter],EditorAPI.prototype,"destroyHistory",1),__decorateClass([setter],EditorAPI.prototype,"setActiveHistory",1),__decorateClass([getter],EditorAPI.prototype,"getActiveHistory",1),__decorateClass([setter],EditorAPI.prototype,"addUndoStep",1),__decorateClass([setter],EditorAPI.prototype,"undo",1),__decorateClass([setter],EditorAPI.prototype,"redo",1),__decorateClass([getter],EditorAPI.prototype,"canUndo",1),__decorateClass([getter],EditorAPI.prototype,"canRedo",1),__decorateClass([setter],EditorAPI.prototype,"setSettingBool",1),__decorateClass([getter],EditorAPI.prototype,"getSettingBool",1),__decorateClass([setter],EditorAPI.prototype,"setSettingInt",1),__decorateClass([getter],EditorAPI.prototype,"getSettingInt",1),__decorateClass([setter],EditorAPI.prototype,"setSettingFloat",1),__decorateClass([getter],EditorAPI.prototype,"getSettingFloat",1),__decorateClass([setter],EditorAPI.prototype,"setSettingString",1),__decorateClass([getter],EditorAPI.prototype,"getSettingString",1),__decorateClass([setter],EditorAPI.prototype,"setSettingColor",1),__decorateClass([getter],EditorAPI.prototype,"getSettingColor",1),__decorateClass([setter],EditorAPI.prototype,"setSettingColorRGBA",1),__decorateClass([getter],EditorAPI.prototype,"getSettingColorRGBA",1),__decorateClass([setter],EditorAPI.prototype,"setSettingEnum",1),__decorateClass([getter],EditorAPI.prototype,"getSettingEnum",1),__decorateClass([getter],EditorAPI.prototype,"getAvailableMemory",1),__decorateClass([getter],EditorAPI.prototype,"getUsedMemory",1),__decorateClass([getter],EditorAPI.prototype,"getMaxExportSize",1),__decorateClass([setter],EditorAPI.prototype,"setURIResolver",1),__decorateClass([getter],EditorAPI.prototype,"defaultURIResolver",1),__decorateClass([getter],EditorAPI.prototype,"getAbsoluteURI",1),__decorateClass([setter],EditorAPI.prototype,"setGlobalScope",1),__decorateClass([getter],EditorAPI.prototype,"getGlobalScope",1),__decorateClass([getter],EditorAPI.prototype,"findAllSpotColors",1),__decorateClass([getter],EditorAPI.prototype,"getSpotColorRGBA",1),__decorateClass([getter],EditorAPI.prototype,"getSpotColorCMYK",1),__decorateClass([setter],EditorAPI.prototype,"setSpotColorRGB",1),__decorateClass([setter],EditorAPI.prototype,"setSpotColorCMYK",1),__decorateClass([setter],EditorAPI.prototype,"removeSpotColor",1),__decorateClass([setter],EditorAPI.prototype,"setSpotColorForCutoutType",1),__decorateClass([setter],EditorAPI.prototype,"getSpotColorForCutoutType",1);var EventAPI=class{#e;constructor(e){this.#e=e}subscribe=(e,t)=>{assert2("blocks",e,array());const r=this.#e.subscribe(e,(e=>{try{t(cppVectorToArray_default(e,!0))}catch(e){console.error(e)}}));return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(r))}}},VariableAPI=class{#e;constructor(e){this.#e=e}findAll(){return cppVectorToArray_default(this.#e.findAllVariables())}setString(e,t){return assert2("key",e,string()),assert2("value",t,string()),unpackResult(this.#e.setVariableString(e,t))}getString(e){return assert2("key",e,string()),unpackResult(this.#e.getVariableString(e))}remove(e){return assert2("key",e,string()),unpackResult(this.#e.removeVariable(e))}},import_promises=__toESM(require("fs/promises")),import_url=require("url"),customFetch=findFetch();function findFetch(){if("undefined"!=typeof fetch)return fetch;if("undefined"!=typeof window)throw new Error("Could not find `fetch` API");try{return require("node-fetch")}catch{throw new Error("Could not find a `fetch` implementation. Please make sure you're using Node.JS >= 18, or install the node-fetch@cjs package, or provide another polyfill.")}}async function fetchJSON(e){if(!e.match(/^file:/))return customFetch(e);try{const t=await import_promises.default.readFile((0,import_url.fileURLToPath)(e),{encoding:"utf8"}),r=JSON.parse(t);return{ok:!0,json:async()=>r}}catch(e){return{ok:!1,statusText:e.message}}}var fetch_default=customFetch,import_url2=require("url"),isDevelopment=!1;function configureEngine(e,t){var r;const o=new UBQHelper(e),n=new EditorAPI(e),s=new AssetAPI(e);n.setSettingEnum("role",t.role??"Creator"),"Adopter"===t.role&&n.setSettingEnum("doubleClickSelectionMode","Direct"),isDevelopment&&(o.execute("cesdk/getVersionInfo").then((e=>console.debug(e))),o.execute("cesdk/getCapabilitiesInfo").then((e=>console.debug(e)))),n.setSettingString("basePath",t.baseURL),n.setSettingBool("showBuildVersion",isDevelopment||!1),(null==(r=t.featureFlags)?void 0:r.preventScrolling)&&(n.setSettingBool("touch/singlePointPanning",!1),n.setSettingBool("touch/dragStartCanSelect",!1)),s.addLocalSource("ly.img.text"),Object.entries(t.presets.typefaces||{}).forEach((([e,t])=>{(t.fonts||[]).forEach((r=>{const n=`${e}_${r.weight}_${r.style}`;o.execute("ubq/assets/registerFont",[n,r.fontURL,t.family,r.weight,r.style])}))})),function(){var e;isDevelopment&&(n.setSettingBool("features/hspSelectiveAdjustmentsEnabled",!1),n.setSettingBool("features/layerListEnabled",!1),n.setSettingBool("features/templatingEnabled",!0));const r=!!(null==(e=t.featureFlags)?void 0:e.singlePageMode);n.setSettingBool("features/singlePageModeEnabled",r),n.setSettingBool("features/effectsEnabled",!0)}(),function(){const e=t.extensions??[];e.entries.forEach((t=>{o.execute("ubq/extension/register",`${e.baseURL+t}`)}))}(),function(){const t=new VariableAPI(e);(isDevelopment||"undefined"!=typeof window&&window.Cypress)&&(t.setString("company_name","img.ly"),t.setString("first_name","Charly"),t.setString("last_name","Williams"),t.setString("address","742 Evergreen Terrace"),t.setString("city","Springfield"))}()}var licenseEndpoint="https://api.img.ly/activate";function downloadAndCheckLicense(e,t=fetch){if(!e.license)throw new Error("Missing license key in config");return e.license.length<128?t(licenseEndpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:e.license,userId:e.userId})}).then((e=>{if(e.ok)return e.json();throw new Error("Unfortunately we are experiencing a server down time and your License key cannot be validated. We're already working on a fix and will restore service soon. Should services not restore within the hour, kindly get in touch with our support team.")})).then((e=>{if("valid"===e.status)return e.license;throw"expired"===e.status?new Error("Thanks for using IMG.LY for creative editing. Please note that your license file or commercial use is expired. Please get in touch with our sales team to discuss extension of your commercial license."):new Error("The License Key (API Key) you are using to access the IMG.LY SDK is invalid. Please ensure that you are using the license key tied to your subscription and get in touch with our support team.")})):Promise.resolve(e.license)}function unlockUbq(e,t){if(!t)throw new Error("Missing license key");unpackResult(e.unlockWithLicense(t))}var import_cesdk=__toESM(require_cesdk()),cesdk_default="./cesdk-v1.22.0-rc.0-GD242ZBP.data",cesdk_default2="./cesdk-v1.22.0-rc.0-YQOXMWK4.wasm",CESDK_JS=import_cesdk.default;async function init(e){const t=e.logger,r=downloadAndCheckLicense(e,fetch_default),{getPreloadedPackage:o,instantiateWasm:n}=await httpBaseUrlHandlers(e),s={locateFile:t=>t.endsWith(".wasm")?getAssetLocation(e,cesdk_default2):t.endsWith(".data")?getAssetLocation(e,cesdk_default):getAssetLocation(e,t),instantiateWasm:n,getPreloadedPackage:o,print:e=>{e&&t(e,"Info")},printErr:e=>{e&&t(e,"Error")},onRuntimeInitialized:()=>{t("Engine has been initialized.","Info")},logReadFiles:!1,printWithColors:!0},a=await CESDK_JS(s);a.emscripten_ubq_asyncFetchManager.setFetch(fetch_default);const i=unpackResult(a.createEngine("","auto"));return unlockUbq(i,await r),configureEngine(i,e),i}function getAssetLocation(e,t){const r=t.split("/").pop(),o=new URL(r,e.core.baseURL);if("file:"===o.protocol)return(0,import_url2.fileURLToPath)(o);return new URL(r,e.core.baseURL).toString()}async function httpBaseUrlHandlers(e){if(!e.core.baseURL.startsWith("http"))return{};const t=getAssetLocation(e,cesdk_default),r=getAssetLocation(e,cesdk_default2),o=fetch_default(t).then((e=>{if(e.status>=400)throw new Error(`Failed to fetch DATA package: ${e.status} ${e.statusText}`);return e.arrayBuffer()})),n=await o;return{getPreloadedPackage:function(e,r){if(e===t){if(r!==n.byteLength)throw new Error(`Attempt to get preloaded data package of incorrect size. Expected: ${r} Actual: ${n.byteLength}`);return n}return null},instantiateWasm:function(e,t){const o=e,n=fetch_default(r).then((e=>{if(e.status>=400)throw new Error(`Failed to fetch WASM package: ${e.status} ${e.statusText}`);return e}));return void 0!==WebAssembly.instantiateStreaming?n.then((e=>WebAssembly.instantiateStreaming(e,o))).then((({instance:e})=>t(e))):n.then((e=>e.arrayBuffer())).then((e=>WebAssembly.compile(e))).then((e=>WebAssembly.instantiate(e,o))).then(t),{}}}}var ASSET_SOURCE_BASE_URL="https://cdn.img.ly/assets/v2",CreativeEngine=class{asset;block;editor;event;scene;variable;#n;#e;constructor(e,t){this.#e=e,this.#n=new UBQHelper(e),this.asset=new AssetAPI(e),this.block=new BlockAPI(e),this.editor=new EditorAPI(e),this.event=new EventAPI(e),this.scene=new SceneAPI(e),this.variable=new VariableAPI(e),this.block.exportVideo=()=>{throw new Error("Exporting video is currently not supported on Node.JS")},this.#s(),"undefined"!=typeof window&&window.Cypress&&(this.config=t,this.helper=this.#n)}#a;#s(){this.#i()}#i(){if(this.#a)return;const e=()=>{this.update(),this.#a=setTimeout(e,16)};this.#a=setTimeout(e,16)}#u(){this.#a&&(clearTimeout(this.#a),this.#a=null)}update(){this.#e.update()}dispose(){this.#u(),this.#n=null,this.block=null,this.scene=null,this.variable=null,this.#e.delete(),this.#e=null}static async init(e){const t="47912f85";t&&console.log(`[CreativeEngine] Revision ${t}`);const r=initWithDefaults(migrateConfigObject(e),`file://${__dirname}/assets/`);for(const t of warnKeys(e))r.logger(t,"Warning");const o=new this(await init(r),r);return apiFallback(e,o),o}async addDefaultAssetSources({baseURL:e=ASSET_SOURCE_BASE_URL,excludeAssetSourceIds:t=[]}={}){return addDefaultAssetSources_default(this.asset,e,t,fetchJSON)}async addDemoAssetSources({excludeAssetSourceIds:e=[],sceneMode:t="Design",withUploadAssetSources:r=!1}={}){return addDemoAssetSources_default(this.asset,this.scene,e,t,r,fetchJSON)}},src_default=CreativeEngine;module.exports=CreativeEngine,Object.defineProperty(module.exports,"__esModule",{value:!0}),Object.defineProperty(module.exports,"default",{value:CreativeEngine}),Object.defineProperty(module.exports,"LogLevel",{value:LogLevel}),Object.defineProperty(module.exports,"MimeType",{value:MimeType_default});