@cesdk/engine 1.76.0-rc.0 → 1.77.0-nightly.20260527
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/assets/core/{cesdk-v1.76.0-rc.0-PI6GG5LR.wasm → cesdk-v1.77.0-nightly.20260527-GC2SASVS.wasm} +0 -0
- package/assets/core/{worker-host-v1.76.0-rc.0.js → worker-host-v1.77.0-nightly.20260527.js} +1 -1
- package/index.js +1 -1
- package/package.json +1 -1
- /package/assets/core/{cesdk-v1.76.0-rc.0-MLEZSZ4D.data → cesdk-v1.77.0-nightly.20260527-MLEZSZ4D.data} +0 -0
package/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=Object.create,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,n=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,s=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),a=e=>{throw TypeError(e)},l=(e,r,o)=>r in e?t(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,d=(e,r)=>t(e,"name",{value:r,configurable:!0}),c=(e,t)=>function(){return t||(0,e[o(e)[0]])((t={exports:{}}).exports,t),t.exports},u=(s,a,l)=>(l=null!=s?e(n(s)):{},((e,n,s,a)=>{if(n&&"object"==typeof n||"function"==typeof n)for(let l of o(n))i.call(e,l)||l===s||t(e,l,{get:()=>n[l],enumerable:!(a=r(n,l))||a.enumerable});return e})(!a&&s&&s.__esModule?l:t(l,"default",{value:s,enumerable:!0}),s)),h=t=>[,,,e(t?.[s("metadata")]??null)],p=["class","method","getter","setter","accessor","field","value","get","set"],g=e=>void 0!==e&&"function"!=typeof e?a("Function expected"):e,f=(e,t,r,o,n)=>({kind:p[e],name:t,metadata:o,addInitializer:e=>r._?a("Already initialized"):n.push(g(e||null))}),m=(e,t)=>l(t,s("metadata"),e[3]),b=(e,t,r,o)=>{for(var n=0,i=e[t>>1],s=i&&i.length;n<s;n++)1&t?i[n].call(r):o=i[n].call(r,o);return o},y=(e,o,n,i,s,l)=>{var c,u,h,b,y,v=7&o,w=!!(8&o),S=!!(16&o),x=v>3?e.length+1:v?w?1:2:0,T=p[v+5],P=v>3&&(e[x-1]=[]),A=e[x]||(e[x]=[]),M=v&&(!S&&!w&&(s=s.prototype),v<5&&(v>3||!S)&&r(v<4?s:{get[n](){return k(this,l)},set[n](e){return C(this,l,e)}},n));v?S&&v<4&&d(l,(v>2?"set ":v>1?"get ":"")+n):d(s,n);for(var F=i.length-1;F>=0;F--)b=f(v,n,h={},e[3],A),v&&(b.static=w,b.private=S,y=b.access={has:S?e=>_(s,e):e=>n in e},3^v&&(y.get=S?e=>(1^v?k:E)(e,s,4^v?l:M.get):e=>e[n]),v>2&&(y.set=S?(e,t)=>C(e,s,t,4^v?l:M.set):(e,t)=>e[n]=t)),u=(0,i[F])(v?v<4?S?l:M[T]:v>4?void 0:{get:M.get,set:M.set}:s,b),h._=1,4^v||void 0===u?g(u)&&(v>4?P.unshift(u):v?S?l=u:M[T]=u:s=u):"object"!=typeof u||null===u?a("Object expected"):(g(c=u.get)&&(M.get=c),g(c=u.set)&&(M.set=c),g(c=u.init)&&P.unshift(c));return v||m(e,s),M&&t(s,n,M),S?4^v?l:M:s},v=(e,t,r)=>l(e,"symbol"!=typeof t?t+"":t,r),w=(e,t,r)=>t.has(e)||a("Cannot "+r),_=(e,t)=>Object(t)!==t?a('Cannot use the "in" operator on this value'):e.has(t),k=(e,t,r)=>(w(e,t,"read from private field"),r?r.call(e):t.get(e)),S=(e,t,r)=>t.has(e)?a("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),C=(e,t,r,o)=>(w(e,t,"write to private field"),o?o.call(e,r):t.set(e,r),r),E=(e,t,r)=>(w(e,t,"access private method"),r),x=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isObject.js"(e,t){t.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}}}),T=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_freeGlobal.js"(e,t){var r="object"==typeof global&&global&&global.Object===Object&&global;t.exports=r}}),P=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_root.js"(e,t){var r=T(),o="object"==typeof self&&self&&self.Object===Object&&self,n=r||o||Function("return this")();t.exports=n}}),A=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/now.js"(e,t){var r=P();t.exports=function(){return r.Date.now()}}}),M=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_trimmedEndIndex.js"(e,t){var r=/\s/;t.exports=function(e){for(var t=e.length;t--&&r.test(e.charAt(t)););return t}}}),F=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseTrim.js"(e,t){var r=M(),o=/^\s+/;t.exports=function(e){return e?e.slice(0,r(e)+1).replace(o,""):e}}}),I=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Symbol.js"(e,t){var r=P().Symbol;t.exports=r}}),R=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getRawTag.js"(e,t){var r=I(),o=Object.prototype,n=o.hasOwnProperty,i=o.toString,s=r?r.toStringTag:void 0;t.exports=function(e){var t=n.call(e,s),r=e[s];try{e[s]=void 0;var o=!0}catch(e){}var a=i.call(e);return o&&(t?e[s]=r:delete e[s]),a}}}),L=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_objectToString.js"(e,t){var r=Object.prototype.toString;t.exports=function(e){return r.call(e)}}}),D=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseGetTag.js"(e,t){var r=I(),o=R(),n=L(),i=r?r.toStringTag:void 0;t.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":i&&i in Object(e)?o(e):n(e)}}}),O=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isObjectLike.js"(e,t){t.exports=function(e){return null!=e&&"object"==typeof e}}}),B=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isSymbol.js"(e,t){var r=D(),o=O();t.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==r(e)}}}),U=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/toNumber.js"(e,t){var r=F(),o=x(),n=B(),i=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,a=/^0o[0-7]+$/i,l=parseInt;t.exports=function(e){if("number"==typeof e)return e;if(n(e))return NaN;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var d=s.test(e);return d||a.test(e)?l(e.slice(2),d?2:8):i.test(e)?NaN:+e}}}),j=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/debounce.js"(e,t){var r=x(),o=A(),n=U(),i=Math.max,s=Math.min;t.exports=function(e,t,a){var l,d,c,u,h,p,g=0,f=!1,m=!1,b=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){var r=l,o=d;return l=d=void 0,g=t,u=e.apply(o,r)}function v(e){var r=e-p;return void 0===p||r>=t||r<0||m&&e-g>=c}function w(){var e=o();if(v(e))return _(e);h=setTimeout(w,function(e){var r=t-(e-p);return m?s(r,c-(e-g)):r}(e))}function _(e){return h=void 0,b&&l?y(e):(l=d=void 0,u)}function k(){var e=o(),r=v(e);if(l=arguments,d=this,p=e,r){if(void 0===h)return function(e){return g=e,h=setTimeout(w,t),f?y(e):u}(p);if(m)return clearTimeout(h),h=setTimeout(w,t),y(p)}return void 0===h&&(h=setTimeout(w,t)),u}return t=n(t)||0,r(a)&&(f=!!a.leading,c=(m="maxWait"in a)?i(n(a.maxWait)||0,t):c,b="trailing"in a?!!a.trailing:b),k.cancel=function(){void 0!==h&&clearTimeout(h),g=0,l=p=d=h=void 0},k.flush=function(){return void 0===h?u:_(o())},k}}}),q=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_listCacheClear.js"(e,t){t.exports=function(){this.__data__=[],this.size=0}}}),W=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/eq.js"(e,t){t.exports=function(e,t){return e===t||e!=e&&t!=t}}}),H=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_assocIndexOf.js"(e,t){var r=W();t.exports=function(e,t){for(var o=e.length;o--;)if(r(e[o][0],t))return o;return-1}}}),$=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_listCacheDelete.js"(e,t){var r=H(),o=Array.prototype.splice;t.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0)&&(n==t.length-1?t.pop():o.call(t,n,1),--this.size,!0)}}}),V=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_listCacheGet.js"(e,t){var r=H();t.exports=function(e){var t=this.__data__,o=r(t,e);return o<0?void 0:t[o][1]}}}),N=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_listCacheHas.js"(e,t){var r=H();t.exports=function(e){return r(this.__data__,e)>-1}}}),z=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_listCacheSet.js"(e,t){var r=H();t.exports=function(e,t){var o=this.__data__,n=r(o,e);return n<0?(++this.size,o.push([e,t])):o[n][1]=t,this}}}),G=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_ListCache.js"(e,t){var r=q(),o=$(),n=V(),i=N(),s=z();function a(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var o=e[t];this.set(o[0],o[1])}}a.prototype.clear=r,a.prototype.delete=o,a.prototype.get=n,a.prototype.has=i,a.prototype.set=s,t.exports=a}}),X=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_stackClear.js"(e,t){var r=G();t.exports=function(){this.__data__=new r,this.size=0}}}),Y=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_stackDelete.js"(e,t){t.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}}}),K=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_stackGet.js"(e,t){t.exports=function(e){return this.__data__.get(e)}}}),Q=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_stackHas.js"(e,t){t.exports=function(e){return this.__data__.has(e)}}}),Z=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isFunction.js"(e,t){var r=D(),o=x();t.exports=function(e){if(!o(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}}}),J=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_coreJsData.js"(e,t){var r=P()["__core-js_shared__"];t.exports=r}}),ee=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_isMasked.js"(e,t){var r,o=J(),n=(r=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(e){return!!n&&n in e}}}),te=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_toSource.js"(e,t){var r=Function.prototype.toString;t.exports=function(e){if(null!=e){try{return r.call(e)}catch(e){}try{return e+""}catch(e){}}return""}}}),re=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseIsNative.js"(e,t){var r=Z(),o=ee(),n=x(),i=te(),s=/^\[object .+?Constructor\]$/,a=Function.prototype,l=Object.prototype,d=a.toString,c=l.hasOwnProperty,u=RegExp("^"+d.call(c).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(e){return!(!n(e)||o(e))&&(r(e)?u:s).test(i(e))}}}),oe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getValue.js"(e,t){t.exports=function(e,t){return null==e?void 0:e[t]}}}),ne=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getNative.js"(e,t){var r=re(),o=oe();t.exports=function(e,t){var n=o(e,t);return r(n)?n:void 0}}}),ie=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Map.js"(e,t){var r=ne()(P(),"Map");t.exports=r}}),se=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_nativeCreate.js"(e,t){var r=ne()(Object,"create");t.exports=r}}),ae=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_hashClear.js"(e,t){var r=se();t.exports=function(){this.__data__=r?r(null):{},this.size=0}}}),le=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_hashDelete.js"(e,t){t.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}}}),de=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_hashGet.js"(e,t){var r=se(),o=Object.prototype.hasOwnProperty;t.exports=function(e){var t=this.__data__;if(r){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return o.call(t,e)?t[e]:void 0}}}),ce=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_hashHas.js"(e,t){var r=se(),o=Object.prototype.hasOwnProperty;t.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:o.call(t,e)}}}),ue=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_hashSet.js"(e,t){var r=se();t.exports=function(e,t){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=r&&void 0===t?"__lodash_hash_undefined__":t,this}}}),he=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Hash.js"(e,t){var r=ae(),o=le(),n=de(),i=ce(),s=ue();function a(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var o=e[t];this.set(o[0],o[1])}}a.prototype.clear=r,a.prototype.delete=o,a.prototype.get=n,a.prototype.has=i,a.prototype.set=s,t.exports=a}}),pe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapCacheClear.js"(e,t){var r=he(),o=G(),n=ie();t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(n||o),string:new r}}}}),ge=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_isKeyable.js"(e,t){t.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}}}),fe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getMapData.js"(e,t){var r=ge();t.exports=function(e,t){var o=e.__data__;return r(t)?o["string"==typeof t?"string":"hash"]:o.map}}}),me=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapCacheDelete.js"(e,t){var r=fe();t.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}}}),be=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapCacheGet.js"(e,t){var r=fe();t.exports=function(e){return r(this,e).get(e)}}}),ye=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapCacheHas.js"(e,t){var r=fe();t.exports=function(e){return r(this,e).has(e)}}}),ve=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapCacheSet.js"(e,t){var r=fe();t.exports=function(e,t){var o=r(this,e),n=o.size;return o.set(e,t),this.size+=o.size==n?0:1,this}}}),we=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_MapCache.js"(e,t){var r=pe(),o=me(),n=be(),i=ye(),s=ve();function a(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var o=e[t];this.set(o[0],o[1])}}a.prototype.clear=r,a.prototype.delete=o,a.prototype.get=n,a.prototype.has=i,a.prototype.set=s,t.exports=a}}),_e=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_stackSet.js"(e,t){var r=G(),o=ie(),n=we();t.exports=function(e,t){var i=this.__data__;if(i instanceof r){var s=i.__data__;if(!o||s.length<199)return s.push([e,t]),this.size=++i.size,this;i=this.__data__=new n(s)}return i.set(e,t),this.size=i.size,this}}}),ke=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Stack.js"(e,t){var r=G(),o=X(),n=Y(),i=K(),s=Q(),a=_e();function l(e){var t=this.__data__=new r(e);this.size=t.size}l.prototype.clear=o,l.prototype.delete=n,l.prototype.get=i,l.prototype.has=s,l.prototype.set=a,t.exports=l}}),Se=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_setCacheAdd.js"(e,t){t.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}}}),Ce=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_setCacheHas.js"(e,t){t.exports=function(e){return this.__data__.has(e)}}}),Ee=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_SetCache.js"(e,t){var r=we(),o=Se(),n=Ce();function i(e){var t=-1,o=null==e?0:e.length;for(this.__data__=new r;++t<o;)this.add(e[t])}i.prototype.add=i.prototype.push=o,i.prototype.has=n,t.exports=i}}),xe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_arraySome.js"(e,t){t.exports=function(e,t){for(var r=-1,o=null==e?0:e.length;++r<o;)if(t(e[r],r,e))return!0;return!1}}}),Te=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_cacheHas.js"(e,t){t.exports=function(e,t){return e.has(t)}}}),Pe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_equalArrays.js"(e,t){var r=Ee(),o=xe(),n=Te();t.exports=function(e,t,i,s,a,l){var d=1&i,c=e.length,u=t.length;if(c!=u&&!(d&&u>c))return!1;var h=l.get(e),p=l.get(t);if(h&&p)return h==t&&p==e;var g=-1,f=!0,m=2&i?new r:void 0;for(l.set(e,t),l.set(t,e);++g<c;){var b=e[g],y=t[g];if(s)var v=d?s(y,b,g,t,e,l):s(b,y,g,e,t,l);if(void 0!==v){if(v)continue;f=!1;break}if(m){if(!o(t,function(e,t){if(!n(m,t)&&(b===e||a(b,e,i,s,l)))return m.push(t)})){f=!1;break}}else if(b!==y&&!a(b,y,i,s,l)){f=!1;break}}return l.delete(e),l.delete(t),f}}}),Ae=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Uint8Array.js"(e,t){var r=P().Uint8Array;t.exports=r}}),Me=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapToArray.js"(e,t){t.exports=function(e){var t=-1,r=Array(e.size);return e.forEach(function(e,o){r[++t]=[o,e]}),r}}}),Fe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_setToArray.js"(e,t){t.exports=function(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}}}),Ie=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_equalByTag.js"(e,t){var r=I(),o=Ae(),n=W(),i=Pe(),s=Me(),a=Fe(),l=r?r.prototype:void 0,d=l?l.valueOf:void 0;t.exports=function(e,t,r,l,c,u,h){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!u(new o(e),new o(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return n(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var p=s;case"[object Set]":var g=1&l;if(p||(p=a),e.size!=t.size&&!g)return!1;var f=h.get(e);if(f)return f==t;l|=2,h.set(e,t);var m=i(p(e),p(t),l,c,u,h);return h.delete(e),m;case"[object Symbol]":if(d)return d.call(e)==d.call(t)}return!1}}}),Re=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_arrayPush.js"(e,t){t.exports=function(e,t){for(var r=-1,o=t.length,n=e.length;++r<o;)e[n+r]=t[r];return e}}}),Le=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isArray.js"(e,t){var r=Array.isArray;t.exports=r}}),De=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseGetAllKeys.js"(e,t){var r=Re(),o=Le();t.exports=function(e,t,n){var i=t(e);return o(e)?i:r(i,n(e))}}}),Oe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_arrayFilter.js"(e,t){t.exports=function(e,t){for(var r=-1,o=null==e?0:e.length,n=0,i=[];++r<o;){var s=e[r];t(s,r,e)&&(i[n++]=s)}return i}}}),Be=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/stubArray.js"(e,t){t.exports=function(){return[]}}}),Ue=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getSymbols.js"(e,t){var r=Oe(),o=Be(),n=Object.prototype.propertyIsEnumerable,i=Object.getOwnPropertySymbols,s=i?function(e){return null==e?[]:(e=Object(e),r(i(e),function(t){return n.call(e,t)}))}:o;t.exports=s}}),je=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseTimes.js"(e,t){t.exports=function(e,t){for(var r=-1,o=Array(e);++r<e;)o[r]=t(r);return o}}}),qe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseIsArguments.js"(e,t){var r=D(),o=O();t.exports=function(e){return o(e)&&"[object Arguments]"==r(e)}}}),We=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isArguments.js"(e,t){var r=qe(),o=O(),n=Object.prototype,i=n.hasOwnProperty,s=n.propertyIsEnumerable,a=r(function(){return arguments}())?r:function(e){return o(e)&&i.call(e,"callee")&&!s.call(e,"callee")};t.exports=a}}),He=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/stubFalse.js"(e,t){t.exports=function(){return!1}}}),$e=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isBuffer.js"(e,t){var r=P(),o=He(),n="object"==typeof e&&e&&!e.nodeType&&e,i=n&&"object"==typeof t&&t&&!t.nodeType&&t,s=i&&i.exports===n?r.Buffer:void 0,a=(s?s.isBuffer:void 0)||o;t.exports=a}}),Ve=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_isIndex.js"(e,t){var r=/^(?:0|[1-9]\d*)$/;t.exports=function(e,t){var o=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==o||"symbol"!=o&&r.test(e))&&e>-1&&e%1==0&&e<t}}}),Ne=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isLength.js"(e,t){t.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}}}),ze=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseIsTypedArray.js"(e,t){var r=D(),o=Ne(),n=O(),i={};i["[object Float32Array]"]=i["[object Float64Array]"]=i["[object Int8Array]"]=i["[object Int16Array]"]=i["[object Int32Array]"]=i["[object Uint8Array]"]=i["[object Uint8ClampedArray]"]=i["[object Uint16Array]"]=i["[object Uint32Array]"]=!0,i["[object Arguments]"]=i["[object Array]"]=i["[object ArrayBuffer]"]=i["[object Boolean]"]=i["[object DataView]"]=i["[object Date]"]=i["[object Error]"]=i["[object Function]"]=i["[object Map]"]=i["[object Number]"]=i["[object Object]"]=i["[object RegExp]"]=i["[object Set]"]=i["[object String]"]=i["[object WeakMap]"]=!1,t.exports=function(e){return n(e)&&o(e.length)&&!!i[r(e)]}}}),Ge=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseUnary.js"(e,t){t.exports=function(e){return function(t){return e(t)}}}}),Xe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_nodeUtil.js"(e,t){var r=T(),o="object"==typeof e&&e&&!e.nodeType&&e,n=o&&"object"==typeof t&&t&&!t.nodeType&&t,i=n&&n.exports===o&&r.process,s=function(){try{var e=n&&n.require&&n.require("util").types;return e||i&&i.binding&&i.binding("util")}catch(e){}}();t.exports=s}}),Ye=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isTypedArray.js"(e,t){var r=ze(),o=Ge(),n=Xe(),i=n&&n.isTypedArray,s=i?o(i):r;t.exports=s}}),Ke=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_arrayLikeKeys.js"(e,t){var r=je(),o=We(),n=Le(),i=$e(),s=Ve(),a=Ye(),l=Object.prototype.hasOwnProperty;t.exports=function(e,t){var d=n(e),c=!d&&o(e),u=!d&&!c&&i(e),h=!d&&!c&&!u&&a(e),p=d||c||u||h,g=p?r(e.length,String):[],f=g.length;for(var m in e)!t&&!l.call(e,m)||p&&("length"==m||u&&("offset"==m||"parent"==m)||h&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||s(m,f))||g.push(m);return g}}}),Qe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_isPrototype.js"(e,t){var r=Object.prototype;t.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||r)}}}),Ze=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_overArg.js"(e,t){t.exports=function(e,t){return function(r){return e(t(r))}}}}),Je=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_nativeKeys.js"(e,t){var r=Ze()(Object.keys,Object);t.exports=r}}),et=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseKeys.js"(e,t){var r=Qe(),o=Je(),n=Object.prototype.hasOwnProperty;t.exports=function(e){if(!r(e))return o(e);var t=[];for(var i in Object(e))n.call(e,i)&&"constructor"!=i&&t.push(i);return t}}}),tt=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isArrayLike.js"(e,t){var r=Z(),o=Ne();t.exports=function(e){return null!=e&&o(e.length)&&!r(e)}}}),rt=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/keys.js"(e,t){var r=Ke(),o=et(),n=tt();t.exports=function(e){return n(e)?r(e):o(e)}}}),ot=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getAllKeys.js"(e,t){var r=De(),o=Ue(),n=rt();t.exports=function(e){return r(e,n,o)}}}),nt=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_equalObjects.js"(e,t){var r=ot(),o=Object.prototype.hasOwnProperty;t.exports=function(e,t,n,i,s,a){var l=1&n,d=r(e),c=d.length;if(c!=r(t).length&&!l)return!1;for(var u=c;u--;){var h=d[u];if(!(l?h in t:o.call(t,h)))return!1}var p=a.get(e),g=a.get(t);if(p&&g)return p==t&&g==e;var f=!0;a.set(e,t),a.set(t,e);for(var m=l;++u<c;){var b=e[h=d[u]],y=t[h];if(i)var v=l?i(y,b,h,t,e,a):i(b,y,h,e,t,a);if(!(void 0===v?b===y||s(b,y,n,i,a):v)){f=!1;break}m||(m="constructor"==h)}if(f&&!m){var w=e.constructor,_=t.constructor;w==_||!("constructor"in e)||!("constructor"in t)||"function"==typeof w&&w instanceof w&&"function"==typeof _&&_ instanceof _||(f=!1)}return a.delete(e),a.delete(t),f}}}),it=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_DataView.js"(e,t){var r=ne()(P(),"DataView");t.exports=r}}),st=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Promise.js"(e,t){var r=ne()(P(),"Promise");t.exports=r}}),at=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Set.js"(e,t){var r=ne()(P(),"Set");t.exports=r}}),lt=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_WeakMap.js"(e,t){var r=ne()(P(),"WeakMap");t.exports=r}}),dt=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getTag.js"(e,t){var r=it(),o=ie(),n=st(),i=at(),s=lt(),a=D(),l=te(),d="[object Map]",c="[object Promise]",u="[object Set]",h="[object WeakMap]",p="[object DataView]",g=l(r),f=l(o),m=l(n),b=l(i),y=l(s),v=a;(r&&v(new r(new ArrayBuffer(1)))!=p||o&&v(new o)!=d||n&&v(n.resolve())!=c||i&&v(new i)!=u||s&&v(new s)!=h)&&(v=function(e){var t=a(e),r="[object Object]"==t?e.constructor:void 0,o=r?l(r):"";if(o)switch(o){case g:return p;case f:return d;case m:return c;case b:return u;case y:return h}return t}),t.exports=v}}),ct=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseIsEqualDeep.js"(e,t){var r=ke(),o=Pe(),n=Ie(),i=nt(),s=dt(),a=Le(),l=$e(),d=Ye(),c="[object Arguments]",u="[object Array]",h="[object Object]",p=Object.prototype.hasOwnProperty;t.exports=function(e,t,g,f,m,b){var y=a(e),v=a(t),w=y?u:s(e),_=v?u:s(t),k=(w=w==c?h:w)==h,S=(_=_==c?h:_)==h,C=w==_;if(C&&l(e)){if(!l(t))return!1;y=!0,k=!1}if(C&&!k)return b||(b=new r),y||d(e)?o(e,t,g,f,m,b):n(e,t,w,g,f,m,b);if(!(1&g)){var E=k&&p.call(e,"__wrapped__"),x=S&&p.call(t,"__wrapped__");if(E||x){var T=E?e.value():e,P=x?t.value():t;return b||(b=new r),m(T,P,g,f,b)}}return!!C&&(b||(b=new r),i(e,t,g,f,m,b))}}}),ut=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseIsEqual.js"(e,t){var r=ct(),o=O();t.exports=function e(t,n,i,s,a){return t===n||(null==t||null==n||!o(t)&&!o(n)?t!=t&&n!=n:r(t,n,i,s,e,a))}}}),ht=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isEqual.js"(e,t){var r=ut();t.exports=function(e,t){return r(e,t)}}}),pt=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/throttle.js"(e,t){var r=j(),o=x();t.exports=function(e,t,n){var i=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return o(n)&&(i="leading"in n?!!n.leading:i,s="trailing"in n?!!n.trailing:s),r(e,t,{leading:i,maxWait:t,trailing:s})}}}),gt=c({"../../../esbuild/polyfill.noop.js"(){}}),ft=c({"../../../_builds/cesdk/wasm32-unknown-emscripten/Release/cesdk.js"(e,t){var r,o=(r=globalThis.document?.currentScript?.src,async function(e={}){var t,o,n,i,s=e,a=!!globalThis.window,l=!!globalThis.WorkerGlobalScope,d=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type;s.expectedDataFileDownloads||(s.expectedDataFileDownloads=0),s.expectedDataFileDownloads++,(()=>{var e="undefined"!=typeof ENVIRONMENT_IS_PTHREAD&&ENVIRONMENT_IS_PTHREAD,t="undefined"!=typeof ENVIRONMENT_IS_WASM_WORKER&&ENVIRONMENT_IS_WASM_WORKER;if(!e&&!t){var r=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&"renderer"!=globalThis.process.type;!async function(e){"object"==typeof window?window.encodeURIComponent(window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/"):"undefined"==typeof process&&"undefined"!=typeof location&&encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/");var t,o="cesdk.data",n=s.locateFile?s.locateFile(o,""):o,i=e.remote_package_size,a=s.getPreloadedPackage?.(n,i);async function l(r){function o(e,t){if(!e)throw new Error(t)}for(var n of(r.FS_createPath("/","ly.img.cesdk",!0,!0),r.FS_createPath("/ly.img.cesdk","fonts",!0,!0),r.FS_createPath("/ly.img.cesdk","icons",!0,!0),r.FS_createPath("/ly.img.cesdk","icu",!0,!0),r.FS_createPath("/ly.img.cesdk","presets",!0,!0),r.FS_createPath("/ly.img.cesdk","shaders",!0,!0),r.FS_createPath("/ly.img.cesdk/shaders","common",!0,!0),e.files)){var i=n.filename;r.addRunDependency(`fp ${i}`)}r.addRunDependency("datafile_cesdk.data"),r.preloadResults||(r.preloadResults={}),r.preloadResults["cesdk.data"]={fromCache:!1},a||(a=await t),async function(t){o(t,"Loading data file failed."),o(t.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+t.constructor.name);var n=new Uint8Array(t);for(var i of e.files){var s=i.filename,a=n.subarray(i.start,i.end);r.FS_createDataFile(s,null,a,!0,!0,!0),r.removeRunDependency(`fp ${s}`)}r.removeRunDependency("datafile_cesdk.data")}(a)}a||(t=async function(e,t){if(r){var o=gt().readFileSync(e);return new Uint8Array(o).buffer}s.dataFileDownloads||(s.dataFileDownloads={});try{var n=await fetch(e)}catch(t){throw new Error(`Network Error: ${e}`,{e:t})}if(!n.ok)throw new Error(`${n.status}: ${n.url}`);const i=[],a=n.headers,l=Number(a.get("Content-Length")||t);let d=0;s.setStatus&&s.setStatus("Downloading data...");const c=n.body.getReader();for(;;){var{done:u,value:h}=await c.read();if(u)break;i.push(h),d+=h.length,s.dataFileDownloads[e]={loaded:d,total:l};let t=0,r=0;for(const e of Object.values(s.dataFileDownloads))t+=e.loaded,r+=e.total;s.setStatus&&s.setStatus(`Downloading data... (${t}/${r})`)}const p=new Uint8Array(i.map(e=>e.length).reduce((e,t)=>e+t,0));let g=0;for(const e of i)p.set(e,g),g+=e.length;return p.buffer}(n,i)),s.calledRun?l(s):(s.preRun||(s.preRun=[]),s.preRun.push(l))}({files:[{filename:"/.keep",start:0,end:0},{filename:"/ly.img.cesdk/fonts/imgly_font_inter_semibold.otf",start:0,end:270760},{filename:"/ly.img.cesdk/icons/ErrorAudio.svg",start:270760,end:271410},{filename:"/ly.img.cesdk/icons/ErrorConnection.svg",start:271410,end:272334},{filename:"/ly.img.cesdk/icons/ErrorImage.svg",start:272334,end:273191},{filename:"/ly.img.cesdk/icons/ErrorUnknown.svg",start:273191,end:275199},{filename:"/ly.img.cesdk/icons/ErrorVideo.svg",start:275199,end:275919},{filename:"/ly.img.cesdk/icons/Move.svg",start:275919,end:276859},{filename:"/ly.img.cesdk/icons/RotateIndicator.svg",start:276859,end:277840},{filename:"/ly.img.cesdk/icu/icudt74l.dat",start:277840,end:812944},{filename:"/ly.img.cesdk/presets/.keep",start:812944,end:812944},{filename:"/ly.img.cesdk/shaders/adjustments.sksl",start:812944,end:816833},{filename:"/ly.img.cesdk/shaders/black_and_white_color_mixer.sksl",start:816833,end:823150},{filename:"/ly.img.cesdk/shaders/common/ubq_adjustments.sksl",start:823150,end:827741},{filename:"/ly.img.cesdk/shaders/common/ubq_color_conversions.sksl",start:827741,end:837726},{filename:"/ly.img.cesdk/shaders/common/ubq_constants.sksl",start:837726,end:838216},{filename:"/ly.img.cesdk/shaders/common/ubq_hue_constants.sksl",start:838216,end:841383},{filename:"/ly.img.cesdk/shaders/common/ubq_noise.sksl",start:841383,end:844021},{filename:"/ly.img.cesdk/shaders/cross_cut.sksl",start:844021,end:844968},{filename:"/ly.img.cesdk/shaders/dot_pattern.sksl",start:844968,end:846046},{filename:"/ly.img.cesdk/shaders/duotone_filter.sksl",start:846046,end:847010},{filename:"/ly.img.cesdk/shaders/extrude_blur.sksl",start:847010,end:849127},{filename:"/ly.img.cesdk/shaders/glow.sksl",start:849127,end:850094},{filename:"/ly.img.cesdk/shaders/half_tone.sksl",start:850094,end:850588},{filename:"/ly.img.cesdk/shaders/linocut.sksl",start:850588,end:851373},{filename:"/ly.img.cesdk/shaders/liquid.sksl",start:851373,end:851855},{filename:"/ly.img.cesdk/shaders/lut_filter.sksl",start:851855,end:854718},{filename:"/ly.img.cesdk/shaders/mask_color.sksl",start:854718,end:855223},{filename:"/ly.img.cesdk/shaders/mirror.sksl",start:855223,end:855677},{filename:"/ly.img.cesdk/shaders/outliner.sksl",start:855677,end:857314},{filename:"/ly.img.cesdk/shaders/pixelize.sksl",start:857314,end:857614},{filename:"/ly.img.cesdk/shaders/placeholder_overlay_lines.sksl",start:857614,end:858302},{filename:"/ly.img.cesdk/shaders/posterize.sksl",start:858302,end:858514},{filename:"/ly.img.cesdk/shaders/radial_pixel.sksl",start:858514,end:859077},{filename:"/ly.img.cesdk/shaders/recolor.sksl",start:859077,end:861278},{filename:"/ly.img.cesdk/shaders/sharpie.sksl",start:861278,end:863583},{filename:"/ly.img.cesdk/shaders/shifter.sksl",start:863583,end:864267},{filename:"/ly.img.cesdk/shaders/tiltshift.sksl",start:864267,end:864849},{filename:"/ly.img.cesdk/shaders/tv_glitch.sksl",start:864849,end:865567},{filename:"/ly.img.cesdk/shaders/vignette.sksl",start:865567,end:865939}],remote_package_size:865939})}})(),s.emscripten_ubq_codec_videoDecoders=new Map,s.emscripten_ubq_codec_audioDecoders=new Map,s.emscripten_ubq_codec_videoEncoders=new Map,s.emscripten_ubq_codec_audioEncoders=new Map,s.emscripten_ubq_codec_alphaStates=new Map,s.emscripten_ubq_codec_videoDecoderNextHandle=1,s.emscripten_ubq_codec_audioDecoderNextHandle=1,s.emscripten_ubq_codec_videoEncoderNextHandle=1,s.emscripten_ubq_codec_audioEncoderNextHandle=1,s._isSafariHelper=function(){if("undefined"==typeof navigator||"string"!=typeof navigator.userAgent)return 0;const e=navigator.userAgent;return!e.includes("Safari")||e.includes("Chrome")||e.includes("Chromium")||e.includes("Android")?0:1},s.emscripten_ubq_codec_createNativeResult=function(e){const t=s._malloc(8),r=s.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=s._malloc(t.length+1),n=s.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},s.emscripten_ubq_codec_offscreenCanvas=null,s.emscripten_ubq_codec_offscreenCtx=null,s.emscripten_ubq_codec_presentVideoFrame=function(e,t,r,o,n,i,a){if(!i){const e=t.textures,n=t.textureWidth,i=t.textureHeight;if(e&&e.length>0){var l=s.ctx;const d=t.decodedFrames%e.length,c=l.getParameter(l.TEXTURE_BINDING_2D);l.bindTexture(l.TEXTURE_2D,e[d]);let u=a;u||(u=o?s.emscripten_ubq_codec_toneMapHdrToSdr(r):r);const h=r.displayWidth,p=r.displayHeight;if(h!==n||p!==i){if(!t.scalingCanvas){const e="undefined"!=typeof OffscreenCanvas?()=>new OffscreenCanvas(n,i):()=>{if("undefined"!=typeof document&&"function"==typeof document.createElement){const e=document.createElement("canvas");return e.width=n,e.height=i,e}throw new Error("Canvas API not available")};t.scalingCanvas=e(),t.scalingCtx=t.scalingCanvas.getContext("2d")}const e=t.scalingCanvas,r=t.scalingCtx;e.width===n&&e.height===i||(e.width=n,e.height=i),r.clearRect(0,0,n,i);const o=h/p;let s,a,l,d;o>n/i?(s=n,a=n/o,l=0,d=(i-a)/2):(a=i,s=i*o,l=(n-s)/2,d=0),r.drawImage(u,l,d,s,a),u=e}l.texImage2D(l.TEXTURE_2D,0,l.RGBA,l.RGBA,l.UNSIGNED_BYTE,u),l.bindTexture(l.TEXTURE_2D,c)}}r.close(),t.decodedFrames++,s.emscripten_ubq_codec_onOutputDecodedVideoFrame(e,t.decodedFrames,i,r.timestamp??0,n)},s.emscripten_ubq_codec_alphaMergeCanvas=function(e,t,r){const o=!e.mergerCanvas||e.mergerCanvas.width!==t||e.mergerCanvas.height!==r;if(!e.mergerCanvas||o){if("undefined"!=typeof OffscreenCanvas)e.mergerCanvas=new OffscreenCanvas(t,r);else{if("undefined"==typeof document||"function"!=typeof document.createElement)throw new Error("Canvas API not available for alpha compositing");e.mergerCanvas=document.createElement("canvas"),e.mergerCanvas.width=t,e.mergerCanvas.height=r}const o=e.mergerCanvas.getContext("webgl2")||e.mergerCanvas.getContext("webgl");if(!o)throw new Error("Failed to get WebGL context for alpha compositing");e.mergerCtx=o;const n="\n attribute vec2 aPos;\n attribute vec2 aTexCoord;\n varying vec2 vTexCoord;\n void main() {\n gl_Position = vec4(aPos, 0.0, 1.0);\n vTexCoord = aTexCoord;\n }\n ",i="\n precision mediump float;\n varying vec2 vTexCoord;\n uniform sampler2D uMain;\n uniform sampler2D uAlpha;\n void main() {\n vec4 color = texture2D(uMain, vTexCoord);\n vec4 alpha = texture2D(uAlpha, vTexCoord);\n gl_FragColor = vec4(color.rgb, alpha.r);\n }\n ",s=(e,t)=>{const r=o.createShader(e);if(o.shaderSource(r,t),o.compileShader(r),!o.getShaderParameter(r,o.COMPILE_STATUS)){const e=o.getShaderInfoLog(r);throw o.deleteShader(r),new Error("WebGL shader compile error: "+e)}return r},a=s(o.VERTEX_SHADER,n),l=s(o.FRAGMENT_SHADER,i),d=o.createProgram();if(o.attachShader(d,a),o.attachShader(d,l),o.linkProgram(d),!o.getProgramParameter(d,o.LINK_STATUS))throw new Error("WebGL program link error: "+o.getProgramInfoLog(d));e.mergerProgram=d,e.mergerLoc={aPos:o.getAttribLocation(d,"aPos"),aTexCoord:o.getAttribLocation(d,"aTexCoord"),uMain:o.getUniformLocation(d,"uMain"),uAlpha:o.getUniformLocation(d,"uAlpha")};const c=new Float32Array([-1,1,0,0,1,1,1,0,-1,-1,0,1,1,-1,1,1]);e.mergerBuffer=o.createBuffer(),o.bindBuffer(o.ARRAY_BUFFER,e.mergerBuffer),o.bufferData(o.ARRAY_BUFFER,c,o.STATIC_DRAW),e.mergerTexMain=o.createTexture(),o.bindTexture(o.TEXTURE_2D,e.mergerTexMain),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.LINEAR),e.mergerTexAlpha=o.createTexture(),o.bindTexture(o.TEXTURE_2D,e.mergerTexAlpha),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.LINEAR)}return e.mergerCanvas},s.emscripten_ubq_codec_mergeAlphaFrames=function(e,t,r){const o=t.displayWidth,n=t.displayHeight,i=s.emscripten_ubq_codec_alphaMergeCanvas(e,o,n),a=e.mergerCtx;return a.viewport(0,0,o,n),a.useProgram(e.mergerProgram),a.bindBuffer(a.ARRAY_BUFFER,e.mergerBuffer),a.enableVertexAttribArray(e.mergerLoc.aPos),a.vertexAttribPointer(e.mergerLoc.aPos,2,a.FLOAT,!1,16,0),a.enableVertexAttribArray(e.mergerLoc.aTexCoord),a.vertexAttribPointer(e.mergerLoc.aTexCoord,2,a.FLOAT,!1,16,8),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,e.mergerTexMain),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,t),a.uniform1i(e.mergerLoc.uMain,0),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,e.mergerTexAlpha),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,r),a.uniform1i(e.mergerLoc.uAlpha,1),a.drawArrays(a.TRIANGLE_STRIP,0,4),a.flush(),i},s.emscripten_ubq_codec_prepareAlphaState=function(e,t){if(s.emscripten_ubq_codec_alphaStates.has(e))return s.emscripten_ubq_codec_alphaStates.get(e);const r={decoder:null,pendingMain:new Map,pendingAlpha:new Map,expectedTimestamps:new Set,dropTimestamps:new Set,mergerCanvas:null,mergerCtx:null};try{const o={...t};t.description&&(o.description=t.description.slice());const n=new VideoDecoder({output:t=>{s.emscripten_ubq_codec_alphaOnAlphaFrame(e,t)},error:e=>{n.unexpectedError=e,console.error("Alpha decoder error:",e)}});return n.configure(o),r.decoder=n,s.emscripten_ubq_codec_alphaStates.set(e,r),r}catch(e){return console.error("Failed to create alpha decoder:",e),null}},s.emscripten_ubq_codec_destroyAlphaState=function(e){const t=s.emscripten_ubq_codec_alphaStates.get(e);if(t){t.decoder&&"closed"!==t.decoder.state&&t.decoder.close();for(const e of t.pendingMain.values())e.frame.close();for(const e of t.pendingAlpha.values())e.close();if(t.pendingMain.clear(),t.pendingAlpha.clear(),t.expectedTimestamps.clear(),t.dropTimestamps.clear(),t.mergerCtx){const e=t.mergerCtx;e.deleteTexture(t.mergerTexMain),e.deleteTexture(t.mergerTexAlpha),e.deleteBuffer(t.mergerBuffer),e.deleteProgram(t.mergerProgram);const r=e.getExtension("WEBGL_lose_context");r&&r.loseContext()}t.mergerCanvas=null,t.mergerCtx=null,s.emscripten_ubq_codec_alphaStates.delete(e)}},s.emscripten_ubq_codec_markAlphaExpected=function(e,t){const r=s.emscripten_ubq_codec_alphaStates.get(e);r&&r.expectedTimestamps.add(t)},s.emscripten_ubq_codec_alphaOnMainFrame=function(e,t,r,o,n){const i=s.emscripten_ubq_codec_alphaStates.get(e);if(!i)return!1;const a=t.timestamp??0;if(!i.expectedTimestamps.has(a))return!1;const l=i.pendingAlpha.get(a);if(l){i.pendingAlpha.delete(a),i.expectedTimestamps.delete(a);const d=s.emscripten_ubq_codec_mergeAlphaFrames(i,t,l);return s.emscripten_ubq_codec_presentVideoFrame(e,r,t,o,n,!1,d),l.close(),!0}return i.pendingMain.set(a,{frame:t,videoDecoder:r,isHdr:o,codecServicePtr:n}),!0},s.emscripten_ubq_codec_alphaOnAlphaFrame=function(e,t){const r=s.emscripten_ubq_codec_alphaStates.get(e);if(!r)return void t.close();const o=t.timestamp??0;if(!r.expectedTimestamps.has(o))return void t.close();if(r.dropTimestamps.has(o))return r.dropTimestamps.delete(o),r.expectedTimestamps.delete(o),void t.close();const n=r.pendingMain.get(o);if(n){r.pendingMain.delete(o),r.expectedTimestamps.delete(o);const i=s.emscripten_ubq_codec_mergeAlphaFrames(r,n.frame,t);return s.emscripten_ubq_codec_presentVideoFrame(e,n.videoDecoder,n.frame,n.isHdr,n.codecServicePtr,!1,i),void t.close()}r.pendingAlpha.set(o,t)},s.emscripten_ubq_codec_alphaHandleDroppedMain=function(e,t){const r=s.emscripten_ubq_codec_alphaStates.get(e);if(!r||"number"!=typeof t)return;if(!r.expectedTimestamps.has(t))return;const o=r.pendingMain.get(t);o&&(r.pendingMain.delete(t),o.frame.close());const n=r.pendingAlpha.get(t);n?(r.pendingAlpha.delete(t),n.close()):r.dropTimestamps.add(t),r.expectedTimestamps.delete(t)},s.emscripten_ubq_codec_alphaCancelExpectation=function(e,t){const r=s.emscripten_ubq_codec_alphaStates.get(e);if(!r||"number"!=typeof t)return;if(!r.expectedTimestamps.has(t))return;const o=r.pendingMain.get(t);o&&(r.pendingMain.delete(t),o.frame.close());const n=r.pendingAlpha.get(t);n&&(r.pendingAlpha.delete(t),n.close()),r.dropTimestamps.delete(t),r.expectedTimestamps.delete(t)},s.emscripten_ubq_codec_toneMapHdrToSdr=function(e){s.emscripten_ubq_codec_offscreenCanvas||(s.emscripten_ubq_codec_offscreenCanvas=new OffscreenCanvas(e.codedWidth,e.codedHeight),s.emscripten_ubq_codec_offscreenCtx=s.emscripten_ubq_codec_offscreenCanvas.getContext("2d"));const t=s.emscripten_ubq_codec_offscreenCanvas;return t.width===e.codedWidth&&t.height===e.codedHeight||(t.width=e.codedWidth,t.height=e.codedHeight),s.emscripten_ubq_codec_offscreenCtx.drawImage(e,0,0),t},s.emscripten_ubq_codec_createVideoDecoder=function(e,t,r){const o=new VideoDecoder({output:n=>{const i=o.textures;let a=!1;if(o.shouldDropFrames)a=!0;else{if(1===o.isSafari){const e=o.targetFrameForScheduling??o.requestedPresentationFrame??0,t=o.reorderWindow??0,r=Math.max(e-t,0);o.decodedFrames<r&&(a=!0)}!a&&i&&i.length>0&&o.decodeQueueSize>=i.length&&(a=!0)}const l=n.timestamp??0;if(a)return s.emscripten_ubq_codec_alphaHandleDroppedMain(e,l),void s.emscripten_ubq_codec_presentVideoFrame(e,o,n,t,r,!0,null);s.emscripten_ubq_codec_alphaOnMainFrame(e,n,o,t,r)||s.emscripten_ubq_codec_presentVideoFrame(e,o,n,t,r,!1,null)},error:e=>{o.unexpectedError=e,console.error(e)}});return o.decodedFrames=0,o.requestedPresentationFrame=0,o.requestedDecodeChunk=0,o.targetFrameForScheduling=0,o.isSafari=s._isSafariHelper(),o.reorderWindow=0,o.shouldDropFrames=!1,o.isHdr=t,o.textureWidth=0,o.textureHeight=0,o.scalingCanvas=null,o.scalingCtx=null,o},s.emscripten_ubq_codec_createAudioDecoder=function(e,t,r){const o=new AudioDecoder({output:n=>{if(o.flushing)return void n.close();const i=s.HEAPF32.subarray(e/4,e/4+r),a=s.HEAPF32.subarray(t/4,t/4+r),l=1===n.numberOfChannels?0:1;if("f32-planar"===n.format){let e=o.writtenFrames%r;if(e+n.numberOfFrames<=r)n.copyTo(i.subarray(e),{planeIndex:0,frameCount:n.numberOfFrames}),n.copyTo(a.subarray(e),{planeIndex:l,frameCount:n.numberOfFrames});else{const t=r-e;n.copyTo(i.subarray(e),{planeIndex:0,frameCount:t}),n.copyTo(a.subarray(e),{planeIndex:l,frameCount:t}),n.copyTo(i,{planeIndex:0,frameOffset:t}),n.copyTo(a,{planeIndex:l,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 s=o.writtenFrames%r;i[s]=n,a[s]=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 s=0;s<n.numberOfFrames;s++){let n=o.writtenFrames%r;i[n]=e[s]/32768,a[n]=t[s]/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 s=o.writtenFrames%r;i[s]=n,a[s]=n,o.writtenFrames++}else for(let t=0;t<n.numberOfFrames;t++){let s=o.writtenFrames%r;i[s]=e[t*n.numberOfChannels+0]/32768,a[s]=e[t*n.numberOfChannels+1]/32768,o.writtenFrames++}}else if("f32-planar"===n.format)if(1===n.numberOfChannels){const e=new Float32Array(n.numberOfFrames);n.copyTo(e,{planeIndex:0});for(let t=0;t<n.numberOfFrames;t++){let n=o.writtenFrames%r;i[n]=e[t],a[n]=e[t],o.writtenFrames++}}else{const e=new Float32Array(n.numberOfFrames),t=new Float32Array(n.numberOfFrames);n.copyTo(e,{planeIndex:0}),n.copyTo(t,{planeIndex:1});for(let s=0;s<n.numberOfFrames;s++){let n=o.writtenFrames%r;i[n]=e[s],a[n]=t[s],o.writtenFrames++}}else if("f32"===n.format){const e=new Float32Array(n.numberOfFrames*n.numberOfChannels);if(n.copyTo(e,{planeIndex:0}),1===n.numberOfChannels)for(let t=0;t<n.numberOfFrames;t++){let n=o.writtenFrames%r;i[n]=e[t],a[n]=e[t],o.writtenFrames++}else for(let t=0;t<n.numberOfFrames;t++){let s=o.writtenFrames%r;i[s]=e[t*n.numberOfChannels+0],a[s]=e[t*n.numberOfChannels+1],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},s.emscripten_ubq_settings_forceWebGL1=!1,s.emscripten_ubq_opfs_CHUNK_SIZE=10485760,s.emscripten_ubq_opfs_MAX_CACHE_SIZE_BYTES=209715200,void 0===s.emscripten_ubq_opfs_readTagCounter&&(s.emscripten_ubq_opfs_readTagCounter=0),s.emscripten_ubq_opfs_caches=new Map,s.emscripten_ubq_opfs_isWriteOpen=function(e){const t=s.emscripten_ubq_opfs_writerCaches;return!!t&&!!t.get(e)},s.emscripten_ubq_opfs_waitForWriteClose=async function(e){for(;s.emscripten_ubq_opfs_isWriteOpen(e);)await new Promise(e=>setTimeout(e,25))},s.emscripten_ubq_opfs_createWorker=function(){const e=new Blob(["\n let handle = null; \n let currentUri = '';\n\n async function getFileHandleForUri(uri) {\n const path = uri.replace(/^opfs:\\/\\//, \"\");\n const parts = path.split(\"/\").filter(Boolean);\n let dir = await navigator.storage.getDirectory();\n for (let i = 0; i < parts.length - 1; i++) {\n dir = await dir.getDirectoryHandle(parts[i]);\n }\n return dir.getFileHandle(parts[parts.length - 1]);\n }\n\n self.onmessage = async (ev) => {\n if (ev.data.open) {\n if (handle) {\n try {\n handle.close();\n } catch (e) {\n console.warn('[OPFS Worker] Failed to close previous handle', e);\n }\n }\n currentUri = ev.data.uri || '';\n try {\n const fileHandle = await getFileHandleForUri(currentUri);\n handle = await fileHandle.createSyncAccessHandle({\n mode: 'read-only'\n });\n try {\n const size = handle.getSize ? handle.getSize() : -1;\n } catch (_) {}\n self.postMessage({ready:true});\n } catch (error) {\n handle = null;\n const message =\n (error && error.message) ? error.message : String(error);\n self.postMessage({ready:false, error: message});\n }\n return;\n }\n \n if (ev.data.read) {\n const {offset, size, tag} = ev.data.read;\n\n if (!handle) {\n self.postMessage({tag, error: 'OPFS handle is not initialized'});\n return;\n }\n try {\n const tmp = new Uint8Array(size);\n const bytes = handle.read(tmp, {at: offset});\n self.postMessage({tag, bytes, buf: tmp.buffer}, [tmp.buffer]);\n } catch (error) {\n const message =\n (error && error.message) ? error.message : String(error);\n self.postMessage({tag, error: message});\n }\n }\n };\n "],{type:"application/javascript"});return{worker:new Worker(URL.createObjectURL(e),{type:"module"}),readyPromise:null,post:function(e){this.worker.postMessage(e)},get:function(){return this.worker}}},s.emscripten_ubq_opfs_destroyWorker=function(e){if(e){console.log("[OPFS Reader] Destroy worker");try{e.worker.terminate()}catch(e){console.warn("[OPFS] Failed to terminate worker",e)}}},s.emscripten_ubq_opfs_getCache=function(e){let t=s.emscripten_ubq_opfs_caches.get(e);return t||(t={chunkCache:new Map,accessOrder:[],currentSize:0,loadingChunks:new Set,file:null,openPromise:null,fileSize:-1,worker:null,workerOpened:!1,workerOpening:null},s.emscripten_ubq_opfs_caches.set(e,t)),t},s.emscripten_ubq_opfs_ensureFile=async function(e,t){if(t.fileHandle)return t.fileHandle;if(t.openPromise)return t.openPromise;const r=e.replace(/^opfs:\/\//,"");return t.openPromise=(async()=>{const e=await navigator.storage.getDirectory(),o=r.split("/").filter(Boolean);let n=e;for(let e=0;e<o.length-1;e++)n=await n.getDirectoryHandle(o[e]);const i=await n.getFileHandle(o[o.length-1]);t.fileHandle=i;const s=await i.getFile();return t.fileSize=s.size,i})(),t.openPromise},s.emscripten_ubq_opfs_ensureWorker=function(e,t){return t.worker||(t.worker=s.emscripten_ubq_opfs_createWorker()),t.worker},s.emscripten_ubq_opfs_updateAccess=function(e,t){const r=e.accessOrder.indexOf(t);-1!==r&&e.accessOrder.splice(r,1),e.accessOrder.push(t)},s.emscripten_ubq_opfs_cleanCache=function(e){const t=s.emscripten_ubq_opfs_MAX_CACHE_SIZE_BYTES;for(;e.currentSize>t&&e.accessOrder.length>0;){const t=e.accessOrder.shift(),r=e.chunkCache.get(t);r&&(e.currentSize-=r.byteLength,e.chunkCache.delete(t))}},s.emscripten_ubq_opfs_loadChunk=function(e,t,r){if(t.chunkCache.has(r)||t.loadingChunks.has(r))return void s.emscripten_ubq_opfs_updateAccess(t,r);t.loadingChunks.add(r);const o=s.emscripten_ubq_opfs_CHUNK_SIZE,n=r*o;s.emscripten_ubq_opfs_loadChunkViaWorker(e,t,r,n,o).catch(t=>{console.error(`[OPFS] Failed to load chunk ${r} for "${e}":`,t)}).finally(()=>{t.loadingChunks.delete(r)})},s.emscripten_ubq_opfs_loadChunkViaWorker=async function(e,t,r,o,n){const i=s.emscripten_ubq_opfs_ensureWorker(e,t);t.workerOpened||(t.workerOpening||(t.workerOpening=(async()=>{await s.emscripten_ubq_opfs_waitForWriteClose(e),await s.emscripten_ubq_opfs_ensureFile(e,t),i.post({open:!0,uri:e}),await new Promise((e,t)=>{const r=i.get(),o=n=>{n.data&&(!0===n.data.ready?(r.removeEventListener("message",o),e()):!1===n.data.ready&&(r.removeEventListener("message",o),t(new Error(n.data.error||"Failed to open OPFS worker handle"))))};r.addEventListener("message",o)}),t.workerOpened=!0})().finally(()=>{t.workerOpening=null})),await t.workerOpening);const a=await new Promise((e,t)=>{const r=++s.emscripten_ubq_opfs_readTagCounter,a=i.get(),l=o=>{if(o.data.tag===r){if(a.removeEventListener("message",l),o.data.error)return void t(new Error(o.data.error));o.data.buf?e(new Uint8Array(o.data.buf)):t(new Error("No buffer received"))}};a.addEventListener("message",l),i.post({read:{offset:o,size:n,tag:r}})});t.chunkCache.set(r,a),t.currentSize+=a.byteLength,s.emscripten_ubq_opfs_updateAccess(t,r),s.emscripten_ubq_opfs_cleanCache(t)},s.emscripten_ubq_opfs_getChunkDataAsync=async function(e,t,r,o,n){if(o<=0)return 0;const i=z(e),a=4294967296*(r>>>0)+(t>>>0),l=s.emscripten_ubq_opfs_getCache(i),d=s.emscripten_ubq_opfs_ensureWorker(i,l);l.workerOpened||(l.workerOpening||(l.workerOpening=(async()=>{await s.emscripten_ubq_opfs_waitForWriteClose(i),await s.emscripten_ubq_opfs_ensureFile(i,l),d.post({open:!0,uri:i}),await new Promise((e,t)=>{const r=d.get(),o=n=>{n.data&&(!0===n.data.ready?(r.removeEventListener("message",o),e()):!1===n.data.ready&&(r.removeEventListener("message",o),t(new Error(n.data.error||"Failed to open OPFS worker handle"))))};r.addEventListener("message",o)}),l.workerOpened=!0})().finally(()=>{l.workerOpening=null})),await l.workerOpening);try{return await new Promise((e,t)=>{void 0===s.emscripten_ubq_opfs_readTagCounter&&(s.emscripten_ubq_opfs_readTagCounter=0);const r=++s.emscripten_ubq_opfs_readTagCounter,i=d.get(),l=a=>{if(a.data.tag===r){if(i.removeEventListener("message",l),a.data.error)return void t(new Error(a.data.error));a.data.buf&&s.HEAPU8.set(new Uint8Array(a.data.buf),n),a.data.bytes===o?e(o):t(new Error("short read"))}};i.addEventListener("message",l),d.post({read:{offset:a,size:o,ptr:n,tag:r}})})}catch(e){return console.error("[OPFS] worker read failed:",e),-1}},s.emscripten_ubq_opfs_loadChunkAsync=async function(e,t,r){if(t.chunkCache.has(r))return void s.emscripten_ubq_opfs_updateAccess(t,r);if(t.loadingChunks.has(r))return;t.loadingChunks.add(r);const o=s.emscripten_ubq_opfs_CHUNK_SIZE,n=r*o,i=n+o;try{await s.emscripten_ubq_opfs_waitForWriteClose(e);const o=await s.emscripten_ubq_opfs_ensureFile(e,t),a=(await o.getFile()).slice(n,i),l=await a.arrayBuffer(),d=new Uint8Array(l);t.chunkCache.set(r,d),t.currentSize+=d.byteLength,s.emscripten_ubq_opfs_updateAccess(t,r),s.emscripten_ubq_opfs_cleanCache(t)}catch(t){throw console.error(`[OPFS] Async Failed to load chunk ${r} for "${e}":`,t),t}finally{t.loadingChunks.delete(r)}},"object"==typeof window&&"object"==typeof window.performance?s.performance=performance:"object"==typeof global&&"object"==typeof global.perf_hooks&&"object"==typeof global.perf_hooks.performance?s.performance=global.perf_hooks.performance:s.performance={mark:function(){},measure:function(){}},(o=t||(t={}))[o.PENDING=0]="PENDING",o[o.FINISHED=1]="FINISHED",o[o.ALLOCATED=2]="ALLOCATED",o[o.ERROR=3]="ERROR",(i=n||(n={}))[i.GET=0]="GET",i[i.POST=1]="POST",i[i.HEAD=2]="HEAD";class FetchProcess{constructor(e,r){this.state=t.PENDING,this.statusCode=-1,this.totalBytes=0,this.receivedLength=0,this.handle=e,this.uri=r,this.abortController=new AbortController,this.abortSignal=this.abortController.signal}async readChunks(e,t){let r=0;const o=[],n=e=>{o.push(e),r+=e.length,this.receivedLength=r};if(null==e);else if("getReader"in e){const o=e.getReader();for(;;){const{done:e,value:i}=await o.read();if(e)break;if(this.abortSignal.aborted)throw await o.cancel(),o.releaseLock(),new Error(this.abortSignal.reason);if(void 0!==t&&r+i.length>t){const e=t-r;e>0&&n(i.subarray(0,e)),await o.cancel(),o.releaseLock();break}if(n(i),void 0!==t&&r>=t){await o.cancel(),o.releaseLock();break}}(void 0===t||r<t)&&o.releaseLock()}else{const o=()=>e.destroy(new Error(this.abortSignal.reason));this.abortSignal.addEventListener("abort",o,{once:!0});try{await new Promise((o,i)=>{let s=!1;const a=()=>{e.off("data",c),e.off("end",l),e.off("error",d)},l=()=>{s||(s=!0,a(),o())},d=e=>{s||(s=!0,a(),i(e))},c=i=>{if(!s){if(void 0!==t&&r+i.length>t){const l=t-r;return l>0&&n(i.subarray(0,l)),s=!0,a(),e.destroy(),void o()}n(i),void 0!==t&&r>=t&&(s=!0,a(),e.destroy(),o())}};e.on("data",c),e.on("end",l),e.on("error",d)})}finally{this.abortSignal.removeEventListener("abort",o)}}const i=new Uint8Array(r);let s=0;for(const e of o)i.set(e,s),s+=e.length;return this.finish(i)}abort(){this.isPending()&&this.abortController.abort("Fetch aborted")}isPending(){return this.state===t.PENDING}isError(){return this.state===t.ERROR}isFinished(){return this.state===t.FINISHED}isAllocated(){return this.state===t.ALLOCATED}allocate(){if(this.isAllocated())return this;if(this.isFinished()){const e=this.result.length,r=s._malloc(e);s.HEAPU8.set(this.result,r);const o=Object.assign(Object.assign({},this),{state:t.ALLOCATED,resultAddress:r,resultLength:e});return Object.assign(this,o),o}return null}finish(e){const r=Object.assign(Object.assign({},this),{state:t.FINISHED,result:e,totalBytes:this.totalBytes>0?this.totalBytes:e.length});return Object.assign(this,r)}fail(e){const r=Object.assign(Object.assign({},this),{state:t.ERROR,error:e});return Object.assign(this,r)}}s.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,i,a,l,d){const c=s.UTF8ToString(t,r),u=this._nextHandle++,h=new FetchProcess(u,c);return this._processes.set(u,h),c.match(/^file:/)?this._fetchFile(h).catch(e=>{h.fail(e)}):this._fetchRemote(h,e,o,n,i,a,l,d).catch(e=>{h.fail(e)}),h}async _fetchFile(e){if("undefined"!=typeof window)throw new Error("File URLs supported only in Node.JS");const t=gt(),{fileURLToPath:r}=gt(),o=t.createReadStream(r(e.uri));return e.readChunks(o)}async _fetchRemote(e,t,r,o,i,a,l,d){const c=s.UTF8ToString(l,d),u=this.getHeaders(r,o),h="Range"in u;let p,g,f;if(u.Range){const e=u.Range.match(/bytes=(\d+)-(\d+)/);e&&(g=parseInt(e[1],10),f=parseInt(e[2],10),p=f-g+1)}const m=0===g&&void 0!==p&&p<=64,b=t===n.POST?new Uint8Array(new Uint8Array(s.HEAPU8.buffer,i,a)):void 0,y={method:n[t],headers:u,body:b,mode:"cors",credentials:c,signal:e.abortSignal,redirect:h?"manual":"follow"};let v=await this._fetch(e.uri,y);if(h){let t=0;for(;v.status>=300&&v.status<400;){const r=v.headers.get("Location");if(!r)return e.fail("Redirect without Location header");const o=new URL(r,v.url).href;if(t+=1,t>10)return e.fail("Too many redirects");v=await this._fetch(o,y)}if("opaqueredirect"===v.type)return e.fail("Opaque redirect while preserving Range header")}if(e.statusCode=v.status,v.status>=200&&v.status<=209){let r=0;if(206===v.status&&v.headers.has("Content-Range")){const e=v.headers.get("Content-Range").match(/\/(\d+|\*)/);e&&"*"!==e[1]&&(r=parseInt(e[1],10))}return 0===r&&v.headers.has("Content-Length")&&(r=+v.headers.get("Content-Length")),e.totalBytes=r,t===n.HEAD?e.finish(new Uint8Array(0)):(h&&200===v.status&&!m&&(p=void 0),e.readChunks(v.body,p))}if(416===v.status){if(v.headers.has("Content-Range")){const t=v.headers.get("Content-Range").match(/\/(\d+)/);if(t){const r=parseInt(t[1],10);e.totalBytes=r}}return e.fail("416 Range Not Satisfiable")}return e.fail(v.statusText)}getHeaders(e,t){const r={};for(let o=0;o<t;o++){const t=s.getValue(e+4*o,"i32"),n=this._headers.get(t);r[n.key]=n.value}return r}createHeader(e,t,r,o){const n=s.UTF8ToString(e,t),i=s.UTF8ToString(r,o),a=this._nextHeaderHandle++;return this._headers.set(a,{key:n,value:i}),a}deleteHeader(e){return this._headers.delete(e)}},s.emscripten_ubq_opfs_writerCaches||(s.emscripten_ubq_opfs_writerCaches=new Map),s.emscripten_ubq_opfs_createWriterWorker=function(){const e=new Blob(["\n let handle = null;\n let currentUri = '';\n\n async function ensureWritableFileHandle(uri) {\n const path = uri.replace(/^opfs:\\/\\//, '');\n const parts = path.split('/').filter(Boolean);\n let dir = await navigator.storage.getDirectory();\n for (let i = 0; i < parts.length - 1; i++) {\n dir = await dir.getDirectoryHandle(parts[i], { create: true });\n }\n return dir.getFileHandle(parts[parts.length - 1], { create: true });\n }\n\n self.onmessage = async (ev) => {\n if (ev.data.open) {\n if (handle) {\n try {\n await handle.flush();\n handle.close();\n } catch (e) {\n console.warn('[OPFS Writer] Failed to close previous handle', e);\n }\n }\n try {\n currentUri = ev.data.uri || '';\n const fh = await ensureWritableFileHandle(currentUri);\n handle = await fh.createSyncAccessHandle({ mode: 'readwrite' });\n try {\n // Ensure we start from a clean slate; truncate to zero\n handle.truncate(0);\n } catch (e) {\n // Some browsers might not support truncate; ignore\n }\n // Debug logs removed\n self.postMessage({ ready: true });\n } catch (err) {\n console.error('[OPFS Writer] Failed to open SyncAccessHandle', err);\n handle = null;\n const message = (err && err.message) ? err.message : String(err);\n self.postMessage({ ready: false, error: message });\n }\n return;\n }\n\n if (ev.data.write) {\n const { offset, buf, tag } = ev.data.write;\n try {\n if (!handle) throw new Error('OPFS writer handle not initialized');\n const bytes = new Uint8Array(buf);\n // Debug logs removed\n handle.write(bytes, { at: offset });\n // Debug logs removed\n self.postMessage({ tag });\n } catch (e) {\n self.postMessage({ tag, error: e.toString() });\n }\n return;\n }\n\n if (ev.data.close) {\n try {\n // Debug logs removed\n await handle.flush();\n handle.close();\n } catch (e) {\n // ignore\n }\n self.postMessage({ closed: true });\n }\n };\n "],{type:"application/javascript"}),t=new Worker(URL.createObjectURL(e),{type:"module"});return{worker:t,post:e=>t.postMessage(e),get:()=>t}},s.emscripten_ubq_opfs_destroyWriterWorker=function(e){if(e)try{e.worker.terminate()}catch(e){}},s.emscripten_ubq_opfs_ensureWriteFile=async function(e,t){if(t.fileHandle)return t.fileHandle;if(t.openPromise)return t.openPromise;const r=e.replace(/^opfs:\/\//,"");return t.openPromise=(async()=>{const e=await navigator.storage.getDirectory(),o=r.split("/").filter(Boolean);let n=e;for(let e=0;e<o.length-1;e++){const t=o[e];n=await n.getDirectoryHandle(t,{create:!0})}const i=await n.getFileHandle(o[o.length-1],{create:!0});return t.fileHandle=i,i})(),t.openPromise},s.emscripten_ubq_opfs_ensureWriteWorker=function(e,t){return t.worker||(t.worker=s.emscripten_ubq_opfs_createWriterWorker()),t.worker};var c=[],u="./this.program",h=(e,t)=>{throw t};"undefined"!=typeof __filename?r=__filename:l&&(r=self.location.href);var p,g,f="";if(d){var m=gt();f=__dirname+"/",g=e=>(e=D(e)?new URL(e):e,m.readFileSync(e)),p=async(e,t=!0)=>(e=D(e)?new URL(e):e,m.readFileSync(e,t?void 0:"utf8")),process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),c=process.argv.slice(2),h=(e,t)=>{throw process.exitCode=e,t}}else if(a||l){try{f=new URL(".",r).href}catch{}l&&(g=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),p=async e=>{var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw new Error(t.status+" : "+t.url)}}var b,y,v,w,_,k,S,C,E,x,T,P,A,M,F,I=console.log.bind(console),R=console.error.bind(console),L=!1,D=e=>e.startsWith("file://"),O=!1;function B(){var e=H.buffer;_=new Int8Array(e),S=new Int16Array(e),s.HEAPU8=k=new Uint8Array(e),s.HEAPU16=C=new Uint16Array(e),E=new Int32Array(e),s.HEAPU32=x=new Uint32Array(e),s.HEAPF32=T=new Float32Array(e),s.HEAPF64=P=new Float64Array(e),A=new BigInt64Array(e),M=new BigUint64Array(e)}function U(e){s.onAbort?.(e),R(e="Aborted("+e+")"),L=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw w?.(t),t}function j(){return e="cesdk.wasm",s.locateFile?s.locateFile(e,f):f+e;var e}async function q(e){if(!b)try{var t=await p(e);return new Uint8Array(t)}catch{}return function(e){if(e==F&&b)return new Uint8Array(b);if(g)return g(e);throw"both async and sync fetching of the wasm failed"}(e)}async function W(e,t,r){if(!e&&!d)try{var o=fetch(t,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(o,r)}catch(e){R(`wasm streaming compile failed: ${e}`),R("falling back to ArrayBuffer instantiation")}return async function(e,t){try{var r=await q(e);return await WebAssembly.instantiate(r,t)}catch(e){R(`failed to asynchronously prepare wasm: ${e}`),U(e)}}(t,r)}class ExitStatus{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var H,$=globalThis.TextDecoder&&new TextDecoder,V=(e,t,r,o)=>{var n=t+r;if(o)return n;for(;e[t]&&!(t>=n);)++t;return t},N=(e,t=0,r,o)=>{var n=V(e,t,r,o);if(n-t>16&&e.buffer&&$)return $.decode(e.subarray(t,n));for(var i="";t<n;){var s=e[t++];if(128&s){var a=63&e[t++];if(192!=(224&s)){var l=63&e[t++];if((s=224==(240&s)?(15&s)<<12|a<<6|l:(7&s)<<18|a<<12|l<<6|63&e[t++])<65536)i+=String.fromCharCode(s);else{var d=s-65536;i+=String.fromCharCode(55296|d>>10,56320|1023&d)}}else i+=String.fromCharCode((31&s)<<6|a)}else i+=String.fromCharCode(s)}return i},z=(e,t,r)=>e?N(k,e,t,r):"",G=e=>{for(;e.length>0;)e.shift()(s)},X=[],Y=e=>X.push(e),K=[],Q=e=>K.push(e),Z=!0,J=e=>xo(e),ee=()=>Po(),te=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},re=(e,t,r,o)=>{if(!(o>0))return 0;for(var n=r,i=r+o-1,s=0;s<e.length;++s){var a=e.codePointAt(s);if(a<=127){if(r>=i)break;t[r++]=a}else if(a<=2047){if(r+1>=i)break;t[r++]=192|a>>6,t[r++]=128|63&a}else if(a<=65535){if(r+2>=i)break;t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a}else{if(r+3>=i)break;t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a,s++}}return t[r]=0,r-n},oe=(e,t,r)=>re(e,k,t,r),ne=e=>{var t=te(e)+1,r=yo(t);return r&&oe(e,r,t),r},ie=[],se=0;class ExceptionInfo{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){x[this.ptr+4>>2]=e}get_type(){return x[this.ptr+4>>2]}set_destructor(e){x[this.ptr+8>>2]=e}get_destructor(){return x[this.ptr+8>>2]}set_caught(e){e=e?1:0,_[this.ptr+12]=e}get_caught(){return 0!=_[this.ptr+12]}set_rethrown(e){e=e?1:0,_[this.ptr+13]=e}get_rethrown(){return 0!=_[this.ptr+13]}init(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)}set_adjusted_ptr(e){x[this.ptr+16>>2]=e}get_adjusted_ptr(){return x[this.ptr+16>>2]}}var ae=e=>Eo(e),le=e=>{var t=se;if(!t)return ae(0),0;var r=new ExceptionInfo(t);r.set_adjusted_ptr(t);var o=r.get_type();if(!o)return ae(0),t;for(var n of e){if(0===n||n===o)break;var i=r.ptr+16;if(Fo(n,o,i))return ae(n),t}return ae(o),t},de={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=de.isAbs(e),r="/"===e.slice(-1);return(e=de.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=de.splitPath(e),r=t[0],o=t[1];return r||o?(o&&(o=o.slice(0,-1)),r+o):"."},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>de.normalize(e.join("/")),join2:(e,t)=>de.normalize(e+"/"+t)},ce=e=>{(ce=e=>crypto.getRandomValues(e))(e)},ue={resolve:(...e)=>{for(var t="",r=!1,o=e.length-1;o>=-1&&!r;o--){var n=o>=0?e[o]:xe.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";t=n+"/"+t,r=de.isAbs(n)}return(r?"/":"")+(t=de.normalizeArray(t.split("/").filter(e=>!!e),!r).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=ue.resolve(e).slice(1),t=ue.resolve(t).slice(1);for(var o=r(e.split("/")),n=r(t.split("/")),i=Math.min(o.length,n.length),s=i,a=0;a<i;a++)if(o[a]!==n[a]){s=a;break}var l=[];for(a=s;a<o.length;a++)l.push("..");return(l=l.concat(n.slice(s))).join("/")}},he=[],pe=(e,t,r)=>{var o=r>0?r:te(e)+1,n=new Array(o),i=re(e,n,0,n.length);return t&&(n.length=i),n},ge={ttys:[],init(){},shutdown(){},register(e,t){ge.ttys[e]={input:[],output:[],ops:t},xe.registerDevice(e,ge.stream_ops)},stream_ops:{open(e){var t=ge.ttys[e.node.rdev];if(!t)throw new xe.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 xe.ErrnoError(60);for(var i=0,s=0;s<o;s++){var a;try{a=e.tty.ops.get_char(e.tty)}catch(e){throw new xe.ErrnoError(29)}if(void 0===a&&0===i)throw new xe.ErrnoError(6);if(null==a)break;i++,t[r+s]=a}return i&&(e.node.atime=Date.now()),i},write(e,t,r,o,n){if(!e.tty||!e.tty.ops.put_char)throw new xe.ErrnoError(60);try{for(var i=0;i<o;i++)e.tty.ops.put_char(e.tty,t[r+i])}catch(e){throw new xe.ErrnoError(29)}return o&&(e.node.mtime=e.node.ctime=Date.now()),i}},default_tty_ops:{get_char:e=>(()=>{if(!he.length){var e=null;if(d){var t=Buffer.alloc(256),r=0,o=process.stdin.fd;try{r=m.readSync(o,t,0,256)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}r>0&&(e=t.slice(0,r).toString("utf-8"))}else globalThis.window?.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n");if(!e)return null;he=pe(e,!0)}return he.shift()})(),put_char(e,t){null===t||10===t?(I(N(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output?.length>0&&(I(N(e.output)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(R(N(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output?.length>0&&(R(N(e.output)),e.output=[])}}},fe=(e,t)=>Math.ceil(e/t)*t,me=e=>{e=fe(e,65536);var t=So(65536,e);return t&&((e,t)=>{k.fill(0,e,e+t)})(t,e),t},be={ops_table:null,mount:e=>be.createNode(null,"/",16895,0),createNode(e,t,r,o){if(xe.isBlkdev(r)||xe.isFIFO(r))throw new xe.ErrnoError(63);be.ops_table||={dir:{node:{getattr:be.node_ops.getattr,setattr:be.node_ops.setattr,lookup:be.node_ops.lookup,mknod:be.node_ops.mknod,rename:be.node_ops.rename,unlink:be.node_ops.unlink,rmdir:be.node_ops.rmdir,readdir:be.node_ops.readdir,symlink:be.node_ops.symlink},stream:{llseek:be.stream_ops.llseek}},file:{node:{getattr:be.node_ops.getattr,setattr:be.node_ops.setattr},stream:{llseek:be.stream_ops.llseek,read:be.stream_ops.read,write:be.stream_ops.write,mmap:be.stream_ops.mmap,msync:be.stream_ops.msync}},link:{node:{getattr:be.node_ops.getattr,setattr:be.node_ops.setattr,readlink:be.node_ops.readlink},stream:{}},chrdev:{node:{getattr:be.node_ops.getattr,setattr:be.node_ops.setattr},stream:xe.chrdev_stream_ops}};var n=xe.createNode(e,t,r,o);return xe.isDir(n.mode)?(n.node_ops=be.ops_table.dir.node,n.stream_ops=be.ops_table.dir.stream,n.contents={}):xe.isFile(n.mode)?(n.node_ops=be.ops_table.file.node,n.stream_ops=be.ops_table.file.stream,n.usedBytes=0,n.contents=null):xe.isLink(n.mode)?(n.node_ops=be.ops_table.link.node,n.stream_ops=be.ops_table.link.stream):xe.isChrdev(n.mode)&&(n.node_ops=be.ops_table.chrdev.node,n.stream_ops=be.ops_table.chrdev.stream),n.atime=n.mtime=n.ctime=Date.now(),e&&(e.contents[t]=n,e.atime=e.mtime=e.ctime=n.atime),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=xe.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,xe.isDir(e.mode)?t.size=4096:xe.isFile(e.mode)?t.size=e.usedBytes:xe.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){for(const r of["mode","atime","mtime","ctime"])null!=t[r]&&(e[r]=t[r]);void 0!==t.size&&be.resizeFileStorage(e,t.size)},lookup(e,t){throw be.doesNotExistError||(be.doesNotExistError=new xe.ErrnoError(44),be.doesNotExistError.stack="<generic error, no stack>"),be.doesNotExistError},mknod:(e,t,r,o)=>be.createNode(e,t,r,o),rename(e,t,r){var o;try{o=xe.lookupNode(t,r)}catch(e){}if(o){if(xe.isDir(e.mode))for(var n in o.contents)throw new xe.ErrnoError(55);xe.hashRemoveNode(o)}delete e.parent.contents[e.name],t.contents[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.contents[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r=xe.lookupNode(e,t);for(var o in r.contents)throw new xe.ErrnoError(55);delete e.contents[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.contents)],symlink(e,t,r){var o=be.createNode(e,t,41471,0);return o.link=r,o},readlink(e){if(!xe.isLink(e.mode))throw new xe.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,o,n){var i=e.node.contents;if(n>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-n,o);if(s>8&&i.subarray)t.set(i.subarray(n,n+s),r);else for(var a=0;a<s;a++)t[r+a]=i[n+a];return s},write(e,t,r,o,n,i){if(t.buffer===_.buffer&&(i=!1),!o)return 0;var s=e.node;if(s.mtime=s.ctime=Date.now(),t.subarray&&(!s.contents||s.contents.subarray)){if(i)return s.contents=t.subarray(r,r+o),s.usedBytes=o,o;if(0===s.usedBytes&&0===n)return s.contents=t.slice(r,r+o),s.usedBytes=o,o;if(n+o<=s.usedBytes)return s.contents.set(t.subarray(r,r+o),n),o}if(be.expandFileStorage(s,n+o),s.contents.subarray&&t.subarray)s.contents.set(t.subarray(r,r+o),n);else for(var a=0;a<o;a++)s.contents[n+a]=t[r+a];return s.usedBytes=Math.max(s.usedBytes,n+o),o},llseek(e,t,r){var o=t;if(1===r?o+=e.position:2===r&&xe.isFile(e.node.mode)&&(o+=e.node.usedBytes),o<0)throw new xe.ErrnoError(28);return o},mmap(e,t,r,o,n){if(!xe.isFile(e.node.mode))throw new xe.ErrnoError(43);var i,s,a=e.node.contents;if(2&n||!a||a.buffer!==_.buffer){if(s=!0,!(i=me(t)))throw new xe.ErrnoError(48);a&&((r>0||r+t<a.length)&&(a=a.subarray?a.subarray(r,r+t):Array.prototype.slice.call(a,r,r+t)),_.set(a,i))}else s=!1,i=a.byteOffset;return{ptr:i,allocated:s}},msync:(e,t,r,o,n)=>(be.stream_ops.write(e,t,0,o,r,!1),0)}},ye=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},ve=(...e)=>xe.createDataFile(...e),we=0,_e=null,ke=e=>{if(we--,s.monitorRunDependencies?.(we),0==we&&_e){var t=_e;_e=null,t()}},Se=e=>{we++,s.monitorRunDependencies?.(we)},Ce=[],Ee=async(e,t,r,o,n,i,s,a)=>{var l=t?ue.resolve(de.join2(e,t)):e;Se();try{var d=r;"string"==typeof r&&(d=await(async e=>{var t=await p(e);return new Uint8Array(t)})(r)),d=await(async(e,t)=>{for(var r of(void 0!==rr&&rr.init(),Ce))if(r.canHandle(t))return r.handle(e,t);return e})(d,l),a?.(),i||ve(e,t,d,o,n,s)}finally{ke()}},xe={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(e){this.errno=e}},FSStream:class{shared={};get object(){return this.node}set object(e){this.node=e}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return!!(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(e,t,r,o){e||(e=this),this.parent=e,this.mount=e.mount,this.id=xe.nextInode++,this.name=t,this.mode=r,this.rdev=o,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return xe.isDir(this.mode)}get isDevice(){return xe.isChrdev(this.mode)}},lookupPath(e,t={}){if(!e)throw new xe.ErrnoError(44);t.follow_mount??=!0,de.isAbs(e)||(e=xe.cwd()+"/"+e);e:for(var r=0;r<40;r++){for(var o=e.split("/").filter(e=>!!e),n=xe.root,i="/",s=0;s<o.length;s++){var a=s===o.length-1;if(a&&t.parent)break;if("."!==o[s])if(".."!==o[s]){i=de.join2(i,o[s]);try{n=xe.lookupNode(n,o[s])}catch(e){if(44===e?.errno&&a&&t.noent_okay)return{path:i};throw e}if(!xe.isMountpoint(n)||a&&!t.follow_mount||(n=n.mounted.root),xe.isLink(n.mode)&&(!a||t.follow)){if(!n.node_ops.readlink)throw new xe.ErrnoError(52);var l=n.node_ops.readlink(n);de.isAbs(l)||(l=de.dirname(i)+"/"+l),e=l+"/"+o.slice(s+1).join("/");continue e}}else{if(i=de.dirname(i),xe.isRoot(n)){e=i+"/"+o.slice(s+1).join("/"),r--;continue e}n=n.parent}}return{path:i,node:n}}throw new xe.ErrnoError(32)},getPath(e){for(var t;;){if(xe.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)%xe.nameTable.length},hashAddNode(e){var t=xe.hashName(e.parent.id,e.name);e.name_next=xe.nameTable[t],xe.nameTable[t]=e},hashRemoveNode(e){var t=xe.hashName(e.parent.id,e.name);if(xe.nameTable[t]===e)xe.nameTable[t]=e.name_next;else for(var r=xe.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=xe.mayLookup(e);if(r)throw new xe.ErrnoError(r);for(var o=xe.hashName(e.id,t),n=xe.nameTable[o];n;n=n.name_next){var i=n.name;if(n.parent.id===e.id&&i===t)return n}return xe.lookup(e,t)},createNode(e,t,r,o){var n=new xe.FSNode(e,t,r,o);return xe.hashAddNode(n),n},destroyNode(e){xe.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>xe.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!xe.isDir(e.mode))return 54;var t=xe.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){if(!xe.isDir(e.mode))return 54;try{return xe.lookupNode(e,t),20}catch(e){}return xe.nodePermissions(e,"wx")},mayDelete(e,t,r){var o;try{o=xe.lookupNode(e,t)}catch(e){return e.errno}var n=xe.nodePermissions(e,"wx");if(n)return n;if(r){if(!xe.isDir(o.mode))return 54;if(xe.isRoot(o)||xe.getPath(o)===xe.cwd())return 10}else if(xe.isDir(o.mode))return 31;return 0},mayOpen:(e,t)=>e?xe.isLink(e.mode)?32:xe.isDir(e.mode)&&("r"!==xe.flagsToPermissionString(t)||576&t)?31:xe.nodePermissions(e,xe.flagsToPermissionString(t)):44,checkOpExists(e,t){if(!e)throw new xe.ErrnoError(t);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=xe.MAX_OPEN_FDS;e++)if(!xe.streams[e])return e;throw new xe.ErrnoError(33)},getStreamChecked(e){var t=xe.getStream(e);if(!t)throw new xe.ErrnoError(8);return t},getStream:e=>xe.streams[e],createStream:(e,t=-1)=>(e=Object.assign(new xe.FSStream,e),-1==t&&(t=xe.nextfd()),e.fd=t,xe.streams[t]=e,e),closeStream(e){xe.streams[e]=null},dupStream(e,t=-1){var r=xe.createStream(e,t);return r.stream_ops?.dup?.(r),r},doSetAttr(e,t,r){var o=e?.stream_ops.setattr,n=o?e:t;o??=t.node_ops.setattr,xe.checkOpExists(o,63),o(n,r)},chrdev_stream_ops:{open(e){var t=xe.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new xe.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){xe.devices[e]={stream_ops:t}},getDevice:e=>xe.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var o=r.pop();t.push(o),r.push(...o.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),xe.syncFSRequests++,xe.syncFSRequests>1&&R(`warning: ${xe.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=xe.getMounts(xe.root.mount),o=0;function n(e){return xe.syncFSRequests--,t(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,n(e));++o>=r.length&&n(null)}for(var s of r)s.type.syncfs?s.type.syncfs(s,e,i):i(null)},mount(e,t,r){var o,n="/"===r,i=!r;if(n&&xe.root)throw new xe.ErrnoError(10);if(!n&&!i){var s=xe.lookupPath(r,{follow_mount:!1});if(r=s.path,o=s.node,xe.isMountpoint(o))throw new xe.ErrnoError(10);if(!xe.isDir(o.mode))throw new xe.ErrnoError(54)}var a={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(a);return l.mount=a,a.root=l,n?xe.root=l:o&&(o.mounted=a,o.mount&&o.mount.mounts.push(a)),l},unmount(e){var t=xe.lookupPath(e,{follow_mount:!1});if(!xe.isMountpoint(t.node))throw new xe.ErrnoError(28);var r=t.node,o=r.mounted,n=xe.getMounts(o);for(var[i,s]of Object.entries(xe.nameTable))for(;s;){var a=s.name_next;n.includes(s.mount)&&xe.destroyNode(s),s=a}r.mounted=null;var l=r.mount.mounts.indexOf(o);r.mount.mounts.splice(l,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var o=xe.lookupPath(e,{parent:!0}).node,n=de.basename(e);if(!n)throw new xe.ErrnoError(28);if("."===n||".."===n)throw new xe.ErrnoError(20);var i=xe.mayCreate(o,n);if(i)throw new xe.ErrnoError(i);if(!o.node_ops.mknod)throw new xe.ErrnoError(63);return o.node_ops.mknod(o,n,t,r)},statfs:e=>xe.statfsNode(xe.lookupPath(e,{follow:!0}).node),statfsStream:e=>xe.statfsNode(e.node),statfsNode(e){var t={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:xe.nextInode,ffree:xe.nextInode-1,fsid:42,flags:2,namelen:255};return e.node_ops.statfs&&Object.assign(t,e.node_ops.statfs(e.mount.opts.root)),t},create:(e,t=438)=>(t&=4095,t|=32768,xe.mknod(e,t,0)),mkdir:(e,t=511)=>(t&=1023,t|=16384,xe.mknod(e,t,0)),mkdirTree(e,t){var r=e.split("/"),o="";for(var n of r)if(n){(o||de.isAbs(e))&&(o+="/"),o+=n;try{xe.mkdir(o,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,xe.mknod(e,t,r)),symlink(e,t){if(!ue.resolve(e))throw new xe.ErrnoError(44);var r=xe.lookupPath(t,{parent:!0}).node;if(!r)throw new xe.ErrnoError(44);var o=de.basename(t),n=xe.mayCreate(r,o);if(n)throw new xe.ErrnoError(n);if(!r.node_ops.symlink)throw new xe.ErrnoError(63);return r.node_ops.symlink(r,o,e)},rename(e,t){var r,o,n=de.dirname(e),i=de.dirname(t),s=de.basename(e),a=de.basename(t);if(r=xe.lookupPath(e,{parent:!0}).node,o=xe.lookupPath(t,{parent:!0}).node,!r||!o)throw new xe.ErrnoError(44);if(r.mount!==o.mount)throw new xe.ErrnoError(75);var l,d=xe.lookupNode(r,s),c=ue.relative(e,i);if("."!==c.charAt(0))throw new xe.ErrnoError(28);if("."!==(c=ue.relative(t,n)).charAt(0))throw new xe.ErrnoError(55);try{l=xe.lookupNode(o,a)}catch(e){}if(d!==l){var u=xe.isDir(d.mode),h=xe.mayDelete(r,s,u);if(h)throw new xe.ErrnoError(h);if(h=l?xe.mayDelete(o,a,u):xe.mayCreate(o,a))throw new xe.ErrnoError(h);if(!r.node_ops.rename)throw new xe.ErrnoError(63);if(xe.isMountpoint(d)||l&&xe.isMountpoint(l))throw new xe.ErrnoError(10);if(o!==r&&(h=xe.nodePermissions(r,"w")))throw new xe.ErrnoError(h);xe.hashRemoveNode(d);try{r.node_ops.rename(d,o,a),d.parent=o}catch(e){throw e}finally{xe.hashAddNode(d)}}},rmdir(e){var t=xe.lookupPath(e,{parent:!0}).node,r=de.basename(e),o=xe.lookupNode(t,r),n=xe.mayDelete(t,r,!0);if(n)throw new xe.ErrnoError(n);if(!t.node_ops.rmdir)throw new xe.ErrnoError(63);if(xe.isMountpoint(o))throw new xe.ErrnoError(10);t.node_ops.rmdir(t,r),xe.destroyNode(o)},readdir(e){var t=xe.lookupPath(e,{follow:!0}).node;return xe.checkOpExists(t.node_ops.readdir,54)(t)},unlink(e){var t=xe.lookupPath(e,{parent:!0}).node;if(!t)throw new xe.ErrnoError(44);var r=de.basename(e),o=xe.lookupNode(t,r),n=xe.mayDelete(t,r,!1);if(n)throw new xe.ErrnoError(n);if(!t.node_ops.unlink)throw new xe.ErrnoError(63);if(xe.isMountpoint(o))throw new xe.ErrnoError(10);t.node_ops.unlink(t,r),xe.destroyNode(o)},readlink(e){var t=xe.lookupPath(e).node;if(!t)throw new xe.ErrnoError(44);if(!t.node_ops.readlink)throw new xe.ErrnoError(28);return t.node_ops.readlink(t)},stat(e,t){var r=xe.lookupPath(e,{follow:!t}).node;return xe.checkOpExists(r.node_ops.getattr,63)(r)},fstat(e){var t=xe.getStreamChecked(e),r=t.node,o=t.stream_ops.getattr,n=o?t:r;return o??=r.node_ops.getattr,xe.checkOpExists(o,63),o(n)},lstat:e=>xe.stat(e,!0),doChmod(e,t,r,o){xe.doSetAttr(e,t,{mode:4095&r|-4096&t.mode,ctime:Date.now(),dontFollow:o})},chmod(e,t,r){var o;o="string"==typeof e?xe.lookupPath(e,{follow:!r}).node:e,xe.doChmod(null,o,t,r)},lchmod(e,t){xe.chmod(e,t,!0)},fchmod(e,t){var r=xe.getStreamChecked(e);xe.doChmod(r,r.node,t,!1)},doChown(e,t,r){xe.doSetAttr(e,t,{timestamp:Date.now(),dontFollow:r})},chown(e,t,r,o){var n;n="string"==typeof e?xe.lookupPath(e,{follow:!o}).node:e,xe.doChown(null,n,o)},lchown(e,t,r){xe.chown(e,t,r,!0)},fchown(e,t,r){var o=xe.getStreamChecked(e);xe.doChown(o,o.node,!1)},doTruncate(e,t,r){if(xe.isDir(t.mode))throw new xe.ErrnoError(31);if(!xe.isFile(t.mode))throw new xe.ErrnoError(28);var o=xe.nodePermissions(t,"w");if(o)throw new xe.ErrnoError(o);xe.doSetAttr(e,t,{size:r,timestamp:Date.now()})},truncate(e,t){if(t<0)throw new xe.ErrnoError(28);var r;r="string"==typeof e?xe.lookupPath(e,{follow:!0}).node:e,xe.doTruncate(null,r,t)},ftruncate(e,t){var r=xe.getStreamChecked(e);if(t<0||!(2097155&r.flags))throw new xe.ErrnoError(28);xe.doTruncate(r,r.node,t)},utime(e,t,r){var o=xe.lookupPath(e,{follow:!0}).node;xe.checkOpExists(o.node_ops.setattr,63)(o,{atime:t,mtime:r})},open(e,t,r=438){if(""===e)throw new xe.ErrnoError(44);var o,n;if(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{n=e.endsWith("/");var i=xe.lookupPath(e,{follow:!(131072&t),noent_okay:!0});o=i.node,e=i.path}var a=!1;if(64&t)if(o){if(128&t)throw new xe.ErrnoError(20)}else{if(n)throw new xe.ErrnoError(31);o=xe.mknod(e,511|r,0),a=!0}if(!o)throw new xe.ErrnoError(44);if(xe.isChrdev(o.mode)&&(t&=-513),65536&t&&!xe.isDir(o.mode))throw new xe.ErrnoError(54);if(!a){var l=xe.mayOpen(o,t);if(l)throw new xe.ErrnoError(l)}512&t&&!a&&xe.truncate(o,0),t&=-131713;var d=xe.createStream({node:o,path:xe.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return d.stream_ops.open&&d.stream_ops.open(d),a&&xe.chmod(o,511&r),!s.logReadFiles||1&t||e in xe.readFiles||(xe.readFiles[e]=1),d},close(e){if(xe.isClosed(e))throw new xe.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{xe.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(xe.isClosed(e))throw new xe.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new xe.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new xe.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 xe.ErrnoError(28);if(xe.isClosed(e))throw new xe.ErrnoError(8);if(1==(2097155&e.flags))throw new xe.ErrnoError(8);if(xe.isDir(e.node.mode))throw new xe.ErrnoError(31);if(!e.stream_ops.read)throw new xe.ErrnoError(28);var i=void 0!==n;if(i){if(!e.seekable)throw new xe.ErrnoError(70)}else n=e.position;var s=e.stream_ops.read(e,t,r,o,n);return i||(e.position+=s),s},write(e,t,r,o,n,i){if(o<0||n<0)throw new xe.ErrnoError(28);if(xe.isClosed(e))throw new xe.ErrnoError(8);if(!(2097155&e.flags))throw new xe.ErrnoError(8);if(xe.isDir(e.node.mode))throw new xe.ErrnoError(31);if(!e.stream_ops.write)throw new xe.ErrnoError(28);e.seekable&&1024&e.flags&&xe.llseek(e,0,2);var s=void 0!==n;if(s){if(!e.seekable)throw new xe.ErrnoError(70)}else n=e.position;var a=e.stream_ops.write(e,t,r,o,n,i);return s||(e.position+=a),a},mmap(e,t,r,o,n){if(2&o&&!(2&n)&&2!=(2097155&e.flags))throw new xe.ErrnoError(2);if(1==(2097155&e.flags))throw new xe.ErrnoError(2);if(!e.stream_ops.mmap)throw new xe.ErrnoError(43);if(!t)throw new xe.ErrnoError(28);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,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new xe.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding&&U(`Invalid encoding type "${t.encoding}"`);var r=xe.open(e,t.flags),o=xe.stat(e).size,n=new Uint8Array(o);return xe.read(r,n,0,o,0),"utf8"===t.encoding&&(n=N(n)),xe.close(r),n},writeFile(e,t,r={}){r.flags=r.flags||577;var o=xe.open(e,r.flags,r.mode);"string"==typeof t&&(t=new Uint8Array(pe(t,!0))),ArrayBuffer.isView(t)?xe.write(o,t,0,t.byteLength,void 0,r.canOwn):U("Unsupported data type"),xe.close(o)},cwd:()=>xe.currentPath,chdir(e){var t=xe.lookupPath(e,{follow:!0});if(null===t.node)throw new xe.ErrnoError(44);if(!xe.isDir(t.node.mode))throw new xe.ErrnoError(54);var r=xe.nodePermissions(t.node,"x");if(r)throw new xe.ErrnoError(r);xe.currentPath=t.path},createDefaultDirectories(){xe.mkdir("/tmp"),xe.mkdir("/home"),xe.mkdir("/home/web_user")},createDefaultDevices(){xe.mkdir("/dev"),xe.registerDevice(xe.makedev(1,3),{read:()=>0,write:(e,t,r,o,n)=>o,llseek:()=>0}),xe.mkdev("/dev/null",xe.makedev(1,3)),ge.register(xe.makedev(5,0),ge.default_tty_ops),ge.register(xe.makedev(6,0),ge.default_tty1_ops),xe.mkdev("/dev/tty",xe.makedev(5,0)),xe.mkdev("/dev/tty1",xe.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(ce(e),t=e.byteLength),e[--t]);xe.createDevice("/dev","random",r),xe.createDevice("/dev","urandom",r),xe.mkdir("/dev/shm"),xe.mkdir("/dev/shm/tmp")},createSpecialDirectories(){xe.mkdir("/proc");var e=xe.mkdir("/proc/self");xe.mkdir("/proc/self/fd"),xe.mount({mount(){var t=xe.createNode(e,"fd",16895,73);return t.stream_ops={llseek:be.stream_ops.llseek},t.node_ops={lookup(e,t){var r=+t,o=xe.getStreamChecked(r),n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>o.path},id:r+1};return n.parent=n,n},readdir:()=>Array.from(xe.streams.entries()).filter(([e,t])=>t).map(([e,t])=>e.toString())},t}},{},"/proc/self/fd")},createStandardStreams(e,t,r){e?xe.createDevice("/dev","stdin",e):xe.symlink("/dev/tty","/dev/stdin"),t?xe.createDevice("/dev","stdout",null,t):xe.symlink("/dev/tty","/dev/stdout"),r?xe.createDevice("/dev","stderr",null,r):xe.symlink("/dev/tty1","/dev/stderr"),xe.open("/dev/stdin",0),xe.open("/dev/stdout",1),xe.open("/dev/stderr",1)},staticInit(){xe.nameTable=new Array(4096),xe.mount(be,{},"/"),xe.createDefaultDirectories(),xe.createDefaultDevices(),xe.createSpecialDirectories(),xe.filesystems={MEMFS:be}},init(e,t,r){xe.initialized=!0,e??=s.stdin,t??=s.stdout,r??=s.stderr,xe.createStandardStreams(e,t,r)},quit(){for(var e of(xe.initialized=!1,xe.streams))e&&xe.close(e)},findObject(e,t){var r=xe.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{e=(o=xe.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=xe.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=o.path,r.parentObject=o.node,r.name=de.basename(e),o=xe.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:xe.getPath(e);for(var n=t.split("/").reverse();n.length;){var i=n.pop();if(i){var s=de.join2(e,i);try{xe.mkdir(s)}catch(e){if(20!=e.errno)throw e}e=s}}return s},createFile(e,t,r,o,n){var i=de.join2("string"==typeof e?e:xe.getPath(e),t),s=ye(o,n);return xe.create(i,s)},createDataFile(e,t,r,o,n,i){var s=t;e&&(e="string"==typeof e?e:xe.getPath(e),s=t?de.join2(e,t):e);var a=ye(o,n),l=xe.create(s,a);if(r){if("string"==typeof r){for(var d=new Array(r.length),c=0,u=r.length;c<u;++c)d[c]=r.charCodeAt(c);r=d}xe.chmod(l,146|a);var h=xe.open(l,577);xe.write(h,r,0,r.length,0,i),xe.close(h),xe.chmod(l,a)}},createDevice(e,t,r,o){var n=de.join2("string"==typeof e?e:xe.getPath(e),t),i=ye(!!r,!!o);xe.createDevice.major??=64;var s=xe.makedev(xe.createDevice.major++,0);return xe.registerDevice(s,{open(e){e.seekable=!1},close(e){o?.buffer?.length&&o(10)},read(e,t,o,n,i){for(var s=0,a=0;a<n;a++){var l;try{l=r()}catch(e){throw new xe.ErrnoError(29)}if(void 0===l&&0===s)throw new xe.ErrnoError(6);if(null==l)break;s++,t[o+a]=l}return s&&(e.node.atime=Date.now()),s},write(e,t,r,n,i){for(var s=0;s<n;s++)try{o(t[r+s])}catch(e){throw new xe.ErrnoError(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),s}}),xe.mkdev(n,i,s)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(globalThis.XMLHttpRequest)U("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");else try{e.contents=g(e.url)}catch(e){throw new xe.ErrnoError(29)}},createLazyFile(e,t,r,o,n){class LazyUint8Array{lengthKnown=!1;chunks=[];get(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}}setDataGetter(e){this.getter=e}cacheLength(){var e=new XMLHttpRequest;e.open("HEAD",r,!1),e.send(null),e.status>=200&&e.status<300||304===e.status||U("Couldn't load "+r+". Status: "+e.status);var t,o=Number(e.getResponseHeader("Content-length")),n=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,i=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,s=1048576;n||(s=o);var a=this;a.setDataGetter(e=>{var t=e*s,n=(e+1)*s-1;return n=Math.min(n,o-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{e>t&&U("invalid range ("+e+", "+t+") or no bytes requested!"),t>o-1&&U("only "+o+" bytes available! programmer error!");var n=new XMLHttpRequest;return n.open("GET",r,!1),o!==s&&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||U("Couldn't load "+r+". Status: "+n.status),void 0!==n.response?new Uint8Array(n.response||[]):pe(n.responseText||"",!0)})(t,n)),void 0===a.chunks[e]&&U("doXHR failed!"),a.chunks[e]}),!i&&o||(s=o=1,o=this.getter(0).length,s=o,I("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=o,this._chunkSize=s,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(globalThis.XMLHttpRequest){l||U("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var i={isDevice:!1,contents:new LazyUint8Array}}else i={isDevice:!1,url:r};var s=xe.createFile(e,t,i,o,n);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var a={};for(const[e,t]of Object.entries(s.stream_ops))a[e]=(...e)=>(xe.forceLoadFile(s),t(...e));function d(e,t,r,o,n){var i=e.node.contents;if(n>=i.length)return 0;var s=Math.min(i.length-n,o);if(i.slice)for(var a=0;a<s;a++)t[r+a]=i[n+a];else for(a=0;a<s;a++)t[r+a]=i.get(n+a);return s}return a.read=(e,t,r,o,n)=>(xe.forceLoadFile(s),d(e,t,r,o,n)),a.mmap=(e,t,r,o,n)=>{xe.forceLoadFile(s);var i=me(t);if(!i)throw new xe.ErrnoError(48);return d(e,_,i,t,r),{ptr:i,allocated:!0}},s.stream_ops=a,s}},Te={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(de.isAbs(t))return t;var o;if(o=-100===e?xe.cwd():Te.getStreamFromFD(e).path,0==t.length){if(!r)throw new xe.ErrnoError(44);return o}return o+"/"+t},writeStat(e,t){x[e>>2]=t.dev,x[e+4>>2]=t.mode,x[e+8>>2]=t.nlink,x[e+12>>2]=t.uid,x[e+16>>2]=t.gid,x[e+20>>2]=t.rdev,A[e+24>>3]=BigInt(t.size),E[e+32>>2]=4096,E[e+36>>2]=t.blocks;var r=t.atime.getTime(),o=t.mtime.getTime(),n=t.ctime.getTime();return A[e+40>>3]=BigInt(Math.floor(r/1e3)),x[e+48>>2]=r%1e3*1e3*1e3,A[e+56>>3]=BigInt(Math.floor(o/1e3)),x[e+64>>2]=o%1e3*1e3*1e3,A[e+72>>3]=BigInt(Math.floor(n/1e3)),x[e+80>>2]=n%1e3*1e3*1e3,A[e+88>>3]=BigInt(t.ino),0},writeStatFs(e,t){x[e+4>>2]=t.bsize,x[e+60>>2]=t.bsize,A[e+8>>3]=BigInt(t.blocks),A[e+16>>3]=BigInt(t.bfree),A[e+24>>3]=BigInt(t.bavail),A[e+32>>3]=BigInt(t.files),A[e+40>>3]=BigInt(t.ffree),x[e+48>>2]=t.fsid,x[e+64>>2]=t.flags,x[e+56>>2]=t.namelen},doMsync(e,t,r,o,n){if(!xe.isFile(t.node.mode))throw new xe.ErrnoError(43);if(2&o)return 0;var i=k.slice(e,e+r);xe.msync(t,i,n,r,o)},getStreamFromFD:e=>xe.getStreamChecked(e),varargs:void 0,getStr:e=>z(e)},Pe=()=>{var e=E[+Te.varargs>>2];return Te.varargs+=4,e},Ae=Pe,Me={},Fe=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Ie(e){return this.fromWireType(x[e>>2])}var Re={},Le={},De={},Oe=class InternalError extends Error{constructor(e){super(e),this.name="InternalError"}},Be=e=>{throw new Oe(e)},Ue=(e,t,r)=>{function o(t){var o=r(t);o.length!==e.length&&Be("Mismatched type converter count");for(var n=0;n<e.length;++n)$e(e[n],o[n])}e.forEach(e=>De[e]=t);var n=new Array(t.length),i=[],s=0;for(let[e,r]of t.entries())Le.hasOwnProperty(r)?n[e]=Le[r]:(i.push(r),Re.hasOwnProperty(r)||(Re[r]=[]),Re[r].push(()=>{n[e]=Le[r],++s===i.length&&o(n)}));0===i.length&&o(n)},je={},qe=e=>{for(var t="";;){var r=k[e++];if(!r)return t;t+=String.fromCharCode(r)}},We=class BindingError extends Error{constructor(e){super(e),this.name="BindingError"}},He=e=>{throw new We(e)};function $e(e,t,r={}){return function(e,t,r={}){var o=t.name;if(e||He(`type "${o}" must have a positive integer typeid pointer`),Le.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;He(`Cannot register type '${o}' twice`)}if(Le[e]=t,delete De[e],Re.hasOwnProperty(e)){var n=Re[e];delete Re[e],n.forEach(e=>e())}}(e,t,r)}var Ve=(e,t,r)=>{switch(t){case 1:return r?e=>_[e]:e=>k[e];case 2:return r?e=>S[e>>1]:e=>C[e>>1];case 4:return r?e=>E[e>>2]:e=>x[e>>2];case 8:return r?e=>A[e>>3]:e=>M[e>>3];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Ne=e=>{He(e.$$.ptrType.registeredClass.name+" instance already deleted")},ze=!1,Ge=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)},Ye=e=>globalThis.FinalizationRegistry?(ze=new FinalizationRegistry(e=>{Xe(e.$$)}),Ge=e=>ze.unregister(e),(Ye=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};ze.register(e,r,e)}return e})(e)):(Ye=e=>e,e),Ke=[];function Qe(){}var Ze=(e,t)=>Object.defineProperty(t,"name",{value:e}),Je={},et=(e,t,r)=>{if(void 0===e[t].overloadTable){var o=e[t];e[t]=function(...o){return e[t].overloadTable.hasOwnProperty(o.length)||He(`Function '${r}' called with an invalid number of arguments (${o.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[o.length].apply(this,o)},e[t].overloadTable=[],e[t].overloadTable[o.argCount]=o}},tt=(e,t,r)=>{s.hasOwnProperty(e)?((void 0===r||void 0!==s[e].overloadTable&&void 0!==s[e].overloadTable[r])&&He(`Cannot register public name '${e}' twice`),et(s,e,e),s[e].overloadTable.hasOwnProperty(r)&&He(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),s[e].overloadTable[r]=t):(s[e]=t,s[e].argCount=r)};function rt(e,t,r,o,n,i,s,a){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=o,this.baseClass=n,this.getActualType=i,this.upcast=s,this.downcast=a,this.pureVirtualFunctions=[]}var ot=(e,t,r)=>{for(;t!==r;)t.upcast||He(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e},nt=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e};function it(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${nt(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return ot(t.$$.ptr,r,this.registeredClass)}function st(e,t){var r;if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t&&t.$$||He(`Cannot pass "${nt(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&He(`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=ot(t.$$.ptr,o,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&He("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:He(`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,Tt.toHandle(()=>n.delete())),null!==e&&e.push(this.rawDestructor,r)}break;default:He("Unsupporting sharing policy")}return r}function at(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${nt(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&He(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return ot(t.$$.ptr,r,this.registeredClass)}var lt=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var o=lt(e,t,r.baseClass);return null===o?null:r.downcast(o)},dt={},ct=(e,t)=>(t=((e,t)=>{for(void 0===t&&He("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t})(e,t),dt[t]),ut=(e,t)=>(t.ptrType&&t.ptr||Be("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Be("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Ye(Object.create(e,{$$:{value:t,writable:!0}})));function ht(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 o=r.clone();return this.destructor(e),o}function n(){return this.isSmartPointer?ut(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):ut(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i,s=this.registeredClass.getActualType(t),a=Je[s];if(!a)return n.call(this);i=this.isConst?a.constPointerType:a.pointerType;var l=lt(t,this.registeredClass,i.registeredClass);return null===l?n.call(this):this.isSmartPointer?ut(i.registeredClass.instancePrototype,{ptrType:i,ptr:l,smartPtrType:this,smartPtr:e}):ut(i.registeredClass.instancePrototype,{ptrType:i,ptr:l})}function pt(e,t,r,o,n,i,s,a,l,d,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=o,this.isSmartPointer=n,this.pointeeType=i,this.sharingPolicy=s,this.rawGetPointee=a,this.rawConstructor=l,this.rawShare=d,this.rawDestructor=c,n||void 0!==t.baseClass?this.toWireType=st:o?(this.toWireType=it,this.destructorFunction=null):(this.toWireType=at,this.destructorFunction=null)}var ft=(e,t,r)=>{s.hasOwnProperty(e)||Be("Replacing nonexistent public symbol"),void 0!==s[e].overloadTable&&void 0!==r?s[e].overloadTable[r]=t:(s[e]=t,s[e].argCount=r)},mt=[],bt=e=>{var t=mt[e];return t||(mt[e]=t=Ro.get(e)),t},yt=(e,t,r=!1)=>{e=qe(e);var o=bt(t);return"function"!=typeof o&&He(`unknown function pointer with signature ${e}: ${t}`),o};class UnboundTypeError extends Error{}var vt=e=>{var t=bo(e),r=qe(t);return vo(t),r},wt=(e,t)=>{var r=[],o={};throw t.forEach(function e(t){o[t]||Le[t]||(De[t]?De[t].forEach(e):(r.push(t),o[t]=!0))}),new UnboundTypeError(`${e}: `+r.map(vt).join([", "]))},_t=(e,t)=>{for(var r=[],o=0;o<e;o++)r.push(x[t+4*o>>2]);return r};function kt(e,t,r,o,n,i){var s=t.length;s<2&&He("argTypes array size mismatch! Must at least get return value and 'this' types!");var a=null!==t[1]&&null!==r,l=function(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].destructorFunction)return!0;return!1}(t),d=!t[0].isVoid,c=s-2,u=new Array(c),h=[],p=[];return Ze(e,function(...e){var r;p.length=0,h.length=a?2:1,h[0]=n,a&&(r=t[1].toWireType(p,this),h[1]=r);for(var i=0;i<c;++i)u[i]=t[i+2].toWireType(p,e[i]),h.push(u[i]);return function(e){if(l)Fe(p);else for(var o=a?1:2;o<t.length;o++){var n=1===o?r:u[o-2];null!==t[o].destructorFunction&&t[o].destructorFunction(n)}if(d)return t[0].fromWireType(e)}(o(...h))})}var St=e=>{const t=(e=e.trim()).indexOf("(");return-1===t?e:e.slice(0,t)},Ct=[],Et=[0,1,,1,null,1,!0,1,!1,1],xt=e=>{e>9&&0===--Et[e+1]&&(Et[e]=void 0,Ct.push(e))},Tt={toValue:e=>(e||He(`Cannot use deleted val. handle = ${e}`),Et[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const t=Ct.pop()||Et.length;return Et[t]=e,Et[t+1]=1,t}}}},Pt={name:"emscripten::val",fromWireType:e=>{var t=Tt.toValue(e);return xt(e),t},toWireType:(e,t)=>Tt.toHandle(t),readValueFromPointer:Ie,destructorFunction:null},At=(e,t,r)=>{switch(t){case 1:return r?function(e){return this.fromWireType(_[e])}:function(e){return this.fromWireType(k[e])};case 2:return r?function(e){return this.fromWireType(S[e>>1])}:function(e){return this.fromWireType(C[e>>1])};case 4:return r?function(e){return this.fromWireType(E[e>>2])}:function(e){return this.fromWireType(x[e>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Mt=(e,t)=>{var r=Le[e];return void 0===r&&He(`${t} has unknown type ${vt(e)}`),r},Ft=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(T[e>>2])};case 8:return function(e){return this.fromWireType(P[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},It=Object.assign({optional:!0},Pt),Rt=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,Lt=(e,t,r)=>{var o=e>>1,n=V(C,o,t/2,r);if(n-o>16&&Rt)return Rt.decode(C.subarray(o,n));for(var i="",s=o;s<n;++s){var a=C[s];i+=String.fromCharCode(a)}return i},Dt=(e,t,r)=>{if(r??=2147483647,r<2)return 0;for(var o=t,n=(r-=2)<2*e.length?r/2:e.length,i=0;i<n;++i){var s=e.charCodeAt(i);S[t>>1]=s,t+=2}return S[t>>1]=0,t-o},Ot=e=>2*e.length,Bt=(e,t,r)=>{for(var o="",n=e>>2,i=0;!(i>=t/4);i++){var s=x[n+i];if(!s&&!r)break;o+=String.fromCodePoint(s)}return o},Ut=(e,t,r)=>{if(r??=2147483647,r<4)return 0;for(var o=t,n=o+r-4,i=0;i<e.length;++i){var s=e.codePointAt(i);if(s>65535&&i++,E[t>>2]=s,(t+=4)+4>n)break}return E[t>>2]=0,t-o},jt=e=>{for(var t=0,r=0;r<e.length;++r)e.codePointAt(r)>65535&&r++,t+=4;return t},qt=[],Wt={},Ht=e=>{var t=Wt[e];return void 0===t?qe(e):t},$t=e=>e<-9007199254740992||e>9007199254740992?NaN:Number(e),Vt=[0,31,60,91,121,152,182,213,244,274,305,335],Nt=[0,31,59,90,120,151,181,212,243,273,304,334],zt=e=>{var t;return((t=e.getFullYear())%4!=0||t%100==0&&t%400!=0?Nt:Vt)[e.getMonth()]+e.getDate()-1},Gt=()=>Date.now(),Xt=e=>{if(e instanceof ExitStatus||"unwind"==e)return y;h(1,e)},Yt=()=>Z||!1,Kt=(e,t)=>{var r;y=e,y=r=e,Yt()||(s.onExit?.(r),L=!0),h(r,new ExitStatus(r))},Qt=Kt,Zt=e=>{if(!L)try{e(),(()=>{if(!Yt())try{Qt(y)}catch(e){Xt(e)}})()}catch(e){Xt(e)}};function Jt(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement||document.msFullscreenElement}var er,tr=(e,t)=>setTimeout(()=>{Zt(e)},t),rr={useWebGL:!1,isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],preloadedImages:{},preloadedAudios:{},getCanvas:()=>s.canvas,init(){if(!rr.initted){rr.initted=!0;var e={canHandle:function(e){return!s.noImageDecoding&&/\.(jpg|jpeg|png|bmp|webp)$/i.test(e)},handle:async function(e,t){var r=new Blob([e],{type:rr.getMimetype(t)});r.size!==e.length&&(r=new Blob([new Uint8Array(e).buffer],{type:rr.getMimetype(t)}));var o=URL.createObjectURL(r);return new Promise((r,n)=>{var i=new Image;i.onload=()=>{var n=document.createElement("canvas");n.width=i.width,n.height=i.height,n.getContext("2d").drawImage(i,0,0),rr.preloadedImages[t]=n,URL.revokeObjectURL(o),r(e)},i.onerror=e=>{R(`Image ${o} could not be decoded`),n()},i.src=o})}};Ce.push(e);var t={canHandle:function(e){return!s.noAudioDecoding&&e.slice(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:async function(e,t){return new Promise((r,o)=>{var n=!1;function i(o){n||(n=!0,rr.preloadedAudios[t]=o,r(e))}var s=new Blob([e],{type:rr.getMimetype(t)}),a=URL.createObjectURL(s),l=new Audio;l.addEventListener("canplaythrough",()=>i(l),!1),l.onerror=function(r){n||(R(`warning: browser could not fully decode audio ${t}, trying slower base64 approach`),l.src="data:audio/x-"+t.slice(-3)+";base64,"+function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",o=0,n=0,i=0;i<e.length;i++)for(o=o<<8|e[i],n+=8;n>=6;){var s=o>>n-6&63;n-=6,r+=t[s]}return 2==n?(r+=t[(3&o)<<4],r+="=="):4==n&&(r+=t[(15&o)<<2],r+="="),r}(e),i(l))},l.src=a,tr(()=>{i(l)},1e4)})}};Ce.push(t);var r=rr.getCanvas();r&&(document.addEventListener("pointerlockchange",function(){var e=rr.getCanvas();rr.pointerLock=document.pointerLockElement===e},!1),s.elementPointerLock&&r.addEventListener("click",e=>{!rr.pointerLock&&rr.getCanvas().requestPointerLock&&(rr.getCanvas().requestPointerLock(),e.preventDefault())},!1))}},createContext(e,t,r,o){if(t&&s.ctx&&e==rr.getCanvas())return s.ctx;var n,i;if(t){var a={antialias:!1,alpha:!1,majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1};if(o)for(var l in o)a[l]=o[l];void 0!==nr&&(i=nr.createContext(e,a))&&(n=nr.getContext(i).GLctx)}else n=e.getContext("2d");return n?(r&&(s.ctx=n,t&&nr.makeContextCurrent(i),rr.useWebGL=t,rr.moduleContextCreatedCallbacks.forEach(e=>e()),rr.init()),n):null},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen(e,t){rr.lockPointer=e,rr.resizeCanvas=t,void 0===rr.lockPointer&&(rr.lockPointer=!0),void 0===rr.resizeCanvas&&(rr.resizeCanvas=!1);var r=rr.getCanvas();function o(){rr.isFullscreen=!1;var e=r.parentNode;Jt()===e?(r.exitFullscreen=rr.exitFullscreen,rr.lockPointer&&r.requestPointerLock(),rr.isFullscreen=!0,rr.resizeCanvas?rr.setFullscreenCanvasSize():rr.updateCanvasDimensions(r)):(e.parentNode.insertBefore(r,e),e.parentNode.removeChild(e),rr.resizeCanvas?rr.setWindowedCanvasSize():rr.updateCanvasDimensions(r)),s.onFullScreen?.(rr.isFullscreen),s.onFullscreen?.(rr.isFullscreen)}rr.fullscreenHandlersInstalled||(rr.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:()=>!!rr.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{})).apply(document,[]),!0),safeSetTimeout:(e,t)=>tr(e,t),getMimetype:e=>({jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.slice(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:U("unrecognized mouse wheel delta mode: "+e.deltaMode)}break;default:U("unrecognized mouse wheel event: "+e.type)}return t},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(e,t){var r=rr.getCanvas(),o=r.getBoundingClientRect(),n=void 0!==window.scrollX?window.scrollX:window.pageXOffset,i=void 0!==window.scrollY?window.scrollY:window.pageYOffset,s=e-(n+o.left),a=t-(i+o.top);return{x:s*=r.width/o.width,y:a*=r.height/o.height}},setMouseCoords(e,t){const{x:r,y:o}=rr.calculateMouseCoords(e,t);rr.mouseMovementX=r-rr.mouseX,rr.mouseMovementY=o-rr.mouseY,rr.mouseX=r,rr.mouseY=o},calculateMouseEvent(e){if(rr.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?rr.mouseMovementX=rr.mouseMovementY=0:(rr.mouseMovementX=rr.getMovementX(e),rr.mouseMovementY=rr.getMovementY(e)),rr.mouseX+=rr.mouseMovementX,rr.mouseY+=rr.mouseMovementY;else{if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var t=e.touch;if(void 0===t)return;var r=rr.calculateMouseCoords(t.pageX,t.pageY);if("touchstart"===e.type)rr.lastTouches[t.identifier]=r,rr.touches[t.identifier]=r;else if("touchend"===e.type||"touchmove"===e.type){var o=rr.touches[t.identifier];o||=r,rr.lastTouches[t.identifier]=o,rr.touches[t.identifier]=r}return}rr.setMouseCoords(e.pageX,e.pageY)}},resizeListeners:[],updateResizeListeners(){var e=rr.getCanvas();rr.resizeListeners.forEach(t=>t(e.width,e.height))},setCanvasSize(e,t,r){var o=rr.getCanvas();rr.updateCanvasDimensions(o,e,t),r||rr.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if("undefined"!=typeof SDL){var e=x[SDL.screen>>2];e|=8388608,E[SDL.screen>>2]=e}rr.updateCanvasDimensions(rr.getCanvas()),rr.updateResizeListeners()},setWindowedCanvasSize(){if("undefined"!=typeof SDL){var e=x[SDL.screen>>2];e&=-8388609,E[SDL.screen>>2]=e}rr.updateCanvasDimensions(rr.getCanvas()),rr.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(s.forcedAspectRatio>0&&(o/n<s.forcedAspectRatio?o=Math.round(n*s.forcedAspectRatio):n=Math.round(o/s.forcedAspectRatio)),Jt()===e.parentNode&&"undefined"!=typeof screen){var i=Math.min(screen.width/o,screen.height/n);o=Math.round(o*i),n=Math.round(n*i)}rr.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"))))}},or={errorCode:12288,defaultDisplayInitialized:!1,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:!1,depth:!1,stencil:!1,antialias:!1},stringCache:{},setErrorCode(e){or.errorCode=e},chooseConfig(e,t,r,o,n){if(62e3!=e)return or.setErrorCode(12296),0;if(t)for(;;){var i=E[t>>2];if(12321==i){var s=E[t+4>>2];or.contextAttributes.alpha=s>0}else if(12325==i){var a=E[t+4>>2];or.contextAttributes.depth=a>0}else if(12326==i){var l=E[t+4>>2];or.contextAttributes.stencil=l>0}else if(12337==i){var d=E[t+4>>2];or.contextAttributes.antialias=d>0}else if(12338==i)d=E[t+4>>2],or.contextAttributes.antialias=1==d;else if(12544==i){var c=E[t+4>>2];or.contextAttributes.lowLatency=12547!=c}else if(12344==i)break;t+=8}return r&&o||n?(n&&(E[n>>2]=1),r&&o>0&&(x[r>>2]=62002),or.setErrorCode(12288),1):(or.setErrorCode(12300),0)}},nr={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{nr.lastError||(nr.lastError=e)},getNewId:e=>{for(var t=nr.counter++,r=e.length;r<t;r++)e[r]=null;return t},genObject:(e,t,r,o)=>{for(var n=0;n<e;n++){var i=er[r](),s=i&&nr.getNewId(o);i?(i.name=s,o[s]=i):nr.recordError(1282),E[t+4*n>>2]=s}},getSource:(e,t,r,o)=>{for(var n="",i=0;i<t;++i){var s=o?x[o+4*i>>2]:void 0;n+=z(x[r+4*i>>2],s)}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?nr.registerContext(r,t):0},registerContext:(e,t)=>{var r=nr.getNewId(nr.contexts),o={handle:r,attributes:t,version:t.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=o),nr.contexts[r]=o,r},makeContextCurrent:e=>(nr.currentContext=nr.contexts[e],s.ctx=er=nr.currentContext?.GLctx,!(e&&!er)),getContext:e=>nr.contexts[e],deleteContext:e=>{nr.currentContext===nr.contexts[e]&&(nr.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(nr.contexts[e].GLctx.canvas),nr.contexts[e]?.GLctx.canvas&&(nr.contexts[e].GLctx.canvas.GLctxObject=void 0),nr.contexts[e]=null}},ir=[],sr=(e,t,r)=>{var o=((e,t)=>{var r;for(ir.length=0;r=k[e++];){var o=105!=r;t+=(o&=112!=r)&&t%8?4:0,ir.push(112==r?x[t>>2]:106==r?A[t>>3]:105==r?E[t>>2]:P[t>>3]),t+=o?8:4}return ir})(t,r);return Do[e](...o)},ar=e=>{er.bindVertexArray(nr.vaos[e])},lr=ar,dr=(e,t)=>{for(var r=0;r<e;r++){var o=E[t+4*r>>2];er.deleteVertexArray(nr.vaos[o]),nr.vaos[o]=null}},cr=dr,ur=(e,t,r,o)=>{er.drawArraysInstanced(e,t,r,o)},hr=ur,pr=ur,gr=ur,fr=ur,mr=[],br=(e,t)=>{for(var r=mr[e],o=0;o<e;o++)r[o]=E[t+4*o>>2];er.drawBuffers(r)},yr=br,vr=br,wr=(e,t,r,o)=>{er.drawElements(e,t,r,o)},_r=(e,t,r,o,n)=>{er.drawElementsInstanced(e,t,r,o,n)},kr=_r,Sr=_r,Cr=_r,Er=_r,xr=wr,Tr=(e,t)=>{nr.genObject(e,t,"createVertexArray",nr.vaos)},Pr=Tr,Ar=(e,t,r,o,n,i,s,a)=>{t=nr.programs[t];var l=er[e](t,r);if(l){var d=a&&oe(l.name,a,o);n&&(E[n>>2]=d),i&&(E[i>>2]=l.size),s&&(E[s>>2]=l.type)}},Mr=(e,t)=>{x[e>>2]=t;var r=x[e>>2];x[e+4>>2]=(t-r)/4294967296},Fr=()=>{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_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"],(er.getSupportedExtensions()||[]).filter(t=>e.includes(t)));return t=t.concat(t.map(e=>"GL_"+e))},Ir=(e,t,r)=>{if(t){var o=void 0;switch(e){case 36346:o=1;break;case 36344:return void(0!=r&&1!=r&&nr.recordError(1280));case 34814:case 36345:o=0;break;case 34466:var n=er.getParameter(34467);o=n?n.length:0;break;case 33309:if(nr.currentContext.version<2)return void nr.recordError(1282);o=Fr().length;break;case 33307:case 33308:if(nr.currentContext.version<2)return void nr.recordError(1280);o=33307==e?3:0}if(void 0===o){var i=er.getParameter(e);switch(typeof i){case"number":o=i;break;case"boolean":o=i?1:0;break;case"string":return void nr.recordError(1280);case"object":if(null===i)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 nr.recordError(1280)}else{if(i instanceof Float32Array||i instanceof Uint32Array||i instanceof Int32Array||i instanceof Array){for(var s=0;s<i.length;++s)switch(r){case 0:E[t+4*s>>2]=i[s];break;case 2:T[t+4*s>>2]=i[s];break;case 4:_[t+s]=i[s]?1:0}return}try{o=0|i.name}catch(t){return nr.recordError(1280),void R(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${t})`)}}break;default:return nr.recordError(1280),void R(`GL_INVALID_ENUM in glGet${r}v: Native code calling glGet${r}v(${e}) and it returns ${i} of type ${typeof i}!`)}}switch(r){case 1:Mr(t,o);break;case 0:E[t>>2]=o;break;case 2:T[t>>2]=o;break;case 4:_[t]=o?1:0}}else nr.recordError(1281)},Rr=(e,t,r,o)=>{if(r){var n,i=er.getIndexedParameter(e,t);switch(typeof i){case"boolean":n=i?1:0;break;case"number":n=i;break;case"object":if(null===i)switch(e){case 35983:case 35368:n=0;break;default:return void nr.recordError(1280)}else{if(!(i instanceof WebGLBuffer))return void nr.recordError(1280);n=0|i.name}break;default:return void nr.recordError(1280)}switch(o){case 1:Mr(r,n);break;case 0:E[r>>2]=n;break;case 2:T[r>>2]=n;break;case 4:_[r]=n?1:0;break;default:U("internal emscriptenWebGLGetIndexed() error, bad type: "+o)}}else nr.recordError(1281)},Lr=(e,t,r)=>{if(r){var o,n=nr.queries[e];o=nr.currentContext.version<2?er.disjointTimerQueryExt.getQueryObjectEXT(n,t):er.getQueryParameter(n,t),Mr(r,"boolean"==typeof o?o?1:0:o)}else nr.recordError(1281)},Dr=(e,t,r)=>{if(r){var o,n=nr.queries[e],i=er.disjointTimerQueryExt.getQueryObjectEXT(n,t);o="boolean"==typeof i?i?1:0:i,E[r>>2]=o}else nr.recordError(1281)},Or=Lr,Br=Dr,Ur=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),jr=e=>{var t,r,o=e.uniformLocsById,n=e.uniformSizeAndIdsByName;if(!o){e.uniformLocsById=o={},e.uniformArrayNamesById={};var i=er.getProgramParameter(e,35718);for(t=0;t<i;++t){var s=er.getActiveUniform(e,t),a=s.name,l=s.size,d=Ur(a),c=d>0?a.slice(0,d):a,u=e.uniformIdCounter;for(e.uniformIdCounter+=l,n[c]=[l,u],r=0;r<l;++r)o[u]=r,e.uniformArrayNamesById[u++]=c}}},qr=e=>{var t=er.currentProgram;if(t){var r=t.uniformLocsById[e];return"number"==typeof r&&(t.uniformLocsById[e]=r=er.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?`[${r}]`:""))),r}nr.recordError(1282)},Wr=(e,t,r,o)=>{if(r){e=nr.programs[e],jr(e);var n=er.getUniform(e,qr(t));if("number"==typeof n||"boolean"==typeof n)switch(o){case 0:E[r>>2]=n;break;case 2:T[r>>2]=n}else for(var i=0;i<n.length;i++)switch(o){case 0:E[r+4*i>>2]=n[i];break;case 2:T[r+4*i>>2]=n[i]}}else nr.recordError(1281)},Hr=(e,t,r,o)=>{if(r){var n=er.getVertexAttrib(e,t);if(34975==t)E[r>>2]=n&&n.name;else if("number"==typeof n||"boolean"==typeof n)switch(o){case 0:E[r>>2]=n;break;case 2:T[r>>2]=n;break;case 5:E[r>>2]=Math.fround(n)}else for(var i=0;i<n.length;i++)switch(o){case 0:E[r+4*i>>2]=n[i];break;case 2:T[r+4*i>>2]=n[i];break;case 5:E[r+4*i>>2]=Math.fround(n[i])}}else nr.recordError(1281)},$r=(e,t,r)=>{Hr(e,t,r,0)},Vr=$r,Nr=e=>{var t=nr.vaos[e];return t?er.isVertexArray(t):0},zr=Nr,Gr=e=>0==(e-=5120)?_:1==e?k:2==e?S:4==e?E:6==e?T:5==e||28922==e||28520==e||30779==e||30782==e?x:C,Xr=(e,t)=>e>>>31-Math.clz32(t.BYTES_PER_ELEMENT),Yr=(e,t,r,o,n,i)=>{var s=Gr(e),a=(e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1))(t)*s.BYTES_PER_ELEMENT,l=((e,t,r)=>{var o,n,i=(nr.unpackRowLength||e)*r;return t*(o=i,n=nr.unpackAlignment,o+n-1&-n)})(r,o,a);return s.subarray(Xr(n,s),Xr(n+l,s))},Kr=[],Qr=[],Zr=(e,t)=>{er.vertexAttribDivisor(e,t)},Jr=Zr,eo=Zr,to=Zr,ro=Zr,oo=e=>{var t=(e-H.buffer.byteLength+65535)/65536|0;try{return H.grow(t),B(),1}catch(e){}},no=["default","low-power","high-performance"],io=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0],so=e=>{var t;return e=(t=e)>2?z(t):t,io[e]||("undefined"!=typeof document?document.querySelector(e):null)},ao=(e,t)=>{var r=t>>2,o=E[r+2],n={alpha:!!_[t+0],depth:!!_[t+1],stencil:!!_[t+2],antialias:!!_[t+3],premultipliedAlpha:!!_[t+4],preserveDrawingBuffer:!!_[t+5],powerPreference:no[o],failIfMajorPerformanceCaveat:!!_[t+12],majorVersion:E[r+4],minorVersion:E[r+5],enableExtensionsByDefault:_[t+24],explicitSwapControl:_[t+25],proxyContextToMainThread:E[r+7],renderViaOffscreenBackBuffer:_[t+32]},i=so(e);return i?n.explicitSwapControl?0:nr.createContext(i,n):0},lo={},co=()=>{if(!co.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.language||"C").replace("-","_")+".UTF-8",_:u||"./this.program"};for(var t in lo)void 0===lo[t]?delete e[t]:e[t]=lo[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);co.strings=r}return co.strings},uo=(e,t,r,o)=>{for(var n=0,i=0;i<r;i++){var s=x[t>>2],a=x[t+4>>2];t+=8;var l=xe.read(e,_,s,a,o);if(l<0)return-1;if(n+=l,l<a)break;void 0!==o&&(o+=l)}return n},ho=e=>To(e),po=e=>{var t=te(e)+1,r=ho(t);return oe(e,r,t),r};xe.createPreloadedFile=(e,t,r,o,n,i,s,a,l,d)=>{Ee(e,t,r,o,n,a,l,d).then(i).catch(s)},xe.preloadFile=Ee,xe.staticInit(),(()=>{let e=Qe.prototype;Object.assign(e,{isAliasOf(e){if(!(this instanceof Qe))return!1;if(!(e instanceof Qe))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||Ne(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=Ye(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||Ne(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),Ge(this),Xe(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ne(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),Ke.push(this),Ke.length,this.$$.deleteScheduled=!0,this}});const t=Symbol.dispose;t&&(e[t]=e.delete)})(),Object.assign(pt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor?.(e)},readValueFromPointer:Ie,fromWireType:ht});for(let e=0;e<32;++e)mr.push(new Array(e));for(var go=new Float32Array(288),fo=0;fo<=288;++fo)Kr[fo]=go.subarray(0,fo);var mo=new Int32Array(288);for(fo=0;fo<=288;++fo)Qr[fo]=mo.subarray(0,fo);if(function(){if(s.wasmMemory)H=s.wasmMemory;else{var e=s.INITIAL_MEMORY||16777216;H=new WebAssembly.Memory({initial:e/65536,maximum:32768})}B()}(),s.noExitRuntime&&(Z=s.noExitRuntime),s.preloadPlugins&&(Ce=s.preloadPlugins),s.print&&(I=s.print),s.printErr&&(R=s.printErr),s.wasmBinary&&(b=s.wasmBinary),s.arguments&&(c=s.arguments),s.thisProgram&&(u=s.thisProgram),s.preInit)for("function"==typeof s.preInit&&(s.preInit=[s.preInit]);s.preInit.length>0;)s.preInit.shift()();s.addRunDependency=Se,s.removeRunDependency=ke,s.ccall=(e,t,r,o,n)=>{var i={string:e=>{var t=0;return null!=e&&0!==e&&(t=po(e)),t},array:e=>{var t,r,o=ho(e.length);return t=e,r=o,_.set(t,r),o}},a=(e=>s["_"+e])(e),l=[],d=0;if(o)for(var c=0;c<o.length;c++){var u=i[r[c]];u?(0===d&&(d=ee()),l[c]=u(o[c])):l[c]=o[c]}var h,p=a(...l);return h=p,0!==d&&J(d),p=function(e){return"string"===t?z(e):"boolean"===t?Boolean(e):e}(h),p},s.getValue=function(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return _[e];case"i16":return S[e>>1];case"i32":return E[e>>2];case"i64":return A[e>>3];case"float":return T[e>>2];case"double":return P[e>>3];case"*":return x[e>>2];default:U(`invalid type for getValue: ${t}`)}},s.UTF8ToString=z,s.specialHTMLTargets=io,s.FS_preloadFile=Ee,s.FS_unlink=(...e)=>xe.unlink(...e),s.FS_createPath=(...e)=>xe.createPath(...e),s.FS_createDevice=(...e)=>xe.createDevice(...e),s.FS_createDataFile=ve,s.FS_createLazyFile=(...e)=>xe.createLazyFile(...e);var bo,yo,vo,wo,_o,ko,So,Co,Eo,xo,To,Po,Ao,Mo,Fo,Io,Ro,Lo,Do={3201928:(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),3203918:()=>{void 0!==window.miniaudio&&(window.miniaudio.referenceCount-=1,0===window.miniaudio.referenceCount&&delete window.miniaudio)},3204082:()=>void 0!==navigator.mediaDevices&&void 0!==navigator.mediaDevices.getUserMedia,3204186:()=>{try{var e=new(window.AudioContext||window.webkitAudioContext),t=e.sampleRate;return e.close(),t}catch(e){return 0}},3204357:(e,t,r,o,n,i)=>{var a=e,l=t,d=r,c=o,u=n,h=i;if(void 0===window.miniaudio)return-1;var p={},g={};a==window.miniaudio.device_type.playback&&(g.sampleRate=d),p.webaudio=new(window.AudioContext||window.webkitAudioContext)(g),p.webaudio.suspend(),p.state=window.miniaudio.device_state.stopped;var f=0,m=l;return a!=window.miniaudio.device_type.playback&&(f=l),p.scriptNode=p.webaudio.createScriptProcessor(c,f,m),p.scriptNode.onaudioprocess=function(e){if(null!=p.intermediaryBufferView&&0!=p.intermediaryBufferView.length||(p.intermediaryBufferView=new Float32Array(s.HEAPF32.buffer,u,c*l)),a==miniaudio.device_type.capture||a==miniaudio.device_type.duplex){for(var t=0;t<l;t+=1)for(var r=e.inputBuffer.getChannelData(t),o=p.intermediaryBufferView,n=0;n<c;n+=1)o[n*l+t]=r[n];_o(h,c,u)}if(a==miniaudio.device_type.playback||a==miniaudio.device_type.duplex)for(ko(h,c,u),t=0;t<e.outputBuffer.numberOfChannels;++t){var i=e.outputBuffer.getChannelData(t);for(o=p.intermediaryBufferView,n=0;n<c;n+=1)i[n]=o[n*l+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){p.streamNode=p.webaudio.createMediaStreamSource(e),p.streamNode.connect(p.scriptNode),p.scriptNode.connect(p.webaudio.destination)}).catch(function(e){console.log("Failed to get user media: "+e)}),a==miniaudio.device_type.playback&&p.scriptNode.connect(p.webaudio.destination),miniaudio.track_device(p)},3207140:e=>miniaudio.get_device_by_index(e).webaudio.sampleRate,3207206: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},3207571:e=>{miniaudio.untrack_device_by_index(e)},3207614:e=>{var t=miniaudio.get_device_by_index(e);t.webaudio.resume(),t.state=miniaudio.device_state.started},3207739:e=>{var t=miniaudio.get_device_by_index(e);t.webaudio.suspend(),t.state=miniaudio.device_state.stopped},3207865:()=>!!globalThis.ubq_browserTabHidden,3207911:()=>"undefined"!=typeof process&&process.versions&&process.versions.node?1:0},Oo={Ta:e=>{var t=new ExceptionInfo(e);return t.get_caught()||t.set_caught(!0),t.set_rethrown(!1),ie.push(t),Mo(e),Io(e)},Ih:()=>{Co(0,0);var e=ie.pop();Ao(e.excPtr),se=0},n:()=>le([]),oa:e=>le([e]),l:(e,t,r)=>{throw new ExceptionInfo(e).init(t,r),se=e},P:e=>{throw se||(se=e),se},Hh:function(e,t){try{return e=Te.getStr(e),xe.chmod(e,t),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},Gh:function(e,t){try{return xe.fchmod(e,t),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},na:function(e,t,r){Te.varargs=r;try{var o=Te.getStreamFromFD(e);switch(t){case 0:if((n=Pe())<0)return-28;for(;xe.streams[n];)n++;return xe.dupStream(o,n).fd;case 1:case 2:case 13:case 14:return 0;case 3:return o.flags;case 4:var n=Pe();return o.flags|=n,0;case 12:return n=Ae(),S[n+0>>1]=2,0}return-28}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},Fh:function(e,t){try{return Te.writeStat(t,xe.fstat(e))}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},Eh:function(e,t,r){Te.varargs=r;try{var o=Te.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),i=Ae();E[i>>2]=n.c_iflag||0,E[i+4>>2]=n.c_oflag||0,E[i+8>>2]=n.c_cflag||0,E[i+12>>2]=n.c_lflag||0;for(var s=0;s<32;s++)_[i+s+17]=n.c_cc[s]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!o.tty)return-59;if(o.tty.ops.ioctl_tcsets){i=Ae();var a=E[i>>2],l=E[i+4>>2],d=E[i+8>>2],c=E[i+12>>2],u=[];for(s=0;s<32;s++)u.push(_[i+s+17]);return o.tty.ops.ioctl_tcsets(o.tty,t,{c_iflag:a,c_oflag:l,c_cflag:d,c_lflag:c,c_cc:u})}return 0;case 21519:return o.tty?(i=Ae(),E[i>>2]=0,0):-59;case 21520:return o.tty?-28:-59;case 21537:case 21531:return i=Ae(),xe.ioctl(o,t,i);case 21523:if(!o.tty)return-59;if(o.tty.ops.ioctl_tiocgwinsz){var h=o.tty.ops.ioctl_tiocgwinsz(o.tty);i=Ae(),S[i>>1]=h[0],S[i+2>>1]=h[1]}return 0;default:return-28}}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},Dh:function(e,t){try{return e=Te.getStr(e),Te.writeStat(t,xe.lstat(e))}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},Ch:function(e,t,r,o){try{t=Te.getStr(t);var n=256&o,i=4096&o;return o&=-6401,t=Te.calculateAt(e,t,i),Te.writeStat(r,n?xe.lstat(t):xe.stat(t))}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},Sa:function(e,t,r,o){Te.varargs=o;try{t=Te.getStr(t),t=Te.calculateAt(e,t);var n=o?Pe():0;return xe.open(t,r,n).fd}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},Bh:function(e,t,r,o){try{return t=Te.getStr(t),o=Te.getStr(o),t=Te.calculateAt(e,t),o=Te.calculateAt(r,o),xe.rename(t,o),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},Ah:function(e){try{return e=Te.getStr(e),xe.rmdir(e),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},zh:function(e,t){try{return e=Te.getStr(e),Te.writeStat(t,xe.stat(e))}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},yh:function(e,t,r){try{if(t=Te.getStr(t),t=Te.calculateAt(e,t),r){if(512!==r)return-28;xe.rmdir(t)}else xe.unlink(t);return 0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},qh:()=>U(""),Pa:e=>{var t=Me[e];delete Me[e];var r=t.elements,o=r.length,n=r.map(e=>e.getterReturnType).concat(r.map(e=>e.setterArgumentType)),i=t.rawConstructor,s=t.rawDestructor;Ue([e],n,e=>{for(const[t,n]of r.entries()){const r=e[t],i=n.getter,s=n.getterContext,a=e[t+o],l=n.setter,d=n.setterContext;n.read=e=>r.fromWireType(i(s,e)),n.write=(e,t)=>{var r=[];l(d,e,a.toWireType(r,t)),Fe(r)}}return[{name:t.name,fromWireType:e=>{for(var t=new Array(o),n=0;n<o;++n)t[n]=r[n].read(e);return s(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 a=i(),l=0;l<o;++l)r[l].write(a,n[l]);return null!==e&&e.push(s,a),a},readValueFromPointer:Ie,destructorFunction:s}]})},w:e=>{var t=je[e];delete je[e];var r=t.rawConstructor,o=t.rawDestructor,n=t.fields,i=n.map(e=>e.getterReturnType).concat(n.map(e=>e.setterArgumentType));Ue([e],i,e=>{var i={};for(var[s,a]of n.entries()){const t=e[s],r=a.getter,o=a.getterContext,l=e[s+n.length],d=a.setter,c=a.setterContext;i[a.fieldName]={read:e=>t.fromWireType(r(o,e)),write:(e,t)=>{var r=[];d(c,e,l.toWireType(r,t)),Fe(r)},optional:t.optional}}return[{name:t.name,fromWireType:e=>{var t={};for(var r in i)t[r]=i[r].read(e);return o(e),t},toWireType:(e,t)=>{for(var n in i)if(!(n in t)&&!i[n].optional)throw new TypeError(`Missing field: "${n}"`);var s=r();for(n in i)i[n].write(s,t[n]);return null!==e&&e.push(o,s),s},readValueFromPointer:Ie,destructorFunction:o}]})},Oa:(e,t,r,o,n)=>{t=qe(t);const i=0n===o;let s=e=>e;if(i){const e=8*r;s=t=>BigInt.asUintN(e,t),n=s(n)}$e(e,{name:t,fromWireType:s,toWireType:(e,t)=>("number"==typeof t&&(t=BigInt(t)),t),readValueFromPointer:Ve(t,r,!i),destructorFunction:null})},ph:(e,t,r,o)=>{$e(e,{name:t=qe(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:o},readValueFromPointer:function(e){return this.fromWireType(k[e])},destructorFunction:null})},q:(e,t,r,o,n,i,s,a,l,d,c,u,h)=>{c=qe(c),i=yt(n,i),a&&=yt(s,a),d&&=yt(l,d),h=yt(u,h);var p=(e=>{var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?`_${e}`:e})(c);tt(p,function(){wt(`Cannot construct ${c} due to unbound types`,[o])}),Ue([e,t,r],o?[o]:[],t=>{var r,n;t=t[0],n=o?(r=t.registeredClass).instancePrototype:Qe.prototype;var s=Ze(c,function(...e){if(Object.getPrototypeOf(this)!==l)throw new We(`Use 'new' to construct ${c}`);if(void 0===u.constructor_body)throw new We(`${c} has no accessible constructor`);var t=u.constructor_body[e.length];if(void 0===t)throw new We(`Tried to invoke ctor of ${c} with invalid number of parameters (${e.length}) - expected (${Object.keys(u.constructor_body).toString()}) parameters instead!`);return t.apply(this,e)}),l=Object.create(n,{constructor:{value:s}});s.prototype=l;var u=new rt(c,s,l,h,r,i,a,d);u.baseClass&&(u.baseClass.__derivedClasses??=[],u.baseClass.__derivedClasses.push(u));var g=new pt(c,u,!0,!1,!1),f=new pt(c+"*",u,!1,!1,!1),m=new pt(c+" const*",u,!1,!0,!1);return Je[e]={pointerType:f,constPointerType:m},ft(p,s),[g,f,m]})},s:(e,t,r,o,n,i)=>{var s=_t(t,r);n=yt(o,n),Ue([],[e],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 We(`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]=()=>{wt(`Cannot construct ${e.name} due to unbound types`,s)},Ue([],s,o=>(o.splice(1,0,null),e.registeredClass.constructor_body[t-1]=kt(r,o,null,n,i),[])),[]})},c:(e,t,r,o,n,i,s,a,l,d)=>{var c=_t(r,o);t=qe(t),t=St(t),i=yt(n,i,l),Ue([],[e],e=>{var o=`${(e=e[0]).name}.${t}`;function n(){wt(`Cannot call ${o} due to unbound types`,c)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&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?(n.argCount=r-2,n.className=e.name,l[t]=n):(et(l,t,o),l[t].overloadTable[r-2]=n),Ue([],c,n=>{var a=kt(o,n,e,i,s);return void 0===l[t].overloadTable?(a.argCount=r-2,l[t]=a):l[t].overloadTable[r-2]=a,[]}),[]})},oh:e=>$e(e,Pt),U:(e,t,r,o)=>{function n(){}t=qe(t),n.values={},$e(e,{name:t,constructor:n,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,t)=>t.value,readValueFromPointer:At(t,r,o),destructorFunction:null}),tt(t,n)},D:(e,t,r)=>{var o=Mt(e,"enum");t=qe(t);var n=o.constructor,i=Object.create(o.constructor.prototype,{value:{value:r},constructor:{value:Ze(`${o.name}_${t}`,function(){})}});n.values[r]=i,n[t]=i},Na:(e,t,r)=>{$e(e,{name:t=qe(t),fromWireType:e=>e,toWireType:(e,t)=>t,readValueFromPointer:Ft(t,r),destructorFunction:null})},N:(e,t,r,o,n,i,s,a)=>{var l=_t(t,r);e=qe(e),e=St(e),n=yt(o,n,s),tt(e,function(){wt(`Cannot call ${e} due to unbound types`,l)},t-1),Ue([],l,r=>{var o=[r[0],null].concat(r.slice(1));return ft(e,kt(e,o,null,n,i),t-1),[]})},M:(e,t,r,o,n)=>{t=qe(t);let i=e=>e;if(0===o){var s=32-8*r;i=e=>e<<s>>>s,n=i(n)}$e(e,{name:t,fromWireType:i,toWireType:(e,t)=>t,readValueFromPointer:Ve(t,r,0!==o),destructorFunction:null})},C:(e,t,r)=>{var o=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];function n(e){var t=x[e>>2],r=x[e+4>>2];return new o(_.buffer,r,t)}$e(e,{name:r=qe(r),fromWireType:n,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})},J:(e,t)=>{$e(e,It)},nh:(e,t,r,o,n,i,s,a,l,d,c,u)=>{r=qe(r),i=yt(n,i),a=yt(s,a),d=yt(l,d),u=yt(c,u),Ue([e],[t],e=>(e=e[0],[new pt(r,e.registeredClass,!1,!1,!0,e,o,i,a,d,u)]))},mh:(e,t)=>{t=qe(t),$e(e,{name:t,fromWireType(e){var t,r=x[e>>2],o=e+4;return t=z(o,r,!0),vo(e),t},toWireType(e,t){var r;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var o="string"==typeof t;o||ArrayBuffer.isView(t)&&1==t.BYTES_PER_ELEMENT||He("Cannot pass non-string to std::string"),r=o?te(t):t.length;var n=yo(4+r+1),i=n+4;return x[n>>2]=r,o?oe(t,i,r+1):k.set(t,i),null!==e&&e.push(vo,n),n},readValueFromPointer:Ie,destructorFunction(e){vo(e)}})},la:(e,t,r)=>{var o,n,i;r=qe(r),2===t?(o=Lt,n=Dt,i=Ot):(o=Bt,n=Ut,i=jt),$e(e,{name:r,fromWireType:e=>{var r=x[e>>2],n=o(e+4,r*t,!0);return vo(e),n},toWireType:(e,o)=>{"string"!=typeof o&&He(`Cannot pass non-string to C++ string type ${r}`);var s=i(o),a=yo(4+s+t);return x[a>>2]=s/t,n(o,a+4,s+t),null!==e&&e.push(vo,a),a},readValueFromPointer:Ie,destructorFunction(e){vo(e)}})},Ma:(e,t,r,o,n,i)=>{Me[e]={name:qe(t),rawConstructor:yt(r,o),rawDestructor:yt(n,i),elements:[]}},L:(e,t,r,o,n,i,s,a,l)=>{Me[e].elements.push({getterReturnType:t,getter:yt(r,o),getterContext:n,setterArgumentType:i,setter:yt(s,a),setterContext:l})},v:(e,t,r,o,n,i)=>{je[e]={name:qe(t),rawConstructor:yt(r,o),rawDestructor:yt(n,i),fields:[]}},k:(e,t,r,o,n,i,s,a,l,d)=>{je[e].fields.push({fieldName:qe(t),getterReturnType:r,getter:yt(o,n),getterContext:i,setterArgumentType:s,setter:yt(a,l),setterContext:d})},lh:(e,t)=>{$e(e,{isVoid:!0,name:t=qe(t),fromWireType:()=>{},toWireType:(e,t)=>{}})},kh:()=>{throw 1/0},jh:(e,t)=>{e=Tt.toValue(e),t=Tt.toValue(t),e.set(t)},i:(e,t,r)=>{var[o,...n]=((e,t)=>{for(var r=new Array(e),o=0;o<e;++o)r[o]=Mt(x[t+4*o>>2],`parameter ${o}`);return r})(e,t),i=o.toWireType.bind(o),s=n.map(e=>e.readValueFromPointer.bind(e));e--;var a,l,d=new Array(e),c=`methodCaller<(${n.map(e=>e.name)}) => ${o.name}>`;return a=Ze(c,(t,o,n,a)=>{for(var l,c=0,u=0;u<e;++u)d[u]=s[u](a+c),c+=8;switch(r){case 0:l=Tt.toValue(t).apply(null,d);break;case 2:l=Reflect.construct(Tt.toValue(t),d);break;case 3:l=d[0];break;case 1:l=Tt.toValue(t)[Ht(o)](...d)}return((e,t,r)=>{var o=[],n=e(o,r);return o.length&&(x[t>>2]=Tt.toHandle(o)),n})(i,n,l)}),l=qt.length,qt.push(a),l},b:xt,La:(e,t)=>(e=Tt.toValue(e))==(t=Tt.toValue(t)),H:e=>e?(e=Ht(e),Tt.toHandle(globalThis[e])):Tt.toHandle(globalThis),f:(e,t)=>(e=Tt.toValue(e),t=Tt.toValue(t),Tt.toHandle(e[t])),d:e=>{e>9&&(Et[e+1]+=1)},Y:(e,t)=>(e=Tt.toValue(e))instanceof(t=Tt.toValue(t)),h:(e,t,r,o,n)=>qt[e](t,r,o,n),ka:e=>"number"==typeof(e=Tt.toValue(e)),G:e=>"string"==typeof(e=Tt.toValue(e)),ca:()=>Tt.toHandle([]),e:e=>Tt.toHandle(Ht(e)),u:()=>Tt.toHandle({}),g:e=>{var t=Tt.toValue(e);Fe(t),xt(e)},j:(e,t,r)=>{e=Tt.toValue(e),t=Tt.toValue(t),r=Tt.toValue(r),e[t]=r},ih:e=>{throw e=Tt.toValue(e)},ja:e=>(e=Tt.toValue(e),Tt.toHandle(typeof e)),hh:function(e,t){e=$t(e);var r=new Date(1e3*e);E[t>>2]=r.getUTCSeconds(),E[t+4>>2]=r.getUTCMinutes(),E[t+8>>2]=r.getUTCHours(),E[t+12>>2]=r.getUTCDate(),E[t+16>>2]=r.getUTCMonth(),E[t+20>>2]=r.getUTCFullYear()-1900,E[t+24>>2]=r.getUTCDay();var o=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-o)/864e5|0;E[t+28>>2]=n},gh:function(e,t){e=$t(e);var r=new Date(1e3*e);E[t>>2]=r.getSeconds(),E[t+4>>2]=r.getMinutes(),E[t+8>>2]=r.getHours(),E[t+12>>2]=r.getDate(),E[t+16>>2]=r.getMonth(),E[t+20>>2]=r.getFullYear()-1900,E[t+24>>2]=r.getDay();var o=0|zt(r);E[t+28>>2]=o,E[t+36>>2]=-60*r.getTimezoneOffset();var n=new Date(r.getFullYear(),0,1),i=new Date(r.getFullYear(),6,1).getTimezoneOffset(),s=n.getTimezoneOffset(),a=0|(i!=s&&r.getTimezoneOffset()==Math.min(s,i));E[t+32>>2]=a},fh:function(e){var t=(()=>{var t=new Date(E[e+20>>2]+1900,E[e+16>>2],E[e+12>>2],E[e+8>>2],E[e+4>>2],E[e>>2],0),r=E[e+32>>2],o=t.getTimezoneOffset(),n=new Date(t.getFullYear(),0,1),i=new Date(t.getFullYear(),6,1).getTimezoneOffset(),s=n.getTimezoneOffset(),a=Math.min(s,i);if(r<0)E[e+32>>2]=Number(i!=s&&a==o);else if(r>0!=(a==o)){var l=Math.max(s,i),d=r>0?a:l;t.setTime(t.getTime()+6e4*(d-o))}E[e+24>>2]=t.getDay();var c=0|zt(t);E[e+28>>2]=c,E[e>>2]=t.getSeconds(),E[e+4>>2]=t.getMinutes(),E[e+8>>2]=t.getHours(),E[e+12>>2]=t.getDate(),E[e+16>>2]=t.getMonth(),E[e+20>>2]=t.getYear();var u=t.getTime();return isNaN(u)?-1:u/1e3})();return BigInt(t)},eh:function(e,t,r,o,n,i,s){n=$t(n);try{var a=Te.getStreamFromFD(o),l=xe.mmap(a,e,n,t,r),d=l.ptr;return E[i>>2]=l.allocated,x[s>>2]=d,0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},dh:function(e,t,r,o,n,i){i=$t(i);try{var s=Te.getStreamFromFD(n);2&r&&Te.doMsync(e,s,t,o,i)}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},ch:(e,t,r,o)=>{var n=(new Date).getFullYear(),i=new Date(n,0,1),s=new Date(n,6,1),a=i.getTimezoneOffset(),l=s.getTimezoneOffset(),d=Math.max(a,l);x[e>>2]=60*d,E[t>>2]=Number(a!=l);var c=e=>{var t=e>=0?"-":"+",r=Math.abs(e);return`UTC${t}${String(Math.floor(r/60)).padStart(2,"0")}${String(r%60).padStart(2,"0")}`},u=c(a),h=c(l);l<a?(oe(u,r,17),oe(h,o,17)):(oe(u,o,17),oe(h,r,17))},bh:function(e){var t=z(e);localStorage.removeItem(t)},xh:function(e,t,r){if(t=$t(t),!((o=e)>=0&&o<=3))return 28;var o,n;n=0===e?Gt():performance.now();var i=Math.round(1e3*n*1e3);return A[r>>3]=BigInt(i),0},Ka:(e,t,r,o,n)=>or.chooseConfig(e,t,r,o,n),Ja:(e,t,r,o)=>{if(62e3!=e)return or.setErrorCode(12296),0;for(var n=1;;){var i=E[o>>2];if(12440!=i){if(12344==i)break;return or.setErrorCode(12292),0}n=E[o+4>>2],o+=8}return n<2||n>3?(or.setErrorCode(12293),0):(or.contextAttributes.majorVersion=n-1,or.contextAttributes.minorVersion=0,or.context=nr.createContext(rr.getCanvas(),or.contextAttributes),0!=or.context?(or.setErrorCode(12288),nr.makeContextCurrent(or.context),rr.useWebGL=!0,rr.moduleContextCreatedCallbacks.forEach(e=>e()),nr.makeContextCurrent(null),62004):(or.setErrorCode(12297),0))},ah:(e,t,r,o)=>62e3!=e?(or.setErrorCode(12296),0):62002!=t?(or.setErrorCode(12293),0):(or.setErrorCode(12288),62006),Ia:(e,t)=>62e3!=e?(or.setErrorCode(12296),0):62004!=t?(or.setErrorCode(12294),0):(nr.deleteContext(or.context),or.setErrorCode(12288),or.currentContext==t&&(or.currentContext=0),1),ia:(e,t)=>62e3!=e?(or.setErrorCode(12296),0):62006!=t?(or.setErrorCode(12301),1):(or.currentReadSurface==t&&(or.currentReadSurface=0),or.currentDrawSurface==t&&(or.currentDrawSurface=0),or.setErrorCode(12288),1),T:(e,t,r,o)=>{if(62e3!=e)return or.setErrorCode(12296),0;if(62002!=t)return or.setErrorCode(12293),0;if(!o)return or.setErrorCode(12300),0;switch(or.setErrorCode(12288),r){case 12320:return E[o>>2]=or.contextAttributes.alpha?32:24,1;case 12321:return E[o>>2]=or.contextAttributes.alpha?8:0,1;case 12322:case 12323:case 12324:return E[o>>2]=8,1;case 12325:return E[o>>2]=or.contextAttributes.depth?24:0,1;case 12326:return E[o>>2]=or.contextAttributes.stencil?8:0,1;case 12327:case 12335:case 12340:return E[o>>2]=12344,1;case 12328:return E[o>>2]=62002,1;case 12329:case 12333:case 12334:case 12345:case 12346:case 12347:case 12349:case 12350:case 12354:return E[o>>2]=0,1;case 12330:case 12332:return E[o>>2]=4096,1;case 12331:return E[o>>2]=16777216,1;case 12337:return E[o>>2]=or.contextAttributes.antialias?4:0,1;case 12338:return E[o>>2]=or.contextAttributes.antialias?1:0,1;case 12339:case 12352:return E[o>>2]=4,1;case 12341:case 12342:case 12343:return E[o>>2]=-1,1;case 12348:return E[o>>2]=1,1;case 12351:return E[o>>2]=12430,1;default:return or.setErrorCode(12292),0}},$g:e=>(or.setErrorCode(12288),0!=e&&1!=e?0:62e3),Ha:()=>or.errorCode,_g:(e,t,r)=>62e3!=e?(or.setErrorCode(12296),0):(t&&(E[t>>2]=1),r&&(E[r>>2]=4),or.defaultDisplayInitialized=!0,or.setErrorCode(12288),1),ba:(e,t,r,o)=>62e3!=e?(or.setErrorCode(12296),0):0!=o&&62004!=o?(or.setErrorCode(12294),0):0!=r&&62006!=r||0!=t&&62006!=t?(or.setErrorCode(12301),0):(nr.makeContextCurrent(o?or.context:null),or.currentContext=o,or.currentDrawSurface=t,or.currentReadSurface=r,or.setErrorCode(12288),1),ha:(e,t)=>{if(62e3!=e)return or.setErrorCode(12296),0;if(or.setErrorCode(12288),or.stringCache[t])return or.stringCache[t];var r;switch(t){case 12371:r=ne("Emscripten");break;case 12372:r=ne("1.4 Emscripten EGL");break;case 12373:r=ne("");break;case 12429:r=ne("OpenGL_ES");break;default:return or.setErrorCode(12300),0}return or.stringCache[t]=r,r},Ga:(e,t)=>{if(or.defaultDisplayInitialized)if(er){if(!er.isContextLost())return or.setErrorCode(12288),1;or.setErrorCode(12302)}else or.setErrorCode(12290);else or.setErrorCode(12289);return 0},Zg:e=>62e3!=e?(or.setErrorCode(12296),0):(or.currentContext=0,or.currentReadSurface=0,or.currentDrawSurface=0,or.defaultDisplayInitialized=!1,or.setErrorCode(12288),1),I:(e,t,r)=>sr(e,t,r),Fa:e=>{console.error(z(e))},Yg:e=>{console.log(z(e))},Xg:e=>{console.warn(z(e))},Ea:Gt,Wg:()=>{},Vg:()=>2147483648,Ug:e=>er.activeTexture(e),Tg:(e,t)=>{er.attachShader(nr.programs[e],nr.shaders[t])},Sg:(e,t)=>{er.beginQuery(e,nr.queries[t])},Rg:(e,t)=>{er.disjointTimerQueryExt.beginQueryEXT(e,nr.queries[t])},Qg:e=>er.beginTransformFeedback(e),Pg:(e,t,r)=>{er.bindAttribLocation(nr.programs[e],t,z(r))},Og:(e,t)=>{35051==e?er.currentPixelPackBufferBinding=t:35052==e&&(er.currentPixelUnpackBufferBinding=t),er.bindBuffer(e,nr.buffers[t])},Ng:(e,t,r)=>{er.bindBufferBase(e,t,nr.buffers[r])},Mg:(e,t,r,o,n)=>{er.bindBufferRange(e,t,nr.buffers[r],o,n)},Lg:(e,t)=>{er.bindFramebuffer(e,nr.framebuffers[t])},Kg:(e,t)=>{er.bindRenderbuffer(e,nr.renderbuffers[t])},Jg:(e,t)=>{er.bindSampler(e,nr.samplers[t])},Ig:(e,t)=>{er.bindTexture(e,nr.textures[t])},Hg:(e,t)=>{er.bindTransformFeedback(e,nr.transformFeedbacks[t])},Gg:ar,Fg:lr,Eg:(e,t,r,o)=>er.blendColor(e,t,r,o),Dg:e=>er.blendEquation(e),Cg:(e,t)=>er.blendEquationSeparate(e,t),Bg:(e,t)=>er.blendFunc(e,t),Ag:(e,t,r,o)=>er.blendFuncSeparate(e,t,r,o),zg:(e,t,r,o,n,i,s,a,l,d)=>er.blitFramebuffer(e,t,r,o,n,i,s,a,l,d),yg:(e,t,r,o)=>{nr.currentContext.version>=2?r&&t?er.bufferData(e,k,o,r,t):er.bufferData(e,t,o):er.bufferData(e,r?k.subarray(r,r+t):t,o)},xg:(e,t,r,o)=>{nr.currentContext.version>=2?r&&er.bufferSubData(e,t,k,o,r):er.bufferSubData(e,t,k.subarray(o,o+r))},wg:e=>er.checkFramebufferStatus(e),vg:e=>er.clear(e),ug:(e,t,r,o)=>er.clearBufferfi(e,t,r,o),tg:(e,t,r)=>{er.clearBufferfv(e,t,T,r>>2)},sg:(e,t,r)=>{er.clearBufferiv(e,t,E,r>>2)},rg:(e,t,r)=>{er.clearBufferuiv(e,t,x,r>>2)},qg:(e,t,r,o)=>er.clearColor(e,t,r,o),pg:e=>er.clearDepth(e),og:e=>er.clearStencil(e),Da:(e,t,r)=>(r=Number(r),er.clientWaitSync(nr.syncs[e],t,r)),ng:(e,t)=>{er.extClipControl.clipControlEXT(e,t)},mg:(e,t,r,o)=>{er.colorMask(!!e,!!t,!!r,!!o)},lg:e=>{er.compileShader(nr.shaders[e])},kg:(e,t,r,o,n,i,s,a)=>{if(nr.currentContext.version>=2)return er.currentPixelUnpackBufferBinding||!s?void er.compressedTexImage2D(e,t,r,o,n,i,s,a):void er.compressedTexImage2D(e,t,r,o,n,i,k,a,s);er.compressedTexImage2D(e,t,r,o,n,i,k.subarray(a,a+s))},jg:(e,t,r,o,n,i,s,a,l)=>{er.currentPixelUnpackBufferBinding?er.compressedTexImage3D(e,t,r,o,n,i,s,a,l):er.compressedTexImage3D(e,t,r,o,n,i,s,k,l,a)},ig:(e,t,r,o,n,i,s,a,l)=>{if(nr.currentContext.version>=2)return er.currentPixelUnpackBufferBinding||!a?void er.compressedTexSubImage2D(e,t,r,o,n,i,s,a,l):void er.compressedTexSubImage2D(e,t,r,o,n,i,s,k,l,a);er.compressedTexSubImage2D(e,t,r,o,n,i,s,k.subarray(l,l+a))},hg:(e,t,r,o,n,i,s,a,l,d,c)=>{er.currentPixelUnpackBufferBinding?er.compressedTexSubImage3D(e,t,r,o,n,i,s,a,l,d,c):er.compressedTexSubImage3D(e,t,r,o,n,i,s,a,l,k,c,d)},gg:(e,t,r,o,n)=>er.copyBufferSubData(e,t,r,o,n),fg:(e,t,r,o,n,i,s,a)=>er.copyTexImage2D(e,t,r,o,n,i,s,a),eg:(e,t,r,o,n,i,s,a)=>er.copyTexSubImage2D(e,t,r,o,n,i,s,a),dg:(e,t,r,o,n,i,s,a,l)=>er.copyTexSubImage3D(e,t,r,o,n,i,s,a,l),cg:()=>{var e=nr.getNewId(nr.programs),t=er.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,nr.programs[e]=t,e},bg:e=>{var t=nr.getNewId(nr.shaders);return nr.shaders[t]=er.createShader(e),t},ag:e=>er.cullFace(e),$f:(e,t)=>{for(var r=0;r<e;r++){var o=E[t+4*r>>2],n=nr.buffers[o];n&&(er.deleteBuffer(n),n.name=0,nr.buffers[o]=null,o==er.currentPixelPackBufferBinding&&(er.currentPixelPackBufferBinding=0),o==er.currentPixelUnpackBufferBinding&&(er.currentPixelUnpackBufferBinding=0))}},_f:(e,t)=>{for(var r=0;r<e;++r){var o=E[t+4*r>>2],n=nr.framebuffers[o];n&&(er.deleteFramebuffer(n),n.name=0,nr.framebuffers[o]=null)}},Zf:e=>{if(e){var t=nr.programs[e];t?(er.deleteProgram(t),t.name=0,nr.programs[e]=null):nr.recordError(1281)}},Yf:(e,t)=>{for(var r=0;r<e;r++){var o=E[t+4*r>>2],n=nr.queries[o];n&&(er.deleteQuery(n),nr.queries[o]=null)}},Xf:(e,t)=>{for(var r=0;r<e;r++){var o=E[t+4*r>>2],n=nr.queries[o];n&&(er.disjointTimerQueryExt.deleteQueryEXT(n),nr.queries[o]=null)}},Wf:(e,t)=>{for(var r=0;r<e;r++){var o=E[t+4*r>>2],n=nr.renderbuffers[o];n&&(er.deleteRenderbuffer(n),n.name=0,nr.renderbuffers[o]=null)}},Vf:(e,t)=>{for(var r=0;r<e;r++){var o=E[t+4*r>>2],n=nr.samplers[o];n&&(er.deleteSampler(n),n.name=0,nr.samplers[o]=null)}},Uf:e=>{if(e){var t=nr.shaders[e];t?(er.deleteShader(t),nr.shaders[e]=null):nr.recordError(1281)}},Tf:e=>{if(e){var t=nr.syncs[e];t?(er.deleteSync(t),t.name=0,nr.syncs[e]=null):nr.recordError(1281)}},Sf:(e,t)=>{for(var r=0;r<e;r++){var o=E[t+4*r>>2],n=nr.textures[o];n&&(er.deleteTexture(n),n.name=0,nr.textures[o]=null)}},Rf:(e,t)=>{for(var r=0;r<e;r++){var o=E[t+4*r>>2],n=nr.transformFeedbacks[o];n&&(er.deleteTransformFeedback(n),n.name=0,nr.transformFeedbacks[o]=null)}},Qf:dr,Pf:cr,Of:e=>er.depthFunc(e),Nf:e=>{er.depthMask(!!e)},Mf:(e,t)=>er.depthRange(e,t),Lf:(e,t)=>{er.detachShader(nr.programs[e],nr.shaders[t])},Kf:e=>er.disable(e),Jf:e=>{er.disableVertexAttribArray(e)},If:(e,t,r)=>{er.drawArrays(e,t,r)},Hf:ur,Gf:hr,Ff:pr,Ef:(e,t,r,o,n)=>{er.dibvbi.drawArraysInstancedBaseInstanceWEBGL(e,t,r,o,n)},Df:gr,Cf:fr,Bf:br,Af:yr,zf:vr,yf:wr,xf:_r,wf:kr,vf:Sr,uf:(e,t,r,o,n,i,s)=>{er.dibvbi.drawElementsInstancedBaseVertexBaseInstanceWEBGL(e,t,r,o,n,i,s)},tf:Cr,sf:Er,rf:(e,t,r,o,n,i)=>{xr(e,o,n,i)},qf:e=>er.enable(e),pf:e=>{er.enableVertexAttribArray(e)},of:e=>er.endQuery(e),nf:e=>{er.disjointTimerQueryExt.endQueryEXT(e)},mf:()=>er.endTransformFeedback(),lf:(e,t)=>{var r=er.fenceSync(e,t);if(r){var o=nr.getNewId(nr.syncs);return r.name=o,nr.syncs[o]=r,o}return 0},kf:()=>er.finish(),jf:()=>er.flush(),hf:(e,t,r,o)=>{er.framebufferRenderbuffer(e,t,r,nr.renderbuffers[o])},gf:(e,t,r,o,n)=>{er.framebufferTexture2D(e,t,r,nr.textures[o],n)},ff:(e,t,r,o,n)=>{er.framebufferTextureLayer(e,t,nr.textures[r],o,n)},ef:e=>er.frontFace(e),df:(e,t)=>{nr.genObject(e,t,"createBuffer",nr.buffers)},cf:(e,t)=>{nr.genObject(e,t,"createFramebuffer",nr.framebuffers)},bf:(e,t)=>{nr.genObject(e,t,"createQuery",nr.queries)},af:(e,t)=>{for(var r=0;r<e;r++){var o=er.disjointTimerQueryExt.createQueryEXT();if(!o){for(nr.recordError(1282);r<e;)E[t+4*r++>>2]=0;return}var n=nr.getNewId(nr.queries);o.name=n,nr.queries[n]=o,E[t+4*r>>2]=n}},$e:(e,t)=>{nr.genObject(e,t,"createRenderbuffer",nr.renderbuffers)},_e:(e,t)=>{nr.genObject(e,t,"createSampler",nr.samplers)},Ze:(e,t)=>{nr.genObject(e,t,"createTexture",nr.textures)},Ye:(e,t)=>{nr.genObject(e,t,"createTransformFeedback",nr.transformFeedbacks)},Xe:Tr,We:Pr,Ve:e=>er.generateMipmap(e),Ue:(e,t,r,o,n,i,s)=>Ar("getActiveAttrib",e,t,r,o,n,i,s),Te:(e,t,r,o,n,i,s)=>Ar("getActiveUniform",e,t,r,o,n,i,s),Se:(e,t,r,o,n)=>{e=nr.programs[e];var i=er.getActiveUniformBlockName(e,t);if(i)if(n&&r>0){var s=oe(i,n,r);o&&(E[o>>2]=s)}else o&&(E[o>>2]=0)},Re:(e,t,r,o)=>{if(o)if(e=nr.programs[e],35393!=r){var n=er.getActiveUniformBlockParameter(e,t,r);if(null!==n)if(35395==r)for(var i=0;i<n.length;i++)E[o+4*i>>2]=n[i];else E[o>>2]=n}else{var s=er.getActiveUniformBlockName(e,t);E[o>>2]=s.length+1}else nr.recordError(1281)},Qe:(e,t,r,o,n)=>{if(n)if(t>0&&0==r)nr.recordError(1281);else{e=nr.programs[e];for(var i=[],s=0;s<t;s++)i.push(E[r+4*s>>2]);var a=er.getActiveUniforms(e,i,o);if(a){var l=a.length;for(s=0;s<l;s++)E[n+4*s>>2]=a[s]}}else nr.recordError(1281)},Pe:(e,t,r,o)=>{var n=er.getAttachedShaders(nr.programs[e]),i=n.length;i>t&&(i=t),E[r>>2]=i;for(var s=0;s<i;++s){var a=nr.shaders.indexOf(n[s]);E[o+4*s>>2]=a}},Oe:(e,t)=>er.getAttribLocation(nr.programs[e],z(t)),Ne:(e,t)=>Ir(e,t,4),Me:(e,t,r)=>{r?Mr(r,er.getBufferParameter(e,t)):nr.recordError(1281)},Le:(e,t,r)=>{r?E[r>>2]=er.getBufferParameter(e,t):nr.recordError(1281)},Ke:()=>{var e=er.getError()||nr.lastError;return nr.lastError=0,e},Je:(e,t)=>Ir(e,t,2),Ie:(e,t)=>er.getFragDataLocation(nr.programs[e],z(t)),He:(e,t,r,o)=>{var n=er.getFramebufferAttachmentParameter(e,t,r);(n instanceof WebGLRenderbuffer||n instanceof WebGLTexture)&&(n=0|n.name),E[o>>2]=n},Ge:(e,t,r)=>Rr(e,t,r,1),Fe:(e,t)=>{Ir(e,t,1)},Ee:(e,t,r)=>Rr(e,t,r,0),De:(e,t)=>Ir(e,t,0),Ce:(e,t,r,o,n)=>{if(o<0)nr.recordError(1281);else if(n){var i=er.getInternalformatParameter(e,t,r);if(null!==i)for(var s=0;s<i.length&&s<o;++s)E[n+4*s>>2]=i[s]}else nr.recordError(1281)},Be:(e,t,r,o,n)=>{nr.recordError(1282)},Ae:(e,t,r,o)=>{var n=er.getProgramInfoLog(nr.programs[e]);null===n&&(n="(unknown error)");var i=t>0&&o?oe(n,o,t):0;r&&(E[r>>2]=i)},ze:(e,t,r)=>{if(r)if(e>=nr.counter)nr.recordError(1281);else if(e=nr.programs[e],35716==t){var o=er.getProgramInfoLog(e);null===o&&(o="(unknown error)"),E[r>>2]=o.length+1}else if(35719==t){if(!e.maxUniformLength)for(var n=er.getProgramParameter(e,35718),i=0;i<n;++i)e.maxUniformLength=Math.max(e.maxUniformLength,er.getActiveUniform(e,i).name.length+1);E[r>>2]=e.maxUniformLength}else if(35722==t){if(!e.maxAttributeLength){var s=er.getProgramParameter(e,35721);for(i=0;i<s;++i)e.maxAttributeLength=Math.max(e.maxAttributeLength,er.getActiveAttrib(e,i).name.length+1)}E[r>>2]=e.maxAttributeLength}else if(35381==t){if(!e.maxUniformBlockNameLength){var a=er.getProgramParameter(e,35382);for(i=0;i<a;++i)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,er.getActiveUniformBlockName(e,i).length+1)}E[r>>2]=e.maxUniformBlockNameLength}else E[r>>2]=er.getProgramParameter(e,t);else nr.recordError(1281)},ye:Lr,xe:Dr,we:Or,ve:(e,t,r)=>{if(r){var o,n=nr.queries[e],i=er.getQueryParameter(n,t);o="boolean"==typeof i?i?1:0:i,E[r>>2]=o}else nr.recordError(1281)},ue:Br,te:(e,t,r)=>{r?E[r>>2]=er.getQuery(e,t):nr.recordError(1281)},se:(e,t,r)=>{r?E[r>>2]=er.disjointTimerQueryExt.getQueryEXT(e,t):nr.recordError(1281)},re:(e,t,r)=>{r?E[r>>2]=er.getRenderbufferParameter(e,t):nr.recordError(1281)},qe:(e,t,r)=>{r?T[r>>2]=er.getSamplerParameter(nr.samplers[e],t):nr.recordError(1281)},pe:(e,t,r)=>{r?E[r>>2]=er.getSamplerParameter(nr.samplers[e],t):nr.recordError(1281)},oe:(e,t,r,o)=>{var n=er.getShaderInfoLog(nr.shaders[e]);null===n&&(n="(unknown error)");var i=t>0&&o?oe(n,o,t):0;r&&(E[r>>2]=i)},ne:(e,t,r,o)=>{var n=er.getShaderPrecisionFormat(e,t);E[r>>2]=n.rangeMin,E[r+4>>2]=n.rangeMax,E[o>>2]=n.precision},me:(e,t,r,o)=>{var n=er.getShaderSource(nr.shaders[e]);if(n){var i=t>0&&o?oe(n,o,t):0;r&&(E[r>>2]=i)}},le:(e,t,r)=>{if(r)if(35716==t){var o=er.getShaderInfoLog(nr.shaders[e]);null===o&&(o="(unknown error)");var n=o?o.length+1:0;E[r>>2]=n}else if(35720==t){var i=er.getShaderSource(nr.shaders[e]),s=i?i.length+1:0;E[r>>2]=s}else E[r>>2]=er.getShaderParameter(nr.shaders[e],t);else nr.recordError(1281)},Ca:e=>{var t=nr.stringCache[e];if(!t){switch(e){case 7939:t=ne(Fr().join(" "));break;case 7936:case 7937:case 37445:case 37446:var r=er.getParameter(e);r||nr.recordError(1280),t=r?ne(r):0;break;case 7938:var o=er.getParameter(7938),n=`OpenGL ES 2.0 (${o})`;nr.currentContext.version>=2&&(n=`OpenGL ES 3.0 (${o})`),t=ne(n);break;case 35724:var i=er.getParameter(35724),s=i.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==s&&(3==s[1].length&&(s[1]=s[1]+"0"),i=`OpenGL ES GLSL ES ${s[1]} (${i})`),t=ne(i);break;default:nr.recordError(1280)}nr.stringCache[e]=t}return t},ke:(e,t)=>{if(nr.currentContext.version<2)return nr.recordError(1282),0;var r=nr.stringiCache[e];if(r)return t<0||t>=r.length?(nr.recordError(1281),0):r[t];if(7939===e){var o=Fr().map(ne);return r=nr.stringiCache[e]=o,t<0||t>=r.length?(nr.recordError(1281),0):r[t]}return nr.recordError(1280),0},je:(e,t,r,o,n)=>{if(r<0)nr.recordError(1281);else if(n){var i=er.getSyncParameter(nr.syncs[e],t);null!==i&&(E[n>>2]=i,o&&(E[o>>2]=1))}else nr.recordError(1281)},ie:(e,t,r)=>{r?T[r>>2]=er.getTexParameter(e,t):nr.recordError(1281)},he:(e,t,r)=>{r?E[r>>2]=er.getTexParameter(e,t):nr.recordError(1281)},ge:(e,t,r,o,n,i,s)=>{e=nr.programs[e];var a=er.getTransformFeedbackVarying(e,t);if(a){if(s&&r>0){var l=oe(a.name,s,r);o&&(E[o>>2]=l)}else o&&(E[o>>2]=0);n&&(E[n>>2]=a.size),i&&(E[i>>2]=a.type)}},fe:(e,t)=>er.getUniformBlockIndex(nr.programs[e],z(t)),ee:(e,t,r,o)=>{if(o)if(t>0&&(0==r||0==o))nr.recordError(1281);else{e=nr.programs[e];for(var n=[],i=0;i<t;i++)n.push(z(E[r+4*i>>2]));var s=er.getUniformIndices(e,n);if(s){var a=s.length;for(i=0;i<a;i++)E[o+4*i>>2]=s[i]}}else nr.recordError(1281)},de:(e,t)=>{if(t=z(t),e=nr.programs[e]){jr(e);var r=e.uniformLocsById,o=0,n=t,i=Ur(t);i>0&&(a=t.slice(i+1),o=parseInt(a)>>>0,n=t.slice(0,i));var s=e.uniformSizeAndIdsByName[n];if(s&&o<s[0]&&(r[o+=s[1]]=r[o]||er.getUniformLocation(e,t)))return o}else nr.recordError(1281);var a;return-1},ce:(e,t,r)=>{Wr(e,t,r,2)},be:(e,t,r)=>{Wr(e,t,r,0)},ae:(e,t,r)=>Wr(e,t,r,0),$d:$r,_d:Vr,Zd:(e,t,r)=>{r?E[r>>2]=er.getVertexAttribOffset(e,t):nr.recordError(1281)},Yd:(e,t,r)=>{Hr(e,t,r,2)},Xd:(e,t,r)=>{Hr(e,t,r,5)},Wd:(e,t)=>er.hint(e,t),Vd:(e,t,r)=>{for(var o=mr[t],n=0;n<t;n++)o[n]=E[r+4*n>>2];er.invalidateFramebuffer(e,o)},Ud:(e,t,r,o,n,i,s)=>{for(var a=mr[t],l=0;l<t;l++)a[l]=E[r+4*l>>2];er.invalidateSubFramebuffer(e,a,o,n,i,s)},Td:e=>{var t=nr.buffers[e];return t?er.isBuffer(t):0},Sd:e=>er.isEnabled(e),Rd:e=>{var t=nr.framebuffers[e];return t?er.isFramebuffer(t):0},Qd:e=>(e=nr.programs[e])?er.isProgram(e):0,Pd:e=>{var t=nr.queries[e];return t?er.isQuery(t):0},Od:e=>{var t=nr.queries[e];return t?er.disjointTimerQueryExt.isQueryEXT(t):0},Nd:e=>{var t=nr.renderbuffers[e];return t?er.isRenderbuffer(t):0},Md:e=>{var t=nr.samplers[e];return t?er.isSampler(t):0},Ld:e=>{var t=nr.shaders[e];return t?er.isShader(t):0},Kd:e=>er.isSync(nr.syncs[e]),Jd:e=>{var t=nr.textures[e];return t?er.isTexture(t):0},Id:e=>er.isTransformFeedback(nr.transformFeedbacks[e]),Hd:Nr,Gd:zr,Fd:e=>er.lineWidth(e),Ed:e=>{e=nr.programs[e],er.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},Dd:(e,t,r,o,n,i)=>{er.mdibvbi.multiDrawArraysInstancedBaseInstanceWEBGL(e,E,t>>2,E,r>>2,E,o>>2,x,n>>2,i)},Cd:(e,t,r,o,n,i,s,a)=>{er.mdibvbi.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(e,E,t>>2,r,E,o>>2,E,n>>2,E,i>>2,x,s>>2,a)},Bd:()=>er.pauseTransformFeedback(),Ad:(e,t)=>{3317==e?nr.unpackAlignment=t:3314==e&&(nr.unpackRowLength=t),er.pixelStorei(e,t)},zd:(e,t)=>{er.webglPolygonMode.polygonModeWEBGL(e,t)},yd:(e,t)=>er.polygonOffset(e,t),xd:(e,t,r)=>{er.extPolygonOffsetClamp.polygonOffsetClampEXT(e,t,r)},wd:(e,t,r,o)=>{nr.recordError(1280)},vd:(e,t,r)=>{nr.recordError(1280)},ud:(e,t)=>{er.disjointTimerQueryExt.queryCounterEXT(nr.queries[e],t)},td:e=>er.readBuffer(e),sd:(e,t,r,o,n,i,s)=>{if(nr.currentContext.version>=2){if(er.currentPixelPackBufferBinding)return void er.readPixels(e,t,r,o,n,i,s);var a=Gr(i),l=Xr(s,a);er.readPixels(e,t,r,o,n,i,a,l)}else{var d=Yr(i,n,r,o,s);d?er.readPixels(e,t,r,o,n,i,d):nr.recordError(1280)}},rd:()=>{},qd:(e,t,r,o)=>er.renderbufferStorage(e,t,r,o),pd:(e,t,r,o,n)=>er.renderbufferStorageMultisample(e,t,r,o,n),od:()=>er.resumeTransformFeedback(),nd:(e,t)=>{er.sampleCoverage(e,!!t)},md:(e,t,r)=>{er.samplerParameterf(nr.samplers[e],t,r)},ld:(e,t,r)=>{var o=T[r>>2];er.samplerParameterf(nr.samplers[e],t,o)},kd:(e,t,r)=>{er.samplerParameteri(nr.samplers[e],t,r)},jd:(e,t,r)=>{var o=E[r>>2];er.samplerParameteri(nr.samplers[e],t,o)},id:(e,t,r,o)=>er.scissor(e,t,r,o),hd:(e,t,r,o,n)=>{nr.recordError(1280)},gd:(e,t,r,o)=>{var n=nr.getSource(e,t,r,o);if(nr.currentContext.version>=2&&n.includes("#version 100")){var i="";(n=(n=n.replace(/#extension GL_OES_standard_derivatives : enable/g,"")).replace(/#extension GL_EXT_shader_texture_lod : enable/g,"")).includes("gl_FragColor")&&(i+="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"+i)}er.shaderSource(nr.shaders[e],n)},fd:(e,t,r)=>er.stencilFunc(e,t,r),ed:(e,t,r,o)=>er.stencilFuncSeparate(e,t,r,o),dd:e=>er.stencilMask(e),cd:(e,t)=>er.stencilMaskSeparate(e,t),bd:(e,t,r)=>er.stencilOp(e,t,r),ad:(e,t,r,o)=>er.stencilOpSeparate(e,t,r,o),$c:(e,t,r,o,n,i,s,a,l)=>{if(nr.currentContext.version>=2&&(6402==s&&6402==r&&5125==a&&(r=33190),36193==a&&(a=5131,6408==s&&6408==r&&(r=34842)),34041==r&&(r=35056),6408==r&&5126==a&&(r=34836)),nr.currentContext.version>=2){if(er.currentPixelUnpackBufferBinding)return void er.texImage2D(e,t,r,o,n,i,s,a,l);if(l){var d=Gr(a),c=Xr(l,d);return void er.texImage2D(e,t,r,o,n,i,s,a,d,c)}}var u=l?Yr(a,s,o,n,l):null;er.texImage2D(e,t,r,o,n,i,s,a,u)},_c:(e,t,r,o,n,i,s,a,l,d)=>{if(er.currentPixelUnpackBufferBinding)er.texImage3D(e,t,r,o,n,i,s,a,l,d);else if(d){var c=Gr(l);er.texImage3D(e,t,r,o,n,i,s,a,l,c,Xr(d,c))}else er.texImage3D(e,t,r,o,n,i,s,a,l,null)},Zc:(e,t,r)=>er.texParameterf(e,t,r),Yc:(e,t,r)=>{var o=T[r>>2];er.texParameterf(e,t,o)},Xc:(e,t,r)=>er.texParameteri(e,t,r),Wc:(e,t,r)=>{var o=E[r>>2];er.texParameteri(e,t,o)},Vc:(e,t,r,o,n)=>er.texStorage2D(e,t,r,o,n),Uc:(e,t,r,o,n,i)=>er.texStorage3D(e,t,r,o,n,i),Tc:(e,t,r,o,n,i,s,a,l)=>{if(nr.currentContext.version>=2&&36193==a&&(a=5131),nr.currentContext.version>=2){if(er.currentPixelUnpackBufferBinding)return void er.texSubImage2D(e,t,r,o,n,i,s,a,l);if(l){var d=Gr(a);return void er.texSubImage2D(e,t,r,o,n,i,s,a,d,Xr(l,d))}}var c=l?Yr(a,s,n,i,l):null;er.texSubImage2D(e,t,r,o,n,i,s,a,c)},Sc:(e,t,r,o,n,i,s,a,l,d,c)=>{if(er.currentPixelUnpackBufferBinding)er.texSubImage3D(e,t,r,o,n,i,s,a,l,d,c);else if(c){var u=Gr(d);er.texSubImage3D(e,t,r,o,n,i,s,a,l,d,u,Xr(c,u))}else er.texSubImage3D(e,t,r,o,n,i,s,a,l,d,null)},Rc:(e,t,r,o)=>{e=nr.programs[e];for(var n=[],i=0;i<t;i++)n.push(z(E[r+4*i>>2]));er.transformFeedbackVaryings(e,n,o)},Qc:(e,t)=>{er.uniform1f(qr(e),t)},Pc:(e,t,r)=>{if(nr.currentContext.version>=2)t&&er.uniform1fv(qr(e),T,r>>2,t);else{if(t<=288)for(var o=Kr[t],n=0;n<t;++n)o[n]=T[r+4*n>>2];else o=T.subarray(r>>2,r+4*t>>2);er.uniform1fv(qr(e),o)}},Oc:(e,t)=>{er.uniform1i(qr(e),t)},Nc:(e,t,r)=>{if(nr.currentContext.version>=2)t&&er.uniform1iv(qr(e),E,r>>2,t);else{if(t<=288)for(var o=Qr[t],n=0;n<t;++n)o[n]=E[r+4*n>>2];else o=E.subarray(r>>2,r+4*t>>2);er.uniform1iv(qr(e),o)}},Mc:(e,t)=>{er.uniform1ui(qr(e),t)},Lc:(e,t,r)=>{t&&er.uniform1uiv(qr(e),x,r>>2,t)},Kc:(e,t,r)=>{er.uniform2f(qr(e),t,r)},Jc:(e,t,r)=>{if(nr.currentContext.version>=2)t&&er.uniform2fv(qr(e),T,r>>2,2*t);else{if(t<=144)for(var o=Kr[t*=2],n=0;n<t;n+=2)o[n]=T[r+4*n>>2],o[n+1]=T[r+(4*n+4)>>2];else o=T.subarray(r>>2,r+8*t>>2);er.uniform2fv(qr(e),o)}},Ic:(e,t,r)=>{er.uniform2i(qr(e),t,r)},Hc:(e,t,r)=>{if(nr.currentContext.version>=2)t&&er.uniform2iv(qr(e),E,r>>2,2*t);else{if(t<=144)for(var o=Qr[t*=2],n=0;n<t;n+=2)o[n]=E[r+4*n>>2],o[n+1]=E[r+(4*n+4)>>2];else o=E.subarray(r>>2,r+8*t>>2);er.uniform2iv(qr(e),o)}},Gc:(e,t,r)=>{er.uniform2ui(qr(e),t,r)},Fc:(e,t,r)=>{t&&er.uniform2uiv(qr(e),x,r>>2,2*t)},Ec:(e,t,r,o)=>{er.uniform3f(qr(e),t,r,o)},Dc:(e,t,r)=>{if(nr.currentContext.version>=2)t&&er.uniform3fv(qr(e),T,r>>2,3*t);else{if(t<=96)for(var o=Kr[t*=3],n=0;n<t;n+=3)o[n]=T[r+4*n>>2],o[n+1]=T[r+(4*n+4)>>2],o[n+2]=T[r+(4*n+8)>>2];else o=T.subarray(r>>2,r+12*t>>2);er.uniform3fv(qr(e),o)}},Cc:(e,t,r,o)=>{er.uniform3i(qr(e),t,r,o)},Bc:(e,t,r)=>{if(nr.currentContext.version>=2)t&&er.uniform3iv(qr(e),E,r>>2,3*t);else{if(t<=96)for(var o=Qr[t*=3],n=0;n<t;n+=3)o[n]=E[r+4*n>>2],o[n+1]=E[r+(4*n+4)>>2],o[n+2]=E[r+(4*n+8)>>2];else o=E.subarray(r>>2,r+12*t>>2);er.uniform3iv(qr(e),o)}},Ac:(e,t,r,o)=>{er.uniform3ui(qr(e),t,r,o)},zc:(e,t,r)=>{t&&er.uniform3uiv(qr(e),x,r>>2,3*t)},yc:(e,t,r,o,n)=>{er.uniform4f(qr(e),t,r,o,n)},xc:(e,t,r)=>{if(nr.currentContext.version>=2)t&&er.uniform4fv(qr(e),T,r>>2,4*t);else{if(t<=72){var o=Kr[4*t],n=T;r>>=2,t*=4;for(var i=0;i<t;i+=4){var s=r+i;o[i]=n[s],o[i+1]=n[s+1],o[i+2]=n[s+2],o[i+3]=n[s+3]}}else o=T.subarray(r>>2,r+16*t>>2);er.uniform4fv(qr(e),o)}},wc:(e,t,r,o,n)=>{er.uniform4i(qr(e),t,r,o,n)},vc:(e,t,r)=>{if(nr.currentContext.version>=2)t&&er.uniform4iv(qr(e),E,r>>2,4*t);else{if(t<=72)for(var o=Qr[t*=4],n=0;n<t;n+=4)o[n]=E[r+4*n>>2],o[n+1]=E[r+(4*n+4)>>2],o[n+2]=E[r+(4*n+8)>>2],o[n+3]=E[r+(4*n+12)>>2];else o=E.subarray(r>>2,r+16*t>>2);er.uniform4iv(qr(e),o)}},uc:(e,t,r,o,n)=>{er.uniform4ui(qr(e),t,r,o,n)},tc:(e,t,r)=>{t&&er.uniform4uiv(qr(e),x,r>>2,4*t)},sc:(e,t,r)=>{e=nr.programs[e],er.uniformBlockBinding(e,t,r)},rc:(e,t,r,o)=>{if(nr.currentContext.version>=2)t&&er.uniformMatrix2fv(qr(e),!!r,T,o>>2,4*t);else{if(t<=72)for(var n=Kr[t*=4],i=0;i<t;i+=4)n[i]=T[o+4*i>>2],n[i+1]=T[o+(4*i+4)>>2],n[i+2]=T[o+(4*i+8)>>2],n[i+3]=T[o+(4*i+12)>>2];else n=T.subarray(o>>2,o+16*t>>2);er.uniformMatrix2fv(qr(e),!!r,n)}},qc:(e,t,r,o)=>{t&&er.uniformMatrix2x3fv(qr(e),!!r,T,o>>2,6*t)},pc:(e,t,r,o)=>{t&&er.uniformMatrix2x4fv(qr(e),!!r,T,o>>2,8*t)},oc:(e,t,r,o)=>{if(nr.currentContext.version>=2)t&&er.uniformMatrix3fv(qr(e),!!r,T,o>>2,9*t);else{if(t<=32)for(var n=Kr[t*=9],i=0;i<t;i+=9)n[i]=T[o+4*i>>2],n[i+1]=T[o+(4*i+4)>>2],n[i+2]=T[o+(4*i+8)>>2],n[i+3]=T[o+(4*i+12)>>2],n[i+4]=T[o+(4*i+16)>>2],n[i+5]=T[o+(4*i+20)>>2],n[i+6]=T[o+(4*i+24)>>2],n[i+7]=T[o+(4*i+28)>>2],n[i+8]=T[o+(4*i+32)>>2];else n=T.subarray(o>>2,o+36*t>>2);er.uniformMatrix3fv(qr(e),!!r,n)}},nc:(e,t,r,o)=>{t&&er.uniformMatrix3x2fv(qr(e),!!r,T,o>>2,6*t)},mc:(e,t,r,o)=>{t&&er.uniformMatrix3x4fv(qr(e),!!r,T,o>>2,12*t)},lc:(e,t,r,o)=>{if(nr.currentContext.version>=2)t&&er.uniformMatrix4fv(qr(e),!!r,T,o>>2,16*t);else{if(t<=18){var n=Kr[16*t],i=T;o>>=2,t*=16;for(var s=0;s<t;s+=16){var a=o+s;n[s]=i[a],n[s+1]=i[a+1],n[s+2]=i[a+2],n[s+3]=i[a+3],n[s+4]=i[a+4],n[s+5]=i[a+5],n[s+6]=i[a+6],n[s+7]=i[a+7],n[s+8]=i[a+8],n[s+9]=i[a+9],n[s+10]=i[a+10],n[s+11]=i[a+11],n[s+12]=i[a+12],n[s+13]=i[a+13],n[s+14]=i[a+14],n[s+15]=i[a+15]}}else n=T.subarray(o>>2,o+64*t>>2);er.uniformMatrix4fv(qr(e),!!r,n)}},kc:(e,t,r,o)=>{t&&er.uniformMatrix4x2fv(qr(e),!!r,T,o>>2,8*t)},jc:(e,t,r,o)=>{t&&er.uniformMatrix4x3fv(qr(e),!!r,T,o>>2,12*t)},ic:e=>{e=nr.programs[e],er.useProgram(e),er.currentProgram=e},hc:e=>{er.validateProgram(nr.programs[e])},gc:(e,t)=>er.vertexAttrib1f(e,t),fc:(e,t)=>{er.vertexAttrib1f(e,T[t>>2])},ec:(e,t,r)=>er.vertexAttrib2f(e,t,r),dc:(e,t)=>{er.vertexAttrib2f(e,T[t>>2],T[t+4>>2])},cc:(e,t,r,o)=>er.vertexAttrib3f(e,t,r,o),bc:(e,t)=>{er.vertexAttrib3f(e,T[t>>2],T[t+4>>2],T[t+8>>2])},ac:(e,t,r,o,n)=>er.vertexAttrib4f(e,t,r,o,n),$b:(e,t)=>{er.vertexAttrib4f(e,T[t>>2],T[t+4>>2],T[t+8>>2],T[t+12>>2])},_b:Zr,Zb:Jr,Yb:eo,Xb:to,Wb:ro,Vb:(e,t,r,o,n)=>er.vertexAttribI4i(e,t,r,o,n),Ub:(e,t)=>{er.vertexAttribI4i(e,E[t>>2],E[t+4>>2],E[t+8>>2],E[t+12>>2])},Tb:(e,t,r,o,n)=>er.vertexAttribI4ui(e,t,r,o,n),Sb:(e,t)=>{er.vertexAttribI4ui(e,x[t>>2],x[t+4>>2],x[t+8>>2],x[t+12>>2])},Rb:(e,t,r,o,n)=>{er.vertexAttribIPointer(e,t,r,o,n)},Qb:(e,t,r,o,n,i)=>{er.vertexAttribPointer(e,t,r,!!o,n,i)},Pb:(e,t,r,o)=>er.viewport(e,t,r,o),Ba:(e,t,r)=>{r=Number(r),er.waitSync(nr.syncs[e],t,r)},Ob:e=>{var t=k.length,r=2147483648;if((e>>>=0)>r)return!1;for(var o=1;o<=4;o*=2){var n=t*(1+.2/o);n=Math.min(n,e+100663296);var i=Math.min(r,fe(Math.max(e,n),65536));if(oo(i))return!0}return!1},Nb:function(e,t,r,o,n,i,a,l,d){const c=s.UTF8ToString(e,e+t),u=s.HEAPU8.subarray(n,n+i),h=s.emscripten_ubq_codec_audioDecoderNextHandle++,p={codec:c,sampleRate:r,numberOfChannels:o};u.length>0&&(p.description=u);try{const e=s.emscripten_ubq_codec_createAudioDecoder(a,l,d);AudioDecoder.isConfigSupported(p).then(t=>{e.configUnsupported=!t},()=>{e.configUnsupported=!0}),e.configure(p),s.emscripten_ubq_codec_audioDecoders.set(h,{audioDecoder:e,decoderConfig:p,leftBufferPtr:a,rightBufferPtr:l,bufferLength:d,opfsUri:""})}catch(e){return s.emscripten_ubq_codec_createNativeResult({error:e})}return s.emscripten_ubq_codec_createNativeResult({handle:h})},Mb:function(e,t,r,o,n,i){const a=s.UTF8ToString(e,e+t),l=s.emscripten_ubq_codec_audioEncoderNextHandle++,d={codec:a,sampleRate:r,numberOfChannels:o,bitrate:n};try{const e=new AudioEncoder({output:e=>{const t=s._malloc(e.byteLength),r=s.HEAPU8.subarray(t,t+e.byteLength);e.copyTo(r),s.emscripten_ubq_codec_onOutputEncodedAudioChunk(l,t,e.byteLength,i),s._free(t)},error:e=>{s.emscripten_ubq_codec_audioEncoders.get(l).frameIndex>1&&console.error(e)}});e.configure(d),s.emscripten_ubq_codec_audioEncoders.set(l,{audioEncoder:e,audioEncoderConfig:d,frameIndex:0})}catch(e){return e+=' Requested codec: "'+a+'"',e+="; sample rate: "+r,e+="; channels: "+o,e+="; bit rate: "+n,s.emscripten_ubq_codec_createNativeResult({error:e})}return s.emscripten_ubq_codec_createNativeResult({handle:l})},Lb:function(e,t,r,o,n,i,a,l){const d=s.UTF8ToString(e,e+t),c=s.HEAPU8.subarray(i,i+a),u=s.emscripten_ubq_codec_videoDecoderNextHandle++,h={codec:d,codedWidth:r,codedHeight:o,description:c,optimizeForLatency:!0};try{const e=s.emscripten_ubq_codec_createVideoDecoder(u,n,l);VideoDecoder.isConfigSupported(h).then(t=>{e.configUnsupported=!t.supported},t=>{e.configUnsupported=!0}),e.configure(h),s.emscripten_ubq_codec_videoDecoders.set(u,{videoDecoder:e,decoderConfig:h,codecServicePtr:l,isHdr:n,opfsUri:""})}catch(e){return s.emscripten_ubq_codec_createNativeResult({error:e})}return s.emscripten_ubq_codec_createNativeResult({handle:u})},Kb:function(e,t,r,o,n,i,a){const l=s.UTF8ToString(e,e+t),d=s.emscripten_ubq_codec_videoEncoderNextHandle++,c=s.specialHTMLTargets["!canvas"];c.width=r,c.height=o;const u={codec:l,width:r,height:o,avc:{format:"annexb"},framerate:n};i>0&&(u.bitrate=i);try{const e=new VideoEncoder({output:e=>{const t=s._malloc(e.byteLength),r=s.HEAPU8.subarray(t,t+e.byteLength);e.copyTo(r),s.emscripten_ubq_codec_onOutputEncodedVideoChunk(d,t,e.byteLength,a),s._free(t)},error:e=>console.error(e)});VideoEncoder.isConfigSupported(u).then(t=>{e.configUnsupported=!t},()=>{e.configUnsupported=!0}),e.configure(u),s.emscripten_ubq_codec_videoEncoders.set(d,{videoEncoder:e,encoderConfig:u,groupOfPictures:150,frameIndex:0})}catch(e){return e+=' Requested codec: "'+l+'"',e+="; resolution: "+r+"x"+o,s.emscripten_ubq_codec_createNativeResult({error:e})}return s.emscripten_ubq_codec_createNativeResult({handle:d})},Jb:function(e,t,r,o,n,i){const a=s.emscripten_ubq_codec_audioDecoders.get(e);if(a.audioDecoder.unexpectedError)return s.emscripten_ubq_codec_createNativeResult({code:2,error:a.audioDecoder.unexpectedError});"closed"===a.audioDecoder.state&&(a.audioDecoder=s.emscripten_ubq_codec_createAudioDecoder(a.leftBufferPtr,a.rightBufferPtr,a.bufferLength),a.audioDecoder.configure(a.decoderConfig));const l=a.audioDecoder,d=s.HEAPU8.subarray(n,n+i),c=new EncodedAudioChunk({type:t?"key":"delta",timestamp:r,duration:o,data:d});try{l.decode(c)}catch(e){return l.configUnsupported?s.emscripten_ubq_codec_createNativeResult({code:2,error:e}):s.emscripten_ubq_codec_createNativeResult({code:1,error:e})}return s.emscripten_ubq_codec_createNativeResult({code:0})},Ib:function(e,t,r,o,n,i,a,l){const d=s.emscripten_ubq_codec_videoDecoders.get(e);if(d.videoDecoder.unexpectedError)return s.emscripten_ubq_codec_createNativeResult({code:2,error:d.videoDecoder.unexpectedError});if("closed"===d.videoDecoder.state){const t=d.videoDecoder.textures;return d.videoDecoder=s.emscripten_ubq_codec_createVideoDecoder(e,d.isHdr,d.codecServicePtr),d.videoDecoder.textures=t,d.videoDecoder.configure(d.decoderConfig),s.emscripten_ubq_codec_destroyAlphaState(e),s.emscripten_ubq_codec_createNativeResult({code:1,error:"VideoDecoder was closed"})}const c=s.HEAPU8.subarray(n,n+i),u=Number.isFinite(r)?r:0,h=new EncodedVideoChunk({type:t?"key":"delta",timestamp:u,duration:o,data:c});let p=!1,g=null;a&&l>0&&(g=s.emscripten_ubq_codec_prepareAlphaState(e,d.decoderConfig),g&&(p=!0,s.emscripten_ubq_codec_markAlphaExpected(e,u)));try{d.videoDecoder.decode(h)}catch(t){return p&&s.emscripten_ubq_codec_alphaCancelExpectation(e,u),d.videoDecoder.configUnsupported?s.emscripten_ubq_codec_createNativeResult({code:2,error:t}):s.emscripten_ubq_codec_createNativeResult({code:1,error:t})}if(p&&g&&g.decoder&&"closed"!==g.decoder.state&&!g.decoder.unexpectedError){const r=s.HEAPU8.subarray(a,a+l),n=new EncodedVideoChunk({type:t?"key":"delta",timestamp:u,duration:o,data:r});try{g.decoder.decode(n)}catch(t){console.error("Alpha decode error:",t),s.emscripten_ubq_codec_alphaCancelExpectation(e,u)}}else p&&s.emscripten_ubq_codec_alphaCancelExpectation(e,u);return s.emscripten_ubq_codec_createNativeResult({code:0})},Aa:function(e){if(s.emscripten_ubq_codec_audioDecoders.has(e)){const t=s.emscripten_ubq_codec_audioDecoders.get(e);if("closed"!==t.audioDecoder.state&&t.audioDecoder.close(),t.opfsUri&&""!==t.opfsUri){const e=s.emscripten_ubq_opfs_getCache(t.opfsUri);e&&e.worker&&(s.emscripten_ubq_opfs_destroyWorker(e.worker),e.worker=null,e.workerOpened=!1,e.workerOpening=null)}s.emscripten_ubq_codec_audioDecoders.delete(e)}},za:function(e){const t=s.emscripten_ubq_codec_audioEncoders.get(e);"closed"!==t.audioEncoder.state&&t.audioEncoder.close(),s.emscripten_ubq_codec_audioEncoders.delete(e)},ya:function(e){if(s.emscripten_ubq_codec_videoDecoders.has(e)){const t=s.emscripten_ubq_codec_videoDecoders.get(e);if("closed"!==t.videoDecoder.state&&t.videoDecoder.close(),s.emscripten_ubq_codec_destroyAlphaState(e),t.opfsUri&&""!==t.opfsUri){const e=s.emscripten_ubq_opfs_getCache(t.opfsUri);e&&e.worker&&(s.emscripten_ubq_opfs_destroyWorker(e.worker),e.worker=null,e.workerOpened=!1,e.workerOpening=null)}s.emscripten_ubq_codec_videoDecoders.delete(e)}},xa:function(e){const t=s.emscripten_ubq_codec_videoEncoders.get(e);"closed"!==t.videoEncoder.state&&t.videoEncoder.close(),s.emscripten_ubq_codec_videoEncoders.delete(e)},Hb:function(e,t,r){const o=1e6,n=s.emscripten_ubq_codec_audioEncoders.get(e),i=n.audioEncoderConfig.sampleRate,a=n.audioEncoderConfig.numberOfChannels,l=r/a,d=Math.round(o*(n.frameIndex*l/i)),c=Math.round(o*(l/i)),u=s.HEAPF32.subarray(t/4,t/4+r),h=new AudioData({format:"f32",sampleRate:i,numberOfFrames:l,numberOfChannels:a,duration:c,timestamp:d,data:u});n.audioEncoder.encode(h),n.frameIndex++,h.close()},Gb:function(e,t,r){const o=1e6,n=s.emscripten_ubq_codec_videoEncoders.get(e),i=Math.round(o*(n.frameIndex/n.encoderConfig.framerate)),a=n.frameIndex%n.groupOfPictures===0,l=Math.round(o/n.encoderConfig.framerate),d=s.specialHTMLTargets["!canvas"],c=new VideoFrame(d,{timestamp:i,duration:l});n.videoEncoder.encode(c,{keyFrame:a}),c.close(),n.frameIndex++},Fb:async function(e,t){const r=s.emscripten_ubq_codec_audioEncoders.get(e);try{await r.audioEncoder.flush()}catch{if(r.frameIndex>1)throw new Error("AudioEncoder.flush() failed")}s.emscripten_ubq_codec_onFinalizedAudioEncoding(e,t)},Eb:async function(e,t){const r=s.emscripten_ubq_codec_videoEncoders.get(e);await r.videoEncoder.flush(),s.emscripten_ubq_codec_onFinalizedVideoEncoding(e,t)},Db:async function(e,t){const r=s.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder;r.flushing=!0;try{await r.flush()}catch{}r.flushing=!1,r.writtenFrames=t},S:async function(e,t,r){const o=s.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},wa:function(e){return s.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.decodeQueueSize},ga:function(e){return s.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.decodedFrames},X:function(e){return s.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.writtenFrames},Cb:function(e){return s.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.flushing},fa:function(e){return s.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.flushing},Bb:function(){if("undefined"==typeof navigator||"string"!=typeof navigator.userAgent)return 0;const e=navigator.userAgent;return!e.includes("Safari")||e.includes("Chrome")||e.includes("Chromium")||e.includes("Android")?0:1},aa:function(){return"undefined"!=typeof VideoFrame&&"undefined"!=typeof VideoDecoder&&"undefined"!=typeof VideoEncoder&&"undefined"!=typeof AudioDecoder&&"undefined"!=typeof AudioEncoder},Ab:function(e,t,r,o,n,i,a){const l=s.emscripten_ubq_codec_videoDecoders.get(e),d=s.UTF8ToString(t,t+r),c=s.HEAPU8.subarray(i,i+a);l.videoDecoder.configure({codec:d,codedWidth:o,codedHeight:n,description:c})},ea:function(e,t,r){const o=s.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder;o.requestedPresentationFrame=t,o.requestedDecodeChunk=r;const n=1===s._isSafariHelper()?r:t;o.targetFrameForScheduling=n>=0?n:0},zb:function(e,t){s.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.reorderWindow=t},yb:function(e,t,r,o,n){const i=s.emscripten_ubq_codec_videoDecoders.get(e),a=s.HEAPU32.subarray(t/4,t/4+r);i.videoDecoder.textures=[];for(let e=0;e<r;e++)i.videoDecoder.textures[e]=nr.textures[a[e]];i.videoDecoder.textureWidth=o,i.videoDecoder.textureHeight=n},xb:function(e){const t=s.emscripten_ubq_asyncFetchManager.getProcess(e);return!!(null==t?void 0:t.allocate())},wb:function(e){return s.emscripten_ubq_asyncFetchManager.deleteProcess(e)},da:function(){s.emscripten_ubq_asyncFetchManager.clear()},W:function(e,t,r,o){return s.emscripten_ubq_asyncFetchManager.createHeader(e,t,r,o)},vb:function(e){s.emscripten_ubq_asyncFetchManager.deleteHeader(e)},ub:function(e,t,r,o,n,i,a,l,d){return s.emscripten_ubq_asyncFetchManager.fetch(e,t,r,o,n,i,a,l,d).handle},tb:function(e){return s.emscripten_ubq_asyncFetchManager.deleteProcess(e)},sb:function(e){var t,r;return null!==(r=null===(t=s.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.receivedLength)&&void 0!==r?r:0},rb:function(e){const t=s.emscripten_ubq_asyncFetchManager.getProcess(e);return(null==t?void 0:t.isAllocated())?t.resultAddress:-1},qb:function(e){const t=s.emscripten_ubq_asyncFetchManager.getProcess(e);return(null==t?void 0:t.isAllocated())?t.resultLength:-1},va:function(e){var t,r;return null!==(r=null===(t=s.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.state)&&void 0!==r?r:-1},pb:function(e){var t,r;return null!==(r=null===(t=s.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.statusCode)&&void 0!==r?r:-1},ob:function(e){var t,r;return null!==(r=null===(t=s.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.totalBytes)&&void 0!==r?r:0},nb:function(e){const t=z(e),r=s.emscripten_ubq_opfs_writerCaches.get(t);if(!r)return 0;const o=s.emscripten_ubq_opfs_ensureWriteWorker(t,r),n=o.get(),i=e=>{if(e.data&&e.data.closed){try{n.removeEventListener("message",i)}catch(e){}s.emscripten_ubq_opfs_destroyWriterWorker(o),r.worker=null,r.workerOpened=!1,r.workerOpening=null,r.fileHandle=null,s.emscripten_ubq_opfs_writerCaches.delete(t)}};try{n.addEventListener("message",i)}catch(e){}return o.post({close:!0}),0},mb:function(e,t,r,o,n){const i=z(e),a=4294967296*(r>>>0)+(t>>>0);if(o<=0)return 0;const l=s.emscripten_ubq_opfs_CHUNK_SIZE,d=s.emscripten_ubq_opfs_getCache(i),c=k.subarray(n,n+o);let u=0,h=a;const p=Math.min(a+o,d.fileSize);for(;h<p;){const e=Math.floor(h/l),t=d.chunkCache.get(e);if(!t)return-1;s.emscripten_ubq_opfs_updateAccess(d,e);const r=h-e*l,o=Math.min(t.byteLength-r,p-h);c.set(t.subarray(r,r+o),u),u+=o,h+=o}return u},R:function(e){const t=z(e),r=s.emscripten_ubq_opfs_getCache(t);return s.emscripten_ubq_opfs_ensureFile(t,r),BigInt(r.fileSize)},O:function(e,t,r,o){const n=z(e),i=4294967296*(r>>>0)+(t>>>0),a=s.emscripten_ubq_opfs_CHUNK_SIZE,l=s.emscripten_ubq_opfs_getCache(n),d=Math.floor(i/a),c=Math.floor((i+o)/a);for(let e=d;e<=c;++e){if(!l.chunkCache.has(e))return 0;s.emscripten_ubq_opfs_updateAccess(l,e)}return 1},lb:function(e){const t=z(e);let r=s.emscripten_ubq_opfs_writerCaches.get(t);if(r||(r={pending:0,worker:null,openPromise:null,fileHandle:null,workerOpened:!1,workerOpening:null},s.emscripten_ubq_opfs_writerCaches.set(t,r)),!r.workerOpened&&!r.workerOpening){const e=s.emscripten_ubq_opfs_ensureWriteWorker(t,r);r.workerOpening=(async()=>{await s.emscripten_ubq_opfs_ensureWriteFile(t,r),e.post({open:!0,uri:t}),await new Promise((t,r)=>{const o=e.get(),n=e=>{e.data&&(!0===e.data.ready?(o.removeEventListener("message",n),t()):!1===e.data.ready&&(o.removeEventListener("message",n),r(new Error(e.data.error||"Failed to open OPFS writer handle"))))};o.addEventListener("message",n)}),r.workerOpened=!0})().finally(()=>{r.workerOpening=null})}return r.workerOpened?1:0},kb:function(e){const t=z(e),r=s.emscripten_ubq_opfs_writerCaches.get(t);return r&&r.pending||0},jb:function(e,t,r,o){const n=z(e),i=4294967296*(r>>>0)+(t>>>0),a=s.emscripten_ubq_opfs_CHUNK_SIZE,l=s.emscripten_ubq_opfs_getCache(n),d=Math.floor(i/a),c=Math.floor((i+o)/a);let u=!0;for(let e=d;e<=c;++e)l.chunkCache.has(e)?s.emscripten_ubq_opfs_updateAccess(l,e):(u=!1,s.emscripten_ubq_opfs_loadChunk(n,l,e));return u?1:0},ib:function(e,t,r,o,n){return async function(e,t,r,o,n){if(o<=0)return 0;const i=z(e),a=4294967296*(r>>>0)+(t>>>0);let l=s.emscripten_ubq_opfs_writerCaches.get(i);l||(l={pending:0,worker:null,openPromise:null,fileHandle:null},s.emscripten_ubq_opfs_writerCaches.set(i,l));const d=new Uint8Array(o);d.set(s.HEAPU8.subarray(n,n+o));const c=s.emscripten_ubq_opfs_ensureWriteWorker(i,l);return l.workerOpened||(l.workerOpening||(l.workerOpening=(async()=>{await s.emscripten_ubq_opfs_ensureWriteFile(i,l),c.post({open:!0,uri:i}),await new Promise((e,t)=>{const r=c.get(),o=n=>{n.data&&(!0===n.data.ready?(r.removeEventListener("message",o),e()):!1===n.data.ready&&(r.removeEventListener("message",o),t(new Error(n.data.error||"Failed to open OPFS writer handle"))))};r.addEventListener("message",o)}),l.workerOpened=!0})().finally(()=>{l.workerOpening=null})),await l.workerOpening),new Promise((e,t)=>{void 0===s.emscripten_ubq_opfs_writeTagCounter&&(s.emscripten_ubq_opfs_writeTagCounter=0);const r=++s.emscripten_ubq_opfs_writeTagCounter;l.pending=(l.pending||0)+1;const n=c.get(),i=s=>{s.data&&s.data.tag===r&&(n.removeEventListener("message",i),l.pending-=1,s.data.error?t(new Error(s.data.error)):e(o))};n.addEventListener("message",i),c.post({write:{offset:a,buf:d.buffer,tag:r}},[d.buffer])})}(e,t,r,o,n).catch(e=>{console.error("[OPFS] writeChunk failed:",e)}),0},hb:function(){return!!s.emscripten_ubq_settings_forceWebGL1},ua:ao,$:e=>{nr.currentContext==e&&(nr.currentContext=0),nr.deleteContext(e)},gb: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})(nr.contexts[e].GLctx),fb:e=>(e=>{var t=e.getExtension("WEBGL_draw_buffers");if(t)return e.drawBuffers=(e,r)=>t.drawBuffersWEBGL(e,r),1})(nr.contexts[e].GLctx),eb:e=>(e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")))(nr.contexts[e].GLctx),_:(e,t)=>{var r=nr.getContext(e),o=z(t);return o.startsWith("GL_")&&(o=o.slice(3)),!!r.GLctx.getExtension(o)},db:(e,t)=>{if(!t)return-5;if(!(e=nr.contexts[e]))return-3;var r=e.GLctx?.getContextAttributes();if(!r)return-3;_[t]=r.alpha,_[t+1]=r.depth,_[t+2]=r.stencil,_[t+3]=r.antialias,_[t+4]=r.premultipliedAlpha,_[t+5]=r.preserveDrawingBuffer;var o=r.powerPreference&&no.indexOf(r.powerPreference);return E[t+8>>2]=o,_[t+12]=r.failIfMajorPerformanceCaveat,E[t+16>>2]=e.version,E[t+20>>2]=0,0},cb:e=>nr.makeContextCurrent(e)?0:-5,wh:(e,t)=>{var r=0,o=0;for(var n of co()){var i=t+r;x[e+o>>2]=i,r+=oe(n,i,1/0)+1,o+=4}return 0},vh:(e,t)=>{var r=co();x[e>>2]=r.length;var o=0;for(var n of r)o+=te(n)+1;return x[t>>2]=o,0},ta:Qt,ma:function(e){try{var t=Te.getStreamFromFD(e);return xe.close(t),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}},uh:function(e,t){try{var r=Te.getStreamFromFD(e),o=r.tty?2:xe.isDir(r.mode)?3:xe.isLink(r.mode)?7:4;return _[t]=o,S[t+2>>1]=0,A[t+8>>3]=BigInt(0),A[t+16>>3]=BigInt(0),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}},th:function(e,t,r,o,n){o=$t(o);try{if(isNaN(o))return 61;var i=Te.getStreamFromFD(e),s=uo(i,t,r,o);return x[n>>2]=s,0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}},Ra:function(e,t,r,o){try{var n=Te.getStreamFromFD(e),i=uo(n,t,r);return x[o>>2]=i,0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}},sh:function(e,t,r,o){t=$t(t);try{if(isNaN(t))return 61;var n=Te.getStreamFromFD(e);return xe.llseek(n,t,r),A[o>>3]=BigInt(n.position),n.getdents&&0===t&&0===r&&(n.getdents=null),0}catch(e){if(void 0===xe||"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,i=0;i<r;i++){var s=x[t>>2],a=x[t+4>>2];t+=8;var l=xe.write(e,_,s,a,o);if(l<0)return-1;if(n+=l,l<a)break;void 0!==o&&(o+=l)}return n})(Te.getStreamFromFD(e),t,r);return x[o>>2]=n,0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}},bb:function(e){var t=z(e),r=localStorage.getItem(t);return null==r?null:ne(r)},ab:function(){return"undefined"!=typeof window?ne(window.location.hostname):ne("")},x:function(e,t,r){var o=ee();try{return bt(e)(t,r)}catch(e){if(J(o),e!==e+0)throw e;Co(1,0)}},K:function(e,t){var r=ee();try{return bt(e)(t)}catch(e){if(J(r),e!==e+0)throw e;Co(1,0)}},F:function(e,t,r){var o=ee();try{return bt(e)(t,r)}catch(e){if(J(o),e!==e+0)throw e;Co(1,0)}},m:function(e,t,r,o){var n=ee();try{return bt(e)(t,r,o)}catch(e){if(J(n),e!==e+0)throw e;Co(1,0)}},$a:function(e){var t=ee();try{return bt(e)()}catch(e){if(J(t),e!==e+0)throw e;Co(1,0)}},sa:function(e,t,r){var o=ee();try{return bt(e)(t,r)}catch(e){if(J(o),e!==e+0)throw e;Co(1,0)}},r:function(e,t){var r=ee();try{return bt(e)(t)}catch(e){if(J(r),e!==e+0)throw e;Co(1,0)}},V:function(e,t,r,o,n,i,s,a,l,d,c,u,h,p,g,f){var m=ee();try{return bt(e)(t,r,o,n,i,s,a,l,d,c,u,h,p,g,f)}catch(e){if(J(m),e!==e+0)throw e;Co(1,0)}},p:function(e,t,r){var o=ee();try{return bt(e)(t,r)}catch(e){if(J(o),e!==e+0)throw e;Co(1,0)}},t:function(e,t,r,o){var n=ee();try{return bt(e)(t,r,o)}catch(e){if(J(n),e!==e+0)throw e;Co(1,0)}},Q:function(e,t,r,o,n){var i=ee();try{return bt(e)(t,r,o,n)}catch(e){if(J(i),e!==e+0)throw e;Co(1,0)}},_a:function(e,t,r,o,n,i){var s=ee();try{return bt(e)(t,r,o,n,i)}catch(e){if(J(s),e!==e+0)throw e;Co(1,0)}},ra:function(e,t,r,o,n,i,s){var a=ee();try{return bt(e)(t,r,o,n,i,s)}catch(e){if(J(a),e!==e+0)throw e;Co(1,0)}},qa:function(e,t,r,o,n,i,s,a,l,d){var c=ee();try{return bt(e)(t,r,o,n,i,s,a,l,d)}catch(e){if(J(c),e!==e+0)throw e;Co(1,0)}},E:function(e){var t=ee();try{bt(e)()}catch(e){if(J(t),e!==e+0)throw e;Co(1,0)}},y:function(e,t){var r=ee();try{bt(e)(t)}catch(e){if(J(r),e!==e+0)throw e;Co(1,0)}},A:function(e,t,r,o){var n=ee();try{bt(e)(t,r,o)}catch(e){if(J(n),e!==e+0)throw e;Co(1,0)}},z:function(e,t,r){var o=ee();try{bt(e)(t,r)}catch(e){if(J(o),e!==e+0)throw e;Co(1,0)}},o:function(e,t,r,o){var n=ee();try{bt(e)(t,r,o)}catch(e){if(J(n),e!==e+0)throw e;Co(1,0)}},B:function(e,t,r,o,n){var i=ee();try{bt(e)(t,r,o,n)}catch(e){if(J(i),e!==e+0)throw e;Co(1,0)}},Za:function(e,t,r,o,n,i){var s=ee();try{bt(e)(t,r,o,n,i)}catch(e){if(J(s),e!==e+0)throw e;Co(1,0)}},Ya:function(e,t,r,o,n,i,s){var a=ee();try{bt(e)(t,r,o,n,i,s)}catch(e){if(J(a),e!==e+0)throw e;Co(1,0)}},Xa:function(e,t,r,o,n,i,s,a){var l=ee();try{bt(e)(t,r,o,n,i,s,a)}catch(e){if(J(l),e!==e+0)throw e;Co(1,0)}},Wa:function(e,t,r,o,n,i,s,a,l,d){var c=ee();try{bt(e)(t,r,o,n,i,s,a,l,d)}catch(e){if(J(c),e!==e+0)throw e;Co(1,0)}},Z:function(){return"undefined"!=typeof localStorage&&"function"==typeof localStorage.getItem},Va:function(){return"undefined"!=typeof process&&process.versions&&process.versions.node?1:0},pa:function(e,t){const r=Tt.toValue(t),o=s.ctx;o.bindTexture(o.TEXTURE_2D,nr.textures[e]),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,r)},a:H,rh:function(e,t){try{return ce(k.subarray(e,e+t)),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}},Ua:function(e,t){var r=z(e),o=z(t);localStorage.setItem(r,o)}};return Lo=await async function(){function e(e,t){var r;return Lo=e.exports,bo=(r=Lo).Kh,yo=s._malloc=r.Mh,vo=s._free=r.Nh,wo=s._main=r.Oh,s._ma_malloc_emscripten=r.Ph,s._ma_free_emscripten=r.Qh,_o=s._ma_device_process_pcm_frames_capture__webaudio=r.Rh,ko=s._ma_device_process_pcm_frames_playback__webaudio=r.Sh,So=r.Th,Co=r.Uh,Eo=r.Vh,xo=r.Wh,To=r.Xh,Po=r.Yh,Ao=r.Zh,Mo=r._h,Fo=r.$h,Io=r.ai,Ro=r.Lh,Lo}var t={a:Oo};return s.instantiateWasm?new Promise((r,o)=>{s.instantiateWasm(t,(t,o)=>{r(e(t))})}):(F??=j(),e((await W(b,F,t)).instance))}(),function e(t=c){function r(){s.calledRun=!0,L||(O=!0,s.noFSInit||xe.initialized||xe.init(),ge.init(),Lo.Jh(),xe.ignorePermissions=!1,v?.(s),s.onRuntimeInitialized?.(),s.noInitialRun||function(e=[]){var t=wo;e.unshift(u);var r=e.length,o=ho(4*(r+1)),n=o;for(var i of e)x[n>>2]=po(i),n+=4;x[n>>2]=0;try{var s=t(r,o);return Kt(s),s}catch(e){return Xt(e)}}(t),function(){if(s.postRun)for("function"==typeof s.postRun&&(s.postRun=[s.postRun]);s.postRun.length;)Y(s.postRun.shift());G(X)}())}we>0?_e=e:(function(){if(s.preRun)for("function"==typeof s.preRun&&(s.preRun=[s.preRun]);s.preRun.length;)Q(s.preRun.shift());G(K)}(),we>0?_e=e:s.setStatus?(s.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>s.setStatus(""),1),r()},1)):r())}(),O?s:new Promise((e,t)=>{v=e,w=t})});"object"==typeof e&&"object"==typeof t?(t.exports=o,t.exports.default=o):"function"==typeof define&&define.amd&&define([],()=>o)}}),mt=u(j()),bt=u(ht()),yt=u(pt()),vt=class extends TypeError{constructor(e,t){let r;const{message:o,...n}=e,{path:i}=e;super(0===i.length?o:"At path: "+i.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 wt(e){return"object"==typeof e&&null!=e}function _t(e){return"string"==typeof e?JSON.stringify(e):""+e}function kt(e,t,r,o){if(!0===e)return;!1===e?e={}:"string"==typeof e&&(e={message:e});const{path:n,branch:i}=t,{type:s}=r,{refinement:a,message:l="Expected a value of type `"+s+"`"+(a?" with refinement `"+a+"`":"")+", but received: `"+_t(o)+"`"}=e;return{value:o,type:s,refinement:a,key:n[n.length-1],path:n,branch:i,...e,message:l}}function*St(e,t,r,o){var n;wt(n=e)&&"function"==typeof n[Symbol.iterator]||(e=[e]);for(const n of e){const e=kt(n,t,r,o);e&&(yield e)}}function*Ct(e,t,r={}){const{path:o=[],branch:n=[e],coerce:i=!1,mask:s=!1}=r,a={path:o,branch:n};if(i&&(e=t.coercer(e,a),s&&"type"!==t.type&&wt(t.schema)&&wt(e)&&!Array.isArray(e)))for(const r in e)void 0===t.schema[r]&&delete e[r];let l=!0;for(const r of t.validator(e,a))l=!1,yield[r,void 0];for(let[r,d,c]of t.entries(e,a)){const t=Ct(d,c,{path:void 0===r?o:[...o,r],branch:void 0===r?n:[...n,d],coerce:i,mask:s});for(const o of t)o[0]?(l=!1,yield[o[0],void 0]):i&&(d=o[1],void 0===r?e=d:e instanceof Map?e.set(r,d):e instanceof Set?e.add(d):wt(e)&&(e[r]=d))}if(l)for(const r of t.refiner(e,a))l=!1,yield[r,void 0];l&&(yield[void 0,e])}var Et=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:i=e=>e,entries:s=function*(){}}=e;this.type=t,this.schema=r,this.entries=s,this.coercer=i,this.validator=o?(e,t)=>St(o(e,t),t,this,e):()=>[],this.refiner=n?(e,t)=>St(n(e,t),t,this,e):()=>[]}assert(e){return function(e,t){const r=xt(e,t);if(r[0])throw r[0]}(e,this)}create(e){return function(e,t){const r=xt(e,t,{coerce:!0});if(r[0])throw r[0];return r[1]}(e,this)}is(e){return function(e,t){const r=xt(e,t);return!r[0]}(e,this)}mask(e){return function(e,t){const r=xt(e,t,{coerce:!0,mask:!0});if(r[0])throw r[0];return r[1]}(e,this)}validate(e,t={}){return xt(e,this,t)}};function xt(e,t,r={}){const o=Ct(e,t,r),n=function(e){const{done:t,value:r}=e.next();return t?void 0:r}(o);if(n[0]){return[new vt(n[0],function*(){for(const e of o)e[0]&&(yield e[0])}),void 0]}return[void 0,n[1]]}function Tt(e,t){return new Et({type:e,schema:null,validator:t})}function Pt(e){return new Et({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: "+_t(e)})}function At(){return Tt("boolean",e=>"boolean"==typeof e)}function Mt(){return Tt("func",e=>"function"==typeof e||"Expected a function, but received: "+_t(e))}function Ft(){return Tt("integer",e=>"number"==typeof e&&!isNaN(e)&&Number.isInteger(e)||"Expected an integer, but received: "+_t(e))}function It(){return Tt("number",e=>"number"==typeof e&&!isNaN(e)||"Expected a number, but received: "+_t(e))}function Rt(e){const t=e?Object.keys(e):[],r=Tt("never",()=>!1);return new Et({type:"object",schema:e||null,*entries(o){if(e&&wt(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=>wt(e)||"Expected an object, but received: "+_t(e),coercer:e=>wt(e)?{...e}:e})}function Lt(e){return new Et({...e,validator:(t,r)=>void 0===t||e.validator(t,r),refiner:(t,r)=>void 0===t||e.refiner(t,r)})}function Dt(){return Tt("string",e=>"string"==typeof e||"Expected a string, but received: "+_t(e))}function Ot(e){const t=Object.keys(e);return new Et({type:"type",schema:e,*entries(r){if(wt(r))for(const o of t)yield[o,r[o],e[o]]},validator:e=>wt(e)||"Expected an object, but received: "+_t(e)})}function Bt(e){const t=e.map(e=>e.type).join(" | ");return new Et({type:"union",schema:null,coercer:(t,r)=>(e.find(e=>{const[r]=e.validate(t,{coerce:!0});return!r})||Tt("unknown",()=>!0)).coercer(t,r),validator(r,o){const n=[];for(const t of e){const[...e]=Ct(r,t,o),[i]=e;if(!i[0])return[];for(const[t]of e)t&&n.push(t)}return["Expected the value to satisfy a union of `"+t+"`, but received: "+_t(r),...n]}})}function Ut(e,t,r={}){const{exclusive:o}=r;return Wt(e,"max",r=>o?r<t:r<=t||"Expected a "+e.type+" less than "+(o?"":"or equal to ")+t+" but received `"+r+"`")}function jt(e,t,r={}){const{exclusive:o}=r;return Wt(e,"min",r=>o?r>t:r>=t||"Expected a "+e.type+" greater than "+(o?"":"or equal to ")+t+" but received `"+r+"`")}function qt(e){return Wt(e,"nonempty",t=>{const r=function(e){return e instanceof Map||e instanceof Set?e.size:e.length}(t);return r>0||"Expected a nonempty "+e.type+" but received an empty one"})}function Wt(e,t,r){return new Et({...e,*refiner(o,n){yield*e.refiner(o,n);const i=St(r(o,n),n,e,o);for(const e of i)yield{...e,refinement:t}}})}var Ht={Png:"image/png",Jpeg:"image/jpeg",WebP:"image/webp",Tga:"image/x-tga",Svg:"image/svg+xml",Wav:"audio/wav",Mp4Audio:"audio/mp4",Mp4:"video/mp4",QuickTime:"video/quicktime",Binary:"application/octet-stream",Pdf:"application/pdf",Zip:"application/zip"};function $t(e,t,r){const[o]=xt(t,r);if(o)throw o.message=`Error in argument '${e}': ${o.message}`,o;return!0}function Vt(){return Tt("FiniteNumber",e=>!("number"!=typeof e||!Number.isFinite(e))||{message:`expected a finite number, but got "${String(e)}"`})}function Nt(){const e=/image\/(png|jpeg|webp|x-tga|svg\+xml)/;return Tt("ImageMimeType",t=>!("string"!=typeof t||!e.test(t))||{message:`expected one of "image/png", "image/jpeg", "image/webp", "image/x-tga", or "image/svg+xml", but got "${t}"`})}function zt(){const e=/audio\/(wav|mp4)/;return Tt("AudioMimeType",t=>!("string"!=typeof t||!e.test(t))||{message:`expected "audio/wav" or "audio/mp4", but got "${t}"`})}function Gt(){const e=/video\/(mp4|quicktime)/;return Tt("VideoMimeType",t=>!("string"!=typeof t||!e.test(t))||{message:`expected one of "video/mp4" or "video/quicktime", but got "${t}"`})}function Xt(){const e=/application\/(octet-stream|pdf)/;return Tt("ApplicationMimeType",t=>!("string"!=typeof t||!e.test(t))||{message:`expected one of "application/octet-stream" or "application/pdf", but got "${t}"`})}function Yt(){const e=["Free","VerticalStack","HorizontalStack","DepthStack"];return Tt("SceneLayout",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function Kt(){const e=["Linear","EaseIn","EaseOut","EaseInOut","EaseInQuart","EaseOutQuart","EaseInOutQuart","EaseInQuint","EaseOutQuint","EaseInOutQuint","EaseInBack","EaseOutBack","EaseInOutBack","EaseInSpring","EaseOutSpring","EaseInOutSpring"];return Tt("AnimationEasing",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function Qt(){const e=["Pixel","Millimeter","Inch"];return Tt("DesignUnit",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function Zt(){const e=["Pixel","Point"];return Tt("FontSizeUnit",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function Jt(){return Tt("AbortSignal",e=>{if("undefined"!=typeof AbortSignal&&e instanceof AbortSignal)return!0;return!("object"!=typeof e||null===e||"boolean"!=typeof e.aborted||"function"!=typeof e.addEventListener)||{message:`expected an AbortSignal-like object, but got "${Object.prototype.toString.call(e)}"`}})}function er(){const e=["Absolute","Percent","Auto"];return Tt("SizeMode",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function tr(){const e=["Absolute","Percent","Auto"];return Tt("PositionMode",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function rr(){const e=["slide","pan","fade","blur","grow","zoom","pop","wipe","baseline","crop_zoom","spin","spin_loop","fade_loop","blur_loop","pulsating_loop","breathing_loop","jump_loop","squeeze_loop","sway_loop","typewriter_text","block_swipe_text","spread_text","merge_text","ken_burns","//ly.img.ubq/animation/slide","//ly.img.ubq/animation/pan","//ly.img.ubq/animation/fade","//ly.img.ubq/animation/blur","//ly.img.ubq/animation/grow","//ly.img.ubq/animation/zoom","//ly.img.ubq/animation/pop","//ly.img.ubq/animation/wipe","//ly.img.ubq/animation/baseline","//ly.img.ubq/animation/crop_zoom","//ly.img.ubq/animation/spin","//ly.img.ubq/animation/spin_loop","//ly.img.ubq/animation/fade_loop","//ly.img.ubq/animation/blur_loop","//ly.img.ubq/animation/pulsating_loop","//ly.img.ubq/animation/breathing_loop","//ly.img.ubq/animation/jump_loop","//ly.img.ubq/animation/squeeze_loop","//ly.img.ubq/animation/sway_loop","//ly.img.ubq/animation/typewriter_text","//ly.img.ubq/animation/block_swipe_text","//ly.img.ubq/animation/spread_text","//ly.img.ubq/animation/merge_text","//ly.img.ubq/animation/ken_burns"];return Tt("AnimationType",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function or(){return Bt([Ot({r:It(),g:It(),b:It(),a:It()}),Ot({c:It(),m:It(),y:It(),k:It(),tint:It()}),Ot({name:Dt(),tint:It(),externalReference:Dt()})])}function nr(){return Ot({type:rr(),duration:It(),easing:Lt(Kt())})}var ir=Symbol("PROXY");function sr(e){return"function"==typeof e&&ir in e}function ar(e){return(t,r)=>{Object.defineProperty(t,ir,{value:{type:"getter",...e},writable:!1,configurable:!0})}}function lr(e,t){Object.defineProperty(e,ir,{value:{type:"setter"},writable:!1,configurable:!0})}var dr={};function cr(e,t,r){return Object.hasOwnProperty.call(e,t)?()=>{e[t]=r}:()=>{delete e[t]}}function ur(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 hr(e){return new Promise((t,r)=>{e(e=>{try{const r=ur(e);t(r)}catch(e){r(e)}})})}var pr,gr,fr,mr,br,yr,vr,wr,_r,kr,Sr,Cr,Er,xr,Tr=(e,t=!0)=>{const r=[];for(let t=0;t<e.size();t+=1)r.push(e.get(t));return t&&e.delete(),r},Pr=new WeakMap,Ar={assets:[],total:0,currentPage:0,nextPage:void 0};yr=[lr],br=[lr],mr=[lr],fr=[lr],gr=[lr],pr=[ar({disabledInModes:["Playback"]})];var AssetAPI=class{constructor(e){b(kr,5,this),S(this,Sr),S(this,vr),S(this,wr,new Set),S(this,_r,new Set),v(this,"onAssetSourceAdded",e=>{const t=k(this,vr).subscribeToAssetSourceAdded(e);return()=>{k(this,vr).isDeleted()||ur(k(this,vr).unsubscribe(t))}}),v(this,"onAssetSourceRemoved",e=>{const t=k(this,vr).subscribeToAssetSourceRemoved(e);return()=>{k(this,vr).isDeleted()||ur(k(this,vr).unsubscribe(t))}}),v(this,"onAssetSourceUpdated",e=>{const t=k(this,vr).subscribeToAssetSourceUpdated(e);return()=>{k(this,vr).isDeleted()||ur(k(this,vr).unsubscribe(t))}}),C(this,vr,e)}registerApplyMiddleware(e){return k(this,wr).add(e),()=>{k(this,wr).delete(e)}}registerApplyToBlockMiddleware(e){return k(this,_r).add(e),()=>{k(this,_r).delete(e)}}addSource(e){const t=e.getSupportedMimeTypes?.bind(e),r=e.getGroups?.bind(e),o=e.fetchAsset?.bind(e),n=e.applyAsset?.bind(e),i=e.applyAssetToBlock?.bind(e),s=e.applyAssetProperty?.bind(e),a=e.addAsset?.bind(e),l=e.removeAsset?.bind(e),d=e.credits,c=e.license;ur(k(this,vr).addAssetSource(e.id,async(t,r)=>{try{const o={...t,sortKey:t.sortKey,sortingOrder:t.sortingOrder,sortActiveFirst:t.sortActiveFirst},n=await e.findAssets(o);if(n){const t={...n,assets:n.assets.map(t=>Mr(t,e.id))};r.invoke(t)}else r.invoke(Ar)}catch(e){r.invoke(e.message??"Unknown error in user-defined `findAssets`")}},o?async(t,r,n)=>{try{const i=await o(t,{locale:r});null===i?n.invoke(null):n.invoke(Mr(i,e.id))}catch(e){n.invoke(e.message??"Unknown error in user-defined `fetchAsset`")}}:null,r?async e=>{try{const t=await r();e.invoke(t)}catch(t){e.invoke(t.message??"Unknown error in user-defined `getGroups`")}}:null,d?()=>({name:d.name,url:d.url??""}):null,c?()=>({name:c.name,url:c.url??""}):null,t?()=>t()??[]:null,n?async(e,t)=>{try{const r=await n(E(this,Sr,Cr).call(this,e));t.invoke(r)}catch(e){t.invoke(e.message??"Unknown error in user-defined `applyAsset`")}}:null,i?async(e,t,r)=>{try{await i(E(this,Sr,Cr).call(this,e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetToBlock`")}}:null,s?async(e,t,r)=>{try{await s(E(this,Sr,Cr).call(this,e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetProperty`")}}:null,a?async e=>{a(e)}:null,l?async e=>{l(e)}:null)),E(this,Sr,Er).call(this,e.id,e)}addLocalSource(e,t,r,o){ur(k(this,vr).addLocalAssetSource(e,t??[],r?async(e,t)=>{try{const o=await r(E(this,Sr,Cr).call(this,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(E(this,Sr,Cr).call(this,e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetToBlock`")}}:null))}addLocalAssetSourceFromJSONString(e,t,r){$t("contentJSON",e,Dt()),$t("basePath",t,Lt(Dt())),$t("options",r,Lt(Rt())),void 0!==r?.matcher&&$t("options.matcher",r.matcher,Pt(Dt()));const o=t??null,n=r?.matcher;return new Promise((t,r)=>{try{t(ur(k(this,vr).addLocalAssetSourceFromJSONString(e,o,n)))}catch(e){r(e)}})}addLocalAssetSourceFromJSONURI(e,t){return $t("contentURI",e,Dt()),$t("options",t,Lt(Rt())),void 0!==t?.matcher&&$t("options.matcher",t.matcher,Pt(Dt())),new Promise((r,o)=>{k(this,vr).addLocalAssetSourceFromJSONURI(e,t?.matcher,e=>{try{const t=ur(e);r(t)}catch(e){o(e)}})})}removeSource(e){ur(k(this,vr).removeAssetSource(e)),E(this,Sr,xr).call(this,e)}findAllSources(){return Tr(k(this,vr).findAllAssetSources())}findAssets(e,t){return new Promise((r,o)=>{let n=t?.tags??[];Array.isArray(n)||(n=[n]);const i={perPage:t?.perPage??0,page:t?.page??0,query:t?.query??"",tags:n,groups:t?.groups??[],excludeGroups:t?.excludeGroups??[],locale:t?.locale??"",sortingOrder:t?.sortingOrder??"None",sortKey:t?.sortKey??"",sortActiveFirst:t?.sortActiveFirst??!1,filter:t?.filter??[]};k(this,vr).findAssetSourceAssets(e,i,e=>{try{const t=ur(e);r({...t,nextPage:-1===t.nextPage?void 0:t.nextPage})}catch(e){o(e)}})})}async fetchAsset(e,t,r={}){$t("sourceId",e,Dt()),$t("assetId",t,Dt()),$t("params",r,Lt(Rt()));const o={locale:r.locale??""};return new Promise((r,n)=>{k(this,vr).fetchAssetSourceAsset(e,t,o,e=>{try{const t=ur(e);r(t||null)}catch(e){n(e)}})})}async getGroups(e){return hr(t=>k(this,vr).getAssetSourceGroups(e,t)).then(e=>Tr(e))}getSupportedMimeTypes(e){return Tr(ur(k(this,vr).getAssetSourceSupportedMimeTypes(e)))}getCredits(e){const t=ur(k(this,vr).getAssetSourceCredits(e));if(t.name||t.url)return t.url?t:{name:t.name,url:void 0}}getLicense(e){const t=ur(k(this,vr).getAssetSourceLicense(e));if(t.name||t.url)return t.url?t:{name:t.name,url:void 0}}canManageAssets(e){return!!Pr.get(k(this,vr))?.get(e)?.canManageAssets}addAssetToSource(e,t){ur(k(this,vr).addAssetToSource(e,t))}removeAssetFromSource(e,t){ur(k(this,vr).removeAssetFromSource(e,t))}async apply(e,t,r){const o={clipType:r?.clipType},n=(e,t)=>new Promise((r,o)=>{k(this,vr).applyAssetSourceAsset(e,Mr(t,e),e=>{try{const t=ur(e);k(this,vr).isValid(t)?r(t):r(void 0)}catch(e){o(e)}})});if(k(this,wr).size>0){return Array.from(k(this,wr)).reduce((e,t)=>(r,n)=>t(r,n,e,o),n)(e,t)}return n(e,t)}async applyToBlock(e,t,r){const o=(e,t,r)=>hr(o=>k(this,vr).applyAssetSourceAssetToBlock(e,Mr(t,e),r,o));if(k(this,_r).size>0){return Array.from(k(this,_r)).reduce((e,t)=>(r,o,n)=>t(r,o,n,e),o)(e,t,r)}return o(e,t,r)}async applyProperty(e,t,r){return hr(o=>k(this,vr).applyAssetSourceProperty(e,Mr(t,e),r,o))}async defaultApplyAsset(e){return new Promise((t,r)=>{k(this,vr).defaultApplyAsset(Mr(e,""),e=>{try{const r=ur(e);k(this,vr).isValid(r)?t(r):t(void 0)}catch(e){r(e)}})})}async defaultApplyAssetToBlock(e,t){return hr(r=>k(this,vr).defaultApplyAssetToBlock(Mr(e,""),t,r))}assetSourceContentsChanged(e){ur(k(this,vr).assetSourceContentsChanged(e))}dispose(){Pr.delete(k(this,vr))}};function Mr(e,t){return"context"in e&&e.context.sourceId===t&&"active"in e?e:{...e,active:e.active??!1,context:{sourceId:t}}}kr=h(null),vr=new WeakMap,wr=new WeakMap,_r=new WeakMap,Sr=new WeakSet,Cr=function(e){const t={...e};return 0===t.groups?.length&&delete t.groups,t.locale||delete t.locale,t.label||delete t.label,0===t.tags?.length&&delete t.tags,t.credits?.name||t.credits?.url?t.credits.url||delete t.credits.url:delete t.credits,t.license?.name||t.license?.url?t.license.url||delete t.license.url:delete t.license,t.utm?.source||t.utm?.medium?(t.utm.source||delete t.utm.source,t.utm.medium||delete t.utm.medium):delete t.utm,t},Er=function(e,t){Pr.has(k(this,vr))||Pr.set(k(this,vr),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/`),Pr.get(k(this,vr)).set(e,{canManageAssets:t.canManageAssets})},xr=function(e){Pr.get(k(this,vr))?.delete(e)},y(kr,1,"addSource",yr,AssetAPI),y(kr,1,"addLocalSource",br,AssetAPI),y(kr,1,"addLocalAssetSourceFromJSONString",mr,AssetAPI),y(kr,1,"addLocalAssetSourceFromJSONURI",fr,AssetAPI),y(kr,1,"removeSource",gr,AssetAPI),y(kr,1,"findAllSources",pr,AssetAPI),m(kr,AssetAPI);var Fr,Ir,Rr,Lr,Dr,Or,Br,Ur,jr,qr,Wr,Hr,$r,Vr,Nr,zr,Gr,Xr,Yr,Kr,Qr,Zr,Jr,eo,to,ro,oo,no,io,so,ao,lo,co,uo,ho="opfs://";function po(){return"undefined"!=typeof navigator&&"storage"in navigator&&"function"==typeof navigator.storage.getDirectory}function go(e){const t=new TextDecoder;return t.decode(e.slice(0,7))!==ho?null:t.decode(e)}async function fo(e){if(!po())throw new Error("OPFS is not supported in this browser.");const t=e.slice(7),r=t.startsWith("/")?t.slice(1):t,o=await navigator.storage.getDirectory(),n=r.split("/");let i=o;for(let e=0;e<n.length-1;e++)i=await i.getDirectoryHandle(n[e]);const s=n[n.length-1];return(await i.getFileHandle(s)).getFile()}io=[lr],no=[lr],oo=[lr],ro=[lr],to=[lr],eo=[lr],Jr=[lr],Zr=[ar({disabledInModes:["Playback"]})],Qr=[lr],Kr=[lr],Yr=[ar({disabledInModes:["Playback"]})],Xr=[lr],Gr=[lr],zr=[ar({disabledInModes:["Playback"]})],Nr=[lr],Vr=[ar({disabledInModes:["Playback"]})],$r=[ar({disabledInModes:["Playback"]})],Hr=[lr],Wr=[ar({disabledInModes:["Playback"]})],qr=[ar({disabledInModes:["Playback"]})],jr=[ar({disabledInModes:["Playback"]})],Ur=[ar({disabledInModes:["Playback"]})],Br=[lr],Or=[ar({disabledInModes:["Playback"]})],Dr=[lr],Lr=[lr],Rr=[lr],Ir=[ar({disabledInModes:["Playback"]})],Fr=[lr];var mo,bo,yo,vo,wo,_o,ko,So,Co,Eo,xo,To,Po,Ao,Mo,Fo,Io,Ro,Lo,Do,Oo,Bo,Uo,jo,qo,Wo,Ho,$o,Vo,No,zo,Go,Xo,Yo,Ko,Qo,Zo,Jo,en,tn,rn,on,nn,sn,an,ln,dn,cn,un,hn,pn,gn,fn,mn,bn,yn,vn,wn,_n,kn,Sn,Cn,En,xn,Tn,Pn,An,Mn,Fn,In,Rn,Ln,Dn,On,Bn,Un,jn,qn,Wn,Hn,$n,Vn,Nn,zn,Gn,Xn,Yn,Kn,Qn,Zn,Jn,ei,ti,ri,oi,ni,ii,si,ai,li,di,ci,ui,hi,pi,gi,fi,mi,bi,yi,vi,wi,_i,ki,Si,Ci,Ei,xi,Ti,Pi,Ai,Mi,Fi,Ii,Ri,Li,Di,Oi,Bi,Ui,ji,qi,Wi,Hi,$i,Vi,Ni,zi,Gi,Xi,Yi,Ki,Qi,Zi,Ji,es,ts,rs,os,ns,is,ss,as,ls,ds,cs,us,hs,ps,gs,fs,ms,bs,ys,vs,ws,_s,ks,Ss,Cs,Es,xs,Ts,Ps,As,Ms,Fs,Is,Rs,Ls,Ds,Os,Bs,Us,js,qs,Ws,Hs,$s,Vs,Ns,zs,Gs,Xs,Ys,Ks,Qs,Zs,Js,ea,ta,ra,oa,na,ia,sa,aa,la,da,ca,ua,ha,pa,ga,fa,ma,ba,ya,va,wa,_a,ka,Sa,Ca,Ea,xa,Ta,Pa,Aa,Ma,Fa,Ia,Ra,La,Da,Oa,Ba,Ua,ja,qa,Wa,Ha,$a,Va,Na,za,Ga,Xa,Ya,Ka,Qa,Za,Ja,el,tl,rl,ol,nl,il,sl,al,ll,dl,cl,ul,hl,pl,gl,fl,ml,bl,yl,vl,wl,_l,kl,Sl,Cl,El,xl,Tl,Pl,Al,Ml,Fl,Il,Rl,Ll,Dl,Ol,Bl,Ul,jl,ql,Wl,Hl,$l,Vl,Nl,zl,Gl,Xl,Yl,Kl,Ql,Zl,Jl,ed,td,rd,od,nd,id,sd,ad,ld,dd,cd,ud,hd,pd,gd,fd,md,bd,yd,vd,wd,_d,kd,Sd,Cd,Ed,xd,Td,Pd,Ad,Md,Fd,Id,Rd,Ld,Dd,Od,Bd,Ud,jd,qd,Wd,Hd,$d,Vd,Nd,zd,SceneAPI=class{constructor(e,t=!1){b(lo,5,this),S(this,co),S(this,so),S(this,ao),v(this,"onZoomLevelChanged",e=>{const t=k(this,so).subscribeToZoomLevel(e);return()=>{k(this,so).isDeleted()||ur(k(this,so).unsubscribe(t))}}),v(this,"onActiveChanged",e=>{const t=k(this,so).subscribeToActiveSceneChange(e);return()=>{k(this,so).isDeleted()||ur(k(this,so).unsubscribe(t))}}),C(this,so,e),t||C(this,ao,new BlockAPI(e))}async loadFromString(e,t=!1,r=!1){return $t("sceneContent",e,Dt()),hr(o=>k(this,so).loadSceneFromString(e,o,t,r))}async loadFromURL(e,t=!1,r=!1){return $t("url",e,Dt()),hr(o=>k(this,so).loadSceneFromURL(e,o,t,r))}async loadFromArchiveURL(e,t=!1,r=!1){return $t("url",e,Dt()),hr(o=>k(this,so).loadSceneFromArchiveURL(e,o,t,r))}async saveToString(e,t){const r=this.get();if(null==r)throw new Error("No scene available.");const o=Array.isArray(e)?{allowedResourceSchemes:e,onDisallowedResourceScheme:t}:e??{},n=o.allowedResourceSchemes??["blob","bundle","file","http","https","opfs"],i=o.onDisallowedResourceScheme,s=o.compression?.format,a=o.compression?.level;return hr(e=>{const t={resourceSchemesAllowed:n,persistenceCallback:i?async(e,t,r)=>{const o=await i(e,t);r&&r.invoke(e,o)}:void 0};void 0!==s&&(t.compression={format:s,level:a}),k(this,so).saveSceneToString(r,e,t)})}async saveToArchive(){return new Promise((e,t)=>{const r=this.get();null==r?t(new Error("No scene available.")):k(this,so).saveSceneToArchive(r,async r=>{if("error"in r)t(r.error);else{const o=go(r);if(null!==o)try{e(await fo(o))}catch(e){t(e)}else e(new Blob([r],{type:"application/zip"}))}})})}create(e="Free",t){$t("sceneLayout",e,Yt()),void 0!==t?.designUnit&&$t("designUnit",t.designUnit,Qt()),void 0!==t?.fontSizeUnit&&$t("fontSizeUnit",t.fontSizeUnit,Zt());const r=ur(void 0!==t?.designUnit||void 0!==t?.fontSizeUnit?k(this,so).createSceneWithUnits(t.designUnit??"Pixel",t.fontSizeUnit,e):k(this,so).createScene(e));return t?(E(this,co,uo).call(this,r,t),r):r}createVideo(e){const t=this.create("Free",e);return this.setMode("Video"),t}createFromImage(e,t=300,r=1,o="Free",n=0,i=!1){return $t("url",e,Dt()),$t("dpi",t,jt(It(),0)),$t("pixelScaleFactor",r,jt(It(),0)),$t("sceneLayout",o,Yt()),hr(s=>k(this,so).createSceneFromImage(e,t,r,o,n,i,s))}createFromVideo(e){return $t("url",e,Dt()),hr(t=>k(this,so).createSceneFromVideo(e,t))}get(){const e=ur(k(this,so).findByType("scene")),t=Tr(e);return t.length>0?t[0]:null}async applyTemplateFromString(e){return $t("content",e,Dt()),hr(t=>k(this,so).applyTemplateFromString(e,t))}async applyTemplateFromURL(e){return $t("url",e,Dt()),hr(t=>k(this,so).applyTemplateFromURL(e,t))}getMode(){const e=this.get(),t=k(this,so).getSceneMode(e);return t.isValid()?ur(t):(t.delete(),null)}setMode(e){$t("mode",e,function(){const e=["Design","Video"];return Tt("SceneMode",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}());const t=this.get();if(null==t)throw new Error("No scene available.");ur(k(this,so).setSceneMode(t,e))}setDesignUnit(e){$t("designUnit",e,Qt());const t=this.get();ur(k(this,so).setDesignUnit(t,e))}getDesignUnit(){const e=this.get();return ur(k(this,so).getDesignUnit(e))}setFontSizeUnit(e){$t("fontSizeUnit",e,Zt());const t=this.get();ur(k(this,so).setFontSizeUnit(t,e))}getFontSizeUnit(){const e=this.get();return ur(k(this,so).getFontSizeUnit(e))}getLayout(){const e=this.get();if(null==e)throw new Error("No scene available.");return ur(k(this,so).getSceneLayout(e))}setLayout(e){$t("layout",e,Yt());const t=this.get();if(null==t)throw new Error("No scene available.");ur(k(this,so).setSceneLayout(t,e))}getPages(){return Tr(ur(k(this,so).getPages()))}getCurrentPage(){const e=this.get();if(null==e)return null;const t=k(this,so).getCurrentPage(e);return t.isValid()?ur(t):null}findNearestToViewPortCenterByType(e){$t("type",e,Dt());const t=this.get();if(null==t)return[];const r=ur(k(this,so).findNearestToViewPortCenterByType(t,e));return Tr(r)}findNearestToViewPortCenterByKind(e){$t("kind",e,Dt());const t=this.get();if(null==t)return[];const r=ur(k(this,so).findNearestToViewPortCenterByKind(t,e));return Tr(r)}setZoomLevel(e=1){const t=this.get();$t("zoomLevel",e,jt(It(),0)),k(this,so).setZoomLevel(t,e)}getZoomLevel(){const e=this.get();return ur(k(this,so).getZoomLevel(e))}async zoomToBlock(e,t,r,o,n){$t("id",e,Ft());try{$t("options",t,Lt(Rt({padding:Lt(Bt([It(),Rt({x:Lt(It()),y:Lt(It())}),Rt({top:Lt(It()),bottom:Lt(It()),left:Lt(It()),right:Lt(It())})])),animate:Lt(Bt([At(),Rt({duration:Lt(jt(It(),0)),easing:Lt(Kt()),interruptible:Lt(At())})]))})))}catch(e){try{$t("paddingLeft",t,Lt(It())),$t("paddingTop",r,Lt(It())),$t("paddingRight",o,Lt(It())),$t("paddingBottom",n,Lt(It()))}catch(t){throw new Error(`Invalid arguments.\nIf your're using the deprecated signature:\ncesdk.engine.scene.zoomToBlock(id, paddingLeft, paddingTop, paddingRight, paddingBottom)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.scene.zoomToBlock(id, options)\n${e.message}`)}}const i="object"==typeof t?t:{padding:{left:t??0,top:r??0,right:o??0,bottom:n??0}},s={left:0,top:0,right:0,bottom:0};if(null!=i.padding&&("number"==typeof i.padding?(s.left=i.padding,s.top=i.padding,s.right=i.padding,s.bottom=i.padding):(("x"in i.padding||"y"in i.padding)&&(s.left=i.padding.x??s.left,s.right=i.padding.x??s.right,s.top=i.padding.y??s.top,s.bottom=i.padding.y??s.bottom),("left"in i.padding||"top"in i.padding||"right"in i.padding||"bottom"in i.padding)&&(s.left=i.padding.left??s.left,s.top=i.padding.top??s.top,s.right=i.padding.right??s.right,s.bottom=i.padding.bottom??s.bottom))),i.animate){const t={duration:.5,easing:"EaseInOut",interruptible:!1};return"object"==typeof i.animate&&(t.duration=i.animate.duration??t.duration,t.easing=i.animate.easing??t.easing,t.interruptible=i.animate.interruptible??t.interruptible),new Promise(r=>{k(this,so).zoomToBlockWithAnimation(e,s.left,s.top,s.right,s.bottom,t.duration,t.easing,t.interruptible,()=>{r()})})}return hr(t=>k(this,so).zoomToBlock(e,s.left,s.top,s.right,s.bottom,t))}enableZoomAutoFit(e,t,r=0,o=0,n=0,i=0){return $t("id",e,Ft()),$t("axis",t,function(){const e=["Horizontal","Vertical","Both"];return Tt("ZoomAutoFitAxis",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}()),"Horizontal"===t?($t("paddingBefore",r,It()),$t("paddingAfter",o,It()),ur(k(this,so).enableZoomAutoFit(e,t,r,0,o,0))):"Vertical"===t?($t("paddingBefore",r,It()),$t("paddingAfter",o,It()),ur(k(this,so).enableZoomAutoFit(e,t,0,r,0,o))):($t("paddingLeft",r,It()),$t("paddingTop",o,It()),$t("paddingRight",n,It()),$t("paddingBottom",i,It()),ur(k(this,so).enableZoomAutoFit(e,t,r,o,n,i)))}disableZoomAutoFit(e){return $t("blockOrScene",e,Ft()),ur(k(this,so).disableZoomAutoFit(e))}isZoomAutoFitEnabled(e){return $t("blockOrScene",e,Ft()),ur(k(this,so).isZoomAutoFitEnabled(e))}unstable_enableCameraPositionClamping(e,t=0,r=0,o=0,n=0,i=0,s=0,a=0,l=0){return $t("ids",e,Pt(It())),$t("paddingLeft",t,It()),$t("paddingTop",r,It()),$t("paddingRight",o,It()),$t("paddingBottom",n,It()),$t("scaledPaddingLeft",t,It()),$t("scaledPaddingTop",r,It()),$t("scaledPaddingRight",o,It()),$t("scaledPaddingBottom",n,It()),ur(k(this,so).unstable_enableCameraPositionClamping(e,t,r,o,n,i,s,a,l))}unstable_disableCameraPositionClamping(e=this.get()){if(null==e)throw new Error("No scene available.");return ur(k(this,so).unstable_disableCameraPositionClamping(e))}unstable_isCameraPositionClampingEnabled(e=this.get()){if(null==e)throw new Error("No scene available.");return ur(k(this,so).unstable_isCameraPositionClampingEnabled(e))}unstable_enableCameraZoomClamping(e,t=-1,r=-1,o=0,n=0,i=0,s=0){return $t("ids",e,Pt(It())),$t("minZoomLimit",t,It()),$t("maxZoomLimit",r,It()),$t("paddingLeft",o,It()),$t("paddingTop",n,It()),$t("paddingRight",i,It()),$t("paddingBottom",s,It()),ur(k(this,so).unstable_enableCameraZoomClamping(e,t,r,o,n,i,s))}unstable_disableCameraZoomClamping(e=this.get()){if(null==e)throw new Error("No scene available.");return ur(k(this,so).unstable_disableCameraZoomClamping(e))}unstable_isCameraZoomClampingEnabled(e=this.get()){if(null==e)throw new Error("No scene available.");return ur(k(this,so).unstable_isCameraZoomClampingEnabled(e))}setPlaying(e){const t=this.getCurrentPage();if(null==t)throw new Error("No page to play");k(this,so).setPlaying(t,e)}};function Gd(e){return"r"in e&&"a"in e&&void 0!==e.r&&void 0!==e.a}function Xd(e){return"name"in e&&void 0!==e.name}function Yd(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}function Kd(e,t,r){switch(t){case"Point":default:return e;case"Pixel":return 72*e/r;case"Millimeter":return 72*e/25.4;case"Inch":return 72*e}}function Qd(e,t,r){switch(t){case"Point":default:return e;case"Pixel":return e*r/72;case"Millimeter":return 25.4*e/72;case"Inch":return e/72}}lo=h(null),so=new WeakMap,ao=new WeakMap,co=new WeakSet,uo=function(e,t){if(!t.page)return;if(!k(this,ao))throw new Error("Utility functions not allowed to be called inside utility functions.");let r=0,o=0;if("number"==typeof t.page.size)r=t.page.size,o=t.page.size;else{if("object"!=typeof t.page.size)return;r=t.page.size.width,o=t.page.size.height}const n=k(this,ao).create("page");if(k(this,ao).appendChild(e,n),k(this,ao).setSize(n,r,o),t.page.color){const e=k(this,ao).createFill("color");k(this,ao).setFill(n,e),k(this,ao).setColor(n,"fill/solid/color",t.page.color)}},y(lo,1,"loadFromString",io,SceneAPI),y(lo,1,"loadFromURL",no,SceneAPI),y(lo,1,"loadFromArchiveURL",oo,SceneAPI),y(lo,1,"create",ro,SceneAPI),y(lo,1,"createVideo",to,SceneAPI),y(lo,1,"createFromImage",eo,SceneAPI),y(lo,1,"createFromVideo",Jr,SceneAPI),y(lo,1,"get",Zr,SceneAPI),y(lo,1,"applyTemplateFromString",Qr,SceneAPI),y(lo,1,"applyTemplateFromURL",Kr,SceneAPI),y(lo,1,"getMode",Yr,SceneAPI),y(lo,1,"setMode",Xr,SceneAPI),y(lo,1,"setDesignUnit",Gr,SceneAPI),y(lo,1,"getDesignUnit",zr,SceneAPI),y(lo,1,"setFontSizeUnit",Nr,SceneAPI),y(lo,1,"getFontSizeUnit",Vr,SceneAPI),y(lo,1,"getLayout",$r,SceneAPI),y(lo,1,"setLayout",Hr,SceneAPI),y(lo,1,"getPages",Wr,SceneAPI),y(lo,1,"getCurrentPage",qr,SceneAPI),y(lo,1,"findNearestToViewPortCenterByType",jr,SceneAPI),y(lo,1,"findNearestToViewPortCenterByKind",Ur,SceneAPI),y(lo,1,"setZoomLevel",Br,SceneAPI),y(lo,1,"getZoomLevel",Or,SceneAPI),y(lo,1,"zoomToBlock",Dr,SceneAPI),y(lo,1,"enableZoomAutoFit",Lr,SceneAPI),y(lo,1,"disableZoomAutoFit",Rr,SceneAPI),y(lo,1,"isZoomAutoFitEnabled",Ir,SceneAPI),y(lo,1,"setPlaying",Fr,SceneAPI),m(lo,SceneAPI),(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(Gd(e))return{colorSpace:0,components:{x:e.r,y:e.g,z:e.b,w:e.a},spotColorName:"",tint:1,externalReference:""};if(Yd(e))return{colorSpace:1,components:{x:e.c,y:e.m,z:e.y,w:e.k},spotColorName:"",tint:e.tint,externalReference:""};if(Xd(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!")}})(mo||(mo={})),Wd=[lr],qd=[lr],jd=[lr],Ud=[lr],Bd=[lr],Od=[lr],Dd=[lr],Ld=[lr],Rd=[ar({disabledInModes:["Playback"]})],Id=[ar({disabledInModes:["Playback"]})],Fd=[lr],Md=[lr],Ad=[lr],Pd=[ar({disabledInModes:["Playback"]})],Td=[ar({disabledInModes:["Playback"]})],xd=[ar({disabledInModes:["Playback"]})],Ed=[lr],Cd=[lr],Sd=[lr],kd=[lr],_d=[ar({disabledInModes:["Playback"]})],wd=[lr],vd=[lr],yd=[ar({disabledInModes:["Playback"]})],bd=[ar({disabledInModes:["Playback"]})],md=[ar({disabledInModes:["Playback"]})],fd=[ar({disabledInModes:["Playback"]})],gd=[ar({disabledInModes:["Playback"]})],pd=[ar({disabledInModes:["Playback"]})],hd=[ar({disabledInModes:["Playback"]})],ud=[ar({disabledInModes:["Playback"]})],cd=[lr],dd=[ar({disabledInModes:["Playback"]})],ld=[lr],ad=[ar({disabledInModes:["Playback"]})],sd=[lr],id=[ar({disabledInModes:["Playback"]})],nd=[lr],od=[ar({disabledInModes:["Playback"]})],rd=[ar({disabledInModes:["Playback"]})],td=[lr],ed=[ar({disabledInModes:["Playback"]})],Jl=[ar({disabledInModes:["Playback"]})],Zl=[ar({disabledInModes:["Playback"]})],Ql=[ar({disabledInModes:["Playback"]})],Kl=[lr],Yl=[lr],Xl=[lr],Gl=[lr],zl=[lr],Nl=[lr],Vl=[ar({disabledInModes:["Playback"]})],$l=[ar({disabledInModes:["Playback"]})],Hl=[lr],Wl=[lr],ql=[lr],jl=[lr],Ul=[ar({disabledInModes:["Playback"]})],Bl=[lr],Ol=[ar({disabledInModes:["Playback"]})],Dl=[ar({disabledInModes:["Playback"]})],Ll=[lr],Rl=[lr],Il=[ar({disabledInModes:["Playback"]})],Fl=[ar({disabledInModes:["Playback"]})],Ml=[ar({disabledInModes:["Playback"]})],Al=[ar({disabledInModes:["Playback"]})],Pl=[lr],Tl=[lr],xl=[lr],El=[lr],Cl=[lr],Sl=[lr],kl=[ar({disabledInModes:["Playback"]})],_l=[ar({disabledInModes:["Playback"]})],wl=[ar({disabledInModes:["Playback"]})],vl=[ar({disabledInModes:["Playback"]})],yl=[lr],bl=[ar({disabledInModes:["Playback"]})],ml=[lr],fl=[ar({disabledInModes:["Playback"]})],gl=[lr],pl=[ar({disabledInModes:["Playback"]})],hl=[lr],ul=[lr],cl=[ar({disabledInModes:["Playback"]})],dl=[ar({disabledInModes:["Playback"]})],ll=[ar({disabledInModes:["Playback"]})],al=[lr],sl=[lr],il=[ar({disabledInModes:["Playback"]})],nl=[ar({disabledInModes:["Playback"]})],ol=[ar({disabledInModes:["Playback"]})],rl=[ar({disabledInModes:["Playback"]})],tl=[ar({disabledInModes:["Playback"]})],el=[ar({disabledInModes:["Playback"]})],Ja=[lr],Za=[lr],Qa=[ar({disabledInModes:["Playback"]})],Ka=[lr],Ya=[lr],Xa=[lr],Ga=[lr],za=[lr],Na=[lr],Va=[ar({disabledInModes:["Playback"]})],$a=[ar({disabledInModes:["Playback"]})],Ha=[ar({disabledInModes:["Playback"]})],Wa=[ar({disabledInModes:["Playback"]})],qa=[ar({disabledInModes:["Playback"]})],ja=[lr],Ua=[ar({disabledInModes:["Playback"]})],Ba=[lr],Oa=[ar({disabledInModes:["Playback"]})],Da=[lr],La=[ar({disabledInModes:["Playback"]})],Ra=[lr],Ia=[ar({disabledInModes:["Playback"]})],Fa=[lr],Ma=[ar({disabledInModes:["Playback"]})],Aa=[lr],Pa=[ar({disabledInModes:["Playback"]})],Ta=[lr],xa=[ar({disabledInModes:["Playback"]})],Ea=[lr],Ca=[ar({disabledInModes:["Playback"]})],Sa=[ar({disabledInModes:["Playback"]})],ka=[lr],_a=[ar({disabledInModes:["Playback"]})],wa=[ar({disabledInModes:["Playback"]})],va=[lr],ya=[lr],ba=[lr],ma=[lr],fa=[ar({disabledInModes:["Playback"]})],ga=[lr],pa=[lr],ha=[lr],ua=[lr],ca=[lr],da=[lr],la=[lr],aa=[ar({disabledInModes:["Playback"]})],sa=[ar({disabledInModes:["Playback"]})],ia=[ar({disabledInModes:["Playback"]})],na=[ar({disabledInModes:["Playback"]})],oa=[ar({disabledInModes:["Playback"]})],ra=[ar({disabledInModes:["Playback"]})],ta=[lr],ea=[lr],Js=[lr],Zs=[ar({disabledInModes:["Playback"]})],Qs=[lr],Ks=[lr],Ys=[ar({disabledInModes:["Playback"]})],Xs=[lr],Gs=[ar({disabledInModes:["Playback"]})],zs=[ar({disabledInModes:["Playback"]})],Ns=[lr],Vs=[lr],$s=[ar({disabledInModes:["Playback"]})],Hs=[lr],Ws=[ar({disabledInModes:["Playback"]})],qs=[lr],js=[ar()],Us=[lr],Bs=[lr],Os=[lr],Ds=[lr],Ls=[ar({disabledInModes:["Playback"]})],Rs=[lr],Is=[lr],Fs=[ar({disabledInModes:["Playback"]})],Ms=[lr],As=[ar({disabledInModes:["Playback"]})],Ps=[lr],Ts=[ar({disabledInModes:["Playback"]})],xs=[lr],Es=[ar({disabledInModes:["Playback"]})],Cs=[lr],Ss=[ar({disabledInModes:["Playback"]})],ks=[lr],_s=[ar({disabledInModes:["Playback"]})],ws=[lr],vs=[lr],ys=[ar({disabledInModes:["Playback"]})],bs=[ar({disabledInModes:["Playback"]})],ms=[lr],fs=[ar({disabledInModes:["Playback"]})],gs=[lr],ps=[ar({disabledInModes:["Playback"]})],hs=[lr],us=[ar({disabledInModes:["Playback"]})],cs=[lr],ds=[ar({disabledInModes:["Playback"]})],ls=[lr],as=[ar({disabledInModes:["Playback"]})],ss=[lr],is=[ar({disabledInModes:["Playback"]})],ns=[lr],os=[ar({disabledInModes:["Playback"]})],rs=[lr],ts=[ar({disabledInModes:["Playback"]})],es=[lr],Ji=[ar({disabledInModes:["Playback"]})],Zi=[lr],Qi=[ar({disabledInModes:["Playback"]})],Ki=[lr],Yi=[ar({disabledInModes:["Playback"]})],Xi=[lr],Gi=[ar({disabledInModes:["Playback"]})],zi=[lr],Ni=[lr],Vi=[ar({disabledInModes:["Playback"]})],$i=[ar({disabledInModes:["Playback"]})],Hi=[lr],Wi=[ar({disabledInModes:["Playback"]})],qi=[lr],ji=[ar({disabledInModes:["Playback"]})],Ui=[lr],Bi=[ar({disabledInModes:["Playback"]})],Oi=[lr],Di=[ar({disabledInModes:["Playback"]})],Li=[lr],Ri=[ar({disabledInModes:["Playback"]})],Ii=[lr],Fi=[lr],Mi=[lr],Ai=[lr],Pi=[lr],Ti=[lr],xi=[ar({disabledInModes:["Playback"]})],Ei=[lr],Ci=[ar({disabledInModes:["Playback"]})],Si=[lr],ki=[ar({disabledInModes:["Playback"]})],_i=[lr],wi=[ar({disabledInModes:["Playback"]})],vi=[ar({disabledInModes:["Playback"]})],yi=[lr],bi=[ar({disabledInModes:["Playback"]})],mi=[lr],fi=[lr],gi=[ar({disabledInModes:["Playback"]})],pi=[lr],hi=[lr],ui=[lr],ci=[ar({disabledInModes:["Playback"]})],di=[lr],li=[ar({disabledInModes:["Playback"]})],ai=[lr],si=[ar({disabledInModes:["Playback"]})],ii=[lr],ni=[ar({disabledInModes:["Playback"]})],oi=[lr],ri=[ar({disabledInModes:["Playback"]})],ti=[ar({disabledInModes:["Playback"]})],ei=[ar({disabledInModes:["Playback"]})],Jn=[lr],Zn=[lr],Qn=[lr],Kn=[lr],Yn=[ar({disabledInModes:["Playback"]})],Xn=[ar({disabledInModes:["Playback"]})],Gn=[ar({disabledInModes:["Playback"]})],zn=[lr],Nn=[ar({disabledInModes:["Playback"]})],Vn=[ar({disabledInModes:["Playback"]})],$n=[ar({disabledInModes:["Playback"]})],Hn=[ar({disabledInModes:["Playback"]})],Wn=[ar({disabledInModes:["Playback"]})],qn=[ar({disabledInModes:["Playback"]})],jn=[lr],Un=[ar({disabledInModes:["Playback"]})],Bn=[lr],On=[ar({disabledInModes:["Playback"]})],Dn=[lr],Ln=[lr],Rn=[ar({disabledInModes:["Playback"]})],In=[lr],Fn=[ar({disabledInModes:["Playback"]})],Mn=[lr],An=[ar({disabledInModes:["Playback"]})],Pn=[lr],Tn=[ar({disabledInModes:["Playback"]})],xn=[lr],En=[ar({disabledInModes:["Playback"]})],Cn=[lr],Sn=[ar({disabledInModes:["Playback"]})],kn=[ar({disabledInModes:["Playback"]})],_n=[ar({disabledInModes:["Playback"]})],wn=[lr],vn=[lr],yn=[ar({disabledInModes:["Playback"]})],bn=[ar({disabledInModes:["Playback"]})],mn=[lr],fn=[ar({disabledInModes:["Playback"]})],gn=[lr],pn=[ar({disabledInModes:["Playback"]})],hn=[lr],un=[lr],cn=[ar({disabledInModes:["Playback"]})],dn=[lr],ln=[ar({disabledInModes:["Playback"]})],an=[lr],sn=[ar({disabledInModes:["Playback"]})],nn=[lr],on=[ar({disabledInModes:["Playback"]})],rn=[lr],tn=[ar()],en=[lr],Jo=[ar()],Zo=[ar({disabledInModes:["Playback"]})],Qo=[lr],Ko=[ar({disabledInModes:["Playback"]})],Yo=[lr],Xo=[ar()],Go=[lr],zo=[ar({disabledInModes:["Playback"]})],No=[ar({disabledInModes:["Playback"]})],Vo=[lr],$o=[ar({disabledInModes:["Playback"]})],Ho=[lr],Wo=[ar({disabledInModes:["Playback"]})],qo=[lr],jo=[ar({disabledInModes:["Playback"]})],Uo=[ar({disabledInModes:["Playback"]})],Bo=[ar({disabledInModes:["Playback"]})],Oo=[ar({disabledInModes:["Playback"]})],Do=[ar({disabledInModes:["Playback"]})],Lo=[ar({disabledInModes:["Playback"]})],Ro=[ar({disabledInModes:["Playback"]})],Io=[lr],Fo=[lr],Mo=[lr],Ao=[lr],Po=[ar({disabledInModes:["Playback"]})],To=[ar({disabledInModes:["Playback"]})],xo=[ar({disabledInModes:["Playback"]})],Eo=[lr],Co=[ar({disabledInModes:["Playback"]})],So=[lr],ko=[lr],_o=[lr],wo=[lr],vo=[ar({disabledInModes:["Playback"]})],yo=[ar({disabledInModes:["Playback"]})],bo=[lr];var BlockAPI=class{constructor(e){b(Vd,5,this),S(this,Nd),S(this,Hd),S(this,$d),v(this,"onSelectionChanged",e=>{const t=k(this,Hd).subscribeToSelectionChange(e);return()=>{k(this,Hd).isDeleted()||ur(k(this,Hd).unsubscribe(t))}}),v(this,"onClicked",e=>{const t=k(this,Hd).subscribeToBlockClicked(e);return()=>{k(this,Hd).isDeleted()||ur(k(this,Hd).unsubscribe(t))}}),v(this,"onStateChanged",(e,t)=>{$t("ids",e,Pt(Ft()));const r=k(this,Hd).subscribeToBlockState(e,e=>{try{t(Tr(e,!0))}catch(e){console.error(e)}});return()=>{k(this,Hd).isDeleted()||ur(k(this,Hd).unsubscribe(r))}}),C(this,Hd,e),C(this,$d,new SceneAPI(e,!0))}async export(e,t,r){$t("handle",e,It());try{$t("options",t,Lt(Rt({mimeType:Lt(Bt([Nt(),Xt()])),pngCompressionLevel:Lt(jt(Ut(Ft(),9),0)),jpegQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),webpQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),targetWidth:Lt(It()),targetHeight:Lt(It()),exportPdfWithHighCompatibility:Lt(At()),exportPdfWithUnderlayer:Lt(At()),underlayerSpotColorName:Lt(Dt()),underlayerOffset:Lt(It()),underlayerRenderRatio:Lt(Vt()),underlayerMaxError:Lt(Vt()),allowTextOverhang:Lt(At()),exportPdfWithDeviceCMYK:Lt(At()),abortSignal:Lt(Jt())})))}catch(e){try{$t("mimeType",t,Lt(Bt([Nt(),Xt()]))),$t("options",r,Lt(Rt({pngCompressionLevel:Lt(jt(Ut(Ft(),9),0)),jpegQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),webpQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),targetWidth:Lt(It()),targetHeight:Lt(It()),exportPdfWithHighCompatibility:Lt(At()),exportPdfWithUnderlayer:Lt(At()),underlayerSpotColorName:Lt(Dt()),underlayerOffset:Lt(It()),underlayerRenderRatio:Lt(Vt()),underlayerMaxError:Lt(Vt()),allowTextOverhang:Lt(At()),abortSignal:Lt(Jt())})))}catch(t){throw new Error(`Invalid arguments.\nIf your're using the deprecated signature:\ncesdk.engine.block.export(handle, mimeType, options)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.block.export(handle, options)\n${e.message}`)}}const o="object"==typeof t?t:{mimeType:t,...r},n=o.mimeType??"image/png",i=null!=o.targetWidth&&null!=o.targetHeight,s=o.jpegQuality??.9,a=o.webpQuality??1,l=o.pngCompressionLevel??5;return new Promise((t,r)=>{o.abortSignal?.addEventListener("abort",()=>{r(new Error("AbortSignal received"))}),k(this,Hd).exportToBuffer(e,n,e=>{"error"in e?r(e.error):t(new Blob([e],{type:n}))},{pngCompressionLevel:l,jpegQuality:s,webpQuality:a,useTargetSize:i,targetWidth:o.targetWidth??0,targetHeight:o.targetHeight??0,exportPdfWithHighCompatibility:o.exportPdfWithHighCompatibility??!0,exportPdfWithUnderlayer:o.exportPdfWithUnderlayer??!1,underlayerSpotColorName:o.underlayerSpotColorName??"",underlayerOffset:o.underlayerOffset??0,underlayerRenderRatio:o.underlayerRenderRatio??1,underlayerMaxError:o.underlayerMaxError??2,allowTextOverhang:o.allowTextOverhang??!1,exportPdfWithDeviceCMYK:o.exportPdfWithDeviceCMYK??!1})})}async getDominantColors(e,t={}){$t("handle",e,It()),$t("options",t,Lt(Rt({count:Lt(Ft()),ignoreWhite:Lt(At())})));const r=t.count??5,o=t.ignoreWhite??!1;return new Promise((t,n)=>{k(this,Hd).getDominantColors(e,e=>{"error"in e?n(new Error(e.error)):t(e)},{count:r,ignoreWhite:o})})}async exportWithColorMask(e,t,r,o,n,i){$t("handle",e,It());try{$t("maskColorR",t,It()),$t("maskColorG",r,It()),$t("maskColorB",o,It()),$t("options",i,Lt(Rt({mimeType:Lt(Bt([Nt(),Xt()])),pngCompressionLevel:Lt(jt(Ut(Ft(),9),0)),jpegQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),webpQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),targetWidth:Lt(It()),targetHeight:Lt(It()),exportPdfWithHighCompatibility:Lt(At()),exportPdfWithUnderlayer:Lt(At()),underlayerSpotColorName:Lt(Dt()),underlayerOffset:Lt(It()),underlayerRenderRatio:Lt(Vt()),underlayerMaxError:Lt(Vt()),abortSignal:Lt(Jt())})))}catch(e){try{$t("mimeType",t,Lt(Bt([Nt(),Xt()]))),$t("maskColorR",r,It()),$t("maskColorG",o,It()),$t("maskColorB",n,It()),$t("options",i,Lt(Rt({pngCompressionLevel:Lt(jt(Ut(Ft(),9),0)),jpegQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),webpQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),targetWidth:Lt(It()),targetHeight:Lt(It()),exportPdfWithHighCompatibility:Lt(At()),exportPdfWithUnderlayer:Lt(At()),underlayerSpotColorName:Lt(Dt()),underlayerOffset:Lt(It()),underlayerRenderRatio:Lt(Vt()),underlayerMaxError:Lt(Vt()),abortSignal:Lt(Jt())})))}catch(t){throw new Error(`Invalid arguments.\nIf your're using the deprecated signature:\ncesdk.engine.block.exportWithColorMask(handle, mimeType, maskColorR, maskColorG, maskColorB, options)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.block.exportWithColorMask(handle, maskColorR, maskColorG, maskColorB, options)\n${e.message}`)}}let s,a,l,d;"number"==typeof t?(s=t,a=r,l=o,d=n??{}):(s=r,a=o,l=n,d={mimeType:t,...i});const c=d.mimeType??"image/png",u=null!=d.targetWidth&&null!=d.targetHeight,h=d.jpegQuality??.9,p=d.webpQuality??1,g=d.pngCompressionLevel??5;return new Promise((t,r)=>{d.abortSignal?.addEventListener("abort",()=>{r(new Error("AbortSignal received"))}),k(this,Hd).exportWithColorMaskToBuffer(e,c,s,a,l,(e,o)=>{if("error"in e)r(e.error);else if("error"in o)r(o.error);else{const r=new Blob([e],{type:c}),n=new Blob([o],{type:c});t([r,n])}},{pngCompressionLevel:g,jpegQuality:h,webpQuality:p,useTargetSize:u,targetWidth:d.targetWidth??0,targetHeight:d.targetHeight??0,exportPdfWithHighCompatibility:d.exportPdfWithHighCompatibility??!0,exportPdfWithUnderlayer:d.exportPdfWithUnderlayer??!1,underlayerSpotColorName:d.underlayerSpotColorName??"",underlayerOffset:d.underlayerOffset??0,underlayerRenderRatio:d.underlayerRenderRatio??1,underlayerMaxError:d.underlayerMaxError??2,allowTextOverhang:d.allowTextOverhang??!1,exportPdfWithDeviceCMYK:d.exportPdfWithDeviceCMYK??!1})})}async exportVideo(e,t,r,o){throw new Error("Method not implemented. An implementation is available on the BlockAPI at engine.block or cesdk.engine.block")}async exportAudio(e,t={}){return $t("handle",e,It()),$t("options",t,Rt({mimeType:Lt(zt()),onProgress:Lt(Mt()),timeOffset:Lt(It()),duration:Lt(It()),sampleRate:Lt(It()),numberOfChannels:Lt(It())})),new Promise((r,o)=>{k(this,Hd).exportAudioToBuffer(e,t.timeOffset??0,t.duration??0,t.mimeType??"audio/wav",t.onProgress??(()=>{}),e=>{"error"in e?o(e.error):r(new Blob([e],{type:t.mimeType??"audio/wav"}))},{sampleRate:t.sampleRate??48e3,numberOfChannels:t.numberOfChannels??2,skipEncoding:t.skipEncoding??!1})})}async loadFromString(e){return $t("content",e,Dt()),hr(t=>k(this,Hd).loadBlocksFromString(e,t)).then(e=>Tr(e))}loadFromArchiveURL(e){return $t("url",e,Dt()),hr(t=>k(this,Hd).loadBlocksFromArchiveURL(e,t)).then(e=>Tr(e))}loadFromURL(e){return $t("url",e,Dt()),hr(t=>k(this,Hd).loadBlocksFromURL(e,t)).then(e=>Tr(e))}async saveToString(e,t=["buffer","http","https"],r){return $t("blocks",e,Pt(It())),hr(o=>k(this,Hd).saveBlocksToString(e,o,t,r?async(e,t,o)=>{const n=await r(e,t);o&&o.invoke(e,n)}:void 0))}async saveToArchive(e){return $t("blocks",e,Pt(It())),new Promise((t,r)=>{k(this,Hd).saveBlocksToArchive(e,async e=>{if("error"in e)r(e.error);else{const o=go(e);if(null!==o)try{t(await fo(o))}catch(e){r(e)}else t(new Blob([e],{type:"application/zip"}))}})})}create(e){return $t("type",e,Dt()),ur(k(this,Hd).create(e))}createFill(e){return $t("type",e,Dt()),ur(k(this,Hd).createFill(e))}getAudioTrackCountFromVideo(e){return $t("videoFillBlock",e,Ft()),ur(k(this,Hd).getAudioTrackCountFromVideo(e))}createAudioFromVideo(e,t,r={}){return $t("videoFillBlock",e,Ft()),$t("trackIndex",t,It()),$t("options",r,Rt({keepTrimSettings:Lt(At()),muteOriginalVideo:Lt(At())})),ur(k(this,Hd).createAudioFromVideo(e,t,{keepTrimSettings:r.keepTrimSettings??!0,muteOriginalVideo:r.muteOriginalVideo??!0}))}createAudiosFromVideo(e,t={}){return $t("videoFillBlock",e,Ft()),$t("options",t,Rt({keepTrimSettings:Lt(At()),muteOriginalVideo:Lt(At())})),Tr(ur(k(this,Hd).createAudiosFromVideo(e,{keepTrimSettings:t.keepTrimSettings??!0,muteOriginalVideo:t.muteOriginalVideo??!0})))}getAudioInfoFromVideo(e){return $t("videoFillBlock",e,Ft()),Tr(ur(k(this,Hd).getAudioInfoFromVideo(e)))}async createCaptionsFromURI(e){return $t("uri",e,Dt()),hr(t=>k(this,Hd).createCaptionsFromURI(e,t)).then(e=>Tr(e))}getType(e){return $t("id",e,Ft()),ur(k(this,Hd).getType(e))}getKind(e){return $t("id",e,Ft()),ur(k(this,Hd).getKind(e))}setKind(e,t){$t("id",e,Ft()),ur(k(this,Hd).setKind(e,t))}select(e){return $t("id",e,Ft()),ur(k(this,Hd).select(e))}setSelected(e,t){return $t("id",e,Ft()),$t("selected",t,At()),ur(k(this,Hd).setSelected(e,t))}isSelected(e){return $t("id",e,Ft()),ur(k(this,Hd).isSelected(e))}findAllSelected(){return Tr(k(this,Hd).findAllSelected())}isGroupable(e){return $t("ids",e,Pt(It())),ur(k(this,Hd).isGroupable(e))}group(e){return $t("ids",e,qt(Pt(It()))),ur(k(this,Hd).group(e))}ungroup(e){return $t("id",e,It()),ur(k(this,Hd).ungroup(e))}enterGroup(e){return $t("id",e,It()),ur(k(this,Hd).enterGroup(e))}exitGroup(e){return $t("id",e,It()),ur(k(this,Hd).exitGroup(e))}isCombinable(e){return $t("ids",e,Pt(It())),ur(k(this,Hd).isCombinable(e))}combine(e,t){return $t("ids",e,Pt(It())),$t("op",t,Dt()),ur(k(this,Hd).combine(e,t))}setName(e,t){return $t("id",e,Ft()),$t("name",t,Dt()),ur(k(this,Hd).setName(e,t))}getName(e){return $t("id",e,Ft()),ur(k(this,Hd).getName(e))}getUUID(e){return $t("id",e,Ft()),ur(k(this,Hd).getUUID(e))}findByName(e){$t("name",e,Dt());const t=k(this,Hd).findByName(e);return Tr(t)}findByType(e){$t("type",e,Dt());const t=ur(k(this,Hd).findByType(e));return Tr(t)}findByKind(e){$t("kind",e,Dt());const t=ur(k(this,Hd).findByKind(e));return Tr(t)}findAll(){return Tr(k(this,Hd).findAll())}findAllPlaceholders(){return Tr(k(this,Hd).findAllPlaceholders())}findAllUnused(){return Tr(k(this,Hd).findAllUnused())}createShape(e){return $t("type",e,Dt()),ur(k(this,Hd).createShape(e))}hasShape(e){return $t("id",e,Ft()),ur(k(this,Hd).hasShape(e))}supportsShape(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsShape(e))}getShape(e){return $t("id",e,Ft()),ur(k(this,Hd).getShape(e))}setShape(e,t){return $t("id",e,Ft()),$t("shape",t,Ft()),ur(k(this,Hd).setShape(e,t))}isVisible(e){return $t("id",e,Ft()),ur(k(this,Hd).isVisible(e))}setVisible(e,t){return $t("id",e,Ft()),$t("visible",t,At()),ur(k(this,Hd).setVisible(e,t))}isClipped(e){return $t("id",e,Ft()),ur(k(this,Hd).isClipped(e))}setClipped(e,t){return $t("id",e,Ft()),$t("clipped",t,At()),ur(k(this,Hd).setClipped(e,t))}isTransformLocked(e){return $t("id",e,Ft()),ur(k(this,Hd).isTransformLocked(e))}isLineOrigin(e){return $t("id",e,Ft()),ur(k(this,Hd).isLineOrigin(e))}setTransformLocked(e,t){return $t("id",e,Ft()),$t("locked",t,At()),ur(k(this,Hd).setTransformLocked(e,t))}getPositionX(e){return $t("id",e,Ft()),ur(k(this,Hd).getPositionX(e))}getPositionXMode(e){return $t("id",e,Ft()),ur(k(this,Hd).getPositionXMode(e))}getPositionY(e){return $t("id",e,Ft()),ur(k(this,Hd).getPositionY(e))}getPositionYMode(e){return $t("id",e,Ft()),ur(k(this,Hd).getPositionYMode(e))}setPositionX(e,t){return $t("id",e,Ft()),$t("value",t,It()),ur(k(this,Hd).setPositionX(e,t))}setPositionXMode(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setPositionXMode(e,t))}setPositionY(e,t){return $t("id",e,Ft()),$t("value",t,It()),ur(k(this,Hd).setPositionY(e,t))}setPositionYMode(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setPositionYMode(e,t))}setAlwaysOnTop(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setAlwaysOnTop(e,t))}setAlwaysOnBottom(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setAlwaysOnBottom(e,t))}isAlwaysOnTop(e){return $t("id",e,Ft()),ur(k(this,Hd).isAlwaysOnTop(e))}isAlwaysOnBottom(e){return $t("id",e,Ft()),ur(k(this,Hd).isAlwaysOnBottom(e))}bringToFront(e){return $t("id",e,It()),ur(k(this,Hd).bringToFront(e))}sendToBack(e){return $t("id",e,It()),ur(k(this,Hd).sendToBack(e))}bringForward(e){return $t("id",e,It()),ur(k(this,Hd).bringForward(e))}sendBackward(e){return $t("id",e,It()),ur(k(this,Hd).sendBackward(e))}getRotation(e){return $t("id",e,Ft()),ur(k(this,Hd).getRotation(e))}setRotation(e,t){return $t("id",e,Ft()),$t("radians",t,It()),ur(k(this,Hd).setRotation(e,t))}getFlipHorizontal(e){return $t("id",e,Ft()),ur(k(this,Hd).getFlip(e)).horizontal}getFlipVertical(e){return $t("id",e,Ft()),ur(k(this,Hd).getFlip(e)).vertical}setFlipHorizontal(e,t){return $t("id",e,Ft()),$t("flip",t,At()),ur(k(this,Hd).setFlipHorizontal(e,t))}setFlipVertical(e,t){return $t("id",e,Ft()),$t("flip",t,At()),ur(k(this,Hd).setFlipVertical(e,t))}hasContentFillMode(e){return $t("id",e,Ft()),ur(k(this,Hd).hasContentFillMode(e))}supportsContentFillMode(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsContentFillMode(e))}getWidth(e){return $t("id",e,Ft()),ur(k(this,Hd).getWidth(e))}getWidthMode(e){return $t("id",e,Ft()),ur(k(this,Hd).getWidthMode(e))}getHeight(e){return $t("id",e,Ft()),ur(k(this,Hd).getHeight(e))}getHeightMode(e){return $t("id",e,Ft()),ur(k(this,Hd).getHeightMode(e))}setSize(e,t,r,o){return $t("id",e,Ft()),$t("width",t,It()),$t("height",r,It()),$t("options",o,Lt(Rt({maintainCrop:Lt(At()),sizeMode:Lt(er())}))),null!=o?.sizeMode&&(ur(k(this,Hd).setWidthMode(e,o.sizeMode)),ur(k(this,Hd).setHeightMode(e,o.sizeMode))),ur(k(this,Hd).setWidth(e,t,o?.maintainCrop??!1)),ur(k(this,Hd).setHeight(e,r,o?.maintainCrop??!1))}setPosition(e,t,r,o){return $t("id",e,Ft()),$t("x",t,It()),$t("y",r,It()),null!=o?.positionMode&&(ur(k(this,Hd).setPositionXMode(e,o.positionMode)),ur(k(this,Hd).setPositionYMode(e,o.positionMode))),ur(k(this,Hd).setPositionX(e,t)),ur(k(this,Hd).setPositionY(e,r))}setWidth(e,t,r){return $t("id",e,Ft()),$t("value",t,It()),$t("maintainCrop",r??!1,At()),ur(k(this,Hd).setWidth(e,t,r??!1))}setWidthMode(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setWidthMode(e,t))}setHeight(e,t,r){return $t("id",e,Ft()),$t("value",t,It()),$t("maintainCrop",r??!1,At()),ur(k(this,Hd).setHeight(e,t,r??!1))}setHeightMode(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setHeightMode(e,t))}getFrameX(e){return $t("id",e,Ft()),ur(k(this,Hd).getLastFrameX(e))}getFrameY(e){return $t("id",e,Ft()),ur(k(this,Hd).getLastFrameY(e))}getFrameWidth(e){return $t("id",e,Ft()),ur(k(this,Hd).getLastFrameWidth(e))}getFrameHeight(e){return $t("id",e,Ft()),ur(k(this,Hd).getLastFrameHeight(e))}setContentFillMode(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setContentFillMode(e,t))}getContentFillMode(e){return $t("id",e,Ft()),ur(k(this,Hd).getContentFillMode(e))}setContentFillHorizontalAlignment(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setContentFillHorizontalAlignment(e,t))}getContentFillHorizontalAlignment(e){return $t("id",e,Ft()),ur(k(this,Hd).getContentFillHorizontalAlignment(e))}setContentFillVerticalAlignment(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setContentFillVerticalAlignment(e,t))}getContentFillVerticalAlignment(e){return $t("id",e,Ft()),ur(k(this,Hd).getContentFillVerticalAlignment(e))}duplicate(e,t=!0){return $t("id",e,Ft()),ur(k(this,Hd).duplicate(e,t))}destroy(e){return $t("id",e,Ft()),ur(k(this,Hd).destroy(e))}isValid(e){return $t("id",e,Ft()),k(this,Hd).isValid(e)}getParent(e){return $t("id",e,Ft()),ur(k(this,Hd).hasParent(e))?ur(k(this,Hd).getParent(e)):null}getChildren(e){$t("id",e,Ft());const t=ur(k(this,Hd).getChildren(e));return Tr(t)}insertChild(e,t,r){return $t("parent",e,It()),$t("child",t,It()),$t("index",r,jt(It(),0)),ur(k(this,Hd).insertChild(e,t,r))}appendChild(e,t){return $t("parent",e,It()),$t("child",t,It()),ur(k(this,Hd).appendChild(e,t))}referencesAnyVariables(e){return $t("id",e,Ft()),ur(k(this,Hd).referencesAnyVariables(e))}getGlobalBoundingBoxX(e){return $t("id",e,Ft()),ur(k(this,Hd).getGlobalBoundingBoxX(e))}getGlobalBoundingBoxY(e){return $t("id",e,Ft()),ur(k(this,Hd).getGlobalBoundingBoxY(e))}getGlobalBoundingBoxWidth(e){return $t("id",e,Ft()),ur(k(this,Hd).getGlobalBoundingBoxWidth(e))}getGlobalBoundingBoxHeight(e){return $t("id",e,Ft()),ur(k(this,Hd).getGlobalBoundingBoxHeight(e))}getScreenSpaceBoundingBoxXYWH(e){return $t("ids",e,Pt(It())),ur(k(this,Hd).getScreenSpaceBoundingBoxXYWH(e))}alignHorizontally(e,t){return $t("ids",e,qt(Pt(It()))),ur(k(this,Hd).alignHorizontally(e,t))}alignVertically(e,t){return $t("ids",e,qt(Pt(It()))),ur(k(this,Hd).alignVertically(e,t))}isAlignable(e){return $t("ids",e,Pt(It())),ur(k(this,Hd).isAlignable(e))}distributeHorizontally(e){return $t("ids",e,qt(Pt(It()))),ur(k(this,Hd).distributeHorizontally(e))}distributeVertically(e){return $t("ids",e,qt(Pt(It()))),ur(k(this,Hd).distributeVertically(e))}isDistributable(e){return $t("ids",e,Pt(It())),ur(k(this,Hd).isDistributable(e))}fillParent(e){return $t("id",e,Ft()),ur(k(this,Hd).fillParent(e))}resizeContentAware(e,t,r){return $t("ids",e,Pt(It())),$t("width",t,It()),$t("height",r,It()),ur(k(this,Hd).resizeContentAware(e,t,r))}scale(e,t,r=0,o=0){return $t("id",e,Ft()),ur(k(this,Hd).scale(e,t,r,o))}findAllProperties(e){return $t("id",e,Ft()),Tr(ur(k(this,Hd).findAllProperties(e)))}isPropertyReadable(e){return $t("property",e,Dt()),k(this,Hd).isPropertyReadable(e)}isPropertyWritable(e){return $t("property",e,Dt()),k(this,Hd).isPropertyWritable(e)}getPropertyType(e){$t("property",e,Dt());return ur(k(this,Hd).getPropertyType(e))}getEnumValues(e){return $t("enumProperty",e,Dt()),Tr(ur(k(this,Hd).getEnumValues(e)))}setBool(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("value",r,At()),ur(k(this,Hd).setBool(e,t,r))}getBool(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getBool(e,t))}setInt(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("value",r,Ft()),ur(k(this,Hd).setInt(e,t,r))}getInt(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getInt(e,t))}setFloat(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("value",r,It()),ur(k(this,Hd).setFloat(e,t,r))}getFloat(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getFloat(e,t))}setDouble(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("value",r,It()),ur(k(this,Hd).setDouble(e,t,r))}getDouble(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getDouble(e,t))}setString(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("value",r,Dt()),ur(k(this,Hd).setString(e,t,r))}getString(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getString(e,t))}setColor(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("value",r,or()),ur(k(this,Hd).setColor(e,t,mo.fromColor(r)))}getColor(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),mo.toColor(ur(k(this,Hd).getColor(e,t)))}setColorRGBA(e,t,r,o,n,i=1){return $t("id",e,Ft()),$t("property",t,Dt()),$t("r",r,It()),$t("g",o,It()),$t("b",n,It()),$t("a",i,It()),ur(k(this,Hd).setColorRGBA(e,t,r,o,n,i))}getColorRGBA(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getColorRGBA(e,t))}setColorSpot(e,t,r,o=1){return $t("id",e,Ft()),$t("property",t,Dt()),$t("name",r,Dt()),$t("tint",o,It()),ur(k(this,Hd).setColorSpot(e,t,r,o))}getColorSpotName(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getColorSpotName(e,t))}getColorSpotTint(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getColorSpotTint(e,t))}setGradientColorStops(e,t,r){$t("id",e,Ft()),$t("property",t,Dt());const o=r.map(e=>({color:mo.fromColor(e.color),stop:e.stop}));return ur(k(this,Hd).setGradientColorStops(e,t,o))}getGradientColorStops(e,t){$t("id",e,Ft()),$t("property",t,Dt());const r=ur(k(this,Hd).getGradientColorStops(e,t));return Tr(r).map(e=>({color:mo.toColor(e.color),stop:e.stop}))}getSourceSet(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),Tr(ur(k(this,Hd).getSourceSet(e,t)))}setSourceSet(e,t,r){$t("id",e,Ft()),$t("property",t,Dt()),$t("sourceSet",r,Pt(Rt({uri:Dt(),width:It(),height:It()}))),ur(k(this,Hd).setSourceSet(e,t,r))}addImageFileURIToSourceSet(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("uri",r,Dt()),hr(o=>k(this,Hd).addImageFileURIToSourceSet(e,t,r,o))}addVideoFileURIToSourceSet(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("uri",r,Dt()),hr(o=>k(this,Hd).addVideoFileURIToSourceSet(e,t,r,o))}setEnum(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("value",r,Dt()),ur(k(this,Hd).setEnum(e,t,r))}getEnum(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getEnum(e,t))}hasCrop(e){return $t("id",e,Ft()),ur(k(this,Hd).hasCrop(e))}supportsCrop(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsCrop(e))}setCropScaleX(e,t){return $t("id",e,Ft()),$t("scaleX",t,It()),ur(k(this,Hd).setCropScaleX(e,t))}setCropScaleY(e,t){return $t("id",e,Ft()),$t("scaleY",t,It()),ur(k(this,Hd).setCropScaleY(e,t))}setCropRotation(e,t){return $t("id",e,Ft()),$t("rotation",t,It()),ur(k(this,Hd).setCropRotation(e,t))}setCropScaleRatio(e,t){return $t("id",e,Ft()),$t("scaleRatio",t,It()),ur(k(this,Hd).setCropScaleRatio(e,t))}setCropTranslationX(e,t){return $t("id",e,Ft()),$t("translationX",t,It()),ur(k(this,Hd).setCropTranslationX(e,t))}setCropTranslationY(e,t){return $t("id",e,Ft()),$t("translationY",t,It()),ur(k(this,Hd).setCropTranslationY(e,t))}resetCrop(e){return $t("id",e,Ft()),ur(k(this,Hd).resetCrop(e))}getCropScaleX(e){return $t("id",e,Ft()),ur(k(this,Hd).getCropScaleX(e))}getCropScaleY(e){return $t("id",e,Ft()),ur(k(this,Hd).getCropScaleY(e))}getCropRotation(e){return $t("id",e,Ft()),ur(k(this,Hd).getCropRotation(e))}getCropScaleRatio(e){return $t("id",e,Ft()),ur(k(this,Hd).getCropScaleRatio(e))}getCropTranslationX(e){return $t("id",e,Ft()),ur(k(this,Hd).getCropTranslationX(e))}getCropTranslationY(e){return $t("id",e,Ft()),ur(k(this,Hd).getCropTranslationY(e))}adjustCropToFillFrame(e,t){return $t("id",e,Ft()),$t("minScaleRatio",t,It()),ur(k(this,Hd).adjustCropToFillFrame(e,t))}flipCropHorizontal(e){return $t("id",e,Ft()),ur(k(this,Hd).flipCropHorizontal(e))}flipCropVertical(e){return $t("id",e,Ft()),ur(k(this,Hd).flipCropVertical(e))}isCropAspectRatioLocked(e){return $t("id",e,Ft()),ur(k(this,Hd).isCropAspectRatioLocked(e))}setCropAspectRatioLocked(e,t){$t("id",e,Ft()),$t("locked",t,At()),ur(k(this,Hd).setCropAspectRatioLocked(e,t))}hasOpacity(e){return $t("id",e,Ft()),ur(k(this,Hd).hasOpacity(e))}supportsOpacity(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsOpacity(e))}setOpacity(e,t){return $t("id",e,Ft()),$t("opacity",t,It()),ur(k(this,Hd).setOpacity(e,t))}getOpacity(e){return $t("id",e,Ft()),ur(k(this,Hd).getOpacity(e))}hasBlendMode(e){return $t("id",e,Ft()),ur(k(this,Hd).hasBlendMode(e))}supportsBlendMode(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsBlendMode(e))}setBlendMode(e,t){return $t("id",e,Ft()),$t("blendMode",t,Dt()),ur(k(this,Hd).setBlendMode(e,t))}getBlendMode(e){return $t("id",e,Ft()),ur(k(this,Hd).getBlendMode(e))}hasFillColor(e){return $t("id",e,Ft()),ur(k(this,Hd).hasFillColor(e))}isIncludedInExport(e){return $t("id",e,Ft()),ur(k(this,Hd).isIncludedInExport(e))}setIncludedInExport(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setIncludedInExport(e,t))}setFillColorRGBA(e,t,r,o,n=1){return $t("id",e,Ft()),$t("r",t,It()),$t("g",r,It()),$t("b",o,It()),$t("a",n,It()),ur(k(this,Hd).setFillColorRGBA(e,t,r,o,n))}getFillColorRGBA(e){return $t("id",e,Ft()),ur(k(this,Hd).getFillColorRGBA(e))}setFillColorEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setFillColorEnabled(e,t))}isFillColorEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isFillColorEnabled(e))}createEffect(e){return $t("type",e,Dt()),ur(k(this,Hd).createEffect(e))}hasEffects(e){return $t("id",e,Ft()),ur(k(this,Hd).hasEffects(e))}supportsEffects(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsEffects(e))}getEffects(e){$t("id",e,Ft());const t=ur(k(this,Hd).getEffects(e));return Tr(t)}insertEffect(e,t,r){$t("id",e,Ft()),$t("effectId",t,Ft()),$t("index",r,jt(Ft(),0)),ur(k(this,Hd).insertEffect(e,t,r))}appendEffect(e,t){$t("id",e,Ft()),$t("effectId",t,Ft()),ur(k(this,Hd).appendEffect(e,t))}removeEffect(e,t){$t("id",e,Ft()),$t("index",t,jt(Ft(),0)),ur(k(this,Hd).removeEffect(e,t))}hasEffectEnabled(e){return $t("effectId",e,Ft()),ur(k(this,Hd).hasEffectEnabled(e))}setEffectEnabled(e,t){$t("effectId",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setEffectEnabled(e,t))}isEffectEnabled(e){return $t("effectId",e,Ft()),ur(k(this,Hd).isEffectEnabled(e))}createBlur(e){return $t("type",e,Dt()),ur(k(this,Hd).createBlur(e))}hasBlur(e){return $t("id",e,Ft()),ur(k(this,Hd).hasBlur(e))}supportsBlur(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsBlur(e))}setBlur(e,t){$t("id",e,Ft()),$t("blurId",t,Ft()),ur(k(this,Hd).setBlur(e,t))}getBlur(e){return $t("id",e,Ft()),ur(k(this,Hd).getBlur(e))}setBlurEnabled(e,t){$t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setBlurEnabled(e,t))}isBlurEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isBlurEnabled(e))}hasBackgroundColor(e){return $t("id",e,Ft()),ur(k(this,Hd).hasBackgroundColor(e))}supportsBackgroundColor(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsBackgroundColor(e))}setBackgroundColorRGBA(e,t,r,o,n=1){return $t("id",e,Ft()),$t("r",t,It()),$t("g",r,It()),$t("b",o,It()),$t("a",n,It()),ur(k(this,Hd).setBackgroundColorRGBA(e,t,r,o,n))}getBackgroundColorRGBA(e){return $t("id",e,Ft()),ur(k(this,Hd).getBackgroundColorRGBA(e))}setBackgroundColorEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setBackgroundColorEnabled(e,t))}isBackgroundColorEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isBackgroundColorEnabled(e))}hasStroke(e){return $t("id",e,Ft()),ur(k(this,Hd).hasStroke(e))}supportsStroke(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsStroke(e))}setStrokeEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setStrokeEnabled(e,t))}isStrokeEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isStrokeEnabled(e))}setStrokeOverprint(e,t){return $t("id",e,Ft()),$t("overprint",t,At()),ur(k(this,Hd).setStrokeOverprint(e,t))}getStrokeOverprint(e){return $t("id",e,Ft()),ur(k(this,Hd).getStrokeOverprint(e))}setStrokeColorRGBA(e,t,r,o,n=1){return $t("id",e,Ft()),$t("r",t,It()),$t("g",r,It()),$t("b",o,It()),$t("a",n,It()),ur(k(this,Hd).setStrokeColorRGBA(e,t,r,o,n))}setStrokeColor(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeColor(e,mo.fromColor(t)))}getStrokeColorRGBA(e){return $t("id",e,Ft()),ur(k(this,Hd).getStrokeColorRGBA(e))}getStrokeColor(e){return $t("id",e,Ft()),mo.toColor(ur(k(this,Hd).getStrokeColor(e)))}setStrokeWidth(e,t){return $t("id",e,Ft()),$t("width",t,It()),ur(k(this,Hd).setStrokeWidth(e,t))}getStrokeWidth(e){return $t("id",e,Ft()),ur(k(this,Hd).getStrokeWidth(e))}setStrokeStyle(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeStyle(e,t))}getStrokeStyle(e){$t("id",e,Ft());return ur(k(this,Hd).getStrokeStyle(e))}setStrokePosition(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokePosition(e,t))}getStrokePosition(e){$t("id",e,Ft());return ur(k(this,Hd).getStrokePosition(e))}setStrokeCornerGeometry(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeCornerGeometry(e,t))}getStrokeCornerGeometry(e){$t("id",e,Ft());return ur(k(this,Hd).getStrokeCornerGeometry(e))}setStrokeCap(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeCap(e,t))}getStrokeCap(e){$t("id",e,Ft());return ur(k(this,Hd).getStrokeCap(e))}setStrokeStartCap(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeStartCap(e,t))}getStrokeStartCap(e){$t("id",e,Ft());return ur(k(this,Hd).getStrokeStartCap(e))}setStrokeEndCap(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeEndCap(e,t))}getStrokeEndCap(e){$t("id",e,Ft());return ur(k(this,Hd).getStrokeEndCap(e))}setStrokeDashStartCap(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeDashStartCap(e,t))}getStrokeDashStartCap(e){$t("id",e,Ft());return ur(k(this,Hd).getStrokeDashStartCap(e))}setStrokeDashEndCap(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeDashEndCap(e,t))}getStrokeDashEndCap(e){$t("id",e,Ft());return ur(k(this,Hd).getStrokeDashEndCap(e))}setStrokeDashArray(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeDashArray(e,t))}getStrokeDashArray(e){return $t("id",e,Ft()),Tr(ur(k(this,Hd).getStrokeDashArray(e)))}setStrokeDashOffset(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeDashOffset(e,t))}getStrokeDashOffset(e){return $t("id",e,Ft()),ur(k(this,Hd).getStrokeDashOffset(e))}hasDropShadow(e){return $t("id",e,Ft()),ur(k(this,Hd).hasDropShadow(e))}supportsDropShadow(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsDropShadow(e))}setDropShadowEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setDropShadowEnabled(e,t))}isDropShadowEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isDropShadowEnabled(e))}setDropShadowColorRGBA(e,t,r,o,n=1){return $t("id",e,Ft()),$t("r",t,It()),$t("g",r,It()),$t("b",o,It()),$t("a",n,It()),ur(k(this,Hd).setDropShadowColorRGBA(e,t,r,o,n))}setDropShadowColor(e,t){return $t("id",e,Ft()),$t("color",t,or()),ur(k(this,Hd).setDropShadowColor(e,mo.fromColor(t)))}getDropShadowColorRGBA(e){return $t("id",e,Ft()),ur(k(this,Hd).getDropShadowColorRGBA(e))}getDropShadowColor(e){return $t("id",e,Ft()),mo.toColor(ur(k(this,Hd).getDropShadowColor(e)))}setDropShadowOffsetX(e,t){return $t("id",e,Ft()),$t("offsetX",t,It()),ur(k(this,Hd).setDropShadowOffsetX(e,t))}getDropShadowOffsetX(e){return $t("id",e,Ft()),ur(k(this,Hd).getDropShadowOffsetX(e))}setDropShadowOffsetY(e,t){return $t("id",e,Ft()),$t("offsetY",t,It()),ur(k(this,Hd).setDropShadowOffsetY(e,t))}getDropShadowOffsetY(e){return $t("id",e,Ft()),ur(k(this,Hd).getDropShadowOffsetY(e))}setDropShadowBlurRadiusX(e,t){return $t("id",e,Ft()),$t("blurRadiusX",t,It()),ur(k(this,Hd).setDropShadowBlurRadiusX(e,t))}getDropShadowBlurRadiusX(e){return $t("id",e,Ft()),ur(k(this,Hd).getDropShadowBlurRadiusX(e))}setDropShadowBlurRadiusY(e,t){return $t("id",e,Ft()),$t("blurRadiusY",t,It()),ur(k(this,Hd).setDropShadowBlurRadiusY(e,t))}getDropShadowBlurRadiusY(e){return $t("id",e,Ft()),ur(k(this,Hd).getDropShadowBlurRadiusY(e))}setDropShadowClip(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setDropShadowClip(e,t))}getDropShadowClip(e){return $t("id",e,Ft()),ur(k(this,Hd).getDropShadowClip(e))}createCutoutFromBlocks(e,t=2,r=4,o=!0){return $t("ids",e,Pt(Ft())),$t("vectorizeDistanceThreshold",t,It()),$t("maxSmoothingDistance",r,It()),$t("useExistingShapeInformation",o,At()),ur(k(this,Hd).createCutoutFromBlocks(e,t,r,o))}createCutoutFromPath(e){return $t("path",e,Dt()),ur(k(this,Hd).createCutoutFromPath(e))}createCutoutFromOperation(e,t){return $t("ids",e,Pt(Ft())),$t("op",t,function(){const e=["Difference","Intersection","Union","XOR"];return Tt("CutoutOperation",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}()),ur(k(this,Hd).createCutoutFromOperation(e,t))}replaceText(e,t,r=-1,o=-1){$t("id",e,Ft()),$t("text",t,Dt()),$t("from",r,Ft()),$t("to",o,Ft()),ur(k(this,Hd).replaceText(e,t,r,o))}removeText(e,t=-1,r=-1){$t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),ur(k(this,Hd).removeText(e,t,r))}setTextColor(e,t,r=-1,o=-1){$t("id",e,Ft()),$t("color",t,or()),$t("from",r,Ft()),$t("to",o,Ft()),ur(k(this,Hd).setTextColor(e,mo.fromColor(t),r,o))}getTextColors(e,t=-1,r=-1){$t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft());const o=k(this,Hd).getTextColors(e,t,r);return Tr(ur(o)).map(e=>mo.toColor(e))}setTextFontWeight(e,t,r=-1,o=-1){$t("id",e,Ft()),$t("from",r,Ft()),$t("to",o,Ft()),ur(k(this,Hd).setTextFontWeight(e,t,r,o))}getTextFontWeights(e,t=-1,r=-1){return $t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),Tr(ur(k(this,Hd).getTextFontWeights(e,t,r)))}setTextFontSize(e,t,r,o=-1){if($t("id",e,Ft()),$t("fontSize",t,It()),"object"==typeof r&&null!==r){$t("options",r,Lt(Rt({unit:Lt(Dt()),from:Lt(Ft()),to:Lt(Ft())})));const{unit:o,from:n=-1,to:i=-1}=r;let s=t;if(void 0!==o){const e=k(this,$d).get(),r=null!=e?k(this,$d).getFontSizeUnit():"Point";if(o!==r){if(null==e)throw new Error("No scene found for unit conversion");const n=this.getFloat(e,"scene/dpi");s=Qd(Kd(t,o,n),r,n)}}ur(k(this,Hd).setTextFontSize(e,s,n,i))}else{const n=r??-1;$t("from",n,Ft()),$t("to",o,Ft()),ur(k(this,Hd).setTextFontSize(e,t,n,o))}}getTextFontSizes(e,t=-1,r=-1){if($t("id",e,Ft()),"object"==typeof t){$t("options",t,Lt(Rt({unit:Lt(Dt()),from:Lt(Ft()),to:Lt(Ft())})));const{unit:r,from:o=-1,to:n=-1}=t,i=Tr(ur(k(this,Hd).getTextFontSizes(e,o,n)));if(void 0===r)return i;const s=k(this,$d).get(),a=null!=s?k(this,$d).getFontSizeUnit():"Point";if(r===a)return i;if(null==s)throw new Error("No scene found for unit conversion");const l=this.getFloat(s,"scene/dpi");return i.map(e=>Qd(Kd(e,a,l),r,l))}return $t("from",t,Ft()),$t("to",r,Ft()),Tr(ur(k(this,Hd).getTextFontSizes(e,t,r)))}setTextFontStyle(e,t,r=-1,o=-1){$t("id",e,Ft()),$t("from",r,Ft()),$t("to",o,Ft()),ur(k(this,Hd).setTextFontStyle(e,t,r,o))}getTextFontStyles(e,t=-1,r=-1){return $t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),Tr(ur(k(this,Hd).getTextFontStyles(e,t,r)))}getTextCases(e,t=-1,r=-1){return $t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),Tr(ur(k(this,Hd).getTextCases(e,t,r)))}setTextCase(e,t,r=-1,o=-1){$t("id",e,Ft()),$t("textCase",t,Dt()),$t("from",r,Ft()),$t("to",o,Ft()),ur(k(this,Hd).setTextCase(e,t,r,o))}getTextDecorations(e,t=-1,r=-1){$t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft());const o=ur(k(this,Hd).getTextDecorations(e,t,r));return Tr(o).map(e=>({...e,underlineColor:null!=e.underlineColor?mo.toColor(e.underlineColor):void 0}))}setTextDecoration(e,t,r=-1,o=-1){$t("id",e,Ft()),$t("from",r,Ft()),$t("to",o,Ft());const n={...t,underlineColor:null!=t.underlineColor?mo.fromColor(t.underlineColor):void 0};ur(k(this,Hd).setTextDecoration(e,n,r,o))}setTextKerning(e,t,r=-1,o=-1){$t("id",e,Ft()),$t("kerning",t,It()),$t("from",r,Ft()),$t("to",o,Ft()),ur(k(this,Hd).setTextKerning(e,t,r,o))}getTextKernings(e,t=-1,r=-1){return $t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),Tr(ur(k(this,Hd).getTextKernings(e,t,r)))}toggleTextDecorationUnderline(e,t=-1,r=-1){$t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),ur(k(this,Hd).toggleTextDecorationUnderline(e,t,r))}toggleTextDecorationStrikethrough(e,t=-1,r=-1){$t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),ur(k(this,Hd).toggleTextDecorationStrikethrough(e,t,r))}toggleTextDecorationOverline(e,t=-1,r=-1){$t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),ur(k(this,Hd).toggleTextDecorationOverline(e,t,r))}getTextHorizontalAlignment(e,t=-1){return $t("id",e,Ft()),$t("paragraphIndex",t,Ft()),ur(k(this,Hd).getTextHorizontalAlignment(e,t))}setTextHorizontalAlignment(e,t,r=-1){$t("id",e,Ft()),void 0!==t&&$t("alignment",t,Dt()),$t("paragraphIndex",r,Ft()),ur(k(this,Hd).setTextHorizontalAlignment(e,t,r))}getTextListStyle(e,t){return $t("id",e,Ft()),$t("paragraphIndex",t,Ft()),ur(k(this,Hd).getTextListStyle(e,t))}setTextListStyle(e,t,r=-1,o){$t("id",e,Ft()),$t("listStyle",t,Dt()),$t("paragraphIndex",r,Ft()),void 0!==o&&$t("listLevel",o,Ft()),ur(k(this,Hd).setTextListStyle(e,t,r,o))}getTextListLevel(e,t){return $t("id",e,Ft()),$t("paragraphIndex",t,Ft()),ur(k(this,Hd).getTextListLevel(e,t))}setTextListLevel(e,t,r=-1){$t("id",e,Ft()),$t("listLevel",t,Ft()),$t("paragraphIndex",r,Ft()),ur(k(this,Hd).setTextListLevel(e,t,r))}getTextParagraphIndices(e,t=-1,r=-1){return $t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),Tr(ur(k(this,Hd).getTextParagraphIndices(e,t,r)))}setTextLineHeight(e,t,r=-1){$t("id",e,Ft()),null!==t&&$t("lineHeight",t,It()),$t("paragraphIndex",r,Ft()),ur(k(this,Hd).setTextLineHeight(e,t??void 0,r))}getTextLineHeight(e,t){return $t("id",e,Ft()),$t("paragraphIndex",t,Ft()),ur(k(this,Hd).getTextLineHeight(e,t))}canToggleBoldFont(e,t=-1,r=-1){return $t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),ur(k(this,Hd).canToggleBoldFont(e,t,r))}canToggleItalicFont(e,t=-1,r=-1){return $t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),ur(k(this,Hd).canToggleItalicFont(e,t,r))}toggleBoldFont(e,t=-1,r=-1){$t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),ur(k(this,Hd).toggleBoldFont(e,t,r))}toggleItalicFont(e,t=-1,r=-1){$t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),ur(k(this,Hd).toggleItalicFont(e,t,r))}setFont(e,t,r){$t("block",e,Ft()),$t("fontFileUri",t,Dt()),ur(k(this,Hd).setFont(e,t,r))}setTypeface(e,t,r=-1,o=-1){$t("block",e,Ft()),$t("from",r,Ft()),$t("to",o,Ft()),ur(k(this,Hd).setTypeface(e,t,r,o))}getTypeface(e){return $t("block",e,Ft()),ur(k(this,Hd).getTypeface(e))}getTypefaces(e,t=-1,r=-1){return $t("block",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),Tr(ur(k(this,Hd).getTypefaces(e,t,r)))}getTextCursorRange(){return ur(k(this,Hd).getTextCursorRange())}setTextCursorRange(e){$t("range",e,Rt({from:Ft(),to:Ft()})),ur(k(this,Hd).setTextCursorRange(e))}getTextVisibleLineCount(e){return $t("id",e,Ft()),ur(k(this,Hd).getTextVisibleLineCount(e))}getTextVisibleLineGlobalBoundingBoxXYWH(e,t){return $t("id",e,Ft()),$t("lineIndex",t,Ft()),ur(k(this,Hd).getTextVisibleLineGlobalBoundingBoxXYWH(e,t))}getTextVisibleLineContent(e,t){return $t("id",e,Ft()),$t("lineIndex",t,Ft()),ur(k(this,Hd).getTextVisibleLineContent(e,t))}getTextCharacterInkBoxes(e,t=-1,r=-1){return $t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),Tr(ur(k(this,Hd).getTextCharacterInkBoxes(e,t,r)))}getTextEffectiveHorizontalAlignment(e){return $t("id",e,Ft()),ur(k(this,Hd).getTextEffectiveHorizontalAlignment(e))}hasFill(e){return $t("id",e,Ft()),ur(k(this,Hd).hasFill(e))}supportsFill(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsFill(e))}isFillEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isFillEnabled(e))}setFillEnabled(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setFillEnabled(e,t))}getFillOverprint(e){return $t("id",e,Ft()),ur(k(this,Hd).getFillOverprint(e))}setFillOverprint(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setFillOverprint(e,t))}getFill(e){return $t("id",e,Ft()),ur(k(this,Hd).getFill(e))}setFill(e,t){return $t("id",e,Ft()),$t("fill",t,Ft()),ur(k(this,Hd).setFill(e,t))}setFillSolidColor(e,t,r,o,n=1){$t("id",e,Ft()),ur(k(this,Hd).setFillSolidColor(e,t,r,o,n))}getFillSolidColor(e){return $t("id",e,Ft()),ur(k(this,Hd).getFillSolidColor(e))}setPlaceholderEnabled(e,t){$t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setPlaceholderEnabled(e,t))}isPlaceholderEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isPlaceholderEnabled(e))}hasPlaceholderBehavior(e){return $t("id",e,Ft()),ur(k(this,Hd).hasPlaceholderBehavior(e))}supportsPlaceholderBehavior(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsPlaceholderBehavior(e))}setPlaceholderBehaviorEnabled(e,t){$t("id",e,Ft()),ur(k(this,Hd).setPlaceholderBehaviorEnabled(e,t))}isPlaceholderBehaviorEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isPlaceholderBehaviorEnabled(e))}hasPlaceholderControls(e){return $t("id",e,Ft()),ur(k(this,Hd).hasPlaceholderControls(e))}supportsPlaceholderControls(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsPlaceholderControls(e))}setPlaceholderControlsOverlayEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setPlaceholderControlsOverlayEnabled(e,t))}isPlaceholderControlsOverlayEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isPlaceholderControlsOverlayEnabled(e))}setPlaceholderControlsButtonEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setPlaceholderControlsButtonEnabled(e,t))}isPlaceholderControlsButtonEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isPlaceholderControlsButtonEnabled(e))}setMetadata(e,t,r){$t("id",e,Ft()),$t("key",t,Dt()),$t("value",r,Dt()),ur(k(this,Hd).setMetadata(e,t,r))}getMetadata(e,t){return $t("id",e,Ft()),$t("key",t,Dt()),ur(k(this,Hd).getMetadata(e,t))}hasMetadata(e,t){return $t("id",e,Ft()),$t("key",t,Dt()),ur(k(this,Hd).hasMetadata(e,t))}findAllMetadata(e){return $t("id",e,Ft()),Tr(ur(k(this,Hd).findAllMetadata(e)))}removeMetadata(e,t){$t("id",e,Ft()),$t("key",t,Dt()),ur(k(this,Hd).removeMetadata(e,t))}setScopeEnabled(e,t,r){$t("id",e,Ft()),$t("key",t,Dt()),$t("enabled",r,At()),ur(k(this,Hd).setScopeEnabled(e,t,r))}isScopeEnabled(e,t){return $t("id",e,Ft()),$t("key",t,Dt()),ur(k(this,Hd).isScopeEnabled(e,t))}isAllowedByScope(e,t){return $t("id",e,Ft()),$t("key",t,Dt()),ur(k(this,Hd).isAllowedByScope(e,t))}hasDuration(e){return $t("id",e,Ft()),ur(k(this,Hd).hasDuration(e))}supportsDuration(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsDuration(e))}setDuration(e,t){return $t("id",e,Ft()),$t("duration",t,It()),ur(k(this,Hd).setDuration(e,t))}getDuration(e){return $t("id",e,Ft()),ur(k(this,Hd).getDuration(e))}setPageDurationSource(e,t){return $t("page",e,Ft()),$t("id",t,Ft()),ur(k(this,Hd).setPageDurationSource(e,t))}isPageDurationSource(e){return $t("id",e,Ft()),ur(k(this,Hd).isPageDurationSource(e))}supportsPageDurationSource(e,t){return $t("page",e,Ft()),$t("id",t,Ft()),ur(k(this,Hd).supportsPageDurationSource(e,t))}removePageDurationSource(e){$t("id",e,Ft()),ur(k(this,Hd).removePageDurationSource(e))}hasTimeOffset(e){return $t("id",e,Ft()),ur(k(this,Hd).hasTimeOffset(e))}supportsTimeOffset(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsTimeOffset(e))}setTimeOffset(e,t){return $t("id",e,Ft()),$t("offset",t,It()),ur(k(this,Hd).setTimeOffset(e,t))}getTimeOffset(e){return $t("id",e,Ft()),ur(k(this,Hd).getTimeOffset(e))}hasTrim(e){return $t("id",e,Ft()),ur(k(this,Hd).hasTrim(e))}supportsTrim(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsTrim(e))}setTrimOffset(e,t){return $t("id",e,Ft()),$t("offset",t,It()),ur(k(this,Hd).setTrimOffset(e,t))}getTrimOffset(e){return $t("id",e,Ft()),ur(k(this,Hd).getTrimOffset(e))}setTrimLength(e,t){return $t("id",e,Ft()),$t("length",t,It()),ur(k(this,Hd).setTrimLength(e,t))}getTrimLength(e){return $t("id",e,Ft()),ur(k(this,Hd).getTrimLength(e))}split(e,t,r={}){return $t("id",e,Ft()),$t("atTime",t,It()),$t("options",r,Rt({attachToParent:Lt(At()),createParentTrackIfNeeded:Lt(At()),selectNewBlock:Lt(At())})),ur(k(this,Hd).split(e,t,{attachToParent:r.attachToParent??!0,createParentTrackIfNeeded:r.createParentTrackIfNeeded??!1,selectNewBlock:r.selectNewBlock??!0}))}getTotalSceneDuration(e){return $t("scene",e,Ft()),ur(k(this,Hd).getTotalSceneDuration(e))}setPlaying(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setPlaying(e,t))}isPlaying(e){return $t("id",e,Ft()),ur(k(this,Hd).isPlaying(e))}hasPlaybackTime(e){return $t("id",e,Ft()),ur(k(this,Hd).hasPlaybackTime(e))}supportsPlaybackTime(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsPlaybackTime(e))}setPlaybackTime(e,t){return $t("id",e,Ft()),$t("time",t,It()),ur(k(this,Hd).setPlaybackTime(e,t))}getPlaybackTime(e){return $t("id",e,Ft()),ur(k(this,Hd).getPlaybackTime(e))}isVisibleAtCurrentPlaybackTime(e){return $t("id",e,Ft()),ur(k(this,Hd).isVisibleAtCurrentPlaybackTime(e))}setSoloPlaybackEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setSoloPlaybackEnabled(e,t))}isSoloPlaybackEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isSoloPlaybackEnabled(e))}hasPlaybackControl(e){return $t("id",e,Ft()),ur(k(this,Hd).hasPlaybackControl(e))}supportsPlaybackControl(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsPlaybackControl(e))}setLooping(e,t){$t("id",e,Ft()),$t("looping",t,At()),ur(k(this,Hd).setLooping(e,t))}isLooping(e){return $t("id",e,Ft()),ur(k(this,Hd).isLooping(e))}setMuted(e,t){$t("id",e,Ft()),$t("muted",t,At()),ur(k(this,Hd).setMuted(e,t))}isForceMuted(e){return $t("id",e,Ft()),ur(k(this,Hd).isForceMuted(e))}isMuted(e){return $t("id",e,Ft()),ur(k(this,Hd).isMuted(e))}setVolume(e,t){$t("id",e,Ft()),$t("volume",t,It()),ur(k(this,Hd).setVolume(e,t))}getVolume(e){return $t("id",e,Ft()),ur(k(this,Hd).getVolume(e))}setPlaybackSpeed(e,t){$t("id",e,Ft()),$t("speed",t,It()),ur(k(this,Hd).setPlaybackSpeed(e,t))}getPlaybackSpeed(e){return $t("id",e,Ft()),ur(k(this,Hd).getPlaybackSpeed(e))}async forceLoadAVResource(e){return $t("id",e,Ft()),hr(t=>k(this,Hd).forceLoadAVResource(e,t))}unstable_isAVResourceLoaded(e){return $t("id",e,Ft()),ur(k(this,Hd).unstable_isAVResourceLoaded(e))}getAVResourceTotalDuration(e){return $t("id",e,Ft()),ur(k(this,Hd).getAVResourceTotalDuration(e))}getVideoWidth(e){return $t("id",e,Ft()),ur(k(this,Hd).getVideoWidth(e))}getVideoHeight(e){return $t("id",e,Ft()),ur(k(this,Hd).getVideoHeight(e))}generateVideoThumbnailSequence(e,t,r,o,n,i){$t("id",e,Ft()),$t("thumbnailHeight",t,Ft()),$t("timeBegin",r,It()),$t("timeEnd",o,It()),$t("numberOfFrames",n,Ft());const s=k(this,Hd).generateVideoThumbnailSequence(e,t,r,o,n,e=>{"error"in e?i(0,new Error(e.error)):i(e.frameIndex,new ImageData(new Uint8ClampedArray(e.imageData),e.width,e.height))});return()=>{k(this,Hd).cancelVideoThumbnailSequenceGeneration(s)}}generateAudioThumbnailSequence(e,t,r,o,n,i,s){$t("id",e,Ft()),$t("samplesPerChunk",t,Ft()),$t("timeBegin",r,It()),$t("timeEnd",o,It()),$t("numberOfSamples",n,Ft()),$t("numberOfChannels",i,Ft());const a=k(this,Hd).generateAudioThumbnailSequence(e,t,r,o,n,i,e=>{"error"in e?s(0,new Error(e.error)):s(e.chunkIndex,e.sampleData)});return()=>{k(this,Hd).cancelAudioThumbnailSequenceGeneration(a)}}async getVideoFillThumbnail(e,t){return $t("id",e,Ft()),$t("thumbnailHeight",t,Ft()),new Promise((r,o)=>{k(this,Hd).getVideoFillThumbnail(e,t,e=>{"error"in e?o(e.error):r(new Blob([e],{type:"image/jpeg"}))})})}async getVideoFillThumbnailAtlas(e,t,r,o){return $t("id",e,Ft()),$t("numberOfColumns",t,Ft()),$t("numberOfRows",r,Ft()),$t("thumbnailHeight",o,Ft()),new Promise((n,i)=>{k(this,Hd).getVideoFillThumbnailAtlas(e,t,r,o,e=>{"error"in e?i(e.error):n(new Blob([e],{type:"image/jpeg"}))})})}async getPageThumbnailAtlas(e,t,r,o){return $t("id",e,Ft()),$t("numberOfColumns",t,Ft()),$t("numberOfRows",r,Ft()),new Promise((n,i)=>{k(this,Hd).getPageThumbnailAtlas(e,t,r,o,e=>{"error"in e?i(e.error):n(new Blob([e],{type:"image/jpeg"}))})})}createAnimation(e){return $t("type",e,Dt()),ur(k(this,Hd).createAnimation(e))}supportsAnimation(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsAnimation(e))}setInAnimation(e,t){$t("id",e,Ft()),$t("animation",t,Ft()),ur(k(this,Hd).setInAnimation(e,t))}setLoopAnimation(e,t){$t("id",e,Ft()),$t("animation",t,Ft()),ur(k(this,Hd).setLoopAnimation(e,t))}setOutAnimation(e,t){$t("id",e,Ft()),$t("animation",t,Ft()),ur(k(this,Hd).setOutAnimation(e,t))}getInAnimation(e){return $t("id",e,Ft()),ur(k(this,Hd).getInAnimation(e))}getLoopAnimation(e){return $t("id",e,Ft()),ur(k(this,Hd).getLoopAnimation(e))}getOutAnimation(e){return $t("id",e,Ft()),ur(k(this,Hd).getOutAnimation(e))}setNativePixelBuffer(e,t){$t("id",e,Ft()),t instanceof HTMLVideoElement&&(t.width=t.videoWidth,t.height=t.videoHeight),ur(k(this,Hd).setNativePixelBuffer(e,t))}getState(e){return $t("id",e,Ft()),ur(k(this,Hd).getState(e))}setState(e,t){$t("id",e,Ft()),ur(k(this,Hd).setState(e,t))}async forceLoadResources(e){return $t("ids",e,Pt(Ft())),hr(t=>k(this,Hd).forceLoadResources(e,t))}async addImage(e,t={}){$t("url",e,Dt()),$t("options",t,Lt(Rt({sizeMode:Lt(er()),positionMode:Lt(tr()),x:Lt(It()),y:Lt(It()),cornerRadius:Lt(It()),size:Lt(Bt([It(),Rt({width:It(),height:It()})])),timeline:Lt(Rt({timeOffset:Lt(It()),duration:Lt(It())})),shadow:Lt(Rt({color:Lt(or()),offset:Lt(Rt({x:Lt(It()),y:Lt(It())})),blur:Lt(Rt({x:Lt(It()),y:Lt(It())}))})),animation:Lt(Rt({in:Lt(nr()),loop:Lt(nr()),out:Lt(nr())}))})));const{x:r,y:o,size:n,timeline:i,animation:s,shadow:a,cornerRadius:l,sizeMode:d="Absolute",positionMode:c="Absolute"}=t;let u,h;if(null!=n)"number"==typeof n?(u=n,h=n):(u=n.width,h=n.height);else{const t=await new Promise((t,r)=>{const o=new Image;o.src=e,o.onerror=r,o.onload=()=>{t({width:o.width,height:o.height})}});u=t.width,h=t.height}const p=k(this,$d).getCurrentPage();if(null==p)throw new Error("No current page");const g=this.create("graphic");this.appendChild(p,g),this.setPositionXMode(g,c),this.setPositionYMode(g,c),this.setWidthMode(g,d),this.setHeightMode(g,d),null!=u&&this.setWidth(g,u),null!=h&&this.setHeight(g,h),null!=r?this.setPositionX(g,r):this.alignHorizontally([g],"Center"),null!=o?this.setPositionY(g,o):this.alignVertically([g],"Center");const f=this.createShape("rect");this.setShape(g,f),null!=l&&(this.setFloat(f,"shape/rect/cornerRadiusBL",l),this.setFloat(f,"shape/rect/cornerRadiusBR",l),this.setFloat(f,"shape/rect/cornerRadiusTL",l),this.setFloat(f,"shape/rect/cornerRadiusTR",l));const m=this.createFill("image");return this.setFill(g,m),this.setString(m,"fill/image/imageFileURI",e),null!=a&&this.applyDropShadow(g,a),null!=i?.timeOffset&&this.setTimeOffset(g,i.timeOffset),null!=i?.duration&&this.setDuration(g,i.duration),null!=s&&this.applyAnimation(g,s),await this.forceLoadResources([g]),this.adjustCropToFillFrame(g,.5),g}async addVideo(e,t,r,o={}){$t("url",e,Dt()),$t("width",t,It()),$t("height",r,It()),$t("options",o,Lt(Rt({sizeMode:Lt(er()),positionMode:Lt(tr()),x:Lt(It()),y:Lt(It()),timeline:Lt(Rt({timeOffset:Lt(It()),duration:Lt(It())})),animation:Lt(Rt({in:Lt(nr()),loop:Lt(nr()),out:Lt(nr())})),shadow:Lt(Rt({color:Lt(or()),offset:Lt(Rt({x:Lt(It()),y:Lt(It())})),blur:Lt(Rt({x:Lt(It()),y:Lt(It())}))})),cornerRadius:Lt(It())})));const{x:n,y:i,timeline:s,animation:a,shadow:l,cornerRadius:d,sizeMode:c="Absolute",positionMode:u="Absolute"}=o,h=k(this,$d).getCurrentPage();if(null==h)throw new Error("No current page");const p=this.create("graphic");this.appendChild(h,p),this.setPositionXMode(p,u),this.setPositionYMode(p,u),this.setWidthMode(p,c),this.setHeightMode(p,c),this.setWidth(p,t),this.setHeight(p,r),null!=n?this.setPositionX(p,n):this.alignHorizontally([p],"Center"),null!=i?this.setPositionY(p,i):this.alignVertically([p],"Center");const g=this.createShape("rect");this.setShape(p,g),null!=d&&(this.setFloat(g,"shape/rect/cornerRadiusBL",d),this.setFloat(g,"shape/rect/cornerRadiusBR",d),this.setFloat(g,"shape/rect/cornerRadiusTL",d),this.setFloat(g,"shape/rect/cornerRadiusTR",d));const f=this.createFill("video");return this.setFill(p,f),this.setString(f,"fill/video/fileURI",e),null!=l&&this.applyDropShadow(p,l),null!=s?.timeOffset&&this.setTimeOffset(p,s.timeOffset),null!=s?.duration&&this.setDuration(p,s.duration),null!=a&&this.applyAnimation(p,a),await this.forceLoadResources([p]),this.adjustCropToFillFrame(p,0),p}applyAnimation(e,t={}){if($t("block",e,Ft()),$t("animation",t,Lt(Rt({in:Lt(nr()),loop:Lt(nr()),out:Lt(nr())}))),null!=t.in){const r=this.createAnimation(t.in.type);if(this.setInAnimation(e,r),this.setDuration(r,t.in.duration),null!=t.in.easing&&E(this,Nd,zd).call(this,r,"animationEasing")){const e=this.getEnumValues("animationEasing"),o=t.in.easing??"Linear";e.includes(o)&&this.setEnum(r,"animationEasing",o)}}if(null!=t.out){const r=this.createAnimation(t.out.type);if(this.setOutAnimation(e,r),this.setDuration(r,t.out.duration),null!=t.out.easing&&E(this,Nd,zd).call(this,r,"animationEasing")){const e=this.getEnumValues("animationEasing"),o=t.out.easing??"Linear";e.includes(o)&&this.setEnum(r,"animationEasing",o)}}if(null!=t.loop){const r=this.createAnimation(t.loop.type);if(this.setLoopAnimation(e,r),this.setDuration(r,t.loop.duration),null!=t.loop.easing&&E(this,Nd,zd).call(this,r,"animationEasing")){const e=this.getEnumValues("animationEasing"),o=t.loop.easing??"Linear";e.includes(o)&&this.setEnum(r,"animationEasing",o)}}}applyDropShadow(e,t={}){$t("block",e,Ft()),$t("options",t,Lt(Rt({color:Lt(or()),offset:Lt(Rt({x:Lt(It()),y:Lt(It())})),blur:Lt(Rt({x:Lt(It()),y:Lt(It())}))})));const{color:r,offset:o,blur:n}=t;this.setDropShadowEnabled(e,!0),null!=r&&this.setDropShadowColor(e,r),null!=o&&(null!=o.x&&this.setDropShadowOffsetX(e,o.x),null!=o.y&&this.setDropShadowOffsetY(e,o.y)),null!=n&&(null!=n.x&&this.setDropShadowBlurRadiusX(e,n.x),null!=n.y&&this.setDropShadowBlurRadiusY(e,n.y))}async generateThumbnailAtTimeOffset(e,t){$t("height",e,jt(Ut(Ft(),512),1)),$t("time",t,It());const r=k(this,$d).getCurrentPage();if(null==r)throw new Error("No page to get thumbnail for");return new Promise((o,n)=>{k(this,Hd).generateVideoThumbnailSequence(r,e,t,t,1,e=>{if("error"in e)n(e.error);else{const t=new ImageData(new Uint8ClampedArray(e.imageData),e.width,e.height),r=document.createElement("canvas");r.width=e.width,r.height=e.height;const i=r.getContext("2d");if(!i)return void n(new Error("Failed to get canvas context"));i.putImageData(t,0,0),r.toBlob(e=>{e?o(e):n(new Error("Failed to convert to PNG"))},"image/png")}})})}getBackgroundTrack(){if(null==k(this,$d).getCurrentPage())return null;return this.findByType("track").find(e=>this.isPageDurationSource(e))??null}moveToBackgroundTrack(e){$t("block",e,Ft());let t=this.getBackgroundTrack();if(null==t){const e=k(this,$d).getCurrentPage();if(null==e)throw new Error("No current page found");t=this.create("//ly.img.ubq/track"),this.appendChild(e,t),this.setAlwaysOnBottom(t,!0),this.supportsPageDurationSource(e,t)&&this.setPageDurationSource(e,t)}this.appendChild(t,e)}};Vd=h(null),Hd=new WeakMap,$d=new WeakMap,Nd=new WeakSet,zd=function(e,t){return this.findAllProperties(e).includes(t)},y(Vd,1,"loadFromString",Wd,BlockAPI),y(Vd,1,"loadFromArchiveURL",qd,BlockAPI),y(Vd,1,"loadFromURL",jd,BlockAPI),y(Vd,1,"create",Ud,BlockAPI),y(Vd,1,"createFill",Bd,BlockAPI),y(Vd,1,"createAudioFromVideo",Od,BlockAPI),y(Vd,1,"createAudiosFromVideo",Dd,BlockAPI),y(Vd,1,"createCaptionsFromURI",Ld,BlockAPI),y(Vd,1,"getType",Rd,BlockAPI),y(Vd,1,"getKind",Id,BlockAPI),y(Vd,1,"setKind",Fd,BlockAPI),y(Vd,1,"select",Md,BlockAPI),y(Vd,1,"setSelected",Ad,BlockAPI),y(Vd,1,"isSelected",Pd,BlockAPI),y(Vd,1,"findAllSelected",Td,BlockAPI),y(Vd,1,"isGroupable",xd,BlockAPI),y(Vd,1,"group",Ed,BlockAPI),y(Vd,1,"ungroup",Cd,BlockAPI),y(Vd,1,"enterGroup",Sd,BlockAPI),y(Vd,1,"exitGroup",kd,BlockAPI),y(Vd,1,"isCombinable",_d,BlockAPI),y(Vd,1,"combine",wd,BlockAPI),y(Vd,1,"setName",vd,BlockAPI),y(Vd,1,"getName",yd,BlockAPI),y(Vd,1,"getUUID",bd,BlockAPI),y(Vd,1,"findByName",md,BlockAPI),y(Vd,1,"findByType",fd,BlockAPI),y(Vd,1,"findByKind",gd,BlockAPI),y(Vd,1,"findAll",pd,BlockAPI),y(Vd,1,"findAllPlaceholders",hd,BlockAPI),y(Vd,1,"findAllUnused",ud,BlockAPI),y(Vd,1,"createShape",cd,BlockAPI),y(Vd,1,"getShape",dd,BlockAPI),y(Vd,1,"setShape",ld,BlockAPI),y(Vd,1,"isVisible",ad,BlockAPI),y(Vd,1,"setVisible",sd,BlockAPI),y(Vd,1,"isClipped",id,BlockAPI),y(Vd,1,"setClipped",nd,BlockAPI),y(Vd,1,"isTransformLocked",od,BlockAPI),y(Vd,1,"isLineOrigin",rd,BlockAPI),y(Vd,1,"setTransformLocked",td,BlockAPI),y(Vd,1,"getPositionX",ed,BlockAPI),y(Vd,1,"getPositionXMode",Jl,BlockAPI),y(Vd,1,"getPositionY",Zl,BlockAPI),y(Vd,1,"getPositionYMode",Ql,BlockAPI),y(Vd,1,"setPositionX",Kl,BlockAPI),y(Vd,1,"setPositionXMode",Yl,BlockAPI),y(Vd,1,"setPositionY",Xl,BlockAPI),y(Vd,1,"setPositionYMode",Gl,BlockAPI),y(Vd,1,"setAlwaysOnTop",zl,BlockAPI),y(Vd,1,"setAlwaysOnBottom",Nl,BlockAPI),y(Vd,1,"isAlwaysOnTop",Vl,BlockAPI),y(Vd,1,"isAlwaysOnBottom",$l,BlockAPI),y(Vd,1,"bringToFront",Hl,BlockAPI),y(Vd,1,"sendToBack",Wl,BlockAPI),y(Vd,1,"bringForward",ql,BlockAPI),y(Vd,1,"sendBackward",jl,BlockAPI),y(Vd,1,"getRotation",Ul,BlockAPI),y(Vd,1,"setRotation",Bl,BlockAPI),y(Vd,1,"getFlipHorizontal",Ol,BlockAPI),y(Vd,1,"getFlipVertical",Dl,BlockAPI),y(Vd,1,"setFlipHorizontal",Ll,BlockAPI),y(Vd,1,"setFlipVertical",Rl,BlockAPI),y(Vd,1,"getWidth",Il,BlockAPI),y(Vd,1,"getWidthMode",Fl,BlockAPI),y(Vd,1,"getHeight",Ml,BlockAPI),y(Vd,1,"getHeightMode",Al,BlockAPI),y(Vd,1,"setSize",Pl,BlockAPI),y(Vd,1,"setPosition",Tl,BlockAPI),y(Vd,1,"setWidth",xl,BlockAPI),y(Vd,1,"setWidthMode",El,BlockAPI),y(Vd,1,"setHeight",Cl,BlockAPI),y(Vd,1,"setHeightMode",Sl,BlockAPI),y(Vd,1,"getFrameX",kl,BlockAPI),y(Vd,1,"getFrameY",_l,BlockAPI),y(Vd,1,"getFrameWidth",wl,BlockAPI),y(Vd,1,"getFrameHeight",vl,BlockAPI),y(Vd,1,"setContentFillMode",yl,BlockAPI),y(Vd,1,"getContentFillMode",bl,BlockAPI),y(Vd,1,"setContentFillHorizontalAlignment",ml,BlockAPI),y(Vd,1,"getContentFillHorizontalAlignment",fl,BlockAPI),y(Vd,1,"setContentFillVerticalAlignment",gl,BlockAPI),y(Vd,1,"getContentFillVerticalAlignment",pl,BlockAPI),y(Vd,1,"duplicate",hl,BlockAPI),y(Vd,1,"destroy",ul,BlockAPI),y(Vd,1,"isValid",cl,BlockAPI),y(Vd,1,"getParent",dl,BlockAPI),y(Vd,1,"getChildren",ll,BlockAPI),y(Vd,1,"insertChild",al,BlockAPI),y(Vd,1,"appendChild",sl,BlockAPI),y(Vd,1,"referencesAnyVariables",il,BlockAPI),y(Vd,1,"getGlobalBoundingBoxX",nl,BlockAPI),y(Vd,1,"getGlobalBoundingBoxY",ol,BlockAPI),y(Vd,1,"getGlobalBoundingBoxWidth",rl,BlockAPI),y(Vd,1,"getGlobalBoundingBoxHeight",tl,BlockAPI),y(Vd,1,"getScreenSpaceBoundingBoxXYWH",el,BlockAPI),y(Vd,1,"alignHorizontally",Ja,BlockAPI),y(Vd,1,"alignVertically",Za,BlockAPI),y(Vd,1,"isAlignable",Qa,BlockAPI),y(Vd,1,"distributeHorizontally",Ka,BlockAPI),y(Vd,1,"distributeVertically",Ya,BlockAPI),y(Vd,1,"isDistributable",Xa,BlockAPI),y(Vd,1,"fillParent",Ga,BlockAPI),y(Vd,1,"resizeContentAware",za,BlockAPI),y(Vd,1,"scale",Na,BlockAPI),y(Vd,1,"findAllProperties",Va,BlockAPI),y(Vd,1,"isPropertyReadable",$a,BlockAPI),y(Vd,1,"isPropertyWritable",Ha,BlockAPI),y(Vd,1,"getPropertyType",Wa,BlockAPI),y(Vd,1,"getEnumValues",qa,BlockAPI),y(Vd,1,"setBool",ja,BlockAPI),y(Vd,1,"getBool",Ua,BlockAPI),y(Vd,1,"setInt",Ba,BlockAPI),y(Vd,1,"getInt",Oa,BlockAPI),y(Vd,1,"setFloat",Da,BlockAPI),y(Vd,1,"getFloat",La,BlockAPI),y(Vd,1,"setDouble",Ra,BlockAPI),y(Vd,1,"getDouble",Ia,BlockAPI),y(Vd,1,"setString",Fa,BlockAPI),y(Vd,1,"getString",Ma,BlockAPI),y(Vd,1,"setColor",Aa,BlockAPI),y(Vd,1,"getColor",Pa,BlockAPI),y(Vd,1,"setColorRGBA",Ta,BlockAPI),y(Vd,1,"getColorRGBA",xa,BlockAPI),y(Vd,1,"setColorSpot",Ea,BlockAPI),y(Vd,1,"getColorSpotName",Ca,BlockAPI),y(Vd,1,"getColorSpotTint",Sa,BlockAPI),y(Vd,1,"setGradientColorStops",ka,BlockAPI),y(Vd,1,"getGradientColorStops",_a,BlockAPI),y(Vd,1,"getSourceSet",wa,BlockAPI),y(Vd,1,"setSourceSet",va,BlockAPI),y(Vd,1,"addImageFileURIToSourceSet",ya,BlockAPI),y(Vd,1,"addVideoFileURIToSourceSet",ba,BlockAPI),y(Vd,1,"setEnum",ma,BlockAPI),y(Vd,1,"getEnum",fa,BlockAPI),y(Vd,1,"setCropScaleX",ga,BlockAPI),y(Vd,1,"setCropScaleY",pa,BlockAPI),y(Vd,1,"setCropRotation",ha,BlockAPI),y(Vd,1,"setCropScaleRatio",ua,BlockAPI),y(Vd,1,"setCropTranslationX",ca,BlockAPI),y(Vd,1,"setCropTranslationY",da,BlockAPI),y(Vd,1,"resetCrop",la,BlockAPI),y(Vd,1,"getCropScaleX",aa,BlockAPI),y(Vd,1,"getCropScaleY",sa,BlockAPI),y(Vd,1,"getCropRotation",ia,BlockAPI),y(Vd,1,"getCropScaleRatio",na,BlockAPI),y(Vd,1,"getCropTranslationX",oa,BlockAPI),y(Vd,1,"getCropTranslationY",ra,BlockAPI),y(Vd,1,"adjustCropToFillFrame",ta,BlockAPI),y(Vd,1,"flipCropHorizontal",ea,BlockAPI),y(Vd,1,"flipCropVertical",Js,BlockAPI),y(Vd,1,"isCropAspectRatioLocked",Zs,BlockAPI),y(Vd,1,"setCropAspectRatioLocked",Qs,BlockAPI),y(Vd,1,"setOpacity",Ks,BlockAPI),y(Vd,1,"getOpacity",Ys,BlockAPI),y(Vd,1,"setBlendMode",Xs,BlockAPI),y(Vd,1,"getBlendMode",Gs,BlockAPI),y(Vd,1,"isIncludedInExport",zs,BlockAPI),y(Vd,1,"setIncludedInExport",Ns,BlockAPI),y(Vd,1,"setFillColorRGBA",Vs,BlockAPI),y(Vd,1,"getFillColorRGBA",$s,BlockAPI),y(Vd,1,"setFillColorEnabled",Hs,BlockAPI),y(Vd,1,"isFillColorEnabled",Ws,BlockAPI),y(Vd,1,"createEffect",qs,BlockAPI),y(Vd,1,"getEffects",js,BlockAPI),y(Vd,1,"insertEffect",Us,BlockAPI),y(Vd,1,"appendEffect",Bs,BlockAPI),y(Vd,1,"removeEffect",Os,BlockAPI),y(Vd,1,"setEffectEnabled",Ds,BlockAPI),y(Vd,1,"isEffectEnabled",Ls,BlockAPI),y(Vd,1,"createBlur",Rs,BlockAPI),y(Vd,1,"setBlur",Is,BlockAPI),y(Vd,1,"getBlur",Fs,BlockAPI),y(Vd,1,"setBlurEnabled",Ms,BlockAPI),y(Vd,1,"isBlurEnabled",As,BlockAPI),y(Vd,1,"setBackgroundColorRGBA",Ps,BlockAPI),y(Vd,1,"getBackgroundColorRGBA",Ts,BlockAPI),y(Vd,1,"setBackgroundColorEnabled",xs,BlockAPI),y(Vd,1,"isBackgroundColorEnabled",Es,BlockAPI),y(Vd,1,"setStrokeEnabled",Cs,BlockAPI),y(Vd,1,"isStrokeEnabled",Ss,BlockAPI),y(Vd,1,"setStrokeOverprint",ks,BlockAPI),y(Vd,1,"getStrokeOverprint",_s,BlockAPI),y(Vd,1,"setStrokeColorRGBA",ws,BlockAPI),y(Vd,1,"setStrokeColor",vs,BlockAPI),y(Vd,1,"getStrokeColorRGBA",ys,BlockAPI),y(Vd,1,"getStrokeColor",bs,BlockAPI),y(Vd,1,"setStrokeWidth",ms,BlockAPI),y(Vd,1,"getStrokeWidth",fs,BlockAPI),y(Vd,1,"setStrokeStyle",gs,BlockAPI),y(Vd,1,"getStrokeStyle",ps,BlockAPI),y(Vd,1,"setStrokePosition",hs,BlockAPI),y(Vd,1,"getStrokePosition",us,BlockAPI),y(Vd,1,"setStrokeCornerGeometry",cs,BlockAPI),y(Vd,1,"getStrokeCornerGeometry",ds,BlockAPI),y(Vd,1,"setStrokeCap",ls,BlockAPI),y(Vd,1,"getStrokeCap",as,BlockAPI),y(Vd,1,"setStrokeStartCap",ss,BlockAPI),y(Vd,1,"getStrokeStartCap",is,BlockAPI),y(Vd,1,"setStrokeEndCap",ns,BlockAPI),y(Vd,1,"getStrokeEndCap",os,BlockAPI),y(Vd,1,"setStrokeDashStartCap",rs,BlockAPI),y(Vd,1,"getStrokeDashStartCap",ts,BlockAPI),y(Vd,1,"setStrokeDashEndCap",es,BlockAPI),y(Vd,1,"getStrokeDashEndCap",Ji,BlockAPI),y(Vd,1,"setStrokeDashArray",Zi,BlockAPI),y(Vd,1,"getStrokeDashArray",Qi,BlockAPI),y(Vd,1,"setStrokeDashOffset",Ki,BlockAPI),y(Vd,1,"getStrokeDashOffset",Yi,BlockAPI),y(Vd,1,"setDropShadowEnabled",Xi,BlockAPI),y(Vd,1,"isDropShadowEnabled",Gi,BlockAPI),y(Vd,1,"setDropShadowColorRGBA",zi,BlockAPI),y(Vd,1,"setDropShadowColor",Ni,BlockAPI),y(Vd,1,"getDropShadowColorRGBA",Vi,BlockAPI),y(Vd,1,"getDropShadowColor",$i,BlockAPI),y(Vd,1,"setDropShadowOffsetX",Hi,BlockAPI),y(Vd,1,"getDropShadowOffsetX",Wi,BlockAPI),y(Vd,1,"setDropShadowOffsetY",qi,BlockAPI),y(Vd,1,"getDropShadowOffsetY",ji,BlockAPI),y(Vd,1,"setDropShadowBlurRadiusX",Ui,BlockAPI),y(Vd,1,"getDropShadowBlurRadiusX",Bi,BlockAPI),y(Vd,1,"setDropShadowBlurRadiusY",Oi,BlockAPI),y(Vd,1,"getDropShadowBlurRadiusY",Di,BlockAPI),y(Vd,1,"setDropShadowClip",Li,BlockAPI),y(Vd,1,"getDropShadowClip",Ri,BlockAPI),y(Vd,1,"createCutoutFromBlocks",Ii,BlockAPI),y(Vd,1,"createCutoutFromPath",Fi,BlockAPI),y(Vd,1,"createCutoutFromOperation",Mi,BlockAPI),y(Vd,1,"replaceText",Ai,BlockAPI),y(Vd,1,"removeText",Pi,BlockAPI),y(Vd,1,"setTextColor",Ti,BlockAPI),y(Vd,1,"getTextColors",xi,BlockAPI),y(Vd,1,"setTextFontWeight",Ei,BlockAPI),y(Vd,1,"getTextFontWeights",Ci,BlockAPI),y(Vd,1,"setTextFontSize",Si,BlockAPI),y(Vd,1,"getTextFontSizes",ki,BlockAPI),y(Vd,1,"setTextFontStyle",_i,BlockAPI),y(Vd,1,"getTextFontStyles",wi,BlockAPI),y(Vd,1,"getTextCases",vi,BlockAPI),y(Vd,1,"setTextCase",yi,BlockAPI),y(Vd,1,"getTextDecorations",bi,BlockAPI),y(Vd,1,"setTextDecoration",mi,BlockAPI),y(Vd,1,"setTextKerning",fi,BlockAPI),y(Vd,1,"getTextKernings",gi,BlockAPI),y(Vd,1,"toggleTextDecorationUnderline",pi,BlockAPI),y(Vd,1,"toggleTextDecorationStrikethrough",hi,BlockAPI),y(Vd,1,"toggleTextDecorationOverline",ui,BlockAPI),y(Vd,1,"getTextHorizontalAlignment",ci,BlockAPI),y(Vd,1,"setTextHorizontalAlignment",di,BlockAPI),y(Vd,1,"getTextListStyle",li,BlockAPI),y(Vd,1,"setTextListStyle",ai,BlockAPI),y(Vd,1,"getTextListLevel",si,BlockAPI),y(Vd,1,"setTextListLevel",ii,BlockAPI),y(Vd,1,"getTextParagraphIndices",ni,BlockAPI),y(Vd,1,"setTextLineHeight",oi,BlockAPI),y(Vd,1,"getTextLineHeight",ri,BlockAPI),y(Vd,1,"canToggleBoldFont",ti,BlockAPI),y(Vd,1,"canToggleItalicFont",ei,BlockAPI),y(Vd,1,"toggleBoldFont",Jn,BlockAPI),y(Vd,1,"toggleItalicFont",Zn,BlockAPI),y(Vd,1,"setFont",Qn,BlockAPI),y(Vd,1,"setTypeface",Kn,BlockAPI),y(Vd,1,"getTypeface",Yn,BlockAPI),y(Vd,1,"getTypefaces",Xn,BlockAPI),y(Vd,1,"getTextCursorRange",Gn,BlockAPI),y(Vd,1,"setTextCursorRange",zn,BlockAPI),y(Vd,1,"getTextVisibleLineCount",Nn,BlockAPI),y(Vd,1,"getTextVisibleLineGlobalBoundingBoxXYWH",Vn,BlockAPI),y(Vd,1,"getTextVisibleLineContent",$n,BlockAPI),y(Vd,1,"getTextCharacterInkBoxes",Hn,BlockAPI),y(Vd,1,"getTextEffectiveHorizontalAlignment",Wn,BlockAPI),y(Vd,1,"isFillEnabled",qn,BlockAPI),y(Vd,1,"setFillEnabled",jn,BlockAPI),y(Vd,1,"getFillOverprint",Un,BlockAPI),y(Vd,1,"setFillOverprint",Bn,BlockAPI),y(Vd,1,"getFill",On,BlockAPI),y(Vd,1,"setFill",Dn,BlockAPI),y(Vd,1,"setFillSolidColor",Ln,BlockAPI),y(Vd,1,"getFillSolidColor",Rn,BlockAPI),y(Vd,1,"setPlaceholderEnabled",In,BlockAPI),y(Vd,1,"isPlaceholderEnabled",Fn,BlockAPI),y(Vd,1,"setPlaceholderBehaviorEnabled",Mn,BlockAPI),y(Vd,1,"isPlaceholderBehaviorEnabled",An,BlockAPI),y(Vd,1,"setPlaceholderControlsOverlayEnabled",Pn,BlockAPI),y(Vd,1,"isPlaceholderControlsOverlayEnabled",Tn,BlockAPI),y(Vd,1,"setPlaceholderControlsButtonEnabled",xn,BlockAPI),y(Vd,1,"isPlaceholderControlsButtonEnabled",En,BlockAPI),y(Vd,1,"setMetadata",Cn,BlockAPI),y(Vd,1,"getMetadata",Sn,BlockAPI),y(Vd,1,"hasMetadata",kn,BlockAPI),y(Vd,1,"findAllMetadata",_n,BlockAPI),y(Vd,1,"removeMetadata",wn,BlockAPI),y(Vd,1,"setScopeEnabled",vn,BlockAPI),y(Vd,1,"isScopeEnabled",yn,BlockAPI),y(Vd,1,"isAllowedByScope",bn,BlockAPI),y(Vd,1,"setDuration",mn,BlockAPI),y(Vd,1,"getDuration",fn,BlockAPI),y(Vd,1,"setPageDurationSource",gn,BlockAPI),y(Vd,1,"isPageDurationSource",pn,BlockAPI),y(Vd,1,"removePageDurationSource",hn,BlockAPI),y(Vd,1,"setTimeOffset",un,BlockAPI),y(Vd,1,"getTimeOffset",cn,BlockAPI),y(Vd,1,"setTrimOffset",dn,BlockAPI),y(Vd,1,"getTrimOffset",ln,BlockAPI),y(Vd,1,"setTrimLength",an,BlockAPI),y(Vd,1,"getTrimLength",sn,BlockAPI),y(Vd,1,"split",nn,BlockAPI),y(Vd,1,"getTotalSceneDuration",on,BlockAPI),y(Vd,1,"setPlaying",rn,BlockAPI),y(Vd,1,"isPlaying",tn,BlockAPI),y(Vd,1,"setPlaybackTime",en,BlockAPI),y(Vd,1,"getPlaybackTime",Jo,BlockAPI),y(Vd,1,"isVisibleAtCurrentPlaybackTime",Zo,BlockAPI),y(Vd,1,"setSoloPlaybackEnabled",Qo,BlockAPI),y(Vd,1,"isSoloPlaybackEnabled",Ko,BlockAPI),y(Vd,1,"setLooping",Yo,BlockAPI),y(Vd,1,"isLooping",Xo,BlockAPI),y(Vd,1,"setMuted",Go,BlockAPI),y(Vd,1,"isForceMuted",zo,BlockAPI),y(Vd,1,"isMuted",No,BlockAPI),y(Vd,1,"setVolume",Vo,BlockAPI),y(Vd,1,"getVolume",$o,BlockAPI),y(Vd,1,"setPlaybackSpeed",Ho,BlockAPI),y(Vd,1,"getPlaybackSpeed",Wo,BlockAPI),y(Vd,1,"forceLoadAVResource",qo,BlockAPI),y(Vd,1,"unstable_isAVResourceLoaded",jo,BlockAPI),y(Vd,1,"getAVResourceTotalDuration",Uo,BlockAPI),y(Vd,1,"getVideoWidth",Bo,BlockAPI),y(Vd,1,"getVideoHeight",Oo,BlockAPI),y(Vd,1,"getVideoFillThumbnail",Do,BlockAPI),y(Vd,1,"getVideoFillThumbnailAtlas",Lo,BlockAPI),y(Vd,1,"getPageThumbnailAtlas",Ro,BlockAPI),y(Vd,1,"createAnimation",Io,BlockAPI),y(Vd,1,"setInAnimation",Fo,BlockAPI),y(Vd,1,"setLoopAnimation",Mo,BlockAPI),y(Vd,1,"setOutAnimation",Ao,BlockAPI),y(Vd,1,"getInAnimation",Po,BlockAPI),y(Vd,1,"getLoopAnimation",To,BlockAPI),y(Vd,1,"getOutAnimation",xo,BlockAPI),y(Vd,1,"setNativePixelBuffer",Eo,BlockAPI),y(Vd,1,"getState",Co,BlockAPI),y(Vd,1,"setState",So,BlockAPI),y(Vd,1,"forceLoadResources",ko,BlockAPI),y(Vd,1,"applyAnimation",_o,BlockAPI),y(Vd,1,"applyDropShadow",wo,BlockAPI),y(Vd,1,"generateThumbnailAtTimeOffset",vo,BlockAPI),y(Vd,1,"getBackgroundTrack",yo,BlockAPI),y(Vd,1,"moveToBackgroundTrack",bo,BlockAPI),m(Vd,BlockAPI);var Zd,Jd,ec,tc,rc,oc,nc,ic,sc,ac,lc,dc,cc,uc,hc,pc,gc,fc,mc,bc,yc,vc,wc,_c,kc,Sc,Cc,Ec,xc,Tc,Pc,Ac,Mc,Fc,Ic,Rc,Lc,Dc,Oc,Bc,Uc,jc,qc,Wc,Hc,$c,Vc,Nc,zc,Gc,Xc,Yc,Kc,Qc,Zc,Jc,eu,tu,ru,ou,nu,iu,su,au,lu,du,cu,uu,hu,pu,gu,fu,mu,bu,yu,vu,wu,_u,ku,Su,Cu,Eu,xu,Tu,Pu,Au,Mu,Fu=new WeakMap,Iu=new WeakMap;Tu=[lr],xu=[lr],Eu=[lr],Cu=[ar({disabledInModes:["Playback"]})],Su=[ar({disabledInModes:["Playback"]})],ku=[lr],_u=[lr],wu=[ar()],vu=[ar({disabledInModes:["Playback"]})],yu=[ar()],bu=[lr],mu=[lr],fu=[ar()],gu=[lr],pu=[lr],hu=[lr],uu=[ar()],cu=[lr],du=[ar()],lu=[lr],au=[ar()],su=[lr],iu=[ar()],nu=[ar({disabledInModes:["Playback"]})],ou=[ar({disabledInModes:["Playback"]})],ru=[ar({disabledInModes:["Playback"]})],tu=[ar({disabledInModes:["Playback"]})],eu=[lr],Jc=[lr],Zc=[lr],Qc=[ar({disabledInModes:["Playback"]})],Kc=[lr],Yc=[lr],Xc=[lr],Gc=[lr],zc=[ar({disabledInModes:["Playback"]})],Nc=[ar({disabledInModes:["Playback"]})],Vc=[lr],$c=[ar({disabledInModes:["Playback"]})],Hc=[lr],Wc=[ar({disabledInModes:["Playback"]})],qc=[lr],jc=[ar({disabledInModes:["Playback"]})],Uc=[lr],Bc=[ar({disabledInModes:["Playback"]})],Oc=[lr],Dc=[ar({disabledInModes:["Playback"]})],Lc=[lr],Rc=[ar({disabledInModes:["Playback"]})],Ic=[lr],Fc=[ar({disabledInModes:["Playback"]})],Mc=[lr],Ac=[ar({disabledInModes:["Playback"]})],Pc=[lr],Tc=[ar({disabledInModes:["Playback"]})],xc=[ar({disabledInModes:["Playback"]})],Ec=[ar({disabledInModes:["Playback"]})],Cc=[ar({disabledInModes:["Playback"]})],Sc=[ar({disabledInModes:["Playback"]})],kc=[lr],_c=[lr],wc=[ar({disabledInModes:["Playback"]})],vc=[ar({disabledInModes:["Playback"]})],yc=[ar({disabledInModes:["Playback"]})],bc=[lr],mc=[ar({disabledInModes:["Playback"]})],fc=[ar({disabledInModes:["Playback"]})],gc=[ar({disabledInModes:["Playback"]})],pc=[ar({disabledInModes:["Playback"]})],hc=[lr],uc=[lr],cc=[lr],dc=[lr],lc=[lr],ac=[ar({disabledInModes:["Playback"]})],sc=[ar({disabledInModes:["Playback"]})],ic=[lr],nc=[lr],oc=[ar()],rc=[ar({disabledInModes:["Playback"]})],tc=[lr],ec=[lr],Jd=[ar({disabledInModes:["Playback"]})],Zd=[lr];var EditorAPI=class{constructor(e,t){b(Mu,5,this),S(this,Pu),S(this,Au),v(this,"onStateChanged",e=>{const t=k(this,Pu).subscribeToEditorState(e);return()=>{k(this,Pu).isDeleted()||ur(k(this,Pu).unsubscribe(t))}}),v(this,"onHistoryUpdated",e=>{const t=k(this,Pu).subscribeToHistory(t=>{e(1===t?"Activated":"Updated")});return()=>{k(this,Pu).isDeleted()||k(this,Pu).unsubscribe(t)}}),v(this,"onSettingsChanged",e=>{const t=k(this,Pu).subscribeToSettings(e);return()=>{k(this,Pu).isDeleted()||ur(k(this,Pu).unsubscribe(t))}}),v(this,"onRoleChanged",e=>{const t=k(this,Pu).subscribeToRoleChange(e);return()=>{k(this,Pu).isDeleted()||ur(k(this,Pu).unsubscribe(t))}}),C(this,Pu,e),C(this,Au,t)}unlockWithLicense(e){ur(k(this,Pu).unlockWithLicense(e))}startTracking(e,t){k(this,Pu).startTracking(e,t,"")}setTrackingMetadata(e){k(this,Pu).setTrackingMetadata(e)}getTrackingMetadata(){return ur(k(this,Pu).getTrackingMetadata())}getActiveLicense(){return ur(k(this,Pu).getActiveLicense())}_update(){k(this,Pu).update()}setEditMode(e,t){$t("mode",e,Dt()),$t("baseMode",t,Lt(Dt())),k(this,Pu).setEditMode(e,t??"")}getEditMode(){return k(this,Pu).getEditMode()}unstable_isInteractionHappening(){return ur(k(this,Pu).unstable_isInteractionHappening())}hasSelectedVectorNode(){return k(this,Pu).hasSelectedVectorNode()}addVectorNode(){ur(k(this,Pu).addVectorNode())}deleteVectorNode(){ur(k(this,Pu).deleteVectorNode())}hasSelectedVectorControlPoint(){return k(this,Pu).hasSelectedVectorControlPoint()}deleteSelectedVectorControlPoints(){ur(k(this,Pu).deleteSelectedVectorControlPoints())}toggleSelectedVectorNodeSmooth(){ur(k(this,Pu).toggleSelectedVectorNodeSmooth())}setVectorEditBendMode(e){$t("active",e,At()),ur(k(this,Pu).setVectorEditBendMode(e))}getVectorEditBendMode(){return k(this,Pu).getVectorEditBendMode()}setVectorEditAddMode(e){$t("active",e,At()),ur(k(this,Pu).setVectorEditAddMode(e))}getVectorEditAddMode(){return k(this,Pu).getVectorEditAddMode()}setVectorEditDeleteMode(e){$t("active",e,At()),ur(k(this,Pu).setVectorEditDeleteMode(e))}getVectorEditDeleteMode(){return k(this,Pu).getVectorEditDeleteMode()}setSelectedVectorNodeMirrorMode(e){$t("mode",e,It()),ur(k(this,Pu).setSelectedVectorNodeMirrorMode(e))}getSelectedVectorNodeMirrorMode(){return ur(k(this,Pu).getSelectedVectorNodeMirrorMode())}getCursorType(){return k(this,Pu).getCursorType()}getCursorRotation(){return k(this,Pu).getCursorRotation()}getTextCursorPositionInScreenSpaceX(){return k(this,Pu).getTextCursorPositionInScreenSpaceX()}getTextCursorPositionInScreenSpaceY(){return k(this,Pu).getTextCursorPositionInScreenSpaceY()}createHistory(){return k(this,Pu).createHistory()}destroyHistory(e){ur(k(this,Pu).destroyHistory(e))}setActiveHistory(e){ur(k(this,Pu).setActiveHistory(e))}getActiveHistory(){return k(this,Pu).getActiveHistory()}addUndoStep(){ur(k(this,Pu).addUndoStep())}removeUndoStep(){ur(k(this,Pu).removeUndoStep())}undo(){ur(k(this,Pu).undo())}redo(){ur(k(this,Pu).redo())}canUndo(){return ur(k(this,Pu).canUndo())}canRedo(){return ur(k(this,Pu).canRedo())}setSetting(e,t){$t("keypath",e,Dt());const r=this.normalizeSettingKey(e);if(!this.isValidSettingKey(r))throw new Error(`Invalid setting key: '${e}'`);switch(this.getSettingTypeForKey(r)){case"Bool":return ur(k(this,Pu).setSettingBool(r,t));case"Int":if(!Number.isInteger(t))throw new Error(`Setting '${e}' requires an integer value`);return ur(k(this,Pu).setSettingInt(r,t));case"Float":return ur(k(this,Pu).setSettingFloat(r,t));case"String":return ur(k(this,Pu).setSettingString(r,t));case"Color":{const e=t;return ur(k(this,Pu).setSettingColor(r,mo.fromColor(e)))}case"Enum":return ur(k(this,Pu).setSettingEnum(r,t));default:throw new Error(`Unknown setting type for key '${e}'`)}}getSetting(e){$t("keypath",e,Dt());const t=this.normalizeSettingKey(e);if(!this.isValidSettingKey(t))throw new Error(`Invalid setting key: '${e}'`);switch(this.getSettingTypeForKey(t)){case"Bool":return ur(k(this,Pu).getSettingBool(t));case"Int":return ur(k(this,Pu).getSettingInt(t));case"Float":return ur(k(this,Pu).getSettingFloat(t));case"String":return ur(k(this,Pu).getSettingString(t));case"Color":return mo.toColor(ur(k(this,Pu).getSettingColor(t)));case"Enum":return ur(k(this,Pu).getSettingEnum(t));default:throw new Error(`Unknown setting type for key '${e}'`)}}normalizeSettingKey(e){return e.startsWith("ubq://")?e.slice(6):e}isValidSettingKey(e){return e in{"controlGizmo/showCropHandles":!0,"controlGizmo/showCropScaleHandles":!0,"controlGizmo/showMoveHandles":!0,"controlGizmo/dynamicMoveHandleVisibility":!0,"controlGizmo/showResizeHandles":!0,"controlGizmo/showRotateHandles":!0,"controlGizmo/showScaleHandles":!0,doubleClickToCropEnabled:!0,"features/singlePageModeEnabled":!0,"features/fileSystemUsageEnabled":!0,"features/pageCarouselEnabled":!0,"features/clampTextBlockWidthToPageDimensionsDuringEditing":!0,"features/transformEditsRetainCoverMode":!0,"mouse/enableScroll":!0,"mouse/enableZoom":!0,"page/allowCropInteraction":!0,"page/allowMoveInteraction":!0,"page/allowResizeInteraction":!0,"page/allowRotateInteraction":!0,"page/allowShapeChange":!0,"page/dimOutOfPageAreas":!0,"page/marqueeSelectOnBodyDrag":!0,"page/restrictPageSelectionToBorderAndTitle":!0,"page/restrictResizeInteractionToFixedAspectRatio":!0,"page/moveChildrenWhenCroppingFill":!0,"page/reparentBlocksToSceneWhenOutOfPage":!0,"page/selectWhenNoBlocksSelected":!0,"page/highlightWhenCropping":!0,"page/highlightDropTarget":!0,"page/title/appendPageName":!0,"page/title/canEdit":!0,"page/title/show":!0,"page/title/showOnSinglePage":!0,"page/title/showPageTitleTemplate":!0,"placeholderControls/showButton":!0,"placeholderControls/showOverlay":!0,"blockAnimations/enabled":!0,"grid/enabled":!0,"grid/snapEnabled":!0,showBuildVersion:!0,"touch/dragStartCanSelect":!0,"touch/singlePointPanning":!0,useSystemFontFallback:!0,forceSystemEmojis:!0,basePath:!0,defaultEmojiFontFileUri:!0,defaultFontFileUri:!0,license:!0,"page/title/fontFileUri":!0,"page/title/separator":!0,fallbackFontUri:!0,"upload/supportedMimeTypes":!0,"web/fetchCredentials":!0,"controlGizmo/blockScaleDownLimit":!0,listIndentPerLevel:!0,"grid/spacingX":!0,"grid/spacingY":!0,positionSnappingThreshold:!0,rotationSnappingThreshold:!0,maxImageSize:!0,maxPreviewResolution:!0,borderOutlineColor:!0,clearColor:!0,"grid/color":!0,"colorMaskingSettings/maskColor":!0,cropOverlayColor:!0,errorStateColor:!0,highlightColor:!0,"page/innerBorderColor":!0,"page/marginFillColor":!0,"page/marginFrameColor":!0,"page/outerBorderColor":!0,"page/title/color":!0,pageHighlightColor:!0,placeholderHighlightColor:!0,progressColor:!0,rotationSnappingGuideColor:!0,ruleOfThirdsLineColor:!0,snappingGuideColor:!0,textVariableHighlightColor:!0,handleFillColor:!0,doubleClickSelectionMode:!0,"touch/pinchAction":!0,"touch/rotateAction":!0,"camera/clamping/overshootMode":!0,renderMode:!0,alwaysHighlightPlaceholders:!0,"colorMaskingSettings/secondPass":!0,"debug/enforceScopesInAPIs":!0,"debug/showCameraDebugVisualization":!0,"debug/showHandlesInteractionArea":!0,"debug/useDebugMipmaps":!0,"debug/showDebugUI":!0,"debug/hookInputSystem":!0,"features/effectsEnabled":!0,"features/highQualityMipmaps":!0,"features/implicitUpdatesEnabled":!0,"features/templatingEnabled":!0,"features/videosEnabled":!0,"features/videoCaptionsEnabled":!0,"features/forceLowQualityVideoPreview":!0,"features/matchThumbnailSourceToFill":!0,"features/p3WorkingColorSpace":!0,"features/removeForegroundTracksOnSceneLoad":!0,"features/videoTranscodingEnabled":!0,"features/textEditModeTransformHandlesEnabled":!0,"features/videoStreamingEnabled":!0,"features/enableAutomaticEnumerations":!0,"features/enforceAudioBeforeVideoBlocks":!0,"features/fontLineGapEnabled":!0,renderTextCursorAndSelectionInEngine:!0,clampThumbnailTextureSizes:!0,"dock/hideLabels":!0,"dock/iconSize":!0,"colorPicker/colorMode":!0,"timeline/trackVisibility":!0}}getSettingTypeForKey(e){const t=Object.keys({borderOutlineColor:!0,clearColor:!0,"colorMaskingSettings/maskColor":!0,cropOverlayColor:!0,errorStateColor:!0,handleFillColor:!0,highlightColor:!0,"page/innerBorderColor":!0,"page/marginFillColor":!0,"page/marginFrameColor":!0,"page/outerBorderColor":!0,"page/title/color":!0,pageHighlightColor:!0,placeholderHighlightColor:!0,progressColor:!0,rotationSnappingGuideColor:!0,ruleOfThirdsLineColor:!0,snappingGuideColor:!0,textVariableHighlightColor:!0,"grid/color":!0});if(new Set(t).has(e))return"Color";const r=Object.keys({doubleClickSelectionMode:!0,"touch/pinchAction":!0,"touch/rotateAction":!0,"camera/clamping/overshootMode":!0,"colorPicker/colorMode":!0,"timeline/trackVisibility":!0});if(new Set(r).has(e))return"Enum";if(e in{maxImageSize:!0,maxPreviewResolution:!0})return"Int";const o=Object.keys({"controlGizmo/blockScaleDownLimit":!0,listIndentPerLevel:!0,"grid/spacingX":!0,"grid/spacingY":!0,positionSnappingThreshold:!0,rotationSnappingThreshold:!0});if(new Set(o).has(e))return"Float";const n=Object.keys({basePath:!0,defaultEmojiFontFileUri:!0,defaultFontFileUri:!0,license:!0,"page/title/fontFileUri":!0,"page/title/separator":!0,fallbackFontUri:!0,"upload/supportedMimeTypes":!0,"web/fetchCredentials":!0});return new Set(n).has(e)?"String":"Bool"}setSettingBool(e,t){return $t("keypath",e,Dt()),$t("value",t,At()),ur(k(this,Pu).setSettingBool(e,t))}getSettingBool(e){return $t("keypath",e,Dt()),ur(k(this,Pu).getSettingBool(e))}setSettingInt(e,t){return $t("keypath",e,Dt()),$t("value",t,Ft()),ur(k(this,Pu).setSettingInt(e,t))}getSettingInt(e){return $t("keypath",e,Dt()),ur(k(this,Pu).getSettingInt(e))}setSettingFloat(e,t){return $t("keypath",e,Dt()),$t("value",t,It()),ur(k(this,Pu).setSettingFloat(e,t))}getSettingFloat(e){return $t("keypath",e,Dt()),ur(k(this,Pu).getSettingFloat(e))}setSettingString(e,t){return $t("keypath",e,Dt()),$t("value",t,Dt()),ur(k(this,Pu).setSettingString(e,t))}getSettingString(e){return $t("keypath",e,Dt()),ur(k(this,Pu).getSettingString(e))}setSettingColor(e,t){return $t("keypath",e,Dt()),ur(k(this,Pu).setSettingColor(e,mo.fromColor(t)))}getSettingColor(e){return $t("keypath",e,Dt()),mo.toColor(ur(k(this,Pu).getSettingColor(e)))}setSettingColorRGBA(e,t,r,o,n=1){return $t("keypath",e,Dt()),$t("r",t,It()),$t("g",r,It()),$t("b",o,It()),$t("a",n,It()),ur(k(this,Pu).setSettingColorRGBA(e,t,r,o,n))}getSettingColorRGBA(e){return $t("keypath",e,Dt()),ur(k(this,Pu).getSettingColorRGBA(e))}setSettingEnum(e,t){return $t("keypath",e,Dt()),$t("value",t,Dt()),ur(k(this,Pu).setSettingEnum(e,t))}getSettingEnum(e){return $t("keypath",e,Dt()),ur(k(this,Pu).getSettingEnum(e))}getSettingEnumOptions(e){return $t("keypath",e,Dt()),Tr(ur(k(this,Pu).getSettingEnumOptions(e)))}setRole(e){return ur(k(this,Pu).setRole(e))}getRole(){return ur(k(this,Pu).getRole())}findAllSettings(){return Tr(k(this,Pu).findAllSettings())}getSettingType(e){$t("keypath",e,Dt());return ur(k(this,Pu).getSettingType(e))}getAvailableMemory(){return ur(k(this,Pu).getAvailableMemory())}getUsedMemory(){return ur(k(this,Pu).getUsedMemory())}getMaxExportSize(){return ur(k(this,Pu).getMaxExportSize())}setURIResolver(e){Fu.set(k(this,Pu),e);return ur(k(this,Pu).setURIResolver(t=>e(t,this.defaultURIResolver.bind(this))))}setURIResolverAsync(e){if(null===e)return Iu.delete(k(this,Pu)),void ur(k(this,Pu).setURIResolverAsync(null));Iu.set(k(this,Pu),e);const t=this.defaultURIResolver.bind(this),r=(e,t)=>{var r;const o=t instanceof Error?t.message:String(t);return null==(r=k(this,Au))||r.call(this,`URI resolver failed for "${e}": ${o}`,"Warning"),{error:o}};ur(k(this,Pu).setURIResolverAsync(o=>{try{const n=e(o,t);return"function"==typeof n?.then?n.catch(e=>r(o,e)):n}catch(e){return r(o,e)}}))}getURIResolver(){return Fu.get(k(this,Pu))??null}getURIResolverAsync(){return Iu.get(k(this,Pu))??null}defaultURIResolver(e){return k(this,Pu).defaultURIResolver(e)}getAbsoluteURI(e){return hr(t=>k(this,Pu).getAbsoluteURI(e,t))}findAllScopes(){return Tr(k(this,Pu).findAllScopes())}setGlobalScope(e,t){$t("key",e,Dt()),$t("value",t,Dt()),ur(k(this,Pu).setGlobalScope(e,t))}getGlobalScope(e){return $t("key",e,Dt()),ur(k(this,Pu).getGlobalScope(e))}findAllSpotColors(){return Tr(k(this,Pu).findAllSpotColors())}getSpotColorRGBA(e){return $t("name",e,Dt()),k(this,Pu).getSpotColorRGB(e)}getSpotColorCMYK(e){return $t("name",e,Dt()),k(this,Pu).getSpotColorCMYK(e)}setSpotColorRGB(e,t,r,o){return $t("name",e,Dt()),$t("r",t,It()),$t("g",r,It()),$t("b",o,It()),k(this,Pu).setSpotColorRGB(e,t,r,o)}setSpotColorCMYK(e,t,r,o,n){return $t("name",e,Dt()),$t("c",t,It()),$t("m",r,It()),$t("y",o,It()),$t("k",n,It()),k(this,Pu).setSpotColorCMYK(e,t,r,o,n)}removeSpotColor(e){return $t("name",e,Dt()),ur(k(this,Pu).removeSpotColor(e))}setSpotColorForCutoutType(e,t){return $t("type",e,Dt()),$t("color",t,Dt()),ur(k(this,Pu).setSpotColorForCutoutType(e,t))}getSpotColorForCutoutType(e){return $t("type",e,Dt()),ur(k(this,Pu).getSpotColorForCutoutType(e))}convertColorToColorSpace(e,t){return $t("colorSpace",t,Dt()),mo.toColor(ur(k(this,Pu).convertColorToColorSpace(mo.fromColor(e),t)))}createBuffer(){return k(this,Pu).createBuffer()}destroyBuffer(e){ur(k(this,Pu).destroyBuffer(e))}setBufferData(e,t,r){$t("offset",t,Ft()),ur(k(this,Pu).setBufferData(e,t,r))}getBufferData(e,t,r){$t("offset",t,Ft()),$t("length",r,Ft());const o=k(this,Pu).getBufferData(e,t,r);if("error"in o)throw new Error(o.error);return o}setBufferLength(e,t){$t("length",t,Ft()),ur(k(this,Pu).setBufferLength(e,t))}getBufferLength(e){return ur(k(this,Pu).getBufferLength(e))}cloneBuffers(){return Tr(ur(k(this,Pu).cloneBuffers()))}restoreBuffers(e){ur(k(this,Pu).restoreBuffers(e))}getMimeType(e){return $t("uri",e,Dt()),hr(t=>k(this,Pu).getMimeType(e,t))}getFontMetrics(e){return $t("fontFileUri",e,Dt()),hr(t=>k(this,Pu).getFontMetrics(e,t))}findAllTransientResources(){return Tr(ur(k(this,Pu).findAllTransientResources()))}findAllMediaURIs(){return Tr(ur(k(this,Pu).findAllMediaURIs()))}getResourceData(e,t,r){$t("uri",e,Dt()),$t("chunkSize",t,Ft()),ur(k(this,Pu).getResourceData(e,t,r))}relocateResource(e,t){$t("currentUrl",e,Dt()),$t("relocatedUrl",t,Dt()),ur(k(this,Pu).relocateResource(e,t))}isHighlightingEnabled(e){return $t("id",e,Ft()),ur(k(this,Pu).isHighlightingEnabled(e))}setHighlightingEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Pu).setHighlightingEnabled(e,t))}setSafeAreaInsets(e){const t=this.getSafeAreaInsets();return ur(k(this,Pu).setSafeAreaInsets(e.left??t.left,e.top??t.top,e.right??t.right,e.bottom??t.bottom))}getSafeAreaInsets(){const[e,t,r,o]=k(this,Pu).getSafeAreaInsets();return{left:e,top:t,right:r,bottom:o}}isSelectionEnabled(e){return $t("id",e,Ft()),ur(k(this,Pu).isSelectionEnabled(e))}setSelectionEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Pu).setSelectionEnabled(e,t))}setMovementConstraint(e){const t=Array.isArray(e)?e:[e];$t("rules",t,Pt(ju));for(const e of t){const t="block"in e?[e.block]:"blockType"in e?[e.blockType]:[];ur(k(this,Pu).setMovementConstraint(t,e.overshoot))}}getMovementConstraint(e){$t("id",e,Ft());const t=ur(k(this,Pu).getMovementConstraint(e));return t<0?null:{overshoot:t}}removeMovementConstraint(e){if(void 0===e)return void ur(k(this,Pu).removeMovementConstraint([]));const t=Array.isArray(e)?e:[e];if($t("scopes",t,Pt(qu)),0===t.length)return;const r=t.map(e=>"block"in e?e.block:e.blockType);ur(k(this,Pu).removeMovementConstraint(r))}};Mu=h(null),Pu=new WeakMap,Au=new WeakMap,y(Mu,1,"unlockWithLicense",Tu,EditorAPI),y(Mu,1,"startTracking",xu,EditorAPI),y(Mu,1,"setTrackingMetadata",Eu,EditorAPI),y(Mu,1,"getTrackingMetadata",Cu,EditorAPI),y(Mu,1,"getActiveLicense",Su,EditorAPI),y(Mu,1,"_update",ku,EditorAPI),y(Mu,1,"setEditMode",_u,EditorAPI),y(Mu,1,"getEditMode",wu,EditorAPI),y(Mu,1,"unstable_isInteractionHappening",vu,EditorAPI),y(Mu,1,"hasSelectedVectorNode",yu,EditorAPI),y(Mu,1,"addVectorNode",bu,EditorAPI),y(Mu,1,"deleteVectorNode",mu,EditorAPI),y(Mu,1,"hasSelectedVectorControlPoint",fu,EditorAPI),y(Mu,1,"deleteSelectedVectorControlPoints",gu,EditorAPI),y(Mu,1,"toggleSelectedVectorNodeSmooth",pu,EditorAPI),y(Mu,1,"setVectorEditBendMode",hu,EditorAPI),y(Mu,1,"getVectorEditBendMode",uu,EditorAPI),y(Mu,1,"setVectorEditAddMode",cu,EditorAPI),y(Mu,1,"getVectorEditAddMode",du,EditorAPI),y(Mu,1,"setVectorEditDeleteMode",lu,EditorAPI),y(Mu,1,"getVectorEditDeleteMode",au,EditorAPI),y(Mu,1,"setSelectedVectorNodeMirrorMode",su,EditorAPI),y(Mu,1,"getSelectedVectorNodeMirrorMode",iu,EditorAPI),y(Mu,1,"getCursorType",nu,EditorAPI),y(Mu,1,"getCursorRotation",ou,EditorAPI),y(Mu,1,"getTextCursorPositionInScreenSpaceX",ru,EditorAPI),y(Mu,1,"getTextCursorPositionInScreenSpaceY",tu,EditorAPI),y(Mu,1,"createHistory",eu,EditorAPI),y(Mu,1,"destroyHistory",Jc,EditorAPI),y(Mu,1,"setActiveHistory",Zc,EditorAPI),y(Mu,1,"getActiveHistory",Qc,EditorAPI),y(Mu,1,"addUndoStep",Kc,EditorAPI),y(Mu,1,"removeUndoStep",Yc,EditorAPI),y(Mu,1,"undo",Xc,EditorAPI),y(Mu,1,"redo",Gc,EditorAPI),y(Mu,1,"canUndo",zc,EditorAPI),y(Mu,1,"canRedo",Nc,EditorAPI),y(Mu,1,"setSetting",Vc,EditorAPI),y(Mu,1,"getSetting",$c,EditorAPI),y(Mu,1,"setSettingBool",Hc,EditorAPI),y(Mu,1,"getSettingBool",Wc,EditorAPI),y(Mu,1,"setSettingInt",qc,EditorAPI),y(Mu,1,"getSettingInt",jc,EditorAPI),y(Mu,1,"setSettingFloat",Uc,EditorAPI),y(Mu,1,"getSettingFloat",Bc,EditorAPI),y(Mu,1,"setSettingString",Oc,EditorAPI),y(Mu,1,"getSettingString",Dc,EditorAPI),y(Mu,1,"setSettingColor",Lc,EditorAPI),y(Mu,1,"getSettingColor",Rc,EditorAPI),y(Mu,1,"setSettingColorRGBA",Ic,EditorAPI),y(Mu,1,"getSettingColorRGBA",Fc,EditorAPI),y(Mu,1,"setSettingEnum",Mc,EditorAPI),y(Mu,1,"getSettingEnum",Ac,EditorAPI),y(Mu,1,"setRole",Pc,EditorAPI),y(Mu,1,"getRole",Tc,EditorAPI),y(Mu,1,"findAllSettings",xc,EditorAPI),y(Mu,1,"getAvailableMemory",Ec,EditorAPI),y(Mu,1,"getUsedMemory",Cc,EditorAPI),y(Mu,1,"getMaxExportSize",Sc,EditorAPI),y(Mu,1,"setURIResolver",kc,EditorAPI),y(Mu,1,"setURIResolverAsync",_c,EditorAPI),y(Mu,1,"getURIResolver",wc,EditorAPI),y(Mu,1,"getURIResolverAsync",vc,EditorAPI),y(Mu,1,"findAllScopes",yc,EditorAPI),y(Mu,1,"setGlobalScope",bc,EditorAPI),y(Mu,1,"getGlobalScope",mc,EditorAPI),y(Mu,1,"findAllSpotColors",fc,EditorAPI),y(Mu,1,"getSpotColorRGBA",gc,EditorAPI),y(Mu,1,"getSpotColorCMYK",pc,EditorAPI),y(Mu,1,"setSpotColorRGB",hc,EditorAPI),y(Mu,1,"setSpotColorCMYK",uc,EditorAPI),y(Mu,1,"removeSpotColor",cc,EditorAPI),y(Mu,1,"setSpotColorForCutoutType",dc,EditorAPI),y(Mu,1,"getSpotColorForCutoutType",lc,EditorAPI),y(Mu,1,"convertColorToColorSpace",ac,EditorAPI),y(Mu,1,"isHighlightingEnabled",sc,EditorAPI),y(Mu,1,"setHighlightingEnabled",ic,EditorAPI),y(Mu,1,"setSafeAreaInsets",nc,EditorAPI),y(Mu,1,"getSafeAreaInsets",oc,EditorAPI),y(Mu,1,"isSelectionEnabled",rc,EditorAPI),y(Mu,1,"setSelectionEnabled",tc,EditorAPI),y(Mu,1,"setMovementConstraint",ec,EditorAPI),y(Mu,1,"getMovementConstraint",Jd,EditorAPI),y(Mu,1,"removeMovementConstraint",Zd,EditorAPI),m(Mu,EditorAPI);var Ru,Lu,Du,Ou,Bu,Uu,ju=Bt([Rt({overshoot:It()}),Rt({overshoot:It(),block:Ft()}),Rt({overshoot:It(),blockType:Dt()})]),qu=Bt([Rt({block:Ft()}),Rt({blockType:Dt()})]),EventAPI=class{#e;constructor(e){this.#e=e}subscribe=(e,t)=>{$t("blocks",e,Pt());const r=this.#e.subscribe(e,e=>{try{t(Tr(e,!0))}catch(e){console.error(e)}});return()=>{this.#e.isDeleted()||ur(this.#e.unsubscribe(r))}}};Ou=[ar({disabledInModes:["Playback"]})],Du=[lr],Lu=[ar({disabledInModes:["Playback"]})],Ru=[lr];var VariableAPI=class{constructor(e){b(Uu,5,this),S(this,Bu),C(this,Bu,e)}findAll(){return Tr(k(this,Bu).findAllVariables())}setString(e,t){return $t("key",e,Dt()),$t("value",t,Dt()),ur(k(this,Bu).setVariableString(e,t))}getString(e){return $t("key",e,Dt()),ur(k(this,Bu).getVariableString(e))}remove(e){return $t("key",e,Dt()),ur(k(this,Bu).removeVariable(e))}};function Wu(e,t){return`${e.replace(/\/+$/,"")}/${t.replace(/^\/+/,"")}`}Uu=h(null),Bu=new WeakMap,y(Uu,1,"findAll",Ou,VariableAPI),y(Uu,1,"setString",Du,VariableAPI),y(Uu,1,"getString",Lu,VariableAPI),y(Uu,1,"remove",Ru,VariableAPI),m(Uu,VariableAPI);var Hu=async function(e,t,r=fetch,o,n=new Set(o.findAllSources())){const i=t.replace(/\/+$/,""),s=e.map(async e=>{const s=Wu(t,`/${e}/content.json`);return r(s).then(e=>{if(!e.ok)throw new Error(e.statusText);return e.json()}).then(t=>{if(void 0===t.assets)throw new Error(`Invalid content.json for assets: ${e}`);const r=t.assets;n.has(e)||o.addLocalSource(e),r.forEach(t=>{t.meta&&Object.entries(t.meta).forEach(([e,r])=>{const o=r.toString();if(o.includes("{{base_url}}")){const r=o.replace(/\{\{base_url\}\}/g,i);t.meta&&(t.meta[e]=r)}}),t.payload?.typeface&&t.payload.typeface.fonts.forEach(e=>{e.uri.includes("{{base_url}}")&&(e.uri=e.uri.replace(/\{\{base_url\}\}/g,i))}),t.payload?.sourceSet&&t.payload.sourceSet.forEach(e=>{e.uri.includes("{{base_url}}")&&(e.uri=e.uri.replace(/\{\{base_url\}\}/g,i))}),o.addAssetToSource(e,t)})})});await Promise.all(s)},$u=class _CaptionPresetAssetSource{static assetSourceId="ly.img.captionPresets";propertyWhitelist=["backgroundColor/enabled","backgroundColor/color","backgroundColor/cornerRadius","backgroundColor/paddingBottom","backgroundColor/paddingLeft","backgroundColor/paddingRight","backgroundColor/paddingTop","blend/mode","dropShadow/enabled","dropShadow/color","dropShadow/offset/x","dropShadow/offset/y","dropShadow/blurRadius/x","dropShadow/blurRadius/y","dropShadow/clip","fill/enabled","fill/solid/color","opacity","stroke/enabled","stroke/color","stroke/width","stroke/style","stroke/position","stroke/cornerGeometry","{{blockType}}/typeface","{{blockType}}/fontSize","{{blockType}}/horizontalAlignment","{{blockType}}/verticalAlignment","{{blockType}}/letterSpacing","{{blockType}}/lineHeight","{{blockType}}/automaticFontSizeEnabled","{{blockType}}/maxAutomaticFontSize","{{blockType}}/minAutomaticFontSize","{{blockType}}/paragraphSpacing"];#t;#r;#o;constructor(e,t,r){this.#t=e,this.#r=t,this.#o=r??window.fetch.bind(window),this.createSource()}static async fetchAssets(e,t=fetch){const r=Wu(e,`/${_CaptionPresetAssetSource.assetSourceId}/content.json`),o=await t(r);if(!o.ok)throw new Error(o.statusText);const n=await o.json();if(void 0===n.assets)throw new Error(`Invalid content.json for assets: ${_CaptionPresetAssetSource.assetSourceId}`);const i=e.replace(/\/+$/,"");return n.assets.map(e=>(e.meta&&Object.entries(e.meta).forEach(([t,r])=>{const o=r.toString();if(o.includes("{{base_url}}")){const r=o.replace("{{base_url}}",i);e.meta&&(e.meta[t]=r)}}),e))}createSource(){this.#t.asset.addSource({id:_CaptionPresetAssetSource.assetSourceId,findAssets:({page:e,perPage:t,excludeGroups:r,groups:o,locale:n="en",query:i,sortActiveFirst:s,sortKey:a,sortingOrder:l,tags:d})=>{const c=this.getCaptionTrack(),u=null!=c&&this.#t.block.hasMetadata(c,"activePreset")?this.#t.block.getMetadata(c,"activePreset"):void 0;let h=[...this.#r];if(o&&o.length>0&&(h=h.filter(e=>e.groups?.some(e=>o.includes(e)))),i&&""!==i.trim()){const e=i.toLowerCase().trim();h=h.filter(t=>(t.label?.[n]?.toLowerCase()||"").includes(e))}d&&d.length>0&&(h=h.filter(e=>(e.tags?.[n]??[]).some(e=>d.includes(e)))),r&&r.length>0&&(h=h.filter(e=>!(e.groups??[]).some(e=>r.includes(e)))),"label"===a&&"None"!==l&&h.sort((e,t)=>{const r=e.label?.[n]?.toLocaleLowerCase()||"",o=t.label?.[n]?.toLocaleLowerCase()||"";return r<o?"Ascending"===l?-1:1:r>o?"Ascending"===l?1:-1:0}),s&&u&&h.sort((e,t)=>e.id===u?-1:t.id===u?1:0);const p=h.length,g=e*t,f=g+t,m=h.slice(g,f).map(e=>{const t=e.payload?.properties?.map(e=>"caption/scale"===e.property?{...e,value:this.fetchCaptionScale()}:e);return{id:e.id,label:e.label?.[n],active:e.id===u,context:{id:_CaptionPresetAssetSource.assetSourceId},meta:e.meta,groups:e.groups,tags:e.tags?.[n],payload:{...e.payload,properties:t},locale:n}});return Promise.resolve({assets:m,total:p,currentPage:e})},getGroups:()=>{const e=new Set;return this.#r.forEach(t=>{t.groups&&t.groups.forEach(t=>{e.add(t)})}),Promise.resolve(Array.from(e))},removeAsset:e=>{const t=this.#r.findIndex(t=>t.id===e);-1!==t&&this.#r.splice(t,1)},addAsset:e=>{const t=this.#r.findIndex(t=>t.id===e.id);-1!==t?this.#r[t]=e:this.#r.push(e)},applyAssetToBlock:(e,t)=>this.applyPreset(e,t),applyAssetProperty:(e,t)=>this.applyProperty(e,t),fetchAsset:async(e,t)=>new Promise(r=>{const o=this.#r.find(t=>t.id===e);if(null==o)r(null);else{const e=t?.locale??"en",n=this.getCaptionTrack(),i=null!=n&&this.#t.block.hasMetadata(n,"activePreset")?this.#t.block.getMetadata(n,"activePreset"):void 0,s=o.payload?.properties?.map(e=>"caption/scale"===e.property?{...e,value:this.fetchCaptionScale()}:e);r({id:o.id,label:o.label?.[e],active:o.id===i,meta:o.meta,groups:o.groups,tags:o.tags?.[e],payload:{...o.payload,properties:s}})}})})}async applyPreset(e,t){const r=e?.meta?.uri;if(null==r)throw new Error(`The asset ${e.id} does not have a preset block URL.`);const o=await this.#o(r);if(!o.ok)throw new Error(`Failed to fetch the preset block from ${r}`);const n=await o.text(),[i]=await this.#t.block.loadFromString(n),s=null!=i?this.#t.block.getType(i):void 0;if("//ly.img.ubq/text"!==s&&"//ly.img.ubq/caption"!==s)return;const a=this.getCaptionTrack(),l=null!=a?this.#t.block.getChildren(a):[];this.propertyWhitelist.forEach(e=>{const r=e.replace("{{blockType}}","//ly.img.ubq/text"===s?"text":"caption"),o=this.#t.block.getPropertyType(r),n=e.replace("{{blockType}}","caption");switch(o){case"Int":{const e=this.#t.block.getInt(i,r);this.#t.block.setInt(t,n,e);break}case"Float":{const e=this.#t.block.getFloat(i,r);this.#t.block.setFloat(t,n,e);break}case"Double":{const e=this.#t.block.getDouble(i,r);this.#t.block.setDouble(t,n,e);break}case"Bool":{const e=this.#t.block.getBool(i,r);this.#t.block.setBool(t,n,e);break}case"Enum":{const e=this.#t.block.getEnum(i,r);this.#t.block.setEnum(t,n,e);break}case"Color":{if("fill/solid/color"===r){const[e]=this.#t.block.getTextColors(i);this.#t.block.setColor(t,n,e),"Text"===this.#t.editor.getEditMode()&&this.#t.editor.setEditMode("Transform"),this.#t.block.setTextColor(t,e);break}const e=this.#t.block.getColor(i,r);this.#t.block.setColor(t,n,e);break}case"String":{if("text/typeface"===r||"caption/typeface"===r){const e=this.#t.block.getTypeface(i);this.#t.block.setTypeface(t,e);break}const e=this.#t.block.getString(i,r);this.#t.block.setString(t,n,e);break}}}),e.payload?.properties?.forEach(async t=>{"Color"===t.type&&await this.applyProperty(e,t)});const[d]=this.#t.block.getTextFontWeights(i);null!=d&&this.#t.block.setTextFontWeight(t,d);const[c]=this.#t.block.getTextFontStyles(i);null!=c&&this.#t.block.setTextFontStyle(t,c);const u={in:this.#t.block.getInAnimation(i),loop:this.#t.block.getLoopAnimation(i),out:this.#t.block.getOutAnimation(i)},h=(e,t)=>{const r=u[t],o=(()=>{switch(t){case"in":return this.#t.block.getInAnimation(e);case"loop":return this.#t.block.getLoopAnimation(e);case"out":return this.#t.block.getOutAnimation(e);default:return}})();if(null!=o&&this.#t.block.isValid(o)&&this.#t.block.destroy(o),this.#t.block.isValid(r)){const o=this.#t.block.duplicate(r);switch(t){case"in":this.#t.block.setInAnimation(e,o);break;case"loop":this.#t.block.setLoopAnimation(e,o);break;case"out":this.#t.block.setOutAnimation(e,o)}}};l.forEach(e=>{h(e,"in"),h(e,"loop"),h(e,"out")}),null!=a&&this.#t.block.setMetadata(a,"activePreset",e.id),this.#t.block.destroy(i),this.#t.editor.addUndoStep(),this.#t.asset.assetSourceContentsChanged(_CaptionPresetAssetSource.assetSourceId)}async applyProperty(e,t){const r=this.getCaptionTrack();if(null==r)return;const[o]=this.#t.block.findAllSelected(),n="//ly.img.ubq/caption"===(null!=o?this.#t.block.getType(o):void 0)?o:this.#t.block.getChildren(r)[0];if(null!=n){switch(t.type){case"Color":if("fill/solid/color"===t.property){this.#t.block.setColor(n,t.property,t.value),this.#t.block.setTextColor(n,t.value);break}this.#t.block.setColor(n,t.property,t.value);break;case"Int":this.#t.block.setInt(n,t.property,t.value);break;case"Float":if("caption/scale"===t.property){const e=this.fetchCaptionScale(),r=this.#t.block.getTextFontSizes(n)[0]/e,o=Math.round(r*t.value);if(this.#t.block.setTextFontSize(n,o),this.#t.block.isStrokeEnabled(n)){const r=this.#t.block.getStrokeWidth(n)/e*t.value;this.#t.block.setStrokeWidth(n,r)}if(this.#t.block.isDropShadowEnabled(n)){const r=this.#t.block.getDropShadowOffsetX(n),o=this.#t.block.getDropShadowOffsetY(n)/e,i=this.#t.block.getDropShadowBlurRadiusX(n)/e,s=this.#t.block.getDropShadowBlurRadiusY(n)/e,a=r/e*t.value,l=o*t.value,d=i*t.value,c=s*t.value;this.#t.block.setDropShadowOffsetX(n,a),this.#t.block.setDropShadowOffsetY(n,l),this.#t.block.setDropShadowBlurRadiusX(n,d),this.#t.block.setDropShadowBlurRadiusY(n,c)}this.storeCaptionScale(t.value);break}this.#t.block.setFloat(n,t.property,t.value);break;case"Double":this.#t.block.setDouble(n,t.property,t.value);break;case"Boolean":this.#t.block.setBool(n,t.property,t.value);break;case"Enum":this.#t.block.setEnum(n,t.property,t.value);break;case"String":this.#t.block.setString(n,t.property,t.value)}this.#r=this.#r.map(r=>{if("caption/scale"===t.property){const e=r.payload?.properties?.map(e=>"caption/scale"===e.property?{...e,value:t.value}:e);return{...r,payload:{...r.payload,properties:e}}}if(r.id===e.id){const e=r.payload?.properties?.map(e=>e.property===t.property?{...e,value:t.value}:e);return{...r,payload:{...r.payload,properties:e}}}return{...r}}),this.#t.asset.assetSourceContentsChanged(_CaptionPresetAssetSource.assetSourceId)}}storeCaptionScale(e){const t=this.getCaptionTrack();null!=t&&this.#t.block.setMetadata(t,"previousScale",e.toString())}fetchCaptionScale(){const e=this.getCaptionTrack();if(null==e)return 1;try{const t=this.#t.block.getMetadata(e,"previousScale"),r=parseFloat(t);return Number.isNaN(r)?1:r}catch(e){return 1}}getCaptionTrack(){const e=this.#t.scene.getCurrentPage();if(null!=e)return this.#t.block.getChildren(e).find(e=>"//ly.img.ubq/captionTrack"===this.#t.block.getType(e))}static async create(e,t,r){const o=await _CaptionPresetAssetSource.fetchAssets(t,r);return new _CaptionPresetAssetSource(e,o,r)}};var Vu=async function(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","ly.img.typeface","ly.img.page.presets","ly.img.page.presets.video","ly.img.crop.presets","ly.img.text"].filter(e=>!r.includes(e));await Hu(n,t,o,e.asset),r.includes("ly.img.captionPresets")||await $u.create(e,t,o)},Nu=["Left","Center","Right"],zu=["Top","Center","Bottom"];var Gu=async function(e,t,r,o,n,i,s="https://cdn.img.ly/assets/demo/v3"){const a=new Set(e.findAllSources()),l="ly.img.image.upload";!n||r.includes(l)||a.has(l)||e.addLocalSource(l,["image/jpeg","image/png","image/webp","image/svg+xml","image/bmp",..."Design"===o?["image/gif","image/apng"]:[]]);const d="ly.img.video.upload";"Video"!==o||!n||r.includes(d)||a.has(d)||e.addLocalSource(d,["application/json","video/mp4","video/quicktime","video/webm","video/matroska","image/gif","image/apng"]);const c="ly.img.audio.upload";"Video"!==o||!n||r.includes(c)||a.has(c)||e.addLocalSource(c,["audio/mpeg","audio/mp3","audio/x-m4a","audio/wav"]);const u=["ly.img.image","ly.img.video","ly.img.audio"].filter(e=>!r.includes(e));a.has("ly.img.template")||r.includes("ly.img.template")||(e.addLocalSource("ly.img.template",void 0,async e=>{const r=e.meta?.uri,o=t.get();if(r&&null!=o){if(r.startsWith("UBQ1"))t.applyTemplateFromString(r);else{const e=new URL(r,window.location.href);t.applyTemplateFromURL(e.href)}return o}}),u.push("ly.img.template")),"Video"!==o||a.has("ly.img.video.template")||r.includes("ly.img.video.template")||(e.addLocalSource("ly.img.video.template",void 0,async e=>{const r=e.meta?.uri,o=t.get();if(r&&null!=o){if(r.startsWith("UBQ1"))t.applyTemplateFromString(r);else{const e=new URL(r,window.location.href);t.applyTemplateFromURL(e.href)}return o}}),u.push("ly.img.video.template")),a.has("ly.img.textComponents")||r.includes("ly.img.textComponents")||u.push("ly.img.textComponents"),await Hu(u,s,i,e)};function Xu(e,t){let r;const o=new Set;function n(){const o=window.devicePixelRatio,{width:i,height:s}=e.getBoundingClientRect();t(i*o,s*o,o),r=matchMedia(`(resolution: ${o}dppx)`),r.addEventListener("change",n,{once:!0})}n();const i=new ResizeObserver(function([e]){const{width:r,height:n}=e.target.getBoundingClientRect();if(r<=0||n<=0)return;const i=window.devicePixelRatio,s=setTimeout(function(){o.delete(s),t(r*i,n*i,i)},0);o.add(s)});return i.observe(e),()=>{r.removeEventListener("change",n),i.disconnect();for(const e of o)clearTimeout(e);o.clear(),e=null,t=null}}var Yu=u(ht());function Ku(){const e=new Set;return Object.assign(t=>(e.add(t),()=>e.delete(t)),{emit:t=>e.forEach(e=>e(t))})}function Qu(e,t={}){const{equals:r=(e,t)=>e===t,emitOnSubscribe:o=!1}=t,n=new Set;let i=e;return{subscribe:e=>(n.add(e),o&&e(i),()=>n.delete(e)),value:()=>i,update:e=>{r(e,i)||(i=e,n.forEach(t=>t(e)))}}}function Zu(e,t,r={}){const{equals:o=(e,t)=>e===t}=r,n=new Set;let i,s=!1;const a=()=>{const r=e.map(e=>"value"in e?e.value():void 0);return t(...r)},l=[];return e.forEach(e=>{"subscribe"in e&&l.push(e.subscribe(()=>{s=!1,n.size>0&&(()=>{const e=i,t=s,r=a();t&&o(r,e)?(i=r,s=!0):(i=r,s=!0,n.forEach(e=>e(r)))})()}))}),{subscribe:e=>(0!==n.size||s||(i=a(),s=!0),n.add(e),()=>{n.delete(e)}),value:()=>(s||(i=a(),s=!0),i)}}function Ju(e,t={}){return Zu(e,(...e)=>e,t)}function eh(e,t,r,o={}){const{equals:n=(e,t)=>e===t}=o,i=new Set;let s;const a=()=>{const t=e();n(t,s)||(s=t,i.forEach(e=>e(t)))};let l;return{subscribe:t=>(0===i.size&&(l=r(a),s=e()),i.add(t),()=>{i.delete(t),0===i.size&&(l?.(),l=void 0,s=void 0)}),value:e,update:t}}function th(...e){return t=>{const r=e.map(e=>e(()=>t()));return()=>r.forEach(e=>e())}}var rh=class{_clampResultProp=Qu({sceneSize:{x:0,y:0},scrollPercentage:{x:0,y:0}});_viewportPaddingProp=Qu({x:40,y:48});_disposeOnCameraUpdated;_disposeOnDpiChanged;settings;clampCamera=!1;clampResult;zoomLevel;#n;viewportPadding;autoFit;scrollPercentage;sceneSize;scroll;constructor(e){const{block:t,scene:r,_legacyApi:o}=e,n=(()=>{const o=Ku();let n;const i=()=>{n?.(),n=void 0;const r=t.findByType("camera")[0];r&&(n=e.event.subscribe([r],()=>{o.emit(r)}),o.emit(r))},s=r.onActiveChanged(i);return i(),this._disposeOnCameraUpdated=()=>{s(),n?.()},o})(),i=(()=>{const o=Ku();let n;const i=()=>{n?.(),n=void 0;const i=r.get();i&&t.isValid(i)&&(n=e.event.subscribe([i],()=>{o.emit()}),o.emit())},s=r.onActiveChanged(i);return i(),this._disposeOnDpiChanged=()=>{s(),n?.()},o})();this.settings=eh(()=>{const e=t.findByType("camera")[0];return null==e?{width:0,height:0,pixelRatio:1}:{width:t.getFloat(e,"camera/resolution/width"),height:t.getFloat(e,"camera/resolution/height"),pixelRatio:t.getFloat(e,"camera/pixelRatio")}},({width:e,height:r,pixelRatio:o})=>{const n=t.findByType("camera")[0];null!=n&&(t.setFloat(n,"camera/resolution/width",e),t.setFloat(n,"camera/resolution/height",r),t.setFloat(n,"camera/pixelRatio",o))},n,{equals:Yu.default}),this.zoomLevel=eh(()=>{const e=r.get(),{pixelRatio:o}=this.settings.value();return null!=e&&t.isValid(e)?r.getZoomLevel()/o:1},e=>{const o=r.get(),{pixelRatio:n}=this.settings.value();null!=o&&t.isValid(o)&&r.setZoomLevel(e*n)},th(e=>r.onZoomLevelChanged(e),i)),this.#n=eh(()=>{const e=t.findByType("camera")[0];return null==e?1:o.getValue(e,"ubq/designblocks/Camera","zoomLevel")},()=>{},n),this.autoFit=eh(()=>{const e=r.get();return null!=e&&r.isZoomAutoFitEnabled(e)},()=>{},e=>r.onZoomLevelChanged(e)),this.clampResult=this._clampResultProp,this.viewportPadding=this._viewportPaddingProp,this.scrollPercentage=Zu([this._clampResultProp],e=>e.scrollPercentage,{equals:Yu.default}),this.sceneSize=Zu([this._clampResultProp,this.#n,this.settings],(e,t,r)=>{const o=e.sceneSize??{x:0,y:0},n=r.pixelRatio??1;return{x:o.x*t/n,y:o.y*t/n}},{equals:Yu.default}),this.scroll=e=>{const r=t.findByType("camera")[0];if(null==r)return;const o=this.#n.value(),n=this.settings.value().pixelRatio,i=e.x*n/o,s=e.y*n/o,a={x:t.getPositionX(r)+i,y:t.getPositionY(r)+s};t.setPositionX(r,a.x),t.setPositionY(r,a.y)}}dispose(){this._disposeOnCameraUpdated?.(),this._disposeOnDpiChanged?.()}};function oh(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 nh="1.76.0-rc.0".includes("nightly")?"https://cdn.img.ly/nightlies/1.76.0-rc.0/packages/imgly/cesdk-engine/1.76.0-rc.0/assets":"https://cdn.img.ly/packages/imgly/cesdk-engine/1.76.0-rc.0/assets";function ih(e,t){return t??="undefined"==typeof window?void 0:window.location.href,new URL(e??"",t).href.replace(/\/*$/,"/")}function sh(e={}){const t={...e,license:e.license,baseURL:e.baseURL??nh,core:e.core??{baseURL:"core/"},logger:e.logger??oh,presets:e.presets??{}};t.baseURL=ih(t.baseURL),t.core.baseURL=ih(t.core.baseURL,t.baseURL);const r=new URL(nh).host,o=new URL(t.baseURL).host;if(o===r){const e=`https://img.ly/docs/cesdk/archive/v${"1.76.0-rc.0".split(".").slice(0,2).join(".")}/js/serve-assets-b0827c/`,r="https://cdn.img.ly/packages/imgly/cesdk-js/1.76.0-rc.0/imgly-assets.zip";t.logger(`Using IMG.LY CDN (${o}) for assets. For production use, please host assets yourself and specify a baseURL in your configuration.\n Download assets for v1.76.0-rc.0: ${r}\n See: ${e}`,"Warning")}return t}var ah={warnKeys(e){if(e.scene||e.page||e.assetSources||e.presets?.colorPalettes||e.presets?.images||e.presets?.pageFormats||e.presets?.colorPalettes||e.variables||e.callbacks?.log||e.initialSceneMode||e.initialSceneString||e.initialSceneURL||e.initialImageURL)return"Your configuration contains keys that are no longer supported and will be ignored. Refer to https://img.ly/docs/cesdk/introduction/migration_1_13/ for information about the removed keys."}};function lh(e,t){return t?e.flatMap(e=>{const r=e.warnKeys?.(t);return"string"==typeof r?[r]:r??[]}):[]}function dh(e,t,r){if(t)for(const o of e)o.applyFallback?.(t,r)}function ch(e,t){return t?e.reduce((e,t)=>t.migrateConfigObject?t.migrateConfigObject(e):e,t):t}var uh=[ah,new class _TypefaceMigration{static APIFALLBACK_TYPEFACES_SOURCE_ID="apiFallbackTypefaces";warnKeys(e){if(e.presets?.typefaces)return"The `presets.typefaces` configuration option is deprecated. Use the AssetAPI to add typefaces instead."}applyFallback(e,t){if(e)try{const r=t.asset;if(e.presets?.typefaces){r.addLocalSource(_TypefaceMigration.APIFALLBACK_TYPEFACES_SOURCE_ID);for(const[t,o]of Object.entries(e.presets.typefaces))r.addAssetToSource(_TypefaceMigration.APIFALLBACK_TYPEFACES_SOURCE_ID,{id:t,payload:{typeface:{name:o.family,fonts:o.fonts.map(e=>({subFamily:`${e.weight} ${e.style}`,style:e.style,uri:e.fontURL,weight:e.weight}))}}})}}catch(e){console.error(e)}}}];function hh(e,t,r=void 0){const o=e=>{ur(t.setContext("")),e.preventDefault()},n=e=>{ur(t.setContext("!canvas")),r&&r(),e.preventDefault()};return e.addEventListener("webglcontextlost",o,!1),e.addEventListener("webglcontextrestored",n,!1),()=>{e.removeEventListener("webglcontextlost",o),e.removeEventListener("webglcontextrestored",n)}}var ph,gh,fh,mh,bh=(e=>(e[e.Information=0]="Information",e[e.Warning=1]="Warning",e[e.Error=2]="Error",e))(bh||{}),yh=(e=>(e[e.Free=0]="Free",e[e.VerticalStack=1]="VerticalStack",e[e.HorizontalStack=2]="HorizontalStack",e[e.DepthStack=3]="DepthStack",e))(yh||{});function vh(e){const t={key:255,characters:e.key,shiftIsHeld:e.shiftKey,commandIsHeld:e.metaKey||e.ctrlKey,optionIsHeld:e.altKey,timestamp:Date.now()};switch(e.key.toUpperCase()){case"0":t.key=0;break;case"1":t.key=1;break;case"2":t.key=2;break;case"3":t.key=3;break;case"4":t.key=4;break;case"5":t.key=5;break;case"6":t.key=6;break;case"7":t.key=7;break;case"8":t.key=8;break;case"9":t.key=9;break;case"A":t.key=10;break;case"B":t.key=11;break;case"C":t.key=12;break;case"D":t.key=13;break;case"E":t.key=14;break;case"F":t.key=15;break;case"G":t.key=16;break;case"H":t.key=17;break;case"I":t.key=18;break;case"J":t.key=19;break;case"K":t.key=20;break;case"L":t.key=21;break;case"M":t.key=22;break;case"N":t.key=23;break;case"O":t.key=24;break;case"P":t.key=25;break;case"Q":t.key=26;break;case"R":t.key=27;break;case"S":t.key=28;break;case"T":t.key=29;break;case"U":t.key=30;break;case"V":t.key=31;break;case"W":t.key=32;break;case"X":t.key=33;break;case"Y":t.key=34;break;case"Z":t.key=35;break;case" ":t.key=42;break;case"ESCAPE":t.key=43,t.characters="";break;case"BACKSPACE":t.key=40,t.characters="";break;case"DELETE":t.key=44,t.characters="";break;case"ENTER":t.key=41,t.characters=t.shiftIsHeld?"\u2028":"\n";break;case"CONTROL":t.key=46,t.characters="";break;case"ALT":t.key=47,t.characters="";break;case"SHIFT":t.key=48,t.characters="";break;case"ARROWLEFT":t.key=36,t.characters="";break;case"ARROWRIGHT":t.key=37,t.characters="";break;case"ARROWUP":t.key=38,t.characters="";break;case"ARROWDOWN":t.key=39,t.characters="";break;case"TAB":t.key=45,t.characters="";break;case"DEAD":t.key=255,t.characters=""}return t}fh=[ar({disabledInModes:["Playback"]})],gh=[ar({disabledInModes:["Playback"]})],ph=[ar({disabledInModes:["Playback"]})];var wh=class{constructor(e){b(mh,5,this),v(this,"ubique"),v(this,"notificationStream",e=>{const t=this.ubique.addEventCallback("NotificationEvent",t=>e({type:bh[t.type],i18n:t.i18n}));return()=>{t.dispose(),t.delete()}}),v(this,"designElementLifecycleStream",e=>t=>{const r=this.ubique.addEventCallback(e,t);return()=>{r.dispose(),r.delete()}}),v(this,"historyStream",e=>{const t=this.ubique.addEventCallback("HistoryUpdatedEvent",e);return()=>{t.dispose(),t.delete()}}),this.ubique=e.getInternalAPI()}dispose(){this.ubique.delete(),this.ubique=null}setErrorCallback(e,t){this.ubique.setErrorCallback(e,t)}getSelectedText(){return ur(this.ubique.getSelectedText())}hasComponent(e,t){return ur(this.ubique.hasComponent(e,t))}getValue(e,t,r){return ur(this.ubique.getValue(e,t,r))}execute(e,t){let r;const o=new Promise((o,n)=>{r=this.ubique.ubqExecute(e,t,e=>{try{const t=ur(e);o(t)}catch(e){n(e)}})});return ur(r),o}sendKey(e){return this.execute("ubq/inputs/keyboardkey",vh(e))}changeSceneLayout(e,t,r,o){return this.execute("ubq/scene/changeLayout",[e,yh[t],r,o])}};y(mh=h(null),1,"getSelectedText",fh,wh),y(mh,1,"hasComponent",gh,wh),y(mh,1,"getValue",ph,wh),m(mh,wh);var _h=class extends Error{wasmUrl;dataUrl;baseURL;originalError;details;constructor(e){super("Failed to load CE.SDK engine. See browser console for troubleshooting details."),this.name="WasmLoadError",this.wasmUrl=e.wasmUrl,this.dataUrl=e.dataUrl,this.baseURL=e.baseURL,this.originalError=e.originalError,this.details=function(e){const{wasmUrl:t,dataUrl:r,originalError:o}=e,{docsUrl:n,assetsUrl:i}=function(){const e="1.76.0-rc.0";return{docsUrl:`https://img.ly/docs/cesdk/archive/v${e.split(".").slice(0,2).join(".")}/js/serve-assets-b0827c/`,assetsUrl:`https://cdn.img.ly/packages/imgly/cesdk-js/${e}/imgly-assets.zip`}}();return["[CE.SDK] Failed to load engine assets (v1.76.0-rc.0)","",`Error: ${o.message}`,"","Could not load:",` • ${t}`,` • ${r}`,"","This usually means the assets are missing or from a different SDK version.","","→ Download assets for v1.76.0-rc.0:",` ${i}`,"","→ Documentation:",` ${n}`].join("\n")}(e),console.error(this.details)}};var kh=u(ft()),Sh=kh.default,Ch=!("undefined"==typeof window||!window.document||!window.document.createElement)&&navigator&&navigator.userAgent||"",Eh=-1!==Ch.indexOf("Edge"),xh=!!Ch.match(/msie|trident/i),Th=/\b(iPad|iPhone|iPod)\b/.test(Ch)&&/WebKit/.test(Ch)&&!/Edge/.test(Ch)&&("undefined"==typeof window||!("MSStream"in window)),Ph=/(WOW64|Win32|i[3-6]86)/.test(navigator.userAgent)||/Win32|i[3-6]86|armv[6-7]/.test(navigator.platform),Ah=(e,t)=>{if(null!=t){return[t,e.split("/").pop()].join("")}return new URL(e,window.location.origin)};function Mh(){try{return new WebAssembly.Memory({initial:Fh(Th?512:32),maximum:Fh(Ph?1024:2048)})}catch(e){return new WebAssembly.Memory({initial:Fh(32),maximum:Fh(Ph?1024:2048)})}}function Fh(e){return 1024*e*1024/65536}async function Ih(e,t){const{core:r}=t,o=t.logger,n=Ah("./assets/core/cesdk-v1.76.0-rc.0-PI6GG5LR.wasm",r.baseURL).toString(),i=Ah("./assets/core/cesdk-v1.76.0-rc.0-MLEZSZ4D.data",r.baseURL).toString(),s=/electron/i.test(navigator.userAgent),a=function(e,t=fetch){return e.license&&0!==e.license.length&&"evaluation-license"!==e.license?e.license.length<128?t("https://api.img.ly/activate",{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):Promise.resolve("")}(t),l=s?await fetch(i,{credentials:"same-origin"}).then(e=>{if(!e.ok)throw new _h({wasmUrl:n,dataUrl:i,baseURL:r.baseURL,originalError:new Error(`HTTP ${e.status}: ${e.statusText} for data file`)});return e.arrayBuffer()}).then(e=>function(t,r){if(t!==i)return null;if(r===e.byteLength)return e;throw new Error(`Attempt to get preloaded package of unknown name or size: ${t} ${r}`)}):void 0;return new Promise((s,d)=>{const c={getPreloadedPackage:l,locateFile:(e,t)=>e.endsWith(".wasm")?n:e.endsWith(".data")?i:t+e,print:e=>{e&&"undefined"!==e&&o(e,"Info")},printErr:e=>{e&&"undefined"!==e&&o(e,"Error")},logReadFiles:!1,printWithColors:!0,wasmMemory:Mh()};Sh(c).then(async r=>{r.specialHTMLTargets["!canvas"]=e;r.emscripten_ubq_settings_forceWebGL1=Th||!!t?.forceWebGL1;const o=ur(r.createEngine("!canvas",t.audioOutput??"auto"));!function(e,t){ur(e.unlockWithLicense(t??""))}(o,await a),function(e,t){const r=new EditorAPI(e);r.setRole(t.role??"Creator"),r.setSetting("basePath",t.baseURL),r.setSetting("showBuildVersion",!1),t.featureFlags?.preventScrolling&&(r.setSetting("touch/singlePointPanning",!1),r.setSetting("touch/dragStartCanSelect",!1)),function(){const e=!!t.featureFlags?.singlePageMode;r.setSetting("features/singlePageModeEnabled",e);const o=!1!==t.featureFlags?.fileSystemUsageEnabled;r.setSetting("features/fileSystemUsageEnabled",o),r.setSetting("features/effectsEnabled",!0)}(),function(){const t=new VariableAPI(e);"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"))}(),r.startTracking(t.license??"",t.userId??"")}(o,t),s(o)}).catch(e=>{d(new _h({wasmUrl:n,dataUrl:i,baseURL:r.baseURL,originalError:e}))})})}var Rh=class{_reactor;_updateHandler=null;debugName;dirty=!0;readCalls=new Set;constructor(e,t){this.debugName=t,this._reactor=e}dispose(){this._updateHandler=null,this._reactor._unregisterReaction(this),this._reactor=null}track(e){return this._reactor._trackReaction(this,e)}subscribe(e){return this._reactor._registerReaction(this),this._updateHandler=e,()=>{this._updateHandler=null,this._reactor._unregisterReaction(this)}}update(){this._updateHandler?.()}},Lh=u(ht()),Dh=Symbol("NO_VALUE"),Oh=class{callId;_value=Dh;_lastUpdateValue=Dh;_readFromEngine;_disabledInModes=[];constructor(e,t,r){this.callId=e,this._readFromEngine=t,this.read(),this._lastUpdateValue=this._value,this._disabledInModes=r??[]}readCachedValue(){return this._value===Dh||this.revalidate?this.read():this._value}revalidate=!1;invalidate(){this.revalidate=!0}read(){const e=this._readFromEngine();return this.revalidate=!1,(0,Lh.default)(this._value,e)?this._value:(this._value=e,e)}updateValueAndCheckDirty(){try{const e=this.read(),t=this._lastUpdateValue!==e;return this._lastUpdateValue=e,t}catch{return this._lastUpdateValue=Dh,!0}}update(e){this._readFromEngine=e}isDisabledInMode(e){return this._disabledInModes.includes(e)}},Bh=class{readCalls=new Map;_createOrUpdateReadCall(e,t,r){if(this.readCalls.has(e)){this.readCalls.get(e).update(t)}else this.readCalls.set(e,new Oh(e,t,r))}registeredReactions=new Set;activeReactions=new Set;get isTracking(){return this.activeReactions.size>0}_nextReaction;_resolveNextReaction;_createNextReaction(){this._nextReaction=new Promise(e=>{this._resolveNextReaction=e})}currentMode;constructor(e){this.currentMode=e,this._createNextReaction()}get nextReaction(){return this._nextReaction}_getterCalled(e,t,r){if(this.isTracking){this._createOrUpdateReadCall(e,t,r);for(const t of this.activeReactions)t.readCalls.add(e)}}_setterCalled(){for(const e of this.readCalls.values())e.invalidate()}read(e,t){return this.isTracking&&this.readCalls.has(e)?this.readCalls.get(e).readCachedValue():t()}createReaction(e){return new Rh(this,e)}_registerReaction(e){this.registeredReactions.add(e)}_unregisterReaction(e){this.registeredReactions.delete(e)}_cleanupReadCalls(){const e=new Set;for(const t of this.registeredReactions)for(const r of t.readCalls)e.add(r);for(const[t]of this.readCalls)e.has(t)||this.readCalls.delete(t)}#i=new Set;updateDirtyReactions(){const e=new Set;for(const[t,r]of this.readCalls)null!=this.currentMode&&r.isDisabledInMode(this.currentMode)||r.updateValueAndCheckDirty()&&e.add(t);if(e.size>0)for(const t of this.registeredReactions)if(!t.dirty)for(const r of t.readCalls)if(e.has(r)){t.dirty=!0;break}for(const e of this.registeredReactions)if(!this.#i.has(e)&&e.dirty)try{this.#i.add(e),e.update()}finally{e.dirty=!1,this.#i.delete(e)}this._cleanupReadCalls(),this._resolveNextReaction(),this._createNextReaction()}_trackReaction(e,t){try{return this.activeReactions.add(e),e.readCalls.clear(),t()}finally{e.dirty=!1,this.activeReactions.delete(e)}}decorateFunction(e,t){return function(e,t,r=t.name){dr[r]??=0;const o=dr[r]++;return function(...n){const i=this,s=`${r}${o}-${JSON.stringify(n,null,0)}`;function a(){return Reflect.apply(t,i,n)}return e._getterCalled(s,a),e.read(s,a)}}(this,e,t)}decorateObject(e){return function(e,t){const r=t.constructor?.name??crypto.randomUUID(),o=[];let n=!1;const i=Object.getOwnPropertyNames(t.constructor.prototype).concat(Object.getOwnPropertyNames(t));for(const s of i){const i=t[s];if(sr(i))if("getter"===i[ir].type){let a=function(...t){if(n)throw new Error("Disposed @getter proxy called");const o=this,a=`${r}-${s.toString()}-${JSON.stringify(t,null,0)}`;function d(){return Reflect.apply(i,o,t)}return e._getterCalled(a,d,l),e.read(a,d)};const l=i[ir].disabledInModes;o.push(cr(t,s,i)),t[s]=a}else if("setter"===i[ir].type){let r=function(...t){if(n)throw new Error("Disposed @setter proxy called");const r=this;return e._setterCalled(),Reflect.apply(i,r,t)};o.push(cr(t,s,i)),t[s]=r}}return function(){n=!0;for(const e of o)e();o.length=0}}(this,e)}dispose(){this.registeredReactions.forEach(e=>e.dispose()),this.registeredReactions.clear(),this.readCalls.clear(),this.activeReactions.clear()}};function Uh(e,t){let r;return t.onStateChanged(()=>{const o=function(e,t){switch(e){case"Arrow":return"default";case"Move":return"move";case"MoveNotPermitted":return"auto";case"Resize":{const e=180*t/Math.PI+45;if(!xh&&!Eh)return`url("data:image/svg+xml,%3Csvg style='transform: rotate(${e}deg)' width ='22' height ='22' viewBox ='0 0 22 22' fill ='none' xmlns ='http://www.w3.org/2000/svg'%3E%3Cg filter ='url(%23filter0_d)'%3E%3Cpath d ='M13.7 11.1L9.7 15.2L12.5 18H4V9.5L6.9 12.3L10.9 8.3L12.3 6.9L9.5 4H18V12.5L15.2 9.7L13.7 11.1Z' fill ='white'/%3E%3C/g%3E%3Cpath d ='M12.7 10.7L8.3 15.2L10.1 17H5V11.9L6.9 13.8L11.3 9.3L13.8 6.9L11.9 5H17V10.1L15.2 8.3L12.7 10.7Z' fill ='black'/%3E%3Cdefs%3E%3Cfilter id ='filter0_d' x ='0' y ='0' width ='22' height ='22' filterUnits ='userSpaceOnUse' color-interpolation-filters ='sRGB'%3E%3CfeFlood flood-opacity ='0' result ='BackgroundImageFix'/%3E%3CfeColorMatrix in ='SourceAlpha' type ='matrix' values ='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0'/%3E%3CfeOffset/%3E%3CfeGaussianBlur stdDeviation ='2'/%3E%3CfeColorMatrix type ='matrix' values ='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0'/%3E%3CfeBlend mode ='normal' in2 ='BackgroundImageFix' result ='effect1_dropShadow'/%3E%3CfeBlend mode ='normal' in ='SourceGraphic' in2 ='effect1_dropShadow' result ='shape'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E") 12 12, pointer`;switch(e){case 90:case 270:return"nwse-resize";case 135:case 315:return"ns-resize";case 180:case 360:return"nesw-resize";case 225:return"ew-resize";default:return"move"}}case"Rotate":return'url("data:image/svg+xml,%3Csvg width=%2722%27 height=%2725%27 viewBox=%270 0 22 25%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cg filter=%27url(%23filter0_d)%27%3E%3Cpath d=%27M18 11.1071C18 14.5637 15.5566 17.4515 12.3314 18.0846V20L7.20308 17.0145L12.3314 14.0289V15.7825C14.3292 15.1951 15.7946 13.3221 15.7946 11.107C15.7946 8.42285 13.6437 6.23908 11 6.23908C8.35629 6.23908 6.20542 8.42285 6.20542 11.107C6.20542 11.8299 6.35745 12.5252 6.65738 13.1736L4.66118 14.1255C4.22245 13.1771 4 12.1616 4 11.1071C4.00007 7.18825 7.1403 4 11.0001 4C14.8599 4 18 7.18825 18 11.1071Z%27 fill=%27black%27/%3E%3Cpath d=%27M12.8314 15.0559V14.0289V13.1593L12.0799 13.5968L6.95152 16.5824L6.20927 17.0145L6.95152 17.4466L12.0799 20.4321L12.8314 20.8696V20V18.4841C16.0889 17.6521 18.5 14.6573 18.5 11.1071C18.5 6.9193 15.1431 3.5 11.0001 3.5C6.85702 3.5 3.50008 6.91929 3.5 11.1071V11.1071C3.5 12.2334 3.73793 13.3206 4.20739 14.3354L4.41978 14.7946L4.8764 14.5768L6.8726 13.6249L7.31866 13.4122L7.11118 12.9637C6.84206 12.3819 6.70542 11.7584 6.70542 11.107C6.70542 8.69181 8.63956 6.73908 11 6.73908C13.3604 6.73908 15.2946 8.69181 15.2946 11.107C15.2946 12.8513 14.2837 14.3564 12.8314 15.0559Z%27 stroke=%27white%27/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id=%27filter0_d%27 x=%270.0599999%27 y=%270.0599999%27 width=%2721.88%27 height=%2724.6193%27 filterUnits=%27userSpaceOnUse%27 color-interpolation-filters=%27sRGB%27%3E%3CfeFlood flood-opacity=%270%27 result=%27BackgroundImageFix%27/%3E%3CfeColorMatrix in=%27SourceAlpha%27 type=%27matrix%27 values=%270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0%27/%3E%3CfeOffset/%3E%3CfeGaussianBlur stdDeviation=%271.47%27/%3E%3CfeColorMatrix type=%27matrix%27 values=%270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0%27/%3E%3CfeBlend mode=%27normal%27 in2=%27BackgroundImageFix%27 result=%27effect1_dropShadow%27/%3E%3CfeBlend mode=%27normal%27 in=%27SourceGraphic%27 in2=%27effect1_dropShadow%27 result=%27shape%27/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E") 12 12, pointer';case"Text":return"text";case"Cell":return"cell";default:return"auto"}}(t.getCursorType(),t.getCursorRotation());if(o!==r){r=o;const t=new CustomEvent("cesdk-cursor",{composed:!0,bubbles:!0,cancelable:!0,detail:o});e.dispatchEvent(t)&&e.style.setProperty("cursor",o)}})}var jh=function(e,t,r,o,n){let i,s=null;const a=o.onStateChanged(()=>{i=o.getEditMode(),"Text"!==i||s?"Text"!==i&&s&&(s(),s=null):s=function(){const i=s();return()=>{i?.()};function s(){const i=window.visualViewport?.height;let s=!1,a="";if(null==e.parentElement)return console.warn('Could not attach hidden text input to the DOM: Canvas has no parentElement. This can happen if edit mode is switched to "Text", while the canvas is removed from the DOM.'),()=>{};const l=u();p();const d=g();function c(){const t=window.visualViewport?.height;if(i&&(!(!i||!t)&&i>t)){const t=document.body.offsetHeight-e.getBoundingClientRect().bottom,r=window.visualViewport?.height??0,o=i-r;e.style.height=`${e.offsetHeight-o+t}px`}else e.style.height="",window.visualViewport?.removeEventListener("resize",c),D()}return e.parentElement.appendChild(l),Th&&window.visualViewport?.addEventListener("resize",c),f(),()=>{d(),h()};function u(){const e=document.createElement("textarea");return e.id="ubq_internal-inline_text_editing_html_representation",e.setAttribute("data-cy","inline-text-editing-input"),e.autocapitalize="none",e.spellcheck=!1,e.cols=4096,e.style.contain="strict",e.style.opacity="0",e.style.pointerEvents="none",e.style.zIndex="-1",e.style.position="fixed",e.style.width="1px",e.style.height="1px",e.style.padding="0",e.style.margin="-1px",e.style.overflow="hidden",e.style.clip="rect(0, 0, 0, 0)",e.style.border="0",e}function h(){l.blur(),l.remove()}function p(){const t=o.getTextCursorPositionInScreenSpaceX(),r=o.getTextCursorPositionInScreenSpaceY(),{left:n,top:i}=e.getBoundingClientRect();l.style.left=`${n+t/window.devicePixelRatio}px`,l.style.top=`${i+r/window.devicePixelRatio}px`}function g(){const t=e.getRootNode();l.addEventListener("input",k),l.addEventListener("keydown",C),l.addEventListener("copy",v),l.addEventListener("cut",w),l.addEventListener("compositionstart",E),l.addEventListener("compositionend",x),l.addEventListener("beforeinput",M),l.addEventListener("focusout",F),t.addEventListener("touchend",A),t.addEventListener("mousedown",A),t.addEventListener("mouseup",P);const r=o.onStateChanged(()=>{p()});return()=>{l.removeEventListener("input",k),l.removeEventListener("keydown",C),l.removeEventListener("copy",v),l.removeEventListener("cut",w),l.removeEventListener("compositionstart",E),l.removeEventListener("compositionend",x),l.removeEventListener("beforeinput",M),l.removeEventListener("focusout",F),t.removeEventListener("mousedown",A),t.removeEventListener("mouseup",P),t.removeEventListener("touchend",A),r()}}function f(){null!==l.parentElement&&(l.focus(),m()||setTimeout(()=>l.focus(),0))}function m(){return l.getRootNode().activeElement===l}function b(e){return[...e].length}function y(e){const t=e.selectionEnd??e.selectionStart??0;return b(e.value.substring(0,t))}function v(e){try{const r=t.getSelectedText();""!==r&&e.clipboardData&&(e.clipboardData.setData("text/plain",r),e.preventDefault())}catch(e){console.error(e)}}function w(e){try{const r=t.getSelectedText();if(""!==r&&e.clipboardData){e.clipboardData.setData("text/plain",r),e.preventDefault();const o={key:44,characters:"",shiftIsHeld:!1,commandIsHeld:!1,optionIsHeld:!1,timestamp:Date.now()};t.execute("ubq/inputs/keyboardkey",o)}}catch(e){console.error(e)}}async function _(){return!(!s||r.unstable_isTextCursorInCompositionRange())&&(await x(),!0)}function k(e){const r=e.target,{value:o}=r;if(s){const e=y(l);t.execute("ubq/text/compositionUpdate",{value:o,cursorPosition:e})}else o.length>0&&(r.value="")}function S(e){const r={key:255,characters:e,shiftIsHeld:!1,commandIsHeld:!1,optionIsHeld:!1,timestamp:Date.now()};t.execute("ubq/inputs/keyboardkey",r)}async function C(e){if(_(),1===e.key.length&&(a=e.key),"a"===e.key&&(e.metaKey||e.ctrlKey))return s&&x(),void await t.execute("ubq/text/selectAllText");if("Escape"===e.key)return void D();if("Backspace"!==e.key&&"Delete"!==e.key&&"ArrowLeft"!==e.key&&"ArrowRight"!==e.key&&"ArrowUp"!==e.key&&"ArrowDown"!==e.key&&"Enter"!==e.key&&"Tab"!==e.key)return;const r=vh(e);await t.execute("ubq/inputs/keyboardkey",r),e.currentTarget&&(l.value="")}async function E(){s=!0,await t.execute("ubq/text/compositionStart")}async function x(){s?(s=!1,l.value="",t.execute("ubq/text/compositionEnd")):l.value=""}async function T(){if(!s)return;n();if(await _())return;const e=r.unstable_getCursorPosition(),t=r.unstable_getCompositionRange(),o=e.end-t.start,i=y(l);e.start>=t.start&&e.start<=1+t.end&&o!==i&&x()}async function P(){T()}async function A(t){T(),t.target===e&&"Text"===o.getEditMode()&&(f(),t.preventDefault())}async function M(e){if(s&&!e.isComposing&&x(),null===e.data)return;const r=e.target,o=e.data;if(await _())S(a);else if(s){const e=b(o);t.execute("ubq/text/compositionUpdate",{value:o,cursorPosition:e})}else o.length>0&&("\n"!==o[0]&&S(o),r.value="")}function F(e){if(L(e.relatedTarget)&&I(e.relatedTarget));else{R(e)}}function I(t){const r=new CustomEvent("cesdk-blur",{composed:!0,bubbles:!0,cancelable:!0,detail:t});return e.dispatchEvent(r)}function R(t){const r=new CustomEvent("cesdk-refocus",{composed:!0,bubbles:!0,cancelable:!0,detail:t.relatedTarget}),o=e.dispatchEvent(r);return o&&f(),o}function L(e){return null!=e&&(e instanceof HTMLElement&&(e instanceof HTMLTextAreaElement||e instanceof HTMLInputElement&&e.type.match("^(text|number|url|email|search|tel)$")||e.isContentEditable))}async function D(){o.setEditMode("Transform")}}}()});return()=>{s?.(),a()}};function qh(e,t,r){const o=[],n=r=>{if("touch"===r.pointerType)return;const o=Wh(e,r);t.execute("ubq/inputs/mousemove",o)},i=r=>{if("touch"===r.pointerType)return;if(null===r.relatedTarget)return;const o={...Wh(e,r),position:{x:1/0,y:1/0}};t.execute("ubq/inputs/mousemove",o)},s=n=>{if("touch"===n.pointerType)return;const i={...Wh(e,n),button:Hh(n.button),state:0,shiftIsHeld:!!n.shiftKey,commandIsHeld:!!n.metaKey||!!n.ctrlKey};o[n.button]=!1,n.currentTarget.releasePointerCapture(n.pointerId),t.execute("ubq/inputs/mousebutton",i),r()},a=r=>{if("touch"===r.pointerType)return;const n={...Wh(e,r),button:Hh(r.button),state:1,shiftIsHeld:!!r.shiftKey,commandIsHeld:!!r.metaKey||!!r.ctrlKey};o[r.button]=!0,r.currentTarget.setPointerCapture(r.pointerId),t.execute("ubq/inputs/mousebutton",n)},l=r=>{if("touch"===r.pointerType)return;const n={...Wh(e,r),shiftIsHeld:!!r.shiftKey,commandIsHeld:!!r.metaKey||!!r.ctrlKey};o.forEach((e,r)=>{if(e){const e={...n,button:r,state:0};t.execute("ubq/inputs/mousebutton",e)}}),o.length=0},d=e=>{e.cancelable&&e.preventDefault()};return e.addEventListener("pointerdown",a),e.addEventListener("pointerup",s),e.addEventListener("pointercancel",s),e.addEventListener("pointermove",n),e.addEventListener("pointerleave",i),e.addEventListener("lostpointercapture",l),e.addEventListener("touchmove",d,{passive:!1}),()=>{e.removeEventListener("pointerdown",a),e.removeEventListener("pointerup",s),e.removeEventListener("pointercancel",s),e.removeEventListener("pointermove",n),e.removeEventListener("pointerleave",i),e.removeEventListener("lostpointercapture",l),e.removeEventListener("touchmove",d),e=null}}function Wh(e,t){const r=e.getBoundingClientRect(),o=r?.top??0,n=r?.left??0;return{position:{x:(t.clientX-n)*window.devicePixelRatio,y:(t.clientY-o)*window.devicePixelRatio},isTouch:!1,timestamp:t.timeStamp}}function Hh(e){switch(e){case 0:return 0;case 1:return 2;case 2:return 1;default:return 255}}var $h=class{ubq;enabled;initialTarget;target;dispose;constructor(e,t){this.ubq=t,this.enabled=eh(()=>{const t=e.editor.getSettingBool("mouse/enableZoom"),r=e.editor.getSettingBool("mouse/enableScroll");return t||r},()=>{},t=>e.editor.onSettingsChanged(()=>t(void 0))),this.target=Qu(void 0),this.dispose=()=>{this.target.update(void 0),this.target=null,this.enabled=null,this.ubq=null,this.initialTarget=null,e=null,t=null}}initialize(e){let t;this.initialTarget=e;const r=()=>{t?.(),t=void 0;const e=this.target.value();this.enabled.value()&&e&&(t=this.addWheelListener(e))},o=this.enabled.subscribe(r),n=this.target.subscribe(r);this.target.update(e);return()=>{o(),n(),t?.()}}setTarget(e){this.target.update(e);return()=>{this.target.update(this.initialTarget)}}addWheelListener(e){const t=e=>{if(!this.initialTarget)throw new Error("initialTarget is not set");const t={...Wh(this.initialTarget,e),deltaX:e.deltaX,deltaY:e.deltaY,deltaMode:e.deltaMode,shiftIsHeld:!!e.shiftKey,ctrlOrMetaIsHeld:!!e.ctrlKey||!!e.metaKey};this.ubq.mouseWheel(t)&&(e.stopPropagation(),e.preventDefault())};e.addEventListener("wheel",t,{passive:!1,capture:!0});return()=>{e.removeEventListener("wheel",t,{capture:!0}),e=null}}},Vh=class{active=!1;enableDebug=!1;timestamp=0;baseTouches=[];touches=[];currentTransform;constructor(){this.currentTransform=this.emptyTransform()}touchAddRemove(e){const t=new Array(e.touches.length);for(let r=0;r<e.touches.length;r++){const o=e.touches.item(r);t[r]=Nh(o)}this.touches=t}touchUpdate(e){for(let t=0;t<e.touches.length;t++){const r=e.touches.item(t),o=this.touches.find(e=>e.identifier===r.identifier);if(!o)return;o.x=r.clientX,o.y=r.clientY}}listen(e){return e.addEventListener("touchstart",this.touchstart,{passive:!0}),e.addEventListener("touchend",this.touchend),e.addEventListener("touchcancel",this.touchcancel),e.addEventListener("touchmove",this.touchmove,{passive:!0}),()=>{e.removeEventListener("touchstart",this.touchstart),e.removeEventListener("touchend",this.touchend),e.removeEventListener("touchcancel",this.touchcancel),e.removeEventListener("touchmove",this.touchmove)}}touchstart=e=>{this.touchAddRemove(e),this.timestamp=e.timeStamp,this.process("touchstart")};touchend=e=>{this.touchAddRemove(e),this.timestamp=e.timeStamp,this.process("touchend")};touchcancel=e=>{this.touchAddRemove(e),this.timestamp=e.timeStamp,this.process("touchcancel")};touchmove=e=>{this.touchUpdate(e),this.timestamp=e.timeStamp,this.process("touchmove")};debugState;debug(){if(!this.enableDebug)return;const e=JSON.stringify(this.currentTransform);function t(e,[t,r,o],n){const i=document.createElement("div");return i.style.position="fixed",i.style.top="-25px",i.style.left="-25px",i.style.width="50px",i.style.height="50px",i.style.border=`3px ${n} rgb(${t},${r},${o})`,i.style.borderRadius="50%",i.style.borderStyle=n,i.style.backgroundColor=`rgba(${t},${r},${o}, 0.5)`,i.style.transformOrigin="center",i.style.textAlign="center",i.innerHTML=e,i.style.display="none",document.body.appendChild(i),i}this.debugState||(this.debugState={touches:[t("T1",[218,212,104],"solid"),t("T2",[218,212,104],"solid")],value:this.debugValueDiv(void 0,e,this.touches,[218,212,104]),baseTouches:[t("B1",[128,128,128],"solid"),t("B2",[128,128,128],"solid")]}),this.debugState.touches[0].style.display=this.touches[0]?"block":"none",this.debugState.touches[1].style.display=this.touches[1]?"block":"none",this.debugState.baseTouches[0].style.display=this.baseTouches[0]?"block":"none",this.debugState.baseTouches[1].style.display=this.baseTouches[1]?"block":"none",this.touches[0]&&(this.debugState.touches[0].style.transform=`translate(${this.touches[0]?.x}px, ${this.touches[0]?.y}px)`),this.touches[1]&&(this.debugState.touches[1].style.transform=`translate(${this.touches[1]?.x}px, ${this.touches[1]?.y}px)`),this.baseTouches[0]&&(this.debugState.baseTouches[0].style.transform=`translate(${this.baseTouches[0]?.x}px, ${this.baseTouches[0]?.y}px)`),this.baseTouches[1]&&(this.debugState.baseTouches[1].style.transform=`translate(${this.baseTouches[1]?.x}px, ${this.baseTouches[1]?.y}px)`),this.debugState.value=this.debugValueDiv(this.debugState.value,e,this.touches)}debugValueDiv(e,t,r,o){if(!e){const[t,r,n]=o??[128,128,128];(e=document.createElement("div")).style.position="fixed",e.style.top="50px",e.style.left="50px",e.style.width="300px",e.style.height="100px",e.style.border=`3px solid rgb(${t},${r},${n})`,e.style.borderStyle="dashed",e.style.backgroundColor=`rgba(${t},${r},${n}, 0.5)`,e.style.transformOrigin="center",e.style.overflow="visible",e.style.textOverflow="visible",e.style.display="none",document.body.appendChild(e)}return this.active?e.style.borderStyle="solid":e.style.borderStyle="dashed",0===r.length?(e.style.display="none",e):(e.style.display="block",e.innerHTML=t,e)}resetBaseTouches(){this.baseTouches=this.touches.map(Nh)}process(e){if("touchcancel"===e)return this.resetBaseTouches(),this.reset(),this.debug(),void this.emit(2);"touchstart"!==e&&"touchend"!==e||(this.resetBaseTouches(),this.debug()),!this.active&&this.shouldStart()&&(this.active=!0,this.emit(0)),"touchmove"===e&&(this.currentTransform=this.calculateTransform(),this.active&&this.emit(1)),this.debug(),this.active&&this.shouldStop()&&(this.active=!1,this.emit(2),this.reset())}shouldStart(){return 2===this.touches.length}shouldStop(){return 2!==this.touches.length}emit(e){const t={timestamp:this.timestamp,state:e,touchPoints:this.touches},r=this.makeEvent(t);for(const e of this.handlers)e(r)}handlers=new Set;addListener(e){return this.handlers.add(e),()=>{this.handlers.delete(e)}}reset(){this.active=!1,this.currentTransform=this.emptyTransform()}};function Nh(e){if(null!=e)return e instanceof Touch?{identifier:e.identifier,x:e.clientX,y:e.clientY}:{identifier:e.identifier,x:e.x,y:e.y}}var zh=class _PanRecognizer extends Vh{static PAN_THRESHOLD=10;makeEvent(e){const t=0===e.state?{x:0,y:0}:this.currentTransform;return{...e,panDistance:t}}calculateTransform(){const e=Xh(this.touches),t=Xh(this.baseTouches);return{x:e.x-t.x,y:e.y-t.y}}emptyTransform(){return{x:0,y:0}}shouldStart(){return super.shouldStart()&&Gh(this.calculateTransform())>_PanRecognizer.PAN_THRESHOLD}};function Gh(e){return Math.sqrt(e.x**2+e.y**2)}function Xh(e){let t=0,r=0;for(let o=0;o<e.length;o++){const n=e[o];t+=n.x,r+=n.y}return t/=e.length,r/=e.length,{x:t,y:r}}var Yh=class _PinchRecognizer extends Vh{static PINCH_THRESHOLD=.2;makeEvent(e){return{...e,scale:this.currentTransform}}calculateTransform(){const e=this.baseTouches,t=this.touches;if(2!==e.length||2!==t.length)return 1;const r=Math.sqrt(Math.pow(e[0].x-e[1].x,2)+Math.pow(e[0].y-e[1].y,2));return Math.sqrt(Math.pow(t[0].x-t[1].x,2)+Math.pow(t[0].y-t[1].y,2))/r}emptyTransform(){return 1}shouldStart(){return super.shouldStart()&&Math.abs(this.calculateTransform()-1)>_PinchRecognizer.PINCH_THRESHOLD}},Kh=class _PointRecognizer extends Vh{static DISTANCE_THRESHOLD=5;static TAP_MAX_TIME=250;lastPosition={x:0,y:0};makeEvent(e){const t=this.tapDetected?this.tapLocation:e.touchPoints[0];return 0===e.state?(this.lastPosition=t,{button:0,state:1,position:t,shiftIsHeld:!1,commandIsHeld:!1,isTouch:!0,timestamp:e.timestamp}):2===e.state?{button:0,state:0,position:t??this.lastPosition,shiftIsHeld:!1,commandIsHeld:!1,isTouch:!0,timestamp:e.timestamp}:(this.lastPosition=t,{position:t,isTouch:!0,timestamp:e.timestamp})}previousNumTouches=0;fingerDownTimestamp=0;tapDetected=!1;tapLocation={x:0,y:0};process(e){if("touchstart"===e||"touchend"===e){this.tapDetected=!1;const e=1===this.touches.length&&0===this.previousNumTouches,t=0===this.touches.length&&1===this.previousNumTouches;e&&(this.fingerDownTimestamp=performance.now(),this.tapLocation=this.touches[0]),t&&performance.now()-this.fingerDownTimestamp<_PointRecognizer.TAP_MAX_TIME&&(this.tapDetected=!0),this.previousNumTouches=this.touches.length}super.process(e)}calculateTransform(){if(0===this.touches.length||0===this.baseTouches.length)return{x:0,y:0};const e=this.touches[0],t=this.baseTouches[0];return{x:e.x-t.x,y:e.y-t.y}}emptyTransform(){return{x:0,y:0}}shouldStart(){return this.tapDetected||1===this.touches.length&&Gh(this.calculateTransform())>_PointRecognizer.DISTANCE_THRESHOLD}shouldStop(){return 1!==this.touches.length}},Qh=class _RotateRecognizer extends Vh{static ROTATE_THRESHOLD=.1;makeEvent(e){return{...e,rotation:this.currentTransform}}calculateTransform(){const e=this.baseTouches,t=this.touches;if(e.length<2||t.length<2)return 0;const r=Math.atan2(e[1].y-e[0].y,e[1].x-e[0].x);return Math.atan2(t[1].y-t[0].y,t[1].x-t[0].x)-r}emptyTransform(){return 0}shouldStart(){return super.shouldStart()&&Math.abs(this.calculateTransform())>_RotateRecognizer.ROTATE_THRESHOLD}};function Zh(e,t,r){const o=[],n=new Kh;o.push(n.listen(e)),o.push(n.addListener(o=>{"button"in o?(t.execute("ubq/inputs/mousebutton",Jh(e,o)),r.update()):t.execute("ubq/inputs/mousemove",Jh(e,o))}));const i=new zh;o.push(i.listen(e)),o.push(i.addListener(r=>{t.execute("ubq/inputs/touchpan",Jh(e,r))}));const s=new Yh;o.push(s.listen(e)),o.push(s.addListener(r=>{t.execute("ubq/inputs/touchpinch",Jh(e,r))}));const a=new Qh;return o.push(a.listen(e)),o.push(a.addListener(r=>{t.execute("ubq/inputs/touchrotate",Jh(e,r))})),()=>{o.forEach(e=>e())}}function Jh(e,t){const r=window.devicePixelRatio??1,{top:o,left:n}=e.getBoundingClientRect();if(1===r&&0===o&&0===n)return t;const i=e=>({x:(e.x-n)*r,y:(e.y-o)*r});if("position"in t)return{...t,position:i(t.position)};const s=t.touchPoints.map(i);return"panDistance"in t?{...t,touchPoints:s,panDistance:i(t.panDistance)}:{...t,touchPoints:s}}function ep(e,t,r=Number.EPSILON){return Math.abs(e-t)<r}var tp,rp,op,np,ip,sp,ap,lp,dp={Info:"Info",Warning:"Warning",Error:"Error"};function cp(e){return{msg:"setVisibility",visible:e}}(rp=tp||(tp={})).start=function(e){return{...e,msg:"exportVideo"}},rp.abort=function(){return{msg:"exportVideoAbort"}},rp.finished=function(e){return{...e,msg:"exportVideoFinished"}},rp.error=function(e){return{...e,msg:"exportVideoError"}},rp.progress=function(e){return{...e,msg:"exportVideoProgress"}},rp.log=function(e){return{...e,msg:"exportLog"}},(np=op||(op={})).start=function(e){return{...e,msg:"exportAudio"}},np.abort=function(){return{msg:"exportAudioAbort"}},np.finished=function(e){return{...e,msg:"exportAudioFinished"}},np.error=function(e){return{...e,msg:"exportAudioError"}},np.progress=function(e){return{...e,msg:"exportAudioProgress"}},np.log=function(e){return{...e,msg:"exportLog"}},(sp=ip||(ip={})).start=function(e){return{...e,msg:"exportStatic"}},sp.abort=function(){return{msg:"exportStaticAbort"}},sp.finished=function(e){return{...e,msg:"exportStaticFinished"}},sp.error=function(e){return{...e,msg:"exportStaticError"}},sp.log=function(e){return{...e,msg:"exportLog"}},(lp=ap||(ap={})).start=function(e){return{...e,msg:"exportWithColorMask"}},lp.abort=function(){return{msg:"exportWithColorMaskAbort"}},lp.finished=function(e){return{...e,msg:"exportWithColorMaskFinished"}},lp.error=function(e){return{...e,msg:"exportWithColorMaskError"}},lp.log=function(e){return{...e,msg:"exportLog"}};var up=class{configuration;constructor(e){this.configuration=e}async exportVideo(e,t,r,o){const{abortSignal:n,inactivityTimeout:i}=r??{},s=await pp(this.configuration),a=hp(this.configuration),l=new Promise((e,t)=>{if(s.onmessage=({data:o})=>{switch(o.msg){case"exportVideoFinished":{const t=new Blob([o.data],{type:o.mimeType});e(t);break}case"exportVideoError":t(o.error);break;case"exportVideoProgress":r?.onProgress?.(o.renderedFrames,o.encodedFrames,o.totalFrames);break;case"exportLog":this.configuration.logger(o.message,o.logLevel);break;default:console.error("Unknown message received ",o)}},n){let e=!1;const t=()=>{e||(e=!0,s.postMessage(tp.abort()))};n.addEventListener("abort",t,{once:!0})}});s.postMessage(tp.start({sceneString:e,config:a,exportOptions:t,workerOptions:o,inactivityTimeout:i}));const d=()=>{s.postMessage(cp("visible"===document.visibilityState))};document.addEventListener("visibilitychange",d);try{return await l}finally{s.terminate(),document.removeEventListener("visibilitychange",d)}}async exportAudio(e,t,r,o){const{abortSignal:n,inactivityTimeout:i}=r??{},s=await pp(this.configuration),a=hp(this.configuration),l=new Promise((e,t)=>{if(s.onmessage=({data:o})=>{switch(o.msg){case"exportAudioFinished":{const t=new Blob([o.data],{type:o.mimeType});e(t);break}case"exportAudioError":t(o.error);break;case"exportAudioProgress":r?.onProgress?.(o.renderedFrames,o.encodedFrames,o.totalFrames);break;case"exportLog":this.configuration.logger(o.message,o.logLevel);break;default:console.error("Unknown message received ",o)}},n){let e=!1;const t=()=>{e||(e=!0,s.postMessage(op.abort()))};n.addEventListener("abort",t,{once:!0})}});s.postMessage(op.start({sceneString:e,config:a,exportOptions:t,workerOptions:o,inactivityTimeout:i}));const d=()=>{s.postMessage(cp("visible"===document.visibilityState))};document.addEventListener("visibilitychange",d);try{return await l}finally{s.terminate(),document.removeEventListener("visibilitychange",d)}}async export(e,t,r,o){const{abortSignal:n,inactivityTimeout:i}=r??{},s=await pp(this.configuration),a=hp(this.configuration),l=new Promise((e,t)=>{if(s.onmessage=({data:r})=>{switch(r.msg){case"exportStaticFinished":{const t=new Blob([r.data],{type:r.mimeType});e(t);break}case"exportStaticError":t(r.error);break;case"exportLog":this.configuration.logger(r.message,r.logLevel);break;default:console.error("Unknown message received ",r)}},n){let e=!1;const t=()=>{e||(e=!0,s.postMessage(ip.abort()))};n.addEventListener("abort",t,{once:!0})}});s.postMessage(ip.start({sceneString:e,config:a,exportOptions:t,workerOptions:o,inactivityTimeout:i}));const d=()=>{s.postMessage(cp("visible"===document.visibilityState))};document.addEventListener("visibilitychange",d);try{return await l}finally{s.terminate(),document.removeEventListener("visibilitychange",d)}}async exportWithColorMask(e,t,r,o){const{abortSignal:n,inactivityTimeout:i}=r??{},s=await pp(this.configuration),a=hp(this.configuration),l=new Promise((e,t)=>{if(s.onmessage=({data:r})=>{switch(r.msg){case"exportWithColorMaskFinished":{const[t,o]=r.data,n=new Blob([t],{type:r.mimeType}),i=new Blob([o],{type:r.mimeType});e([n,i]);break}case"exportWithColorMaskError":t(r.error);break;case"exportLog":this.configuration.logger(r.message,r.logLevel);break;default:console.error("Unknown message received ",r)}},n){let e=!1;const t=()=>{e||(e=!0,s.postMessage(ap.abort()))};n.addEventListener("abort",t,{once:!0})}});s.postMessage(ap.start({sceneString:e,config:a,exportOptions:t,workerOptions:o,inactivityTimeout:i}));const d=()=>{s.postMessage(cp("visible"===document.visibilityState))};document.addEventListener("visibilitychange",d);try{return await l}finally{s.terminate(),document.removeEventListener("visibilitychange",d)}}};function hp(e){return{baseURL:e.baseURL,license:e.license,core:e.core,role:e.role,presets:e.presets,featureFlags:e.featureFlags,forceWebGL1:e.forceWebGL1,audioOutput:e.audioOutput}}async function pp(e){const t="assets/core/worker-host-v1.76.0-rc.0.js".toString().split("/").pop(),r=await async function(e){if(!(e=e.toString()).includes("://")||e.includes(window.location.origin))return e;const t=`const _importScripts = importScripts;\n const _fixImports = (url) => new URL(url, '${new URL(e).href.split("/").slice(0,-1).join("/")}/').href;\n importScripts = (...urls) => _importScripts(...urls.map(_fixImports));`;return URL.createObjectURL(new Blob([`${t}importScripts("${e}")`],{type:"application/javascript"}))}(new URL(t,e.core.baseURL));return new Worker(r)}function gp(e,t,r){const o=t?.uriResolverAsync??t?.uriResolver;if(!o)return;let n;try{if(n=(0,eval)(`'use strict';(${o})`),"function"!=typeof n)return void r(`URI resolver deserialised to ${typeof n}, expected function. Exports will use the default URI resolver.`,"Warning")}catch(e){return void r(`Failed to deserialise URI resolver in export worker: ${e}. Make sure the URI resolver function does not reference any external variables. Exports will use the default URI resolver.`,"Warning")}e.setURIResolverAsync((e,t)=>{try{const o=n(e,t);return"function"==typeof o?.then?o.catch(o=>(r(`Error during async URI resolution in export worker: ${o}. Make sure the URI resolver function does not reference any external variables. Falling back to default URI resolver.`,"Warning"),t(e))):o}catch(o){return r(`Error during URI resolution in export worker: ${o}. Make sure the URI resolver function does not reference any external variables. Falling back to default URI resolver.`,"Warning"),t(e)}})}globalThis.ubq_browserTabHidden=!0;var fp={value:()=>"undefined"==typeof document||"visible"===document.visibilityState,subscribe(e){if("undefined"==typeof document)return()=>{};{const t=()=>{e("visible"===document.visibilityState)};return document.addEventListener("visibilitychange",t),()=>{document.removeEventListener("visibilitychange",t)}}}};function mp(e,t,r){return async(o,n={})=>{$t("handle",o,It()),$t("options",n,Rt({mimeType:Lt(zt()),onProgress:Lt(Mt()),timeOffset:Lt(It()),duration:Lt(It()),sampleRate:Lt(It()),numberOfChannels:Lt(It()),skipEncoding:Lt(At()),abortSignal:Lt(Jt())}));const i=t.scene.get();if(null==i||!t.block.isValid(i))throw new Error("No valid scene available.");const s=n.onProgress,a=await t.scene.saveToString(["blob","bundle","file","http","https","buffer","opfs","data"]),l=r(),d=t.editor.getActiveLicense(),c={uriResolver:t.editor.getURIResolver()?.toString(),uriResolverAsync:t.editor.getURIResolverAsync?.()?.toString(),buffers:t.editor.cloneBuffers()};try{c.trackingMetadata=t.editor.getTrackingMetadata()}catch{c.trackingMetadata=void 0}const u={block:o,mimeType:n.mimeType,duration:n.duration,sampleRate:n.sampleRate,numberOfChannels:n.numberOfChannels,timeOffset:n.timeOffset,skipEncoding:n.skipEncoding};if(e.featureFlags?.exportWorker??1){return new up({...e,license:d}).exportAudio(a,u,{abortSignal:n.abortSignal,inactivityTimeout:l,onProgress:s},c)}return async function(e,t,r,o,n){let i,s,a=0,l=null,d=!1;const c=n.visibility??fp,u=n.inactivityTimeout,h=c.subscribe(()=>{null!==l&&(l=Date.now()),globalThis.ubq_browserTabHidden=!c.value()});let p=null;function g(){d=!0,clearTimeout(s),h(),p?.()}try{let f=function(){S||(S=!0,k.port2.postMessage(null))},m=function(){!0===c.value()&&null!==l&&Date.now()-l>u?i(new Error("Audio export timed out due to inactivity.")):a<10&&y.update()?f():s=setTimeout(m,1)};const b=new OffscreenCanvas(64,64),y=await Ih(b,{...e,audioOutput:"none"}),v=new SceneAPI(y),w=new BlockAPI(y),_=new EditorAPI(y);p=()=>{y.delete()},o?.trackingMetadata&&_.setTrackingMetadata(o.trackingMetadata),gp(_,o,e.logger),o?.buffers&&_.restoreBuffers(o.buffers),await v.loadFromString(t,!0);const k=new MessageChannel;let S=!1;async function C(e){try{let t=e;!w.supportsPlaybackControl(e)&&w.supportsFill(e)&&(t=w.getFill(e)),w.supportsPlaybackControl(t)&&(w.unstable_isAVResourceLoaded(t)||await w.forceLoadAVResource(t))}catch{}try{const t=w.getChildren(e);for(const e of t)await C(e)}catch{}}k.port1.onmessage=()=>{S=!1,d||m()},m(),await C(r.block);const E=w.getDuration(r.block),x=r.mimeType??"audio/wav",T=await new Promise((t,o)=>{i=o,e.abortSignal?.addEventListener("abort",()=>{o(new Error("AbortSignal received"))}),y.exportAudioToBuffer(r.block,r.timeOffset??0,r.duration??E,x,(e,t,r)=>{a=e-t,l=Date.now(),n?.onProgress?.(e,t,r)},e=>{"error"in e?o(e.error):t(e)},{sampleRate:r.sampleRate??48e3,numberOfChannels:r.numberOfChannels??2,skipEncoding:r.skipEncoding??!1})}),P=new Uint8Array(T.byteLength);return P.set(T),g(),{data:P,mimeType:x}}catch(A){throw g(),A}}(n.abortSignal?{...e,abortSignal:n.abortSignal}:e,a,u,c,{onProgress:s,visibility:bp,inactivityTimeout:l}).then(({data:e,mimeType:t})=>new Blob([e],{type:t}))}}var bp={value:()=>"visible"===document.visibilityState,subscribe:e=>{const t=()=>{e("visible"===document.visibilityState)};return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)}};globalThis.ubq_browserTabHidden=!0;var yp={value:()=>"undefined"==typeof document||"visible"===document.visibilityState,subscribe(e){if("undefined"==typeof document)return()=>{};{const t=()=>{e("visible"===document.visibilityState)};return document.addEventListener("visibilitychange",t),()=>{document.removeEventListener("visibilitychange",t)}}}};function vp(e,t,r){return async(o,n,i,s)=>{$t("handle",o,It());try{$t("options",n,Lt(Rt({mimeType:Lt(Gt()),onProgress:Lt(Mt()),h264Profile:Lt(It()),h264Level:Lt(It()),videoBitrate:Lt(It()),audioBitrate:Lt(It()),timeOffset:Lt(It()),duration:Lt(It()),framerate:Lt(It()),targetWidth:Lt(It()),targetHeight:Lt(It()),abortSignal:Lt(Jt())})))}catch(e){try{$t("mimeType",n,Lt(Gt())),$t("progressCallback",i,Lt(Mt())),$t("options",s,Lt(Rt({h264Profile:Lt(It()),h264Level:Lt(It()),videoBitrate:Lt(It()),audioBitrate:Lt(It()),timeOffset:Lt(It()),duration:Lt(It()),framerate:Lt(It()),targetWidth:Lt(It()),targetHeight:Lt(It()),abortSignal:Lt(Jt())})))}catch(t){throw new Error(`Invalid arguments.\nIf your're using the deprecated signature:\ncesdk.engine.block.exportVideo(handle, mimeType, progressCallback, options)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.block.export(handle, options)\n${e.message}`)}}const a=t.scene.get();if(null==a||!t.block.isValid(a))throw new Error("No valid scene available.");const l="object"==typeof n?n:{mimeType:n,onProgress:i,...s},d=l.onProgress,c=await t.scene.saveToString(["blob","bundle","file","http","https","buffer","opfs","data"]),u=r(),h=t.editor.getActiveLicense(),p={uriResolver:t.editor.getURIResolver()?.toString(),uriResolverAsync:t.editor.getURIResolverAsync?.()?.toString(),buffers:t.editor.cloneBuffers()};try{p.trackingMetadata=t.editor.getTrackingMetadata()}catch{p.trackingMetadata=void 0}const g={block:o,mimeType:l.mimeType,targetWidth:l.targetWidth,targetHeight:l.targetHeight,duration:l.duration,framerate:l.framerate,h264Level:l.h264Level,h264Profile:l.h264Profile,videoBitrate:l.videoBitrate,audioBitrate:l.audioBitrate,timeOffset:l.timeOffset};if(e.featureFlags?.exportWorker??1){return new up({...e,license:h}).exportVideo(c,g,{abortSignal:l.abortSignal,inactivityTimeout:u,onProgress:d},p)}return async function(e,t,r,o,n){let i,s,a=0,l=null,d=!1;const c=n.visibility??yp,u=n.inactivityTimeout,h=c.subscribe(()=>{null!==l&&(l=Date.now()),globalThis.ubq_browserTabHidden=!c.value()});let p=null;function g(){d=!0,clearTimeout(s),h(),p?.()}try{let h=function(){C||(C=!0,S.port2.postMessage(null))},f=function(){if(!0===c.value()&&null!==l&&Date.now()-l>u)i(new Error("Video export timed out due to inactivity."));else{if(a<10&&b.update())return void h();s=setTimeout(f,1)}};const m=new OffscreenCanvas(64,64),b=await Ih(m,{...e,audioOutput:"none"}),y=new SceneAPI(b),v=new BlockAPI(b),w=new EditorAPI(b);p=()=>{b.delete()},o?.trackingMetadata&&w.setTrackingMetadata(o.trackingMetadata),gp(w,o,e.logger),o?.buffers&&w.restoreBuffers(o.buffers),await y.loadFromString(t,!0);const _=v.getDuration(r.block),k=r.mimeType??"video/mp4",S=new MessageChannel;let C=!1;S.port1.onmessage=()=>{C=!1,d||f()},f();const E=await new Promise((t,o)=>{i=o,e.abortSignal?.addEventListener("abort",()=>{o(new Error("AbortSignal received"))}),b.exportVideoToBuffer(r.block,r.timeOffset??0,r.duration??_,k,(e,t,r)=>{a=e-t,l=Date.now(),n?.onProgress?.(e,t,r)},e=>{"error"in e?o(e.error):t(e)},{h264Profile:r.h264Profile??77,h264Level:r.h264Level??52,framerate:r.framerate??30,videoBitrate:r.videoBitrate??0,audioBitrate:r.audioBitrate??0,useTargetSize:void 0!==r.targetWidth&&void 0!==r.targetHeight,targetWidth:r.targetWidth??0,targetHeight:r.targetHeight??0,allowTextOverhang:r.allowTextOverhang??!1})}),x=new Uint8Array(E.byteLength);return x.set(E),g(),{data:x,mimeType:k}}catch(e){throw g(),e}}(l.abortSignal?{...e,abortSignal:l.abortSignal}:e,c,g,p,{onProgress:d,visibility:wp,inactivityTimeout:u}).then(({data:e,mimeType:t})=>new Blob([e],{type:t}))}}var wp={value:()=>"visible"===document.visibilityState,subscribe:e=>{const t=()=>{e("visible"===document.visibilityState)};return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)}};var CreativeEngine=class{static version="1.76.0-rc.0";asset;block;editor;event;scene;variable;reactor;version="1.76.0-rc.0";#s;#a;#l;#d;#e;#c;#u;#h;#p=[];constructor(e,t,r){this.#e=e,this.#u=r.baseURL,this.#h=r.logger,this.#c=new wh(e),this.asset=new AssetAPI(e),this.block=new BlockAPI(e),this.editor=new EditorAPI(e,r.logger),this.event=new EventAPI(e),this.scene=new SceneAPI(e),this.variable=new VariableAPI(e),this.#d=new $h(this,e),this.#p.push(this.#d.dispose);const o=new Bh(this.editor.getEditMode());this.reactor=o;const n=[o.decorateObject(this.#c),o.decorateObject(this.block),o.decorateObject(this.editor),o.decorateObject(this.scene),o.decorateObject(this.variable)];let i=(0,yt.default)(o.updateDirtyReactions.bind(o),1e3/120,{leading:!0,trailing:!1}),s=this.addPostUpdateCallback(i);const a=this.editor.onStateChanged(()=>{o.currentMode=this.editor.getEditMode(),i="Playback"===o.currentMode?(0,yt.default)(o.updateDirtyReactions.bind(o),100,{leading:!0,trailing:!1}):(0,yt.default)(o.updateDirtyReactions.bind(o),1e3/120,{leading:!0,trailing:!1});const e=this.addPostUpdateCallback(i);s(),s=e});this.#p.push(()=>{n.forEach(e=>e()),a(),s(),this.reactor.dispose()}),this.block.exportVideo=vp(r,{block:this.block,scene:this.scene,editor:this.editor,variable:this.variable},()=>this._unstable_videoExportInactivityTimeout),this.block.exportAudio=mp(r,{block:this.block,scene:this.scene,editor:this.editor,variable:this.variable},()=>this._unstable_videoExportInactivityTimeout),r.featureFlags?.exportWorker&&(this.block.export=function(e,t,r){return async(o,n,i)=>{$t("handle",o,It());try{$t("options",n,Lt(Rt({mimeType:Lt(Bt([Nt(),Xt()])),pngCompressionLevel:Lt(jt(Ut(Ft(),9),0)),jpegQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),webpQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),targetWidth:Lt(It()),targetHeight:Lt(It()),exportPdfWithHighCompatibility:Lt(At()),exportPdfWithUnderlayer:Lt(At()),underlayerSpotColorName:Lt(Dt()),underlayerOffset:Lt(It()),underlayerRenderRatio:Lt(It()),underlayerMaxError:Lt(It()),allowTextOverhang:Lt(At()),exportPdfWithDeviceCMYK:Lt(At()),abortSignal:Lt(Jt())})))}catch(e){try{$t("mimeType",n,Lt(Bt([Nt(),Xt()]))),$t("options",i,Lt(Rt({pngCompressionLevel:Lt(jt(Ut(Ft(),9),0)),jpegQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),webpQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),targetWidth:Lt(It()),targetHeight:Lt(It()),exportPdfWithHighCompatibility:Lt(At()),exportPdfWithUnderlayer:Lt(At()),underlayerSpotColorName:Lt(Dt()),underlayerOffset:Lt(It()),underlayerRenderRatio:Lt(It()),underlayerMaxError:Lt(It()),allowTextOverhang:Lt(At()),abortSignal:Lt(Jt())})))}catch(t){throw new Error(`Invalid arguments.\nIf you're using the deprecated signature:\ncesdk.engine.block.export(handle, mimeType, options)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.block.export(handle, options)\n${e.message}`)}}const s=t.scene.get();if(null==s||!t.block.isValid(s))throw new Error("No valid scene available.");const a="object"==typeof n?n:{mimeType:n,...i},l=await t.scene.saveToString(["blob","bundle","file","http","https","buffer","opfs","data"]),d=r(),c=t.editor.getActiveLicense(),u={uriResolver:t.editor.getURIResolver()?.toString(),uriResolverAsync:t.editor.getURIResolverAsync?.()?.toString(),buffers:t.editor.cloneBuffers()};try{u.trackingMetadata=t.editor.getTrackingMetadata()}catch{u.trackingMetadata=void 0}const h={block:o,mimeType:a.mimeType,pngCompressionLevel:a.pngCompressionLevel,jpegQuality:a.jpegQuality,webpQuality:a.webpQuality,targetWidth:a.targetWidth,targetHeight:a.targetHeight,exportPdfWithHighCompatibility:a.exportPdfWithHighCompatibility,exportPdfWithUnderlayer:a.exportPdfWithUnderlayer,underlayerSpotColorName:a.underlayerSpotColorName,underlayerOffset:a.underlayerOffset,underlayerRenderRatio:a.underlayerRenderRatio,underlayerMaxError:a.underlayerMaxError,allowTextOverhang:a.allowTextOverhang,exportPdfWithDeviceCMYK:a.exportPdfWithDeviceCMYK};return new up({...e,license:c}).export(l,h,{abortSignal:a.abortSignal,inactivityTimeout:d},u)}}(r,{block:this.block,scene:this.scene,editor:this.editor,variable:this.variable},()=>this._unstable_exportInactivityTimeout),this.block.exportWithColorMask=function(e,t,r){return async(o,n,i,s,a,l)=>{$t("handle",o,It());try{$t("maskColorR",n,It()),$t("maskColorG",i,It()),$t("maskColorB",s,It()),$t("options",a,Lt(Rt({mimeType:Lt(Bt([Nt(),Xt()])),pngCompressionLevel:Lt(jt(Ut(Ft(),9),0)),jpegQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),webpQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),targetWidth:Lt(It()),targetHeight:Lt(It()),exportPdfWithHighCompatibility:Lt(At()),exportPdfWithUnderlayer:Lt(At()),underlayerSpotColorName:Lt(Dt()),underlayerOffset:Lt(It()),underlayerRenderRatio:Lt(It()),underlayerMaxError:Lt(It()),exportPdfWithDeviceCMYK:Lt(At()),abortSignal:Lt(Jt())})))}catch(e){try{$t("mimeType",n,Lt(Bt([Nt(),Xt()]))),$t("maskColorR",i,It()),$t("maskColorG",s,It()),$t("maskColorB",a,It()),$t("options",l,Lt(Rt({pngCompressionLevel:Lt(jt(Ut(Ft(),9),0)),jpegQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),webpQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),targetWidth:Lt(It()),targetHeight:Lt(It()),exportPdfWithHighCompatibility:Lt(At()),exportPdfWithUnderlayer:Lt(At()),underlayerSpotColorName:Lt(Dt()),underlayerOffset:Lt(It()),underlayerRenderRatio:Lt(It()),underlayerMaxError:Lt(It()),abortSignal:Lt(Jt())})))}catch(t){throw new Error(`Invalid arguments.\nIf your're using the deprecated signature:\ncesdk.engine.block.exportWithColorMask(handle, mimeType, maskColorR, maskColorG, maskColorB, options)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.block.exportWithColorMask(handle, maskColorR, maskColorG, maskColorB, options)\n${e.message}`)}}const d=t.scene.get();if(null==d||!t.block.isValid(d))throw new Error("No valid scene available.");let c,u,h,p;"number"==typeof n?(c=n,u=i,h=s,p=a??{}):(c=i,u=s,h=a,p={mimeType:n,...l});const g=await t.scene.saveToString(["blob","bundle","file","http","https","buffer","opfs","data"]),f=r(),m=t.editor.getActiveLicense(),b={uriResolver:t.editor.getURIResolver()?.toString(),uriResolverAsync:t.editor.getURIResolverAsync?.()?.toString(),buffers:t.editor.cloneBuffers()};try{b.trackingMetadata=t.editor.getTrackingMetadata()}catch{b.trackingMetadata=void 0}const y={block:o,maskColorR:c,maskColorG:u,maskColorB:h,mimeType:p.mimeType,pngCompressionLevel:p.pngCompressionLevel,jpegQuality:p.jpegQuality,webpQuality:p.webpQuality,targetWidth:p.targetWidth,targetHeight:p.targetHeight,exportPdfWithHighCompatibility:p.exportPdfWithHighCompatibility,exportPdfWithUnderlayer:p.exportPdfWithUnderlayer,underlayerSpotColorName:p.underlayerSpotColorName,underlayerOffset:p.underlayerOffset,underlayerRenderRatio:p.underlayerRenderRatio,underlayerMaxError:p.underlayerMaxError,exportPdfWithDeviceCMYK:p.exportPdfWithDeviceCMYK};return new up({...e,license:m}).exportWithColorMask(g,y,{abortSignal:p.abortSignal,inactivityTimeout:f},b)}}(r,{block:this.block,scene:this.scene,editor:this.editor,variable:this.variable},()=>this._unstable_exportInactivityTimeout)),"getInternalCanvas"in t?(this.#a=t.getInternalCanvas(),this.#l=t):this.#a=t,this.#s=new rh(this),this.#g(),"undefined"!=typeof window&&window.Cypress&&(this.config=r,this.legacyAPI=this.#c)}async addPlugin(e){if(e.initialize){const t={engine:this};await e.initialize(t)}}unstable_setVideoExportInactivityTimeout(e){this._unstable_videoExportInactivityTimeout=e}_unstable_videoExportInactivityTimeout=1e4;unstable_setExportInactivityTimeout(e){this._unstable_exportInactivityTimeout=e}_unstable_exportInactivityTimeout=1e4;#f(){if(!this.#l)return;const e=this.#l.getInternalCanvas(),t=e.getBoundingClientRect();if(0===t.width||0===t.height)return;const r="undefined"!=typeof window?window.devicePixelRatio:1,o=t.width*r,n=t.height*r;e.width!==o&&(e.width=o),e.height!==n&&(e.height=n)}#m(){const{width:e,height:t}=this.#a,r="undefined"!=typeof window?window.devicePixelRatio:1,{height:o,width:n,pixelRatio:i}=this.#s.settings.value();if(!ep(n,e,1e-4)||!ep(o,t,1e-4)||!ep(i,r,1e-4)){this.#s.settings.update({height:t,width:e,pixelRatio:r});const o=this.scene.get();if(!ep(i,r,1e-4)&&null!==o&&!1===this.scene.isZoomAutoFitEnabled(o)){const e=this.scene.getZoomLevel();this.scene.setZoomLevel(e*(r/i))}}}#b=[];#y=[];addPostUpdateCallback(e){return this.#b.push(e),()=>{const t=this.#b.indexOf(e);-1!==t&&this.#b.splice(t,1)}}addPreUpdateCallback(e){return this.#y.push(e),()=>{const t=this.#y.indexOf(e);-1!==t&&this.#y.splice(t,1)}}#v;#g(e=!0){this.#w(e),this.#_()}#w(e=!0){let t,r=!1,o=0;if(this.#v)return;const n=()=>{if(this.#v=requestAnimationFrame(n),!r)try{this.#k(e),o=0}catch(e){throw o++,o>=10&&(console.error("Repeated exceptions in update loop. Stopping loop."),t?.(),this.#S()),e}};this.#v=requestAnimationFrame(n)}#_(){if(e=this.#a,!("undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement))return;var e;const t=this.#l??this.#a,r=this.#k.bind(this,!1),o=[qh(t,this.#c,r),this.#d.initialize(t),jh(t,this.#c,this.#e,this.editor,r),Uh(t,this.editor),Zh(t,this.#c,this.#e),hh(this.#a,this.#e,()=>{this.#a.width=this.#a.width}),Xu(t,this.#C)];this.#E=()=>{o.reverse().forEach(e=>e())}}setWheelEventTarget(e){return this.#d.setTarget(e)}#C=(0,mt.default)(function(){this.#k()}.bind(this),100,{leading:!0,trailing:!1});#E;#S(){this.#E?.(),this.#E=void 0,this.#v&&(cancelAnimationFrame(this.#v),this.#v=0)}#k(e=!0){for(const e of this.#y)e();if(e){1===this.block.findByType("scene").length&&this.#x()}this.#f(),this.#m(),this.#e.update();for(const e of this.#b)e()}#x(){if(this.#s.clampCamera){const e={sceneSize:{x:0,y:0},scrollPercentage:{x:0,y:0}};this.#c.execute("cesdk/clampCameraAndRender",{horizontalPaddingInPixels:this.#s.viewportPadding.value().x,verticalPaddingInPixels:this.#s.viewportPadding.value().y}).then(e=>{(0,bt.default)(this.#s.clampResult.value(),e)||this.#s.clampResult.update(e)},()=>{(0,bt.default)(this.#s.clampResult.value(),e)||this.#s.clampResult.update(e)})}else this.#c.execute("ubq/render")}get element(){return this.#l}dispose(){this.#p.forEach(e=>e()),this.#S(),this.asset.dispose(),this.#s.dispose(),this.#a=null,this.#l?.dispose(),this.#l=void 0,this.block=null,this.scene=null,this.variable=null,this.asset=null,this.editor=null,this.event=null,this.#b.length=0,this.#c.dispose(),this.#c=null,this.#e.delete(),this.#e=null}static async init(e,t){let r=function(e,t){if(r(t?.canvas))return t?.canvas;if(r(e))return console.warn("Passing an existing HTMLCanvasElement as a second parameter to CreativeEngine.init() is deprecated. Use the element property on the CreativeEngine instance to access a fully managed canvas to append into the DOM instead. For more information, have a look into our documentation at https://img.ly/docs/cesdk/next/engine/quickstart/#initialization."),e;return;function r(e){return"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas||"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement}}(t,e);const o="772181d8d2",n="1.76.0-rc.0";if(o||n){const e=["[CreativeEngine]"];n&&e.push(`v${n}`),o&&e.push(`Revision ${o}`),console.log(e.join(" "))}let i;r||(i=function(){customElements.get("cesdk-canvas")||customElements.define("cesdk-canvas",class HTMLCreativeEngineCanvasElement extends HTMLElement{#a;constructor(){super(),this.#a=document.createElement("canvas");const e=document.createElement("style");e.textContent=":host {display: block; width: 100%; height: 100%; contain: content;} canvas {position: absolute; inset: 0; width: 100%; height:100%; display: block; touch-action: none;}",this.attachShadow({mode:"closed"}).append(e,this.#a)}getInternalCanvas(){if(!this.#a)throw new Error("Internal canvas element is undefined");return this.#a}dispose(){this.#a?.remove(),this.#a=void 0}clear(){if(!this.#a)return;const e=this.#a.width;this.#a.width=1,this.#a.width=e}});return document.createElement("cesdk-canvas")}(),r=i.getInternalCanvas());const s=sh(ch(uh,e));if(!function(e){return!0===e?._skipConfigWarnings}(e))for(const t of lh(uh,e))s.logger(t,"Warning");const a=new this(await Ih(r,s),i??r,s);return Object.defineProperty(a,"version",{configurable:!1,writable:!1}),dh(uh,s,a),a}async addDefaultAssetSources({baseURL:e,excludeAssetSourceIds:t=[]}={}){this.#h("addDefaultAssetSources() uses legacy v4 asset source IDs and will be removed in a future version. Please migrate to v5 asset sources using engine.asset.addLocalAssetSourceFromJSONURI().","Warning");const r=e??this.#u;return Vu(this,r,t)}async addDemoAssetSources({baseURL:e,excludeAssetSourceIds:t=[],sceneMode:r="Design",withUploadAssetSources:o=!1}={}){this.#h("addDemoAssetSources() uses legacy v3 demo asset source IDs and will be removed in a future version. Please migrate to v4 asset sources using engine.asset.addLocalAssetSourceFromJSONURI().","Warning");const n=e??this.#u;return Gu(this.asset,this.scene,t,r,o,void 0,n)}getBaseURL(){return this.#u}get _camera(){return this.#s}get _legacyApi(){return this.#c}};var _p=(e=>(e[e.None=0]="None",e[e.Zstd=1]="Zstd",e))(_p||{}),kp=(e=>(e[e.Fastest=0]="Fastest",e[e.Default=1]="Default",e[e.Best=2]="Best",e))(kp||{}),Sp=["scene","stack","camera","page","graphic","audio","text","group","cutout","track","caption","captionTrack"],Cp=["rect","line","ellipse","polygon","star","vector_path"],Ep=["color","gradient/linear","gradient/radial","gradient/conical","image","video","pixelStream"],xp=["adjustments","cross_cut","dot_pattern","duotone_filter","extrude_blur","glow","green_screen","half_tone","linocut","liquid","lut_filter","mirror","outliner","pixelize","posterize","radial_pixel","recolor","sharpie","shifter","tilt_shift","tv_glitch","vignette"],Tp=["uniform","linear","mirrored","radial"],Pp=["slide","pan","fade","blur","grow","zoom","pop","wipe","baseline","crop_zoom","spin","spin_loop","fade_loop","blur_loop","pulsating_loop","breathing_loop","jump_loop","squeeze_loop","sway_loop","scale_loop","typewriter_text","block_swipe_text","spread_text","merge_text","ken_burns"],Ap=[{weight:"thin",label:"Thin"},{weight:"extraLight",label:"Extra Light"},{weight:"light",label:"Light"},{weight:"normal",label:"Regular"},{weight:"medium",label:"Medium"},{weight:"semiBold",label:"Semi Bold"},{weight:"bold",label:"Bold"},{weight:"extraBold",label:"Extra Bold"},{weight:"heavy",label:"Heavy"}],Mp=[{style:"normal",label:""},{style:"italic",label:"Italic"}];function Fp(e,t,r){const o=t?Ap:[Ap[3]],n=r?Mp:[Mp[0]],i=[];for(const{style:t,label:r}of n)for(const{weight:n,label:s}of o){const o=r&&s?`${s} ${r}`:r||s;i.push({uri:e,subFamily:o,weight:n,style:t})}return i}var Ip=function(){try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){return console.error(e),!1}return!1},Rp=1e6;async function Lp(){if("undefined"==typeof window)throw new Error("Window is undefined");const e=["VideoFrame","VideoDecoder","VideoEncoder"].filter(e=>!(e in window));if(e.length>0){const t=e.map(e=>`Missing ${e} in the window global`);throw new Error(`Missing required web video APIs:\n${t.join("\n")}`)}const t={codec:"avc1.4D0034",width:1920,height:1080,avc:{format:"annexb"},framerate:30};if(!(await VideoEncoder.isConfigSupported(t)).supported)throw new Error(`VideoEncoder config ${JSON.stringify(t)} not supported`);const r=new OffscreenCanvas(t.width,t.height),o=r.getContext("webgl2");if(!o)throw new Error("Could not create WebGL2 context");return o.clearColor(1,0,1,1),o.clear(o.COLOR_BUFFER_BIT),new Promise((e,o)=>{setTimeout(()=>{o(new Error("Timed out during video export"))},1e4);const n=new VideoEncoder({output:()=>e(),error:e=>o(new Error(`Could not create a new VideoEncoder: ${e}`))});try{n.configure(t)}catch(e){throw new Error(`Failed to configure a VideoEncoder object with ${JSON.stringify(t)}: ${e}`)}for(let e=0;e<8;++e){const o=new VideoFrame(r,{timestamp:e*(Rp/t.framerate),duration:Rp/t.framerate});n.encode(o,{keyFrame:!0}),o.close()}n.flush().then(()=>{"closed"!==n.state&&n.close()},e=>{o(new Error(`Error during video export: ${e}`))})})}async function Dp(){if("undefined"==typeof window)throw new Error("Window is undefined");const e=["AudioDecoder","AudioEncoder"].filter(e=>!(e in window));if(e.length>0){const t=e.map(e=>`Missing ${e} in the window global`);throw new Error(`Missing required web audio APIs:\n${t.join("\n")}`)}const t={codec:"mp4a.40.02",sampleRate:48e3,numberOfChannels:2,bitrate:128e3};if(!(await AudioEncoder.isConfigSupported(t)).supported)throw new Error(`AudioEncoder config ${JSON.stringify(t)} not supported`);return new Promise((e,r)=>{setTimeout(()=>{r(new Error("Timed out during audio export"))},1e4);const o=new AudioEncoder({output:()=>e(),error:e=>r(new Error(`Could not create a new AudioEncoder with ${JSON.stringify(t)}: ${e}`))});try{o.configure(t)}catch(e){throw new Error(`Failed to configure an AudioEncoder object with ${JSON.stringify(t)}: ${e}`)}const n=1024,i=new Float32Array(n*t.numberOfChannels);for(let e=0;e<n;++e){const t=e/n;i[2*e+0]=Math.sin(880*Math.PI*t),i[2*e+1]=Math.sin(888*Math.PI*t)}for(let e=0;e<10;++e)try{const r=new AudioData({format:"f32",sampleRate:t.sampleRate,numberOfFrames:n,numberOfChannels:t.numberOfChannels,timestamp:e*n/t.sampleRate*Rp,data:i});o.encode(r),r.close()}catch(e){throw new Error(`Failed to encode AudioData in an encoder configured with ${JSON.stringify(t)}: ${e}`)}o.flush().then(()=>{"closed"!==o.state&&o.close()},e=>{r(new Error(`Error during audio export with ${t}: ${e}`))})})}function Op(){if("undefined"==typeof window)throw new Error("Window object is not available. This function should be run in a browser environment");const e=["VideoFrame","VideoDecoder","VideoEncoder","AudioDecoder","AudioEncoder"].filter(e=>!(e in window));if(e.length>0){const t=e.map(e=>`Missing ${e} in the window global`);throw new Error(t.join("\n"))}}function Bp(){try{return Op(),!0}catch{return!1}}async function Up(){await Promise.all([Lp(),Dp()])}async function jp(){try{return await Up(),!0}catch(e){return!1}}var qp=function(){try{const e=!0,t=!0,r="globalThis"in window,o="BigInt"in window,n="allSettled"in Promise,i="matchAll"in String.prototype,s=CSS.supports("contain: content"),a="MediaRecorder"in window&&"pause"in window.MediaRecorder.prototype,l=CSS.supports("color: lab(29.2345% 39.3825 20.0664)");return Ip()&&e&&t&&r&&o&&n&&i&&s&&a&&l}catch{return!1}};export{Pp as ANIMATION_TYPES,Tp as BLUR_TYPES,_p as CompressionFormat,kp as CompressionLevel,Sp as DESIGN_BLOCK_TYPES,xp as EFFECT_TYPES,Ep as FILL_TYPES,Nu as HorizontalContentFillAlignmentValues,dp as LogLevel,Ht as MimeType,Cp as SHAPE_TYPES,zu as VerticalContentFillAlignmentValues,up as WorkerClient,mo as _ColorInternal,dh as _applyFallback,Ju as _combineProperties,Zu as _createDerivedProperty,Qu as _createReactiveProperty,eh as _createTrackedProperty,sh as _initWithDefaults,Ku as _makeSource,th as _mergeSources,ch as _migrateConfigObject,lh as _warnKeys,Up as checkVideoExportSupport,Op as checkVideoSupport,Fp as createVariableFontCombinations,CreativeEngine as default,oh as defaultLogger,fo as downloadFromOPFS,Yd as isCMYKColor,po as isOPFSSupported,Gd as isRGBAColor,Xd as isSpotColor,ih as normalizeBaseURL,go as parseOPFSReference,qp as supportsBrowser,Bp as supportsVideo,jp as supportsVideoExport,Ip as supportsWasm};
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,s=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),a=e=>{throw TypeError(e)},l=(e,r,n)=>r in e?t(e,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[r]=n,d=(e,r)=>t(e,"name",{value:r,configurable:!0}),c=(e,t)=>function(){return t||(0,e[n(e)[0]])((t={exports:{}}).exports,t),t.exports},u=(s,a,l)=>(l=null!=s?e(o(s)):{},((e,o,s,a)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let l of n(o))i.call(e,l)||l===s||t(e,l,{get:()=>o[l],enumerable:!(a=r(o,l))||a.enumerable});return e})(!a&&s&&s.__esModule?l:t(l,"default",{value:s,enumerable:!0}),s)),h=t=>[,,,e(t?.[s("metadata")]??null)],p=["class","method","getter","setter","accessor","field","value","get","set"],g=e=>void 0!==e&&"function"!=typeof e?a("Function expected"):e,f=(e,t,r,n,o)=>({kind:p[e],name:t,metadata:n,addInitializer:e=>r._?a("Already initialized"):o.push(g(e||null))}),m=(e,t)=>l(t,s("metadata"),e[3]),b=(e,t,r,n)=>{for(var o=0,i=e[t>>1],s=i&&i.length;o<s;o++)1&t?i[o].call(r):n=i[o].call(r,n);return n},y=(e,n,o,i,s,l)=>{var c,u,h,b,y,v=7&n,w=!!(8&n),S=!!(16&n),x=v>3?e.length+1:v?w?1:2:0,T=p[v+5],P=v>3&&(e[x-1]=[]),A=e[x]||(e[x]=[]),M=v&&(!S&&!w&&(s=s.prototype),v<5&&(v>3||!S)&&r(v<4?s:{get[o](){return k(this,l)},set[o](e){return C(this,l,e)}},o));v?S&&v<4&&d(l,(v>2?"set ":v>1?"get ":"")+o):d(s,o);for(var F=i.length-1;F>=0;F--)b=f(v,o,h={},e[3],A),v&&(b.static=w,b.private=S,y=b.access={has:S?e=>_(s,e):e=>o in e},3^v&&(y.get=S?e=>(1^v?k:E)(e,s,4^v?l:M.get):e=>e[o]),v>2&&(y.set=S?(e,t)=>C(e,s,t,4^v?l:M.set):(e,t)=>e[o]=t)),u=(0,i[F])(v?v<4?S?l:M[T]:v>4?void 0:{get:M.get,set:M.set}:s,b),h._=1,4^v||void 0===u?g(u)&&(v>4?P.unshift(u):v?S?l=u:M[T]=u:s=u):"object"!=typeof u||null===u?a("Object expected"):(g(c=u.get)&&(M.get=c),g(c=u.set)&&(M.set=c),g(c=u.init)&&P.unshift(c));return v||m(e,s),M&&t(s,o,M),S?4^v?l:M:s},v=(e,t,r)=>l(e,"symbol"!=typeof t?t+"":t,r),w=(e,t,r)=>t.has(e)||a("Cannot "+r),_=(e,t)=>Object(t)!==t?a('Cannot use the "in" operator on this value'):e.has(t),k=(e,t,r)=>(w(e,t,"read from private field"),r?r.call(e):t.get(e)),S=(e,t,r)=>t.has(e)?a("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),C=(e,t,r,n)=>(w(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),E=(e,t,r)=>(w(e,t,"access private method"),r),x=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isObject.js"(e,t){t.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}}}),T=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_freeGlobal.js"(e,t){var r="object"==typeof global&&global&&global.Object===Object&&global;t.exports=r}}),P=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_root.js"(e,t){var r=T(),n="object"==typeof self&&self&&self.Object===Object&&self,o=r||n||Function("return this")();t.exports=o}}),A=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/now.js"(e,t){var r=P();t.exports=function(){return r.Date.now()}}}),M=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_trimmedEndIndex.js"(e,t){var r=/\s/;t.exports=function(e){for(var t=e.length;t--&&r.test(e.charAt(t)););return t}}}),F=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseTrim.js"(e,t){var r=M(),n=/^\s+/;t.exports=function(e){return e?e.slice(0,r(e)+1).replace(n,""):e}}}),I=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Symbol.js"(e,t){var r=P().Symbol;t.exports=r}}),R=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getRawTag.js"(e,t){var r=I(),n=Object.prototype,o=n.hasOwnProperty,i=n.toString,s=r?r.toStringTag:void 0;t.exports=function(e){var t=o.call(e,s),r=e[s];try{e[s]=void 0;var n=!0}catch(e){}var a=i.call(e);return n&&(t?e[s]=r:delete e[s]),a}}}),L=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_objectToString.js"(e,t){var r=Object.prototype.toString;t.exports=function(e){return r.call(e)}}}),D=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseGetTag.js"(e,t){var r=I(),n=R(),o=L(),i=r?r.toStringTag:void 0;t.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":i&&i in Object(e)?n(e):o(e)}}}),O=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isObjectLike.js"(e,t){t.exports=function(e){return null!=e&&"object"==typeof e}}}),B=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isSymbol.js"(e,t){var r=D(),n=O();t.exports=function(e){return"symbol"==typeof e||n(e)&&"[object Symbol]"==r(e)}}}),U=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/toNumber.js"(e,t){var r=F(),n=x(),o=B(),i=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,a=/^0o[0-7]+$/i,l=parseInt;t.exports=function(e){if("number"==typeof e)return e;if(o(e))return NaN;if(n(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=n(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var d=s.test(e);return d||a.test(e)?l(e.slice(2),d?2:8):i.test(e)?NaN:+e}}}),j=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/debounce.js"(e,t){var r=x(),n=A(),o=U(),i=Math.max,s=Math.min;t.exports=function(e,t,a){var l,d,c,u,h,p,g=0,f=!1,m=!1,b=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){var r=l,n=d;return l=d=void 0,g=t,u=e.apply(n,r)}function v(e){var r=e-p;return void 0===p||r>=t||r<0||m&&e-g>=c}function w(){var e=n();if(v(e))return _(e);h=setTimeout(w,function(e){var r=t-(e-p);return m?s(r,c-(e-g)):r}(e))}function _(e){return h=void 0,b&&l?y(e):(l=d=void 0,u)}function k(){var e=n(),r=v(e);if(l=arguments,d=this,p=e,r){if(void 0===h)return function(e){return g=e,h=setTimeout(w,t),f?y(e):u}(p);if(m)return clearTimeout(h),h=setTimeout(w,t),y(p)}return void 0===h&&(h=setTimeout(w,t)),u}return t=o(t)||0,r(a)&&(f=!!a.leading,c=(m="maxWait"in a)?i(o(a.maxWait)||0,t):c,b="trailing"in a?!!a.trailing:b),k.cancel=function(){void 0!==h&&clearTimeout(h),g=0,l=p=d=h=void 0},k.flush=function(){return void 0===h?u:_(n())},k}}}),q=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_listCacheClear.js"(e,t){t.exports=function(){this.__data__=[],this.size=0}}}),W=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/eq.js"(e,t){t.exports=function(e,t){return e===t||e!=e&&t!=t}}}),H=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_assocIndexOf.js"(e,t){var r=W();t.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}}}),$=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_listCacheDelete.js"(e,t){var r=H(),n=Array.prototype.splice;t.exports=function(e){var t=this.__data__,o=r(t,e);return!(o<0)&&(o==t.length-1?t.pop():n.call(t,o,1),--this.size,!0)}}}),V=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_listCacheGet.js"(e,t){var r=H();t.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}}}),N=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_listCacheHas.js"(e,t){var r=H();t.exports=function(e){return r(this.__data__,e)>-1}}}),z=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_listCacheSet.js"(e,t){var r=H();t.exports=function(e,t){var n=this.__data__,o=r(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this}}}),G=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_ListCache.js"(e,t){var r=q(),n=$(),o=V(),i=N(),s=z();function a(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}a.prototype.clear=r,a.prototype.delete=n,a.prototype.get=o,a.prototype.has=i,a.prototype.set=s,t.exports=a}}),X=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_stackClear.js"(e,t){var r=G();t.exports=function(){this.__data__=new r,this.size=0}}}),Y=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_stackDelete.js"(e,t){t.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}}}),K=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_stackGet.js"(e,t){t.exports=function(e){return this.__data__.get(e)}}}),Q=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_stackHas.js"(e,t){t.exports=function(e){return this.__data__.has(e)}}}),Z=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isFunction.js"(e,t){var r=D(),n=x();t.exports=function(e){if(!n(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}}}),J=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_coreJsData.js"(e,t){var r=P()["__core-js_shared__"];t.exports=r}}),ee=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_isMasked.js"(e,t){var r,n=J(),o=(r=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(e){return!!o&&o in e}}}),te=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_toSource.js"(e,t){var r=Function.prototype.toString;t.exports=function(e){if(null!=e){try{return r.call(e)}catch(e){}try{return e+""}catch(e){}}return""}}}),re=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseIsNative.js"(e,t){var r=Z(),n=ee(),o=x(),i=te(),s=/^\[object .+?Constructor\]$/,a=Function.prototype,l=Object.prototype,d=a.toString,c=l.hasOwnProperty,u=RegExp("^"+d.call(c).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(e){return!(!o(e)||n(e))&&(r(e)?u:s).test(i(e))}}}),ne=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getValue.js"(e,t){t.exports=function(e,t){return null==e?void 0:e[t]}}}),oe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getNative.js"(e,t){var r=re(),n=ne();t.exports=function(e,t){var o=n(e,t);return r(o)?o:void 0}}}),ie=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Map.js"(e,t){var r=oe()(P(),"Map");t.exports=r}}),se=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_nativeCreate.js"(e,t){var r=oe()(Object,"create");t.exports=r}}),ae=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_hashClear.js"(e,t){var r=se();t.exports=function(){this.__data__=r?r(null):{},this.size=0}}}),le=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_hashDelete.js"(e,t){t.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}}}),de=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_hashGet.js"(e,t){var r=se(),n=Object.prototype.hasOwnProperty;t.exports=function(e){var t=this.__data__;if(r){var o=t[e];return"__lodash_hash_undefined__"===o?void 0:o}return n.call(t,e)?t[e]:void 0}}}),ce=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_hashHas.js"(e,t){var r=se(),n=Object.prototype.hasOwnProperty;t.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:n.call(t,e)}}}),ue=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_hashSet.js"(e,t){var r=se();t.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?"__lodash_hash_undefined__":t,this}}}),he=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Hash.js"(e,t){var r=ae(),n=le(),o=de(),i=ce(),s=ue();function a(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}a.prototype.clear=r,a.prototype.delete=n,a.prototype.get=o,a.prototype.has=i,a.prototype.set=s,t.exports=a}}),pe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapCacheClear.js"(e,t){var r=he(),n=G(),o=ie();t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||n),string:new r}}}}),ge=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_isKeyable.js"(e,t){t.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}}}),fe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getMapData.js"(e,t){var r=ge();t.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}}}),me=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapCacheDelete.js"(e,t){var r=fe();t.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}}}),be=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapCacheGet.js"(e,t){var r=fe();t.exports=function(e){return r(this,e).get(e)}}}),ye=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapCacheHas.js"(e,t){var r=fe();t.exports=function(e){return r(this,e).has(e)}}}),ve=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapCacheSet.js"(e,t){var r=fe();t.exports=function(e,t){var n=r(this,e),o=n.size;return n.set(e,t),this.size+=n.size==o?0:1,this}}}),we=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_MapCache.js"(e,t){var r=pe(),n=me(),o=be(),i=ye(),s=ve();function a(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}a.prototype.clear=r,a.prototype.delete=n,a.prototype.get=o,a.prototype.has=i,a.prototype.set=s,t.exports=a}}),_e=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_stackSet.js"(e,t){var r=G(),n=ie(),o=we();t.exports=function(e,t){var i=this.__data__;if(i instanceof r){var s=i.__data__;if(!n||s.length<199)return s.push([e,t]),this.size=++i.size,this;i=this.__data__=new o(s)}return i.set(e,t),this.size=i.size,this}}}),ke=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Stack.js"(e,t){var r=G(),n=X(),o=Y(),i=K(),s=Q(),a=_e();function l(e){var t=this.__data__=new r(e);this.size=t.size}l.prototype.clear=n,l.prototype.delete=o,l.prototype.get=i,l.prototype.has=s,l.prototype.set=a,t.exports=l}}),Se=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_setCacheAdd.js"(e,t){t.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}}}),Ce=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_setCacheHas.js"(e,t){t.exports=function(e){return this.__data__.has(e)}}}),Ee=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_SetCache.js"(e,t){var r=we(),n=Se(),o=Ce();function i(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new r;++t<n;)this.add(e[t])}i.prototype.add=i.prototype.push=n,i.prototype.has=o,t.exports=i}}),xe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_arraySome.js"(e,t){t.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}}}),Te=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_cacheHas.js"(e,t){t.exports=function(e,t){return e.has(t)}}}),Pe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_equalArrays.js"(e,t){var r=Ee(),n=xe(),o=Te();t.exports=function(e,t,i,s,a,l){var d=1&i,c=e.length,u=t.length;if(c!=u&&!(d&&u>c))return!1;var h=l.get(e),p=l.get(t);if(h&&p)return h==t&&p==e;var g=-1,f=!0,m=2&i?new r:void 0;for(l.set(e,t),l.set(t,e);++g<c;){var b=e[g],y=t[g];if(s)var v=d?s(y,b,g,t,e,l):s(b,y,g,e,t,l);if(void 0!==v){if(v)continue;f=!1;break}if(m){if(!n(t,function(e,t){if(!o(m,t)&&(b===e||a(b,e,i,s,l)))return m.push(t)})){f=!1;break}}else if(b!==y&&!a(b,y,i,s,l)){f=!1;break}}return l.delete(e),l.delete(t),f}}}),Ae=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Uint8Array.js"(e,t){var r=P().Uint8Array;t.exports=r}}),Me=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapToArray.js"(e,t){t.exports=function(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}}}),Fe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_setToArray.js"(e,t){t.exports=function(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}}}),Ie=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_equalByTag.js"(e,t){var r=I(),n=Ae(),o=W(),i=Pe(),s=Me(),a=Fe(),l=r?r.prototype:void 0,d=l?l.valueOf:void 0;t.exports=function(e,t,r,l,c,u,h){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!u(new n(e),new n(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var p=s;case"[object Set]":var g=1&l;if(p||(p=a),e.size!=t.size&&!g)return!1;var f=h.get(e);if(f)return f==t;l|=2,h.set(e,t);var m=i(p(e),p(t),l,c,u,h);return h.delete(e),m;case"[object Symbol]":if(d)return d.call(e)==d.call(t)}return!1}}}),Re=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_arrayPush.js"(e,t){t.exports=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e}}}),Le=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isArray.js"(e,t){var r=Array.isArray;t.exports=r}}),De=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseGetAllKeys.js"(e,t){var r=Re(),n=Le();t.exports=function(e,t,o){var i=t(e);return n(e)?i:r(i,o(e))}}}),Oe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_arrayFilter.js"(e,t){t.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,i=[];++r<n;){var s=e[r];t(s,r,e)&&(i[o++]=s)}return i}}}),Be=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/stubArray.js"(e,t){t.exports=function(){return[]}}}),Ue=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getSymbols.js"(e,t){var r=Oe(),n=Be(),o=Object.prototype.propertyIsEnumerable,i=Object.getOwnPropertySymbols,s=i?function(e){return null==e?[]:(e=Object(e),r(i(e),function(t){return o.call(e,t)}))}:n;t.exports=s}}),je=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseTimes.js"(e,t){t.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}}}),qe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseIsArguments.js"(e,t){var r=D(),n=O();t.exports=function(e){return n(e)&&"[object Arguments]"==r(e)}}}),We=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isArguments.js"(e,t){var r=qe(),n=O(),o=Object.prototype,i=o.hasOwnProperty,s=o.propertyIsEnumerable,a=r(function(){return arguments}())?r:function(e){return n(e)&&i.call(e,"callee")&&!s.call(e,"callee")};t.exports=a}}),He=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/stubFalse.js"(e,t){t.exports=function(){return!1}}}),$e=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isBuffer.js"(e,t){var r=P(),n=He(),o="object"==typeof e&&e&&!e.nodeType&&e,i=o&&"object"==typeof t&&t&&!t.nodeType&&t,s=i&&i.exports===o?r.Buffer:void 0,a=(s?s.isBuffer:void 0)||n;t.exports=a}}),Ve=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_isIndex.js"(e,t){var r=/^(?:0|[1-9]\d*)$/;t.exports=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&r.test(e))&&e>-1&&e%1==0&&e<t}}}),Ne=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isLength.js"(e,t){t.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}}}),ze=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseIsTypedArray.js"(e,t){var r=D(),n=Ne(),o=O(),i={};i["[object Float32Array]"]=i["[object Float64Array]"]=i["[object Int8Array]"]=i["[object Int16Array]"]=i["[object Int32Array]"]=i["[object Uint8Array]"]=i["[object Uint8ClampedArray]"]=i["[object Uint16Array]"]=i["[object Uint32Array]"]=!0,i["[object Arguments]"]=i["[object Array]"]=i["[object ArrayBuffer]"]=i["[object Boolean]"]=i["[object DataView]"]=i["[object Date]"]=i["[object Error]"]=i["[object Function]"]=i["[object Map]"]=i["[object Number]"]=i["[object Object]"]=i["[object RegExp]"]=i["[object Set]"]=i["[object String]"]=i["[object WeakMap]"]=!1,t.exports=function(e){return o(e)&&n(e.length)&&!!i[r(e)]}}}),Ge=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseUnary.js"(e,t){t.exports=function(e){return function(t){return e(t)}}}}),Xe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_nodeUtil.js"(e,t){var r=T(),n="object"==typeof e&&e&&!e.nodeType&&e,o=n&&"object"==typeof t&&t&&!t.nodeType&&t,i=o&&o.exports===n&&r.process,s=function(){try{var e=o&&o.require&&o.require("util").types;return e||i&&i.binding&&i.binding("util")}catch(e){}}();t.exports=s}}),Ye=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isTypedArray.js"(e,t){var r=ze(),n=Ge(),o=Xe(),i=o&&o.isTypedArray,s=i?n(i):r;t.exports=s}}),Ke=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_arrayLikeKeys.js"(e,t){var r=je(),n=We(),o=Le(),i=$e(),s=Ve(),a=Ye(),l=Object.prototype.hasOwnProperty;t.exports=function(e,t){var d=o(e),c=!d&&n(e),u=!d&&!c&&i(e),h=!d&&!c&&!u&&a(e),p=d||c||u||h,g=p?r(e.length,String):[],f=g.length;for(var m in e)!t&&!l.call(e,m)||p&&("length"==m||u&&("offset"==m||"parent"==m)||h&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||s(m,f))||g.push(m);return g}}}),Qe=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_isPrototype.js"(e,t){var r=Object.prototype;t.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||r)}}}),Ze=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_overArg.js"(e,t){t.exports=function(e,t){return function(r){return e(t(r))}}}}),Je=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_nativeKeys.js"(e,t){var r=Ze()(Object.keys,Object);t.exports=r}}),et=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseKeys.js"(e,t){var r=Qe(),n=Je(),o=Object.prototype.hasOwnProperty;t.exports=function(e){if(!r(e))return n(e);var t=[];for(var i in Object(e))o.call(e,i)&&"constructor"!=i&&t.push(i);return t}}}),tt=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isArrayLike.js"(e,t){var r=Z(),n=Ne();t.exports=function(e){return null!=e&&n(e.length)&&!r(e)}}}),rt=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/keys.js"(e,t){var r=Ke(),n=et(),o=tt();t.exports=function(e){return o(e)?r(e):n(e)}}}),nt=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getAllKeys.js"(e,t){var r=De(),n=Ue(),o=rt();t.exports=function(e){return r(e,o,n)}}}),ot=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_equalObjects.js"(e,t){var r=nt(),n=Object.prototype.hasOwnProperty;t.exports=function(e,t,o,i,s,a){var l=1&o,d=r(e),c=d.length;if(c!=r(t).length&&!l)return!1;for(var u=c;u--;){var h=d[u];if(!(l?h in t:n.call(t,h)))return!1}var p=a.get(e),g=a.get(t);if(p&&g)return p==t&&g==e;var f=!0;a.set(e,t),a.set(t,e);for(var m=l;++u<c;){var b=e[h=d[u]],y=t[h];if(i)var v=l?i(y,b,h,t,e,a):i(b,y,h,e,t,a);if(!(void 0===v?b===y||s(b,y,o,i,a):v)){f=!1;break}m||(m="constructor"==h)}if(f&&!m){var w=e.constructor,_=t.constructor;w==_||!("constructor"in e)||!("constructor"in t)||"function"==typeof w&&w instanceof w&&"function"==typeof _&&_ instanceof _||(f=!1)}return a.delete(e),a.delete(t),f}}}),it=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_DataView.js"(e,t){var r=oe()(P(),"DataView");t.exports=r}}),st=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Promise.js"(e,t){var r=oe()(P(),"Promise");t.exports=r}}),at=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Set.js"(e,t){var r=oe()(P(),"Set");t.exports=r}}),lt=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_WeakMap.js"(e,t){var r=oe()(P(),"WeakMap");t.exports=r}}),dt=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getTag.js"(e,t){var r=it(),n=ie(),o=st(),i=at(),s=lt(),a=D(),l=te(),d="[object Map]",c="[object Promise]",u="[object Set]",h="[object WeakMap]",p="[object DataView]",g=l(r),f=l(n),m=l(o),b=l(i),y=l(s),v=a;(r&&v(new r(new ArrayBuffer(1)))!=p||n&&v(new n)!=d||o&&v(o.resolve())!=c||i&&v(new i)!=u||s&&v(new s)!=h)&&(v=function(e){var t=a(e),r="[object Object]"==t?e.constructor:void 0,n=r?l(r):"";if(n)switch(n){case g:return p;case f:return d;case m:return c;case b:return u;case y:return h}return t}),t.exports=v}}),ct=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseIsEqualDeep.js"(e,t){var r=ke(),n=Pe(),o=Ie(),i=ot(),s=dt(),a=Le(),l=$e(),d=Ye(),c="[object Arguments]",u="[object Array]",h="[object Object]",p=Object.prototype.hasOwnProperty;t.exports=function(e,t,g,f,m,b){var y=a(e),v=a(t),w=y?u:s(e),_=v?u:s(t),k=(w=w==c?h:w)==h,S=(_=_==c?h:_)==h,C=w==_;if(C&&l(e)){if(!l(t))return!1;y=!0,k=!1}if(C&&!k)return b||(b=new r),y||d(e)?n(e,t,g,f,m,b):o(e,t,w,g,f,m,b);if(!(1&g)){var E=k&&p.call(e,"__wrapped__"),x=S&&p.call(t,"__wrapped__");if(E||x){var T=E?e.value():e,P=x?t.value():t;return b||(b=new r),m(T,P,g,f,b)}}return!!C&&(b||(b=new r),i(e,t,g,f,m,b))}}}),ut=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseIsEqual.js"(e,t){var r=ct(),n=O();t.exports=function e(t,o,i,s,a){return t===o||(null==t||null==o||!n(t)&&!n(o)?t!=t&&o!=o:r(t,o,i,s,e,a))}}}),ht=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isEqual.js"(e,t){var r=ut();t.exports=function(e,t){return r(e,t)}}}),pt=c({"../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/throttle.js"(e,t){var r=j(),n=x();t.exports=function(e,t,o){var i=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return n(o)&&(i="leading"in o?!!o.leading:i,s="trailing"in o?!!o.trailing:s),r(e,t,{leading:i,maxWait:t,trailing:s})}}}),gt=c({"../../../esbuild/polyfill.noop.js"(){}}),ft=c({"../../../_builds/cesdk/wasm32-unknown-emscripten/Release/cesdk.js"(e,t){var r,n=(r=globalThis.document?.currentScript?.src,async function(e={}){var t,n,o,i,s=e,a=!!globalThis.window,l=!!globalThis.WorkerGlobalScope,d=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type;s.expectedDataFileDownloads||(s.expectedDataFileDownloads=0),s.expectedDataFileDownloads++,(()=>{var e="undefined"!=typeof ENVIRONMENT_IS_PTHREAD&&ENVIRONMENT_IS_PTHREAD,t="undefined"!=typeof ENVIRONMENT_IS_WASM_WORKER&&ENVIRONMENT_IS_WASM_WORKER;if(!e&&!t){var r=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&"renderer"!=globalThis.process.type;!async function(e){"object"==typeof window?window.encodeURIComponent(window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/"):"undefined"==typeof process&&"undefined"!=typeof location&&encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/");var t,n="cesdk.data",o=s.locateFile?s.locateFile(n,""):n,i=e.remote_package_size,a=s.getPreloadedPackage?.(o,i);async function l(r){function n(e,t){if(!e)throw new Error(t)}for(var o of(r.FS_createPath("/","ly.img.cesdk",!0,!0),r.FS_createPath("/ly.img.cesdk","fonts",!0,!0),r.FS_createPath("/ly.img.cesdk","icons",!0,!0),r.FS_createPath("/ly.img.cesdk","icu",!0,!0),r.FS_createPath("/ly.img.cesdk","presets",!0,!0),r.FS_createPath("/ly.img.cesdk","shaders",!0,!0),r.FS_createPath("/ly.img.cesdk/shaders","common",!0,!0),e.files)){var i=o.filename;r.addRunDependency(`fp ${i}`)}r.addRunDependency("datafile_cesdk.data"),r.preloadResults||(r.preloadResults={}),r.preloadResults["cesdk.data"]={fromCache:!1},a||(a=await t),async function(t){n(t,"Loading data file failed."),n(t.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+t.constructor.name);var o=new Uint8Array(t);for(var i of e.files){var s=i.filename,a=o.subarray(i.start,i.end);r.FS_createDataFile(s,null,a,!0,!0,!0),r.removeRunDependency(`fp ${s}`)}r.removeRunDependency("datafile_cesdk.data")}(a)}a||(t=async function(e,t){if(r){var n=gt().readFileSync(e);return new Uint8Array(n).buffer}s.dataFileDownloads||(s.dataFileDownloads={});try{var o=await fetch(e)}catch(t){throw new Error(`Network Error: ${e}`,{e:t})}if(!o.ok)throw new Error(`${o.status}: ${o.url}`);const i=[],a=o.headers,l=Number(a.get("Content-Length")||t);let d=0;s.setStatus&&s.setStatus("Downloading data...");const c=o.body.getReader();for(;;){var{done:u,value:h}=await c.read();if(u)break;i.push(h),d+=h.length,s.dataFileDownloads[e]={loaded:d,total:l};let t=0,r=0;for(const e of Object.values(s.dataFileDownloads))t+=e.loaded,r+=e.total;s.setStatus&&s.setStatus(`Downloading data... (${t}/${r})`)}const p=new Uint8Array(i.map(e=>e.length).reduce((e,t)=>e+t,0));let g=0;for(const e of i)p.set(e,g),g+=e.length;return p.buffer}(o,i)),s.calledRun?l(s):(s.preRun||(s.preRun=[]),s.preRun.push(l))}({files:[{filename:"/.keep",start:0,end:0},{filename:"/ly.img.cesdk/fonts/imgly_font_inter_semibold.otf",start:0,end:270760},{filename:"/ly.img.cesdk/icons/ErrorAudio.svg",start:270760,end:271410},{filename:"/ly.img.cesdk/icons/ErrorConnection.svg",start:271410,end:272334},{filename:"/ly.img.cesdk/icons/ErrorImage.svg",start:272334,end:273191},{filename:"/ly.img.cesdk/icons/ErrorUnknown.svg",start:273191,end:275199},{filename:"/ly.img.cesdk/icons/ErrorVideo.svg",start:275199,end:275919},{filename:"/ly.img.cesdk/icons/Move.svg",start:275919,end:276859},{filename:"/ly.img.cesdk/icons/RotateIndicator.svg",start:276859,end:277840},{filename:"/ly.img.cesdk/icu/icudt74l.dat",start:277840,end:812944},{filename:"/ly.img.cesdk/presets/.keep",start:812944,end:812944},{filename:"/ly.img.cesdk/shaders/adjustments.sksl",start:812944,end:816833},{filename:"/ly.img.cesdk/shaders/black_and_white_color_mixer.sksl",start:816833,end:823150},{filename:"/ly.img.cesdk/shaders/common/ubq_adjustments.sksl",start:823150,end:827741},{filename:"/ly.img.cesdk/shaders/common/ubq_color_conversions.sksl",start:827741,end:837726},{filename:"/ly.img.cesdk/shaders/common/ubq_constants.sksl",start:837726,end:838216},{filename:"/ly.img.cesdk/shaders/common/ubq_hue_constants.sksl",start:838216,end:841383},{filename:"/ly.img.cesdk/shaders/common/ubq_noise.sksl",start:841383,end:844021},{filename:"/ly.img.cesdk/shaders/cross_cut.sksl",start:844021,end:844968},{filename:"/ly.img.cesdk/shaders/dot_pattern.sksl",start:844968,end:846046},{filename:"/ly.img.cesdk/shaders/duotone_filter.sksl",start:846046,end:847010},{filename:"/ly.img.cesdk/shaders/extrude_blur.sksl",start:847010,end:849127},{filename:"/ly.img.cesdk/shaders/glow.sksl",start:849127,end:850094},{filename:"/ly.img.cesdk/shaders/half_tone.sksl",start:850094,end:850588},{filename:"/ly.img.cesdk/shaders/linocut.sksl",start:850588,end:851373},{filename:"/ly.img.cesdk/shaders/liquid.sksl",start:851373,end:851855},{filename:"/ly.img.cesdk/shaders/lut_filter.sksl",start:851855,end:854718},{filename:"/ly.img.cesdk/shaders/mask_color.sksl",start:854718,end:855223},{filename:"/ly.img.cesdk/shaders/mirror.sksl",start:855223,end:855677},{filename:"/ly.img.cesdk/shaders/outliner.sksl",start:855677,end:857314},{filename:"/ly.img.cesdk/shaders/pixelize.sksl",start:857314,end:857614},{filename:"/ly.img.cesdk/shaders/placeholder_overlay_lines.sksl",start:857614,end:858302},{filename:"/ly.img.cesdk/shaders/posterize.sksl",start:858302,end:858514},{filename:"/ly.img.cesdk/shaders/radial_pixel.sksl",start:858514,end:859077},{filename:"/ly.img.cesdk/shaders/recolor.sksl",start:859077,end:861278},{filename:"/ly.img.cesdk/shaders/sharpie.sksl",start:861278,end:863583},{filename:"/ly.img.cesdk/shaders/shifter.sksl",start:863583,end:864267},{filename:"/ly.img.cesdk/shaders/tiltshift.sksl",start:864267,end:864849},{filename:"/ly.img.cesdk/shaders/tv_glitch.sksl",start:864849,end:865567},{filename:"/ly.img.cesdk/shaders/vignette.sksl",start:865567,end:865939}],remote_package_size:865939})}})(),s.emscripten_ubq_codec_videoDecoders=new Map,s.emscripten_ubq_codec_audioDecoders=new Map,s.emscripten_ubq_codec_videoEncoders=new Map,s.emscripten_ubq_codec_audioEncoders=new Map,s.emscripten_ubq_codec_alphaStates=new Map,s.emscripten_ubq_codec_videoDecoderNextHandle=1,s.emscripten_ubq_codec_audioDecoderNextHandle=1,s.emscripten_ubq_codec_videoEncoderNextHandle=1,s.emscripten_ubq_codec_audioEncoderNextHandle=1,s._isSafariHelper=function(){if("undefined"==typeof navigator||"string"!=typeof navigator.userAgent)return 0;const e=navigator.userAgent;return!e.includes("Safari")||e.includes("Chrome")||e.includes("Chromium")||e.includes("Android")?0:1},s.emscripten_ubq_codec_createNativeResult=function(e){const t=s._malloc(8),r=s.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=s._malloc(t.length+1),o=s.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},s.emscripten_ubq_codec_offscreenCanvas=null,s.emscripten_ubq_codec_offscreenCtx=null,s.emscripten_ubq_codec_presentVideoFrame=function(e,t,r,n,o,i,a){if(!i){const e=t.textures,o=t.textureWidth,i=t.textureHeight;if(e&&e.length>0){var l=s.ctx;const d=t.decodedFrames%e.length,c=l.getParameter(l.TEXTURE_BINDING_2D);l.bindTexture(l.TEXTURE_2D,e[d]);let u=a;u||(u=n?s.emscripten_ubq_codec_toneMapHdrToSdr(r):r);const h=r.displayWidth,p=r.displayHeight;if(h!==o||p!==i){if(!t.scalingCanvas){const e="undefined"!=typeof OffscreenCanvas?()=>new OffscreenCanvas(o,i):()=>{if("undefined"!=typeof document&&"function"==typeof document.createElement){const e=document.createElement("canvas");return e.width=o,e.height=i,e}throw new Error("Canvas API not available")};t.scalingCanvas=e(),t.scalingCtx=t.scalingCanvas.getContext("2d")}const e=t.scalingCanvas,r=t.scalingCtx;e.width===o&&e.height===i||(e.width=o,e.height=i),r.clearRect(0,0,o,i);const n=h/p;let s,a,l,d;n>o/i?(s=o,a=o/n,l=0,d=(i-a)/2):(a=i,s=i*n,l=(o-s)/2,d=0),r.drawImage(u,l,d,s,a),u=e}l.texImage2D(l.TEXTURE_2D,0,l.RGBA,l.RGBA,l.UNSIGNED_BYTE,u),l.bindTexture(l.TEXTURE_2D,c)}}r.close(),t.decodedFrames++,s.emscripten_ubq_codec_onOutputDecodedVideoFrame(e,t.decodedFrames,i,r.timestamp??0,o)},s.emscripten_ubq_codec_alphaMergeCanvas=function(e,t,r){const n=!e.mergerCanvas||e.mergerCanvas.width!==t||e.mergerCanvas.height!==r;if(!e.mergerCanvas||n){if("undefined"!=typeof OffscreenCanvas)e.mergerCanvas=new OffscreenCanvas(t,r);else{if("undefined"==typeof document||"function"!=typeof document.createElement)throw new Error("Canvas API not available for alpha compositing");e.mergerCanvas=document.createElement("canvas"),e.mergerCanvas.width=t,e.mergerCanvas.height=r}const n=e.mergerCanvas.getContext("webgl2")||e.mergerCanvas.getContext("webgl");if(!n)throw new Error("Failed to get WebGL context for alpha compositing");e.mergerCtx=n;const o="\n attribute vec2 aPos;\n attribute vec2 aTexCoord;\n varying vec2 vTexCoord;\n void main() {\n gl_Position = vec4(aPos, 0.0, 1.0);\n vTexCoord = aTexCoord;\n }\n ",i="\n precision mediump float;\n varying vec2 vTexCoord;\n uniform sampler2D uMain;\n uniform sampler2D uAlpha;\n void main() {\n vec4 color = texture2D(uMain, vTexCoord);\n vec4 alpha = texture2D(uAlpha, vTexCoord);\n gl_FragColor = vec4(color.rgb, alpha.r);\n }\n ",s=(e,t)=>{const r=n.createShader(e);if(n.shaderSource(r,t),n.compileShader(r),!n.getShaderParameter(r,n.COMPILE_STATUS)){const e=n.getShaderInfoLog(r);throw n.deleteShader(r),new Error("WebGL shader compile error: "+e)}return r},a=s(n.VERTEX_SHADER,o),l=s(n.FRAGMENT_SHADER,i),d=n.createProgram();if(n.attachShader(d,a),n.attachShader(d,l),n.linkProgram(d),!n.getProgramParameter(d,n.LINK_STATUS))throw new Error("WebGL program link error: "+n.getProgramInfoLog(d));e.mergerProgram=d,e.mergerLoc={aPos:n.getAttribLocation(d,"aPos"),aTexCoord:n.getAttribLocation(d,"aTexCoord"),uMain:n.getUniformLocation(d,"uMain"),uAlpha:n.getUniformLocation(d,"uAlpha")};const c=new Float32Array([-1,1,0,0,1,1,1,0,-1,-1,0,1,1,-1,1,1]);e.mergerBuffer=n.createBuffer(),n.bindBuffer(n.ARRAY_BUFFER,e.mergerBuffer),n.bufferData(n.ARRAY_BUFFER,c,n.STATIC_DRAW),e.mergerTexMain=n.createTexture(),n.bindTexture(n.TEXTURE_2D,e.mergerTexMain),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),e.mergerTexAlpha=n.createTexture(),n.bindTexture(n.TEXTURE_2D,e.mergerTexAlpha),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR)}return e.mergerCanvas},s.emscripten_ubq_codec_mergeAlphaFrames=function(e,t,r){const n=t.displayWidth,o=t.displayHeight,i=s.emscripten_ubq_codec_alphaMergeCanvas(e,n,o),a=e.mergerCtx;return a.viewport(0,0,n,o),a.useProgram(e.mergerProgram),a.bindBuffer(a.ARRAY_BUFFER,e.mergerBuffer),a.enableVertexAttribArray(e.mergerLoc.aPos),a.vertexAttribPointer(e.mergerLoc.aPos,2,a.FLOAT,!1,16,0),a.enableVertexAttribArray(e.mergerLoc.aTexCoord),a.vertexAttribPointer(e.mergerLoc.aTexCoord,2,a.FLOAT,!1,16,8),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,e.mergerTexMain),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,t),a.uniform1i(e.mergerLoc.uMain,0),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,e.mergerTexAlpha),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,r),a.uniform1i(e.mergerLoc.uAlpha,1),a.drawArrays(a.TRIANGLE_STRIP,0,4),a.flush(),i},s.emscripten_ubq_codec_prepareAlphaState=function(e,t){if(s.emscripten_ubq_codec_alphaStates.has(e))return s.emscripten_ubq_codec_alphaStates.get(e);const r={decoder:null,pendingMain:new Map,pendingAlpha:new Map,expectedTimestamps:new Set,dropTimestamps:new Set,mergerCanvas:null,mergerCtx:null};try{const n={...t};t.description&&(n.description=t.description.slice());const o=new VideoDecoder({output:t=>{s.emscripten_ubq_codec_alphaOnAlphaFrame(e,t)},error:e=>{o.unexpectedError=e,console.error("Alpha decoder error:",e)}});return o.configure(n),r.decoder=o,s.emscripten_ubq_codec_alphaStates.set(e,r),r}catch(e){return console.error("Failed to create alpha decoder:",e),null}},s.emscripten_ubq_codec_destroyAlphaState=function(e){const t=s.emscripten_ubq_codec_alphaStates.get(e);if(t){t.decoder&&"closed"!==t.decoder.state&&t.decoder.close();for(const e of t.pendingMain.values())e.frame.close();for(const e of t.pendingAlpha.values())e.close();if(t.pendingMain.clear(),t.pendingAlpha.clear(),t.expectedTimestamps.clear(),t.dropTimestamps.clear(),t.mergerCtx){const e=t.mergerCtx;e.deleteTexture(t.mergerTexMain),e.deleteTexture(t.mergerTexAlpha),e.deleteBuffer(t.mergerBuffer),e.deleteProgram(t.mergerProgram);const r=e.getExtension("WEBGL_lose_context");r&&r.loseContext()}t.mergerCanvas=null,t.mergerCtx=null,s.emscripten_ubq_codec_alphaStates.delete(e)}},s.emscripten_ubq_codec_markAlphaExpected=function(e,t){const r=s.emscripten_ubq_codec_alphaStates.get(e);r&&r.expectedTimestamps.add(t)},s.emscripten_ubq_codec_alphaOnMainFrame=function(e,t,r,n,o){const i=s.emscripten_ubq_codec_alphaStates.get(e);if(!i)return!1;const a=t.timestamp??0;if(!i.expectedTimestamps.has(a))return!1;const l=i.pendingAlpha.get(a);if(l){i.pendingAlpha.delete(a),i.expectedTimestamps.delete(a);const d=s.emscripten_ubq_codec_mergeAlphaFrames(i,t,l);return s.emscripten_ubq_codec_presentVideoFrame(e,r,t,n,o,!1,d),l.close(),!0}return i.pendingMain.set(a,{frame:t,videoDecoder:r,isHdr:n,codecServicePtr:o}),!0},s.emscripten_ubq_codec_alphaOnAlphaFrame=function(e,t){const r=s.emscripten_ubq_codec_alphaStates.get(e);if(!r)return void t.close();const n=t.timestamp??0;if(!r.expectedTimestamps.has(n))return void t.close();if(r.dropTimestamps.has(n))return r.dropTimestamps.delete(n),r.expectedTimestamps.delete(n),void t.close();const o=r.pendingMain.get(n);if(o){r.pendingMain.delete(n),r.expectedTimestamps.delete(n);const i=s.emscripten_ubq_codec_mergeAlphaFrames(r,o.frame,t);return s.emscripten_ubq_codec_presentVideoFrame(e,o.videoDecoder,o.frame,o.isHdr,o.codecServicePtr,!1,i),void t.close()}r.pendingAlpha.set(n,t)},s.emscripten_ubq_codec_alphaHandleDroppedMain=function(e,t){const r=s.emscripten_ubq_codec_alphaStates.get(e);if(!r||"number"!=typeof t)return;if(!r.expectedTimestamps.has(t))return;const n=r.pendingMain.get(t);n&&(r.pendingMain.delete(t),n.frame.close());const o=r.pendingAlpha.get(t);o?(r.pendingAlpha.delete(t),o.close()):r.dropTimestamps.add(t),r.expectedTimestamps.delete(t)},s.emscripten_ubq_codec_alphaCancelExpectation=function(e,t){const r=s.emscripten_ubq_codec_alphaStates.get(e);if(!r||"number"!=typeof t)return;if(!r.expectedTimestamps.has(t))return;const n=r.pendingMain.get(t);n&&(r.pendingMain.delete(t),n.frame.close());const o=r.pendingAlpha.get(t);o&&(r.pendingAlpha.delete(t),o.close()),r.dropTimestamps.delete(t),r.expectedTimestamps.delete(t)},s.emscripten_ubq_codec_toneMapHdrToSdr=function(e){s.emscripten_ubq_codec_offscreenCanvas||(s.emscripten_ubq_codec_offscreenCanvas=new OffscreenCanvas(e.codedWidth,e.codedHeight),s.emscripten_ubq_codec_offscreenCtx=s.emscripten_ubq_codec_offscreenCanvas.getContext("2d"));const t=s.emscripten_ubq_codec_offscreenCanvas;return t.width===e.codedWidth&&t.height===e.codedHeight||(t.width=e.codedWidth,t.height=e.codedHeight),s.emscripten_ubq_codec_offscreenCtx.drawImage(e,0,0),t},s.emscripten_ubq_codec_createVideoDecoder=function(e,t,r){const n=new VideoDecoder({output:o=>{const i=n.textures;let a=!1;if(n.shouldDropFrames)a=!0;else{if(1===n.isSafari){const e=n.targetFrameForScheduling??n.requestedPresentationFrame??0,t=n.reorderWindow??0,r=Math.max(e-t,0);n.decodedFrames<r&&(a=!0)}!a&&i&&i.length>0&&n.decodeQueueSize>=i.length&&(a=!0)}const l=o.timestamp??0;if(a)return s.emscripten_ubq_codec_alphaHandleDroppedMain(e,l),void s.emscripten_ubq_codec_presentVideoFrame(e,n,o,t,r,!0,null);s.emscripten_ubq_codec_alphaOnMainFrame(e,o,n,t,r)||s.emscripten_ubq_codec_presentVideoFrame(e,n,o,t,r,!1,null)},error:e=>{n.unexpectedError=e,console.error(e)}});return n.decodedFrames=0,n.requestedPresentationFrame=0,n.requestedDecodeChunk=0,n.targetFrameForScheduling=0,n.isSafari=s._isSafariHelper(),n.reorderWindow=0,n.shouldDropFrames=!1,n.isHdr=t,n.textureWidth=0,n.textureHeight=0,n.scalingCanvas=null,n.scalingCtx=null,n},s.emscripten_ubq_codec_createAudioDecoder=function(e,t,r){const n=new AudioDecoder({output:o=>{if(n.flushing)return void o.close();const i=s.HEAPF32.subarray(e/4,e/4+r),a=s.HEAPF32.subarray(t/4,t/4+r),l=1===o.numberOfChannels?0:1;if("f32-planar"===o.format){let e=n.writtenFrames%r;if(e+o.numberOfFrames<=r)o.copyTo(i.subarray(e),{planeIndex:0,frameCount:o.numberOfFrames}),o.copyTo(a.subarray(e),{planeIndex:l,frameCount:o.numberOfFrames});else{const t=r-e;o.copyTo(i.subarray(e),{planeIndex:0,frameCount:t}),o.copyTo(a.subarray(e),{planeIndex:l,frameCount:t}),o.copyTo(i,{planeIndex:0,frameOffset:t}),o.copyTo(a,{planeIndex:l,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 s=n.writtenFrames%r;i[s]=o,a[s]=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 s=0;s<o.numberOfFrames;s++){let o=n.writtenFrames%r;i[o]=e[s]/32768,a[o]=t[s]/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 s=n.writtenFrames%r;i[s]=o,a[s]=o,n.writtenFrames++}else for(let t=0;t<o.numberOfFrames;t++){let s=n.writtenFrames%r;i[s]=e[t*o.numberOfChannels+0]/32768,a[s]=e[t*o.numberOfChannels+1]/32768,n.writtenFrames++}}else if("f32-planar"===o.format)if(1===o.numberOfChannels){const e=new Float32Array(o.numberOfFrames);o.copyTo(e,{planeIndex:0});for(let t=0;t<o.numberOfFrames;t++){let o=n.writtenFrames%r;i[o]=e[t],a[o]=e[t],n.writtenFrames++}}else{const e=new Float32Array(o.numberOfFrames),t=new Float32Array(o.numberOfFrames);o.copyTo(e,{planeIndex:0}),o.copyTo(t,{planeIndex:1});for(let s=0;s<o.numberOfFrames;s++){let o=n.writtenFrames%r;i[o]=e[s],a[o]=t[s],n.writtenFrames++}}else if("f32"===o.format){const e=new Float32Array(o.numberOfFrames*o.numberOfChannels);if(o.copyTo(e,{planeIndex:0}),1===o.numberOfChannels)for(let t=0;t<o.numberOfFrames;t++){let o=n.writtenFrames%r;i[o]=e[t],a[o]=e[t],n.writtenFrames++}else for(let t=0;t<o.numberOfFrames;t++){let s=n.writtenFrames%r;i[s]=e[t*o.numberOfChannels+0],a[s]=e[t*o.numberOfChannels+1],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},s.emscripten_ubq_settings_forceWebGL1=!1,s.emscripten_ubq_opfs_CHUNK_SIZE=10485760,s.emscripten_ubq_opfs_MAX_CACHE_SIZE_BYTES=209715200,void 0===s.emscripten_ubq_opfs_readTagCounter&&(s.emscripten_ubq_opfs_readTagCounter=0),s.emscripten_ubq_opfs_caches=new Map,s.emscripten_ubq_opfs_isWriteOpen=function(e){const t=s.emscripten_ubq_opfs_writerCaches;return!!t&&!!t.get(e)},s.emscripten_ubq_opfs_waitForWriteClose=async function(e){for(;s.emscripten_ubq_opfs_isWriteOpen(e);)await new Promise(e=>setTimeout(e,25))},s.emscripten_ubq_opfs_createWorker=function(){const e=new Blob(["\n let handle = null; \n let currentUri = '';\n\n async function getFileHandleForUri(uri) {\n const path = uri.replace(/^opfs:\\/\\//, \"\");\n const parts = path.split(\"/\").filter(Boolean);\n let dir = await navigator.storage.getDirectory();\n for (let i = 0; i < parts.length - 1; i++) {\n dir = await dir.getDirectoryHandle(parts[i]);\n }\n return dir.getFileHandle(parts[parts.length - 1]);\n }\n\n self.onmessage = async (ev) => {\n if (ev.data.open) {\n if (handle) {\n try {\n handle.close();\n } catch (e) {\n console.warn('[OPFS Worker] Failed to close previous handle', e);\n }\n }\n currentUri = ev.data.uri || '';\n try {\n const fileHandle = await getFileHandleForUri(currentUri);\n handle = await fileHandle.createSyncAccessHandle({\n mode: 'read-only'\n });\n try {\n const size = handle.getSize ? handle.getSize() : -1;\n } catch (_) {}\n self.postMessage({ready:true});\n } catch (error) {\n handle = null;\n const message =\n (error && error.message) ? error.message : String(error);\n self.postMessage({ready:false, error: message});\n }\n return;\n }\n \n if (ev.data.read) {\n const {offset, size, tag} = ev.data.read;\n\n if (!handle) {\n self.postMessage({tag, error: 'OPFS handle is not initialized'});\n return;\n }\n try {\n const tmp = new Uint8Array(size);\n const bytes = handle.read(tmp, {at: offset});\n self.postMessage({tag, bytes, buf: tmp.buffer}, [tmp.buffer]);\n } catch (error) {\n const message =\n (error && error.message) ? error.message : String(error);\n self.postMessage({tag, error: message});\n }\n }\n };\n "],{type:"application/javascript"});return{worker:new Worker(URL.createObjectURL(e),{type:"module"}),readyPromise:null,post:function(e){this.worker.postMessage(e)},get:function(){return this.worker}}},s.emscripten_ubq_opfs_destroyWorker=function(e){if(e){console.log("[OPFS Reader] Destroy worker");try{e.worker.terminate()}catch(e){console.warn("[OPFS] Failed to terminate worker",e)}}},s.emscripten_ubq_opfs_getCache=function(e){let t=s.emscripten_ubq_opfs_caches.get(e);return t||(t={chunkCache:new Map,accessOrder:[],currentSize:0,loadingChunks:new Set,file:null,openPromise:null,fileSize:-1,worker:null,workerOpened:!1,workerOpening:null},s.emscripten_ubq_opfs_caches.set(e,t)),t},s.emscripten_ubq_opfs_ensureFile=async function(e,t){if(t.fileHandle)return t.fileHandle;if(t.openPromise)return t.openPromise;const r=e.replace(/^opfs:\/\//,"");return t.openPromise=(async()=>{const e=await navigator.storage.getDirectory(),n=r.split("/").filter(Boolean);let o=e;for(let e=0;e<n.length-1;e++)o=await o.getDirectoryHandle(n[e]);const i=await o.getFileHandle(n[n.length-1]);t.fileHandle=i;const s=await i.getFile();return t.fileSize=s.size,i})(),t.openPromise},s.emscripten_ubq_opfs_ensureWorker=function(e,t){return t.worker||(t.worker=s.emscripten_ubq_opfs_createWorker()),t.worker},s.emscripten_ubq_opfs_updateAccess=function(e,t){const r=e.accessOrder.indexOf(t);-1!==r&&e.accessOrder.splice(r,1),e.accessOrder.push(t)},s.emscripten_ubq_opfs_cleanCache=function(e){const t=s.emscripten_ubq_opfs_MAX_CACHE_SIZE_BYTES;for(;e.currentSize>t&&e.accessOrder.length>0;){const t=e.accessOrder.shift(),r=e.chunkCache.get(t);r&&(e.currentSize-=r.byteLength,e.chunkCache.delete(t))}},s.emscripten_ubq_opfs_loadChunk=function(e,t,r){if(t.chunkCache.has(r)||t.loadingChunks.has(r))return void s.emscripten_ubq_opfs_updateAccess(t,r);t.loadingChunks.add(r);const n=s.emscripten_ubq_opfs_CHUNK_SIZE,o=r*n;s.emscripten_ubq_opfs_loadChunkViaWorker(e,t,r,o,n).catch(t=>{console.error(`[OPFS] Failed to load chunk ${r} for "${e}":`,t)}).finally(()=>{t.loadingChunks.delete(r)})},s.emscripten_ubq_opfs_loadChunkViaWorker=async function(e,t,r,n,o){const i=s.emscripten_ubq_opfs_ensureWorker(e,t);t.workerOpened||(t.workerOpening||(t.workerOpening=(async()=>{await s.emscripten_ubq_opfs_waitForWriteClose(e),await s.emscripten_ubq_opfs_ensureFile(e,t),i.post({open:!0,uri:e}),await new Promise((e,t)=>{const r=i.get(),n=o=>{o.data&&(!0===o.data.ready?(r.removeEventListener("message",n),e()):!1===o.data.ready&&(r.removeEventListener("message",n),t(new Error(o.data.error||"Failed to open OPFS worker handle"))))};r.addEventListener("message",n)}),t.workerOpened=!0})().finally(()=>{t.workerOpening=null})),await t.workerOpening);const a=await new Promise((e,t)=>{const r=++s.emscripten_ubq_opfs_readTagCounter,a=i.get(),l=n=>{if(n.data.tag===r){if(a.removeEventListener("message",l),n.data.error)return void t(new Error(n.data.error));n.data.buf?e(new Uint8Array(n.data.buf)):t(new Error("No buffer received"))}};a.addEventListener("message",l),i.post({read:{offset:n,size:o,tag:r}})});t.chunkCache.set(r,a),t.currentSize+=a.byteLength,s.emscripten_ubq_opfs_updateAccess(t,r),s.emscripten_ubq_opfs_cleanCache(t)},s.emscripten_ubq_opfs_getChunkDataAsync=async function(e,t,r,n,o){if(n<=0)return 0;const i=z(e),a=4294967296*(r>>>0)+(t>>>0),l=s.emscripten_ubq_opfs_getCache(i),d=s.emscripten_ubq_opfs_ensureWorker(i,l);l.workerOpened||(l.workerOpening||(l.workerOpening=(async()=>{await s.emscripten_ubq_opfs_waitForWriteClose(i),await s.emscripten_ubq_opfs_ensureFile(i,l),d.post({open:!0,uri:i}),await new Promise((e,t)=>{const r=d.get(),n=o=>{o.data&&(!0===o.data.ready?(r.removeEventListener("message",n),e()):!1===o.data.ready&&(r.removeEventListener("message",n),t(new Error(o.data.error||"Failed to open OPFS worker handle"))))};r.addEventListener("message",n)}),l.workerOpened=!0})().finally(()=>{l.workerOpening=null})),await l.workerOpening);try{return await new Promise((e,t)=>{void 0===s.emscripten_ubq_opfs_readTagCounter&&(s.emscripten_ubq_opfs_readTagCounter=0);const r=++s.emscripten_ubq_opfs_readTagCounter,i=d.get(),l=a=>{if(a.data.tag===r){if(i.removeEventListener("message",l),a.data.error)return void t(new Error(a.data.error));a.data.buf&&s.HEAPU8.set(new Uint8Array(a.data.buf),o),a.data.bytes===n?e(n):t(new Error("short read"))}};i.addEventListener("message",l),d.post({read:{offset:a,size:n,ptr:o,tag:r}})})}catch(e){return console.error("[OPFS] worker read failed:",e),-1}},s.emscripten_ubq_opfs_loadChunkAsync=async function(e,t,r){if(t.chunkCache.has(r))return void s.emscripten_ubq_opfs_updateAccess(t,r);if(t.loadingChunks.has(r))return;t.loadingChunks.add(r);const n=s.emscripten_ubq_opfs_CHUNK_SIZE,o=r*n,i=o+n;try{await s.emscripten_ubq_opfs_waitForWriteClose(e);const n=await s.emscripten_ubq_opfs_ensureFile(e,t),a=(await n.getFile()).slice(o,i),l=await a.arrayBuffer(),d=new Uint8Array(l);t.chunkCache.set(r,d),t.currentSize+=d.byteLength,s.emscripten_ubq_opfs_updateAccess(t,r),s.emscripten_ubq_opfs_cleanCache(t)}catch(t){throw console.error(`[OPFS] Async Failed to load chunk ${r} for "${e}":`,t),t}finally{t.loadingChunks.delete(r)}},"object"==typeof window&&"object"==typeof window.performance?s.performance=performance:"object"==typeof global&&"object"==typeof global.perf_hooks&&"object"==typeof global.perf_hooks.performance?s.performance=global.perf_hooks.performance:s.performance={mark:function(){},measure:function(){}},(n=t||(t={}))[n.PENDING=0]="PENDING",n[n.FINISHED=1]="FINISHED",n[n.ALLOCATED=2]="ALLOCATED",n[n.ERROR=3]="ERROR",(i=o||(o={}))[i.GET=0]="GET",i[i.POST=1]="POST",i[i.HEAD=2]="HEAD";class FetchProcess{constructor(e,r){this.state=t.PENDING,this.statusCode=-1,this.totalBytes=0,this.receivedLength=0,this.handle=e,this.uri=r,this.abortController=new AbortController,this.abortSignal=this.abortController.signal}async readChunks(e,t){let r=0;const n=[],o=e=>{n.push(e),r+=e.length,this.receivedLength=r};if(null==e);else if("getReader"in e){const n=e.getReader();for(;;){const{done:e,value:i}=await n.read();if(e)break;if(this.abortSignal.aborted)throw await n.cancel(),n.releaseLock(),new Error(this.abortSignal.reason);if(void 0!==t&&r+i.length>t){const e=t-r;e>0&&o(i.subarray(0,e)),await n.cancel(),n.releaseLock();break}if(o(i),void 0!==t&&r>=t){await n.cancel(),n.releaseLock();break}}(void 0===t||r<t)&&n.releaseLock()}else{const n=()=>e.destroy(new Error(this.abortSignal.reason));this.abortSignal.addEventListener("abort",n,{once:!0});try{await new Promise((n,i)=>{let s=!1;const a=()=>{e.off("data",c),e.off("end",l),e.off("error",d)},l=()=>{s||(s=!0,a(),n())},d=e=>{s||(s=!0,a(),i(e))},c=i=>{if(!s){if(void 0!==t&&r+i.length>t){const l=t-r;return l>0&&o(i.subarray(0,l)),s=!0,a(),e.destroy(),void n()}o(i),void 0!==t&&r>=t&&(s=!0,a(),e.destroy(),n())}};e.on("data",c),e.on("end",l),e.on("error",d)})}finally{this.abortSignal.removeEventListener("abort",n)}}const i=new Uint8Array(r);let s=0;for(const e of n)i.set(e,s),s+=e.length;return this.finish(i)}abort(){this.isPending()&&this.abortController.abort("Fetch aborted")}isPending(){return this.state===t.PENDING}isError(){return this.state===t.ERROR}isFinished(){return this.state===t.FINISHED}isAllocated(){return this.state===t.ALLOCATED}allocate(){if(this.isAllocated())return this;if(this.isFinished()){const e=this.result.length,r=s._malloc(e);s.HEAPU8.set(this.result,r);const n=Object.assign(Object.assign({},this),{state:t.ALLOCATED,resultAddress:r,resultLength:e});return Object.assign(this,n),n}return null}finish(e){const r=Object.assign(Object.assign({},this),{state:t.FINISHED,result:e,totalBytes:this.totalBytes>0?this.totalBytes:e.length});return Object.assign(this,r)}fail(e){const r=Object.assign(Object.assign({},this),{state:t.ERROR,error:e});return Object.assign(this,r)}}s.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,i,a,l,d){const c=s.UTF8ToString(t,r),u=this._nextHandle++,h=new FetchProcess(u,c);return this._processes.set(u,h),c.match(/^file:/)?this._fetchFile(h).catch(e=>{h.fail(e)}):this._fetchRemote(h,e,n,o,i,a,l,d).catch(e=>{h.fail(e)}),h}async _fetchFile(e){if("undefined"!=typeof window)throw new Error("File URLs supported only in Node.JS");const t=gt(),{fileURLToPath:r}=gt(),n=t.createReadStream(r(e.uri));return e.readChunks(n)}async _fetchRemote(e,t,r,n,i,a,l,d){const c=s.UTF8ToString(l,d),u=this.getHeaders(r,n),h="Range"in u;let p,g,f;if(u.Range){const e=u.Range.match(/bytes=(\d+)-(\d+)/);e&&(g=parseInt(e[1],10),f=parseInt(e[2],10),p=f-g+1)}const m=0===g&&void 0!==p&&p<=64,b=t===o.POST?new Uint8Array(new Uint8Array(s.HEAPU8.buffer,i,a)):void 0,y={method:o[t],headers:u,body:b,mode:"cors",credentials:c,signal:e.abortSignal,redirect:h?"manual":"follow"};let v=await this._fetch(e.uri,y);if(h){let t=0;for(;v.status>=300&&v.status<400;){const r=v.headers.get("Location");if(!r)return e.fail("Redirect without Location header");const n=new URL(r,v.url).href;if(t+=1,t>10)return e.fail("Too many redirects");v=await this._fetch(n,y)}if("opaqueredirect"===v.type)return e.fail("Opaque redirect while preserving Range header")}if(e.statusCode=v.status,v.status>=200&&v.status<=209){let r=0;if(206===v.status&&v.headers.has("Content-Range")){const e=v.headers.get("Content-Range").match(/\/(\d+|\*)/);e&&"*"!==e[1]&&(r=parseInt(e[1],10))}return 0===r&&v.headers.has("Content-Length")&&(r=+v.headers.get("Content-Length")),e.totalBytes=r,t===o.HEAD?e.finish(new Uint8Array(0)):(h&&200===v.status&&!m&&(p=void 0),e.readChunks(v.body,p))}if(416===v.status){if(v.headers.has("Content-Range")){const t=v.headers.get("Content-Range").match(/\/(\d+)/);if(t){const r=parseInt(t[1],10);e.totalBytes=r}}return e.fail("416 Range Not Satisfiable")}return e.fail(v.statusText)}getHeaders(e,t){const r={};for(let n=0;n<t;n++){const t=s.getValue(e+4*n,"i32"),o=this._headers.get(t);r[o.key]=o.value}return r}createHeader(e,t,r,n){const o=s.UTF8ToString(e,t),i=s.UTF8ToString(r,n),a=this._nextHeaderHandle++;return this._headers.set(a,{key:o,value:i}),a}deleteHeader(e){return this._headers.delete(e)}},s.emscripten_ubq_opfs_writerCaches||(s.emscripten_ubq_opfs_writerCaches=new Map),s.emscripten_ubq_opfs_createWriterWorker=function(){const e=new Blob(["\n let handle = null;\n let currentUri = '';\n\n async function ensureWritableFileHandle(uri) {\n const path = uri.replace(/^opfs:\\/\\//, '');\n const parts = path.split('/').filter(Boolean);\n let dir = await navigator.storage.getDirectory();\n for (let i = 0; i < parts.length - 1; i++) {\n dir = await dir.getDirectoryHandle(parts[i], { create: true });\n }\n return dir.getFileHandle(parts[parts.length - 1], { create: true });\n }\n\n self.onmessage = async (ev) => {\n if (ev.data.open) {\n if (handle) {\n try {\n await handle.flush();\n handle.close();\n } catch (e) {\n console.warn('[OPFS Writer] Failed to close previous handle', e);\n }\n }\n try {\n currentUri = ev.data.uri || '';\n const fh = await ensureWritableFileHandle(currentUri);\n handle = await fh.createSyncAccessHandle({ mode: 'readwrite' });\n try {\n // Ensure we start from a clean slate; truncate to zero\n handle.truncate(0);\n } catch (e) {\n // Some browsers might not support truncate; ignore\n }\n // Debug logs removed\n self.postMessage({ ready: true });\n } catch (err) {\n console.error('[OPFS Writer] Failed to open SyncAccessHandle', err);\n handle = null;\n const message = (err && err.message) ? err.message : String(err);\n self.postMessage({ ready: false, error: message });\n }\n return;\n }\n\n if (ev.data.write) {\n const { offset, buf, tag } = ev.data.write;\n try {\n if (!handle) throw new Error('OPFS writer handle not initialized');\n const bytes = new Uint8Array(buf);\n // Debug logs removed\n handle.write(bytes, { at: offset });\n // Debug logs removed\n self.postMessage({ tag });\n } catch (e) {\n self.postMessage({ tag, error: e.toString() });\n }\n return;\n }\n\n if (ev.data.close) {\n try {\n // Debug logs removed\n await handle.flush();\n handle.close();\n } catch (e) {\n // ignore\n }\n self.postMessage({ closed: true });\n }\n };\n "],{type:"application/javascript"}),t=new Worker(URL.createObjectURL(e),{type:"module"});return{worker:t,post:e=>t.postMessage(e),get:()=>t}},s.emscripten_ubq_opfs_destroyWriterWorker=function(e){if(e)try{e.worker.terminate()}catch(e){}},s.emscripten_ubq_opfs_ensureWriteFile=async function(e,t){if(t.fileHandle)return t.fileHandle;if(t.openPromise)return t.openPromise;const r=e.replace(/^opfs:\/\//,"");return t.openPromise=(async()=>{const e=await navigator.storage.getDirectory(),n=r.split("/").filter(Boolean);let o=e;for(let e=0;e<n.length-1;e++){const t=n[e];o=await o.getDirectoryHandle(t,{create:!0})}const i=await o.getFileHandle(n[n.length-1],{create:!0});return t.fileHandle=i,i})(),t.openPromise},s.emscripten_ubq_opfs_ensureWriteWorker=function(e,t){return t.worker||(t.worker=s.emscripten_ubq_opfs_createWriterWorker()),t.worker};var c=[],u="./this.program",h=(e,t)=>{throw t};"undefined"!=typeof __filename?r=__filename:l&&(r=self.location.href);var p,g,f="";if(d){var m=gt();f=__dirname+"/",g=e=>(e=D(e)?new URL(e):e,m.readFileSync(e)),p=async(e,t=!0)=>(e=D(e)?new URL(e):e,m.readFileSync(e,t?void 0:"utf8")),process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),c=process.argv.slice(2),h=(e,t)=>{throw process.exitCode=e,t}}else if(a||l){try{f=new URL(".",r).href}catch{}l&&(g=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),p=async e=>{var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw new Error(t.status+" : "+t.url)}}var b,y,v,w,_,k,S,C,E,x,T,P,A,M,F,I=console.log.bind(console),R=console.error.bind(console),L=!1,D=e=>e.startsWith("file://"),O=!1;function B(){var e=H.buffer;_=new Int8Array(e),S=new Int16Array(e),s.HEAPU8=k=new Uint8Array(e),s.HEAPU16=C=new Uint16Array(e),E=new Int32Array(e),s.HEAPU32=x=new Uint32Array(e),s.HEAPF32=T=new Float32Array(e),s.HEAPF64=P=new Float64Array(e),A=new BigInt64Array(e),M=new BigUint64Array(e)}function U(e){s.onAbort?.(e),R(e="Aborted("+e+")"),L=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw w?.(t),t}function j(){return e="cesdk.wasm",s.locateFile?s.locateFile(e,f):f+e;var e}async function q(e){if(!b)try{var t=await p(e);return new Uint8Array(t)}catch{}return function(e){if(e==F&&b)return new Uint8Array(b);if(g)return g(e);throw"both async and sync fetching of the wasm failed"}(e)}async function W(e,t,r){if(!e&&!d)try{var n=fetch(t,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,r)}catch(e){R(`wasm streaming compile failed: ${e}`),R("falling back to ArrayBuffer instantiation")}return async function(e,t){try{var r=await q(e);return await WebAssembly.instantiate(r,t)}catch(e){R(`failed to asynchronously prepare wasm: ${e}`),U(e)}}(t,r)}class ExitStatus{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var H,$=globalThis.TextDecoder&&new TextDecoder,V=(e,t,r,n)=>{var o=t+r;if(n)return o;for(;e[t]&&!(t>=o);)++t;return t},N=(e,t=0,r,n)=>{var o=V(e,t,r,n);if(o-t>16&&e.buffer&&$)return $.decode(e.subarray(t,o));for(var i="";t<o;){var s=e[t++];if(128&s){var a=63&e[t++];if(192!=(224&s)){var l=63&e[t++];if((s=224==(240&s)?(15&s)<<12|a<<6|l:(7&s)<<18|a<<12|l<<6|63&e[t++])<65536)i+=String.fromCharCode(s);else{var d=s-65536;i+=String.fromCharCode(55296|d>>10,56320|1023&d)}}else i+=String.fromCharCode((31&s)<<6|a)}else i+=String.fromCharCode(s)}return i},z=(e,t,r)=>e?N(k,e,t,r):"",G=e=>{for(;e.length>0;)e.shift()(s)},X=[],Y=e=>X.push(e),K=[],Q=e=>K.push(e),Z=!0,J=e=>xn(e),ee=()=>Pn(),te=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},re=(e,t,r,n)=>{if(!(n>0))return 0;for(var o=r,i=r+n-1,s=0;s<e.length;++s){var a=e.codePointAt(s);if(a<=127){if(r>=i)break;t[r++]=a}else if(a<=2047){if(r+1>=i)break;t[r++]=192|a>>6,t[r++]=128|63&a}else if(a<=65535){if(r+2>=i)break;t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a}else{if(r+3>=i)break;t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a,s++}}return t[r]=0,r-o},ne=(e,t,r)=>re(e,k,t,r),oe=e=>{var t=te(e)+1,r=yn(t);return r&&ne(e,r,t),r},ie=[],se=0;class ExceptionInfo{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){x[this.ptr+4>>2]=e}get_type(){return x[this.ptr+4>>2]}set_destructor(e){x[this.ptr+8>>2]=e}get_destructor(){return x[this.ptr+8>>2]}set_caught(e){e=e?1:0,_[this.ptr+12]=e}get_caught(){return 0!=_[this.ptr+12]}set_rethrown(e){e=e?1:0,_[this.ptr+13]=e}get_rethrown(){return 0!=_[this.ptr+13]}init(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)}set_adjusted_ptr(e){x[this.ptr+16>>2]=e}get_adjusted_ptr(){return x[this.ptr+16>>2]}}var ae=e=>En(e),le=e=>{var t=se;if(!t)return ae(0),0;var r=new ExceptionInfo(t);r.set_adjusted_ptr(t);var n=r.get_type();if(!n)return ae(0),t;for(var o of e){if(0===o||o===n)break;var i=r.ptr+16;if(Fn(o,n,i))return ae(o),t}return ae(n),t},de={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=de.isAbs(e),r="/"===e.slice(-1);return(e=de.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=de.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.slice(0,-1)),r+n):"."},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>de.normalize(e.join("/")),join2:(e,t)=>de.normalize(e+"/"+t)},ce=e=>{(ce=e=>crypto.getRandomValues(e))(e)},ue={resolve:(...e)=>{for(var t="",r=!1,n=e.length-1;n>=-1&&!r;n--){var o=n>=0?e[n]:xe.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";t=o+"/"+t,r=de.isAbs(o)}return(r?"/":"")+(t=de.normalizeArray(t.split("/").filter(e=>!!e),!r).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=ue.resolve(e).slice(1),t=ue.resolve(t).slice(1);for(var n=r(e.split("/")),o=r(t.split("/")),i=Math.min(n.length,o.length),s=i,a=0;a<i;a++)if(n[a]!==o[a]){s=a;break}var l=[];for(a=s;a<n.length;a++)l.push("..");return(l=l.concat(o.slice(s))).join("/")}},he=[],pe=(e,t,r)=>{var n=r>0?r:te(e)+1,o=new Array(n),i=re(e,o,0,o.length);return t&&(o.length=i),o},ge={ttys:[],init(){},shutdown(){},register(e,t){ge.ttys[e]={input:[],output:[],ops:t},xe.registerDevice(e,ge.stream_ops)},stream_ops:{open(e){var t=ge.ttys[e.node.rdev];if(!t)throw new xe.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,n,o){if(!e.tty||!e.tty.ops.get_char)throw new xe.ErrnoError(60);for(var i=0,s=0;s<n;s++){var a;try{a=e.tty.ops.get_char(e.tty)}catch(e){throw new xe.ErrnoError(29)}if(void 0===a&&0===i)throw new xe.ErrnoError(6);if(null==a)break;i++,t[r+s]=a}return i&&(e.node.atime=Date.now()),i},write(e,t,r,n,o){if(!e.tty||!e.tty.ops.put_char)throw new xe.ErrnoError(60);try{for(var i=0;i<n;i++)e.tty.ops.put_char(e.tty,t[r+i])}catch(e){throw new xe.ErrnoError(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),i}},default_tty_ops:{get_char:e=>(()=>{if(!he.length){var e=null;if(d){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=m.readSync(n,t,0,256)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}r>0&&(e=t.slice(0,r).toString("utf-8"))}else globalThis.window?.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n");if(!e)return null;he=pe(e,!0)}return he.shift()})(),put_char(e,t){null===t||10===t?(I(N(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output?.length>0&&(I(N(e.output)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(R(N(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output?.length>0&&(R(N(e.output)),e.output=[])}}},fe=(e,t)=>Math.ceil(e/t)*t,me=e=>{e=fe(e,65536);var t=Sn(65536,e);return t&&((e,t)=>{k.fill(0,e,e+t)})(t,e),t},be={ops_table:null,mount:e=>be.createNode(null,"/",16895,0),createNode(e,t,r,n){if(xe.isBlkdev(r)||xe.isFIFO(r))throw new xe.ErrnoError(63);be.ops_table||={dir:{node:{getattr:be.node_ops.getattr,setattr:be.node_ops.setattr,lookup:be.node_ops.lookup,mknod:be.node_ops.mknod,rename:be.node_ops.rename,unlink:be.node_ops.unlink,rmdir:be.node_ops.rmdir,readdir:be.node_ops.readdir,symlink:be.node_ops.symlink},stream:{llseek:be.stream_ops.llseek}},file:{node:{getattr:be.node_ops.getattr,setattr:be.node_ops.setattr},stream:{llseek:be.stream_ops.llseek,read:be.stream_ops.read,write:be.stream_ops.write,mmap:be.stream_ops.mmap,msync:be.stream_ops.msync}},link:{node:{getattr:be.node_ops.getattr,setattr:be.node_ops.setattr,readlink:be.node_ops.readlink},stream:{}},chrdev:{node:{getattr:be.node_ops.getattr,setattr:be.node_ops.setattr},stream:xe.chrdev_stream_ops}};var o=xe.createNode(e,t,r,n);return xe.isDir(o.mode)?(o.node_ops=be.ops_table.dir.node,o.stream_ops=be.ops_table.dir.stream,o.contents={}):xe.isFile(o.mode)?(o.node_ops=be.ops_table.file.node,o.stream_ops=be.ops_table.file.stream,o.usedBytes=0,o.contents=null):xe.isLink(o.mode)?(o.node_ops=be.ops_table.link.node,o.stream_ops=be.ops_table.link.stream):xe.isChrdev(o.mode)&&(o.node_ops=be.ops_table.chrdev.node,o.stream_ops=be.ops_table.chrdev.stream),o.atime=o.mtime=o.ctime=Date.now(),e&&(e.contents[t]=o,e.atime=e.mtime=e.ctime=o.atime),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,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=xe.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,xe.isDir(e.mode)?t.size=4096:xe.isFile(e.mode)?t.size=e.usedBytes:xe.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){for(const r of["mode","atime","mtime","ctime"])null!=t[r]&&(e[r]=t[r]);void 0!==t.size&&be.resizeFileStorage(e,t.size)},lookup(e,t){throw be.doesNotExistError||(be.doesNotExistError=new xe.ErrnoError(44),be.doesNotExistError.stack="<generic error, no stack>"),be.doesNotExistError},mknod:(e,t,r,n)=>be.createNode(e,t,r,n),rename(e,t,r){var n;try{n=xe.lookupNode(t,r)}catch(e){}if(n){if(xe.isDir(e.mode))for(var o in n.contents)throw new xe.ErrnoError(55);xe.hashRemoveNode(n)}delete e.parent.contents[e.name],t.contents[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.contents[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r=xe.lookupNode(e,t);for(var n in r.contents)throw new xe.ErrnoError(55);delete e.contents[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.contents)],symlink(e,t,r){var n=be.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!xe.isLink(e.mode))throw new xe.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,o){var i=e.node.contents;if(o>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-o,n);if(s>8&&i.subarray)t.set(i.subarray(o,o+s),r);else for(var a=0;a<s;a++)t[r+a]=i[o+a];return s},write(e,t,r,n,o,i){if(t.buffer===_.buffer&&(i=!1),!n)return 0;var s=e.node;if(s.mtime=s.ctime=Date.now(),t.subarray&&(!s.contents||s.contents.subarray)){if(i)return s.contents=t.subarray(r,r+n),s.usedBytes=n,n;if(0===s.usedBytes&&0===o)return s.contents=t.slice(r,r+n),s.usedBytes=n,n;if(o+n<=s.usedBytes)return s.contents.set(t.subarray(r,r+n),o),n}if(be.expandFileStorage(s,o+n),s.contents.subarray&&t.subarray)s.contents.set(t.subarray(r,r+n),o);else for(var a=0;a<n;a++)s.contents[o+a]=t[r+a];return s.usedBytes=Math.max(s.usedBytes,o+n),n},llseek(e,t,r){var n=t;if(1===r?n+=e.position:2===r&&xe.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new xe.ErrnoError(28);return n},mmap(e,t,r,n,o){if(!xe.isFile(e.node.mode))throw new xe.ErrnoError(43);var i,s,a=e.node.contents;if(2&o||!a||a.buffer!==_.buffer){if(s=!0,!(i=me(t)))throw new xe.ErrnoError(48);a&&((r>0||r+t<a.length)&&(a=a.subarray?a.subarray(r,r+t):Array.prototype.slice.call(a,r,r+t)),_.set(a,i))}else s=!1,i=a.byteOffset;return{ptr:i,allocated:s}},msync:(e,t,r,n,o)=>(be.stream_ops.write(e,t,0,n,r,!1),0)}},ye=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},ve=(...e)=>xe.createDataFile(...e),we=0,_e=null,ke=e=>{if(we--,s.monitorRunDependencies?.(we),0==we&&_e){var t=_e;_e=null,t()}},Se=e=>{we++,s.monitorRunDependencies?.(we)},Ce=[],Ee=async(e,t,r,n,o,i,s,a)=>{var l=t?ue.resolve(de.join2(e,t)):e;Se();try{var d=r;"string"==typeof r&&(d=await(async e=>{var t=await p(e);return new Uint8Array(t)})(r)),d=await(async(e,t)=>{for(var r of(void 0!==rr&&rr.init(),Ce))if(r.canHandle(t))return r.handle(e,t);return e})(d,l),a?.(),i||ve(e,t,d,n,o,s)}finally{ke()}},xe={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(e){this.errno=e}},FSStream:class{shared={};get object(){return this.node}set object(e){this.node=e}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return!!(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.id=xe.nextInode++,this.name=t,this.mode=r,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return xe.isDir(this.mode)}get isDevice(){return xe.isChrdev(this.mode)}},lookupPath(e,t={}){if(!e)throw new xe.ErrnoError(44);t.follow_mount??=!0,de.isAbs(e)||(e=xe.cwd()+"/"+e);e:for(var r=0;r<40;r++){for(var n=e.split("/").filter(e=>!!e),o=xe.root,i="/",s=0;s<n.length;s++){var a=s===n.length-1;if(a&&t.parent)break;if("."!==n[s])if(".."!==n[s]){i=de.join2(i,n[s]);try{o=xe.lookupNode(o,n[s])}catch(e){if(44===e?.errno&&a&&t.noent_okay)return{path:i};throw e}if(!xe.isMountpoint(o)||a&&!t.follow_mount||(o=o.mounted.root),xe.isLink(o.mode)&&(!a||t.follow)){if(!o.node_ops.readlink)throw new xe.ErrnoError(52);var l=o.node_ops.readlink(o);de.isAbs(l)||(l=de.dirname(i)+"/"+l),e=l+"/"+n.slice(s+1).join("/");continue e}}else{if(i=de.dirname(i),xe.isRoot(o)){e=i+"/"+n.slice(s+1).join("/"),r--;continue e}o=o.parent}}return{path:i,node:o}}throw new xe.ErrnoError(32)},getPath(e){for(var t;;){if(xe.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)%xe.nameTable.length},hashAddNode(e){var t=xe.hashName(e.parent.id,e.name);e.name_next=xe.nameTable[t],xe.nameTable[t]=e},hashRemoveNode(e){var t=xe.hashName(e.parent.id,e.name);if(xe.nameTable[t]===e)xe.nameTable[t]=e.name_next;else for(var r=xe.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=xe.mayLookup(e);if(r)throw new xe.ErrnoError(r);for(var n=xe.hashName(e.id,t),o=xe.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===e.id&&i===t)return o}return xe.lookup(e,t)},createNode(e,t,r,n){var o=new xe.FSNode(e,t,r,n);return xe.hashAddNode(o),o},destroyNode(e){xe.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>xe.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!xe.isDir(e.mode))return 54;var t=xe.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){if(!xe.isDir(e.mode))return 54;try{return xe.lookupNode(e,t),20}catch(e){}return xe.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=xe.lookupNode(e,t)}catch(e){return e.errno}var o=xe.nodePermissions(e,"wx");if(o)return o;if(r){if(!xe.isDir(n.mode))return 54;if(xe.isRoot(n)||xe.getPath(n)===xe.cwd())return 10}else if(xe.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?xe.isLink(e.mode)?32:xe.isDir(e.mode)&&("r"!==xe.flagsToPermissionString(t)||576&t)?31:xe.nodePermissions(e,xe.flagsToPermissionString(t)):44,checkOpExists(e,t){if(!e)throw new xe.ErrnoError(t);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=xe.MAX_OPEN_FDS;e++)if(!xe.streams[e])return e;throw new xe.ErrnoError(33)},getStreamChecked(e){var t=xe.getStream(e);if(!t)throw new xe.ErrnoError(8);return t},getStream:e=>xe.streams[e],createStream:(e,t=-1)=>(e=Object.assign(new xe.FSStream,e),-1==t&&(t=xe.nextfd()),e.fd=t,xe.streams[t]=e,e),closeStream(e){xe.streams[e]=null},dupStream(e,t=-1){var r=xe.createStream(e,t);return r.stream_ops?.dup?.(r),r},doSetAttr(e,t,r){var n=e?.stream_ops.setattr,o=n?e:t;n??=t.node_ops.setattr,xe.checkOpExists(n,63),n(o,r)},chrdev_stream_ops:{open(e){var t=xe.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new xe.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){xe.devices[e]={stream_ops:t}},getDevice:e=>xe.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push(...n.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),xe.syncFSRequests++,xe.syncFSRequests>1&&R(`warning: ${xe.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=xe.getMounts(xe.root.mount),n=0;function o(e){return xe.syncFSRequests--,t(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,o(e));++n>=r.length&&o(null)}for(var s of r)s.type.syncfs?s.type.syncfs(s,e,i):i(null)},mount(e,t,r){var n,o="/"===r,i=!r;if(o&&xe.root)throw new xe.ErrnoError(10);if(!o&&!i){var s=xe.lookupPath(r,{follow_mount:!1});if(r=s.path,n=s.node,xe.isMountpoint(n))throw new xe.ErrnoError(10);if(!xe.isDir(n.mode))throw new xe.ErrnoError(54)}var a={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(a);return l.mount=a,a.root=l,o?xe.root=l:n&&(n.mounted=a,n.mount&&n.mount.mounts.push(a)),l},unmount(e){var t=xe.lookupPath(e,{follow_mount:!1});if(!xe.isMountpoint(t.node))throw new xe.ErrnoError(28);var r=t.node,n=r.mounted,o=xe.getMounts(n);for(var[i,s]of Object.entries(xe.nameTable))for(;s;){var a=s.name_next;o.includes(s.mount)&&xe.destroyNode(s),s=a}r.mounted=null;var l=r.mount.mounts.indexOf(n);r.mount.mounts.splice(l,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=xe.lookupPath(e,{parent:!0}).node,o=de.basename(e);if(!o)throw new xe.ErrnoError(28);if("."===o||".."===o)throw new xe.ErrnoError(20);var i=xe.mayCreate(n,o);if(i)throw new xe.ErrnoError(i);if(!n.node_ops.mknod)throw new xe.ErrnoError(63);return n.node_ops.mknod(n,o,t,r)},statfs:e=>xe.statfsNode(xe.lookupPath(e,{follow:!0}).node),statfsStream:e=>xe.statfsNode(e.node),statfsNode(e){var t={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:xe.nextInode,ffree:xe.nextInode-1,fsid:42,flags:2,namelen:255};return e.node_ops.statfs&&Object.assign(t,e.node_ops.statfs(e.mount.opts.root)),t},create:(e,t=438)=>(t&=4095,t|=32768,xe.mknod(e,t,0)),mkdir:(e,t=511)=>(t&=1023,t|=16384,xe.mknod(e,t,0)),mkdirTree(e,t){var r=e.split("/"),n="";for(var o of r)if(o){(n||de.isAbs(e))&&(n+="/"),n+=o;try{xe.mkdir(n,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,xe.mknod(e,t,r)),symlink(e,t){if(!ue.resolve(e))throw new xe.ErrnoError(44);var r=xe.lookupPath(t,{parent:!0}).node;if(!r)throw new xe.ErrnoError(44);var n=de.basename(t),o=xe.mayCreate(r,n);if(o)throw new xe.ErrnoError(o);if(!r.node_ops.symlink)throw new xe.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,o=de.dirname(e),i=de.dirname(t),s=de.basename(e),a=de.basename(t);if(r=xe.lookupPath(e,{parent:!0}).node,n=xe.lookupPath(t,{parent:!0}).node,!r||!n)throw new xe.ErrnoError(44);if(r.mount!==n.mount)throw new xe.ErrnoError(75);var l,d=xe.lookupNode(r,s),c=ue.relative(e,i);if("."!==c.charAt(0))throw new xe.ErrnoError(28);if("."!==(c=ue.relative(t,o)).charAt(0))throw new xe.ErrnoError(55);try{l=xe.lookupNode(n,a)}catch(e){}if(d!==l){var u=xe.isDir(d.mode),h=xe.mayDelete(r,s,u);if(h)throw new xe.ErrnoError(h);if(h=l?xe.mayDelete(n,a,u):xe.mayCreate(n,a))throw new xe.ErrnoError(h);if(!r.node_ops.rename)throw new xe.ErrnoError(63);if(xe.isMountpoint(d)||l&&xe.isMountpoint(l))throw new xe.ErrnoError(10);if(n!==r&&(h=xe.nodePermissions(r,"w")))throw new xe.ErrnoError(h);xe.hashRemoveNode(d);try{r.node_ops.rename(d,n,a),d.parent=n}catch(e){throw e}finally{xe.hashAddNode(d)}}},rmdir(e){var t=xe.lookupPath(e,{parent:!0}).node,r=de.basename(e),n=xe.lookupNode(t,r),o=xe.mayDelete(t,r,!0);if(o)throw new xe.ErrnoError(o);if(!t.node_ops.rmdir)throw new xe.ErrnoError(63);if(xe.isMountpoint(n))throw new xe.ErrnoError(10);t.node_ops.rmdir(t,r),xe.destroyNode(n)},readdir(e){var t=xe.lookupPath(e,{follow:!0}).node;return xe.checkOpExists(t.node_ops.readdir,54)(t)},unlink(e){var t=xe.lookupPath(e,{parent:!0}).node;if(!t)throw new xe.ErrnoError(44);var r=de.basename(e),n=xe.lookupNode(t,r),o=xe.mayDelete(t,r,!1);if(o)throw new xe.ErrnoError(o);if(!t.node_ops.unlink)throw new xe.ErrnoError(63);if(xe.isMountpoint(n))throw new xe.ErrnoError(10);t.node_ops.unlink(t,r),xe.destroyNode(n)},readlink(e){var t=xe.lookupPath(e).node;if(!t)throw new xe.ErrnoError(44);if(!t.node_ops.readlink)throw new xe.ErrnoError(28);return t.node_ops.readlink(t)},stat(e,t){var r=xe.lookupPath(e,{follow:!t}).node;return xe.checkOpExists(r.node_ops.getattr,63)(r)},fstat(e){var t=xe.getStreamChecked(e),r=t.node,n=t.stream_ops.getattr,o=n?t:r;return n??=r.node_ops.getattr,xe.checkOpExists(n,63),n(o)},lstat:e=>xe.stat(e,!0),doChmod(e,t,r,n){xe.doSetAttr(e,t,{mode:4095&r|-4096&t.mode,ctime:Date.now(),dontFollow:n})},chmod(e,t,r){var n;n="string"==typeof e?xe.lookupPath(e,{follow:!r}).node:e,xe.doChmod(null,n,t,r)},lchmod(e,t){xe.chmod(e,t,!0)},fchmod(e,t){var r=xe.getStreamChecked(e);xe.doChmod(r,r.node,t,!1)},doChown(e,t,r){xe.doSetAttr(e,t,{timestamp:Date.now(),dontFollow:r})},chown(e,t,r,n){var o;o="string"==typeof e?xe.lookupPath(e,{follow:!n}).node:e,xe.doChown(null,o,n)},lchown(e,t,r){xe.chown(e,t,r,!0)},fchown(e,t,r){var n=xe.getStreamChecked(e);xe.doChown(n,n.node,!1)},doTruncate(e,t,r){if(xe.isDir(t.mode))throw new xe.ErrnoError(31);if(!xe.isFile(t.mode))throw new xe.ErrnoError(28);var n=xe.nodePermissions(t,"w");if(n)throw new xe.ErrnoError(n);xe.doSetAttr(e,t,{size:r,timestamp:Date.now()})},truncate(e,t){if(t<0)throw new xe.ErrnoError(28);var r;r="string"==typeof e?xe.lookupPath(e,{follow:!0}).node:e,xe.doTruncate(null,r,t)},ftruncate(e,t){var r=xe.getStreamChecked(e);if(t<0||!(2097155&r.flags))throw new xe.ErrnoError(28);xe.doTruncate(r,r.node,t)},utime(e,t,r){var n=xe.lookupPath(e,{follow:!0}).node;xe.checkOpExists(n.node_ops.setattr,63)(n,{atime:t,mtime:r})},open(e,t,r=438){if(""===e)throw new xe.ErrnoError(44);var n,o;if(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)n=e;else{o=e.endsWith("/");var i=xe.lookupPath(e,{follow:!(131072&t),noent_okay:!0});n=i.node,e=i.path}var a=!1;if(64&t)if(n){if(128&t)throw new xe.ErrnoError(20)}else{if(o)throw new xe.ErrnoError(31);n=xe.mknod(e,511|r,0),a=!0}if(!n)throw new xe.ErrnoError(44);if(xe.isChrdev(n.mode)&&(t&=-513),65536&t&&!xe.isDir(n.mode))throw new xe.ErrnoError(54);if(!a){var l=xe.mayOpen(n,t);if(l)throw new xe.ErrnoError(l)}512&t&&!a&&xe.truncate(n,0),t&=-131713;var d=xe.createStream({node:n,path:xe.getPath(n),flags:t,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return d.stream_ops.open&&d.stream_ops.open(d),a&&xe.chmod(n,511&r),!s.logReadFiles||1&t||e in xe.readFiles||(xe.readFiles[e]=1),d},close(e){if(xe.isClosed(e))throw new xe.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{xe.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(xe.isClosed(e))throw new xe.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new xe.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new xe.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 xe.ErrnoError(28);if(xe.isClosed(e))throw new xe.ErrnoError(8);if(1==(2097155&e.flags))throw new xe.ErrnoError(8);if(xe.isDir(e.node.mode))throw new xe.ErrnoError(31);if(!e.stream_ops.read)throw new xe.ErrnoError(28);var i=void 0!==o;if(i){if(!e.seekable)throw new xe.ErrnoError(70)}else o=e.position;var s=e.stream_ops.read(e,t,r,n,o);return i||(e.position+=s),s},write(e,t,r,n,o,i){if(n<0||o<0)throw new xe.ErrnoError(28);if(xe.isClosed(e))throw new xe.ErrnoError(8);if(!(2097155&e.flags))throw new xe.ErrnoError(8);if(xe.isDir(e.node.mode))throw new xe.ErrnoError(31);if(!e.stream_ops.write)throw new xe.ErrnoError(28);e.seekable&&1024&e.flags&&xe.llseek(e,0,2);var s=void 0!==o;if(s){if(!e.seekable)throw new xe.ErrnoError(70)}else o=e.position;var a=e.stream_ops.write(e,t,r,n,o,i);return s||(e.position+=a),a},mmap(e,t,r,n,o){if(2&n&&!(2&o)&&2!=(2097155&e.flags))throw new xe.ErrnoError(2);if(1==(2097155&e.flags))throw new xe.ErrnoError(2);if(!e.stream_ops.mmap)throw new xe.ErrnoError(43);if(!t)throw new xe.ErrnoError(28);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,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new xe.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding&&U(`Invalid encoding type "${t.encoding}"`);var r=xe.open(e,t.flags),n=xe.stat(e).size,o=new Uint8Array(n);return xe.read(r,o,0,n,0),"utf8"===t.encoding&&(o=N(o)),xe.close(r),o},writeFile(e,t,r={}){r.flags=r.flags||577;var n=xe.open(e,r.flags,r.mode);"string"==typeof t&&(t=new Uint8Array(pe(t,!0))),ArrayBuffer.isView(t)?xe.write(n,t,0,t.byteLength,void 0,r.canOwn):U("Unsupported data type"),xe.close(n)},cwd:()=>xe.currentPath,chdir(e){var t=xe.lookupPath(e,{follow:!0});if(null===t.node)throw new xe.ErrnoError(44);if(!xe.isDir(t.node.mode))throw new xe.ErrnoError(54);var r=xe.nodePermissions(t.node,"x");if(r)throw new xe.ErrnoError(r);xe.currentPath=t.path},createDefaultDirectories(){xe.mkdir("/tmp"),xe.mkdir("/home"),xe.mkdir("/home/web_user")},createDefaultDevices(){xe.mkdir("/dev"),xe.registerDevice(xe.makedev(1,3),{read:()=>0,write:(e,t,r,n,o)=>n,llseek:()=>0}),xe.mkdev("/dev/null",xe.makedev(1,3)),ge.register(xe.makedev(5,0),ge.default_tty_ops),ge.register(xe.makedev(6,0),ge.default_tty1_ops),xe.mkdev("/dev/tty",xe.makedev(5,0)),xe.mkdev("/dev/tty1",xe.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(ce(e),t=e.byteLength),e[--t]);xe.createDevice("/dev","random",r),xe.createDevice("/dev","urandom",r),xe.mkdir("/dev/shm"),xe.mkdir("/dev/shm/tmp")},createSpecialDirectories(){xe.mkdir("/proc");var e=xe.mkdir("/proc/self");xe.mkdir("/proc/self/fd"),xe.mount({mount(){var t=xe.createNode(e,"fd",16895,73);return t.stream_ops={llseek:be.stream_ops.llseek},t.node_ops={lookup(e,t){var r=+t,n=xe.getStreamChecked(r),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path},id:r+1};return o.parent=o,o},readdir:()=>Array.from(xe.streams.entries()).filter(([e,t])=>t).map(([e,t])=>e.toString())},t}},{},"/proc/self/fd")},createStandardStreams(e,t,r){e?xe.createDevice("/dev","stdin",e):xe.symlink("/dev/tty","/dev/stdin"),t?xe.createDevice("/dev","stdout",null,t):xe.symlink("/dev/tty","/dev/stdout"),r?xe.createDevice("/dev","stderr",null,r):xe.symlink("/dev/tty1","/dev/stderr"),xe.open("/dev/stdin",0),xe.open("/dev/stdout",1),xe.open("/dev/stderr",1)},staticInit(){xe.nameTable=new Array(4096),xe.mount(be,{},"/"),xe.createDefaultDirectories(),xe.createDefaultDevices(),xe.createSpecialDirectories(),xe.filesystems={MEMFS:be}},init(e,t,r){xe.initialized=!0,e??=s.stdin,t??=s.stdout,r??=s.stderr,xe.createStandardStreams(e,t,r)},quit(){for(var e of(xe.initialized=!1,xe.streams))e&&xe.close(e)},findObject(e,t){var r=xe.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{e=(n=xe.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=xe.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=de.basename(e),n=xe.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:xe.getPath(e);for(var o=t.split("/").reverse();o.length;){var i=o.pop();if(i){var s=de.join2(e,i);try{xe.mkdir(s)}catch(e){if(20!=e.errno)throw e}e=s}}return s},createFile(e,t,r,n,o){var i=de.join2("string"==typeof e?e:xe.getPath(e),t),s=ye(n,o);return xe.create(i,s)},createDataFile(e,t,r,n,o,i){var s=t;e&&(e="string"==typeof e?e:xe.getPath(e),s=t?de.join2(e,t):e);var a=ye(n,o),l=xe.create(s,a);if(r){if("string"==typeof r){for(var d=new Array(r.length),c=0,u=r.length;c<u;++c)d[c]=r.charCodeAt(c);r=d}xe.chmod(l,146|a);var h=xe.open(l,577);xe.write(h,r,0,r.length,0,i),xe.close(h),xe.chmod(l,a)}},createDevice(e,t,r,n){var o=de.join2("string"==typeof e?e:xe.getPath(e),t),i=ye(!!r,!!n);xe.createDevice.major??=64;var s=xe.makedev(xe.createDevice.major++,0);return xe.registerDevice(s,{open(e){e.seekable=!1},close(e){n?.buffer?.length&&n(10)},read(e,t,n,o,i){for(var s=0,a=0;a<o;a++){var l;try{l=r()}catch(e){throw new xe.ErrnoError(29)}if(void 0===l&&0===s)throw new xe.ErrnoError(6);if(null==l)break;s++,t[n+a]=l}return s&&(e.node.atime=Date.now()),s},write(e,t,r,o,i){for(var s=0;s<o;s++)try{n(t[r+s])}catch(e){throw new xe.ErrnoError(29)}return o&&(e.node.mtime=e.node.ctime=Date.now()),s}}),xe.mkdev(o,i,s)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(globalThis.XMLHttpRequest)U("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");else try{e.contents=g(e.url)}catch(e){throw new xe.ErrnoError(29)}},createLazyFile(e,t,r,n,o){class LazyUint8Array{lengthKnown=!1;chunks=[];get(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}}setDataGetter(e){this.getter=e}cacheLength(){var e=new XMLHttpRequest;e.open("HEAD",r,!1),e.send(null),e.status>=200&&e.status<300||304===e.status||U("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,i=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,s=1048576;o||(s=n);var a=this;a.setDataGetter(e=>{var t=e*s,o=(e+1)*s-1;return o=Math.min(o,n-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{e>t&&U("invalid range ("+e+", "+t+") or no bytes requested!"),t>n-1&&U("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;return o.open("GET",r,!1),n!==s&&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||U("Couldn't load "+r+". Status: "+o.status),void 0!==o.response?new Uint8Array(o.response||[]):pe(o.responseText||"",!0)})(t,o)),void 0===a.chunks[e]&&U("doXHR failed!"),a.chunks[e]}),!i&&n||(s=n=1,n=this.getter(0).length,s=n,I("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=s,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(globalThis.XMLHttpRequest){l||U("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var i={isDevice:!1,contents:new LazyUint8Array}}else i={isDevice:!1,url:r};var s=xe.createFile(e,t,i,n,o);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var a={};for(const[e,t]of Object.entries(s.stream_ops))a[e]=(...e)=>(xe.forceLoadFile(s),t(...e));function d(e,t,r,n,o){var i=e.node.contents;if(o>=i.length)return 0;var s=Math.min(i.length-o,n);if(i.slice)for(var a=0;a<s;a++)t[r+a]=i[o+a];else for(a=0;a<s;a++)t[r+a]=i.get(o+a);return s}return a.read=(e,t,r,n,o)=>(xe.forceLoadFile(s),d(e,t,r,n,o)),a.mmap=(e,t,r,n,o)=>{xe.forceLoadFile(s);var i=me(t);if(!i)throw new xe.ErrnoError(48);return d(e,_,i,t,r),{ptr:i,allocated:!0}},s.stream_ops=a,s}},Te={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(de.isAbs(t))return t;var n;if(n=-100===e?xe.cwd():Te.getStreamFromFD(e).path,0==t.length){if(!r)throw new xe.ErrnoError(44);return n}return n+"/"+t},writeStat(e,t){x[e>>2]=t.dev,x[e+4>>2]=t.mode,x[e+8>>2]=t.nlink,x[e+12>>2]=t.uid,x[e+16>>2]=t.gid,x[e+20>>2]=t.rdev,A[e+24>>3]=BigInt(t.size),E[e+32>>2]=4096,E[e+36>>2]=t.blocks;var r=t.atime.getTime(),n=t.mtime.getTime(),o=t.ctime.getTime();return A[e+40>>3]=BigInt(Math.floor(r/1e3)),x[e+48>>2]=r%1e3*1e3*1e3,A[e+56>>3]=BigInt(Math.floor(n/1e3)),x[e+64>>2]=n%1e3*1e3*1e3,A[e+72>>3]=BigInt(Math.floor(o/1e3)),x[e+80>>2]=o%1e3*1e3*1e3,A[e+88>>3]=BigInt(t.ino),0},writeStatFs(e,t){x[e+4>>2]=t.bsize,x[e+60>>2]=t.bsize,A[e+8>>3]=BigInt(t.blocks),A[e+16>>3]=BigInt(t.bfree),A[e+24>>3]=BigInt(t.bavail),A[e+32>>3]=BigInt(t.files),A[e+40>>3]=BigInt(t.ffree),x[e+48>>2]=t.fsid,x[e+64>>2]=t.flags,x[e+56>>2]=t.namelen},doMsync(e,t,r,n,o){if(!xe.isFile(t.node.mode))throw new xe.ErrnoError(43);if(2&n)return 0;var i=k.slice(e,e+r);xe.msync(t,i,o,r,n)},getStreamFromFD:e=>xe.getStreamChecked(e),varargs:void 0,getStr:e=>z(e)},Pe=()=>{var e=E[+Te.varargs>>2];return Te.varargs+=4,e},Ae=Pe,Me={},Fe=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Ie(e){return this.fromWireType(x[e>>2])}var Re={},Le={},De={},Oe=class InternalError extends Error{constructor(e){super(e),this.name="InternalError"}},Be=e=>{throw new Oe(e)},Ue=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&Be("Mismatched type converter count");for(var o=0;o<e.length;++o)$e(e[o],n[o])}e.forEach(e=>De[e]=t);var o=new Array(t.length),i=[],s=0;for(let[e,r]of t.entries())Le.hasOwnProperty(r)?o[e]=Le[r]:(i.push(r),Re.hasOwnProperty(r)||(Re[r]=[]),Re[r].push(()=>{o[e]=Le[r],++s===i.length&&n(o)}));0===i.length&&n(o)},je={},qe=e=>{for(var t="";;){var r=k[e++];if(!r)return t;t+=String.fromCharCode(r)}},We=class BindingError extends Error{constructor(e){super(e),this.name="BindingError"}},He=e=>{throw new We(e)};function $e(e,t,r={}){return function(e,t,r={}){var n=t.name;if(e||He(`type "${n}" must have a positive integer typeid pointer`),Le.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;He(`Cannot register type '${n}' twice`)}if(Le[e]=t,delete De[e],Re.hasOwnProperty(e)){var o=Re[e];delete Re[e],o.forEach(e=>e())}}(e,t,r)}var Ve=(e,t,r)=>{switch(t){case 1:return r?e=>_[e]:e=>k[e];case 2:return r?e=>S[e>>1]:e=>C[e>>1];case 4:return r?e=>E[e>>2]:e=>x[e>>2];case 8:return r?e=>A[e>>3]:e=>M[e>>3];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Ne=e=>{He(e.$$.ptrType.registeredClass.name+" instance already deleted")},ze=!1,Ge=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)},Ye=e=>globalThis.FinalizationRegistry?(ze=new FinalizationRegistry(e=>{Xe(e.$$)}),Ge=e=>ze.unregister(e),(Ye=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};ze.register(e,r,e)}return e})(e)):(Ye=e=>e,e),Ke=[];function Qe(){}var Ze=(e,t)=>Object.defineProperty(t,"name",{value:e}),Je={},et=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(...n){return e[t].overloadTable.hasOwnProperty(n.length)||He(`Function '${r}' called with an invalid number of arguments (${n.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[n.length].apply(this,n)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},tt=(e,t,r)=>{s.hasOwnProperty(e)?((void 0===r||void 0!==s[e].overloadTable&&void 0!==s[e].overloadTable[r])&&He(`Cannot register public name '${e}' twice`),et(s,e,e),s[e].overloadTable.hasOwnProperty(r)&&He(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),s[e].overloadTable[r]=t):(s[e]=t,s[e].argCount=r)};function rt(e,t,r,n,o,i,s,a){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=o,this.getActualType=i,this.upcast=s,this.downcast=a,this.pureVirtualFunctions=[]}var nt=(e,t,r)=>{for(;t!==r;)t.upcast||He(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e},ot=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e};function it(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${ot(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return nt(t.$$.ptr,r,this.registeredClass)}function st(e,t){var r;if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t&&t.$$||He(`Cannot pass "${ot(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&He(`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=nt(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&He("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:He(`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,Tt.toHandle(()=>o.delete())),null!==e&&e.push(this.rawDestructor,r)}break;default:He("Unsupporting sharing policy")}return r}function at(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${ot(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&He(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return nt(t.$$.ptr,r,this.registeredClass)}var lt=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=lt(e,t,r.baseClass);return null===n?null:r.downcast(n)},dt={},ct=(e,t)=>(t=((e,t)=>{for(void 0===t&&He("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t})(e,t),dt[t]),ut=(e,t)=>(t.ptrType&&t.ptr||Be("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Be("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Ye(Object.create(e,{$$:{value:t,writable:!0}})));function ht(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?ut(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):ut(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i,s=this.registeredClass.getActualType(t),a=Je[s];if(!a)return o.call(this);i=this.isConst?a.constPointerType:a.pointerType;var l=lt(t,this.registeredClass,i.registeredClass);return null===l?o.call(this):this.isSmartPointer?ut(i.registeredClass.instancePrototype,{ptrType:i,ptr:l,smartPtrType:this,smartPtr:e}):ut(i.registeredClass.instancePrototype,{ptrType:i,ptr:l})}function pt(e,t,r,n,o,i,s,a,l,d,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=o,this.pointeeType=i,this.sharingPolicy=s,this.rawGetPointee=a,this.rawConstructor=l,this.rawShare=d,this.rawDestructor=c,o||void 0!==t.baseClass?this.toWireType=st:n?(this.toWireType=it,this.destructorFunction=null):(this.toWireType=at,this.destructorFunction=null)}var ft=(e,t,r)=>{s.hasOwnProperty(e)||Be("Replacing nonexistent public symbol"),void 0!==s[e].overloadTable&&void 0!==r?s[e].overloadTable[r]=t:(s[e]=t,s[e].argCount=r)},mt=[],bt=e=>{var t=mt[e];return t||(mt[e]=t=Rn.get(e)),t},yt=(e,t,r=!1)=>{e=qe(e);var n=bt(t);return"function"!=typeof n&&He(`unknown function pointer with signature ${e}: ${t}`),n};class UnboundTypeError extends Error{}var vt=e=>{var t=bn(e),r=qe(t);return vn(t),r},wt=(e,t)=>{var r=[],n={};throw t.forEach(function e(t){n[t]||Le[t]||(De[t]?De[t].forEach(e):(r.push(t),n[t]=!0))}),new UnboundTypeError(`${e}: `+r.map(vt).join([", "]))},_t=(e,t)=>{for(var r=[],n=0;n<e;n++)r.push(x[t+4*n>>2]);return r};function kt(e,t,r,n,o,i){var s=t.length;s<2&&He("argTypes array size mismatch! Must at least get return value and 'this' types!");var a=null!==t[1]&&null!==r,l=function(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].destructorFunction)return!0;return!1}(t),d=!t[0].isVoid,c=s-2,u=new Array(c),h=[],p=[];return Ze(e,function(...e){var r;p.length=0,h.length=a?2:1,h[0]=o,a&&(r=t[1].toWireType(p,this),h[1]=r);for(var i=0;i<c;++i)u[i]=t[i+2].toWireType(p,e[i]),h.push(u[i]);return function(e){if(l)Fe(p);else for(var n=a?1:2;n<t.length;n++){var o=1===n?r:u[n-2];null!==t[n].destructorFunction&&t[n].destructorFunction(o)}if(d)return t[0].fromWireType(e)}(n(...h))})}var St=e=>{const t=(e=e.trim()).indexOf("(");return-1===t?e:e.slice(0,t)},Ct=[],Et=[0,1,,1,null,1,!0,1,!1,1],xt=e=>{e>9&&0===--Et[e+1]&&(Et[e]=void 0,Ct.push(e))},Tt={toValue:e=>(e||He(`Cannot use deleted val. handle = ${e}`),Et[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const t=Ct.pop()||Et.length;return Et[t]=e,Et[t+1]=1,t}}}},Pt={name:"emscripten::val",fromWireType:e=>{var t=Tt.toValue(e);return xt(e),t},toWireType:(e,t)=>Tt.toHandle(t),readValueFromPointer:Ie,destructorFunction:null},At=(e,t,r)=>{switch(t){case 1:return r?function(e){return this.fromWireType(_[e])}:function(e){return this.fromWireType(k[e])};case 2:return r?function(e){return this.fromWireType(S[e>>1])}:function(e){return this.fromWireType(C[e>>1])};case 4:return r?function(e){return this.fromWireType(E[e>>2])}:function(e){return this.fromWireType(x[e>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Mt=(e,t)=>{var r=Le[e];return void 0===r&&He(`${t} has unknown type ${vt(e)}`),r},Ft=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(T[e>>2])};case 8:return function(e){return this.fromWireType(P[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},It=Object.assign({optional:!0},Pt),Rt=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,Lt=(e,t,r)=>{var n=e>>1,o=V(C,n,t/2,r);if(o-n>16&&Rt)return Rt.decode(C.subarray(n,o));for(var i="",s=n;s<o;++s){var a=C[s];i+=String.fromCharCode(a)}return i},Dt=(e,t,r)=>{if(r??=2147483647,r<2)return 0;for(var n=t,o=(r-=2)<2*e.length?r/2:e.length,i=0;i<o;++i){var s=e.charCodeAt(i);S[t>>1]=s,t+=2}return S[t>>1]=0,t-n},Ot=e=>2*e.length,Bt=(e,t,r)=>{for(var n="",o=e>>2,i=0;!(i>=t/4);i++){var s=x[o+i];if(!s&&!r)break;n+=String.fromCodePoint(s)}return n},Ut=(e,t,r)=>{if(r??=2147483647,r<4)return 0;for(var n=t,o=n+r-4,i=0;i<e.length;++i){var s=e.codePointAt(i);if(s>65535&&i++,E[t>>2]=s,(t+=4)+4>o)break}return E[t>>2]=0,t-n},jt=e=>{for(var t=0,r=0;r<e.length;++r)e.codePointAt(r)>65535&&r++,t+=4;return t},qt=[],Wt={},Ht=e=>{var t=Wt[e];return void 0===t?qe(e):t},$t=e=>e<-9007199254740992||e>9007199254740992?NaN:Number(e),Vt=[0,31,60,91,121,152,182,213,244,274,305,335],Nt=[0,31,59,90,120,151,181,212,243,273,304,334],zt=e=>{var t;return((t=e.getFullYear())%4!=0||t%100==0&&t%400!=0?Nt:Vt)[e.getMonth()]+e.getDate()-1},Gt=()=>Date.now(),Xt=e=>{if(e instanceof ExitStatus||"unwind"==e)return y;h(1,e)},Yt=()=>Z||!1,Kt=(e,t)=>{var r;y=e,y=r=e,Yt()||(s.onExit?.(r),L=!0),h(r,new ExitStatus(r))},Qt=Kt,Zt=e=>{if(!L)try{e(),(()=>{if(!Yt())try{Qt(y)}catch(e){Xt(e)}})()}catch(e){Xt(e)}};function Jt(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement||document.msFullscreenElement}var er,tr=(e,t)=>setTimeout(()=>{Zt(e)},t),rr={useWebGL:!1,isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],preloadedImages:{},preloadedAudios:{},getCanvas:()=>s.canvas,init(){if(!rr.initted){rr.initted=!0;var e={canHandle:function(e){return!s.noImageDecoding&&/\.(jpg|jpeg|png|bmp|webp)$/i.test(e)},handle:async function(e,t){var r=new Blob([e],{type:rr.getMimetype(t)});r.size!==e.length&&(r=new Blob([new Uint8Array(e).buffer],{type:rr.getMimetype(t)}));var n=URL.createObjectURL(r);return new Promise((r,o)=>{var i=new Image;i.onload=()=>{var o=document.createElement("canvas");o.width=i.width,o.height=i.height,o.getContext("2d").drawImage(i,0,0),rr.preloadedImages[t]=o,URL.revokeObjectURL(n),r(e)},i.onerror=e=>{R(`Image ${n} could not be decoded`),o()},i.src=n})}};Ce.push(e);var t={canHandle:function(e){return!s.noAudioDecoding&&e.slice(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:async function(e,t){return new Promise((r,n)=>{var o=!1;function i(n){o||(o=!0,rr.preloadedAudios[t]=n,r(e))}var s=new Blob([e],{type:rr.getMimetype(t)}),a=URL.createObjectURL(s),l=new Audio;l.addEventListener("canplaythrough",()=>i(l),!1),l.onerror=function(r){o||(R(`warning: browser could not fully decode audio ${t}, trying slower base64 approach`),l.src="data:audio/x-"+t.slice(-3)+";base64,"+function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",n=0,o=0,i=0;i<e.length;i++)for(n=n<<8|e[i],o+=8;o>=6;){var s=n>>o-6&63;o-=6,r+=t[s]}return 2==o?(r+=t[(3&n)<<4],r+="=="):4==o&&(r+=t[(15&n)<<2],r+="="),r}(e),i(l))},l.src=a,tr(()=>{i(l)},1e4)})}};Ce.push(t);var r=rr.getCanvas();r&&(document.addEventListener("pointerlockchange",function(){var e=rr.getCanvas();rr.pointerLock=document.pointerLockElement===e},!1),s.elementPointerLock&&r.addEventListener("click",e=>{!rr.pointerLock&&rr.getCanvas().requestPointerLock&&(rr.getCanvas().requestPointerLock(),e.preventDefault())},!1))}},createContext(e,t,r,n){if(t&&s.ctx&&e==rr.getCanvas())return s.ctx;var o,i;if(t){var a={antialias:!1,alpha:!1,majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1};if(n)for(var l in n)a[l]=n[l];void 0!==or&&(i=or.createContext(e,a))&&(o=or.getContext(i).GLctx)}else o=e.getContext("2d");return o?(r&&(s.ctx=o,t&&or.makeContextCurrent(i),rr.useWebGL=t,rr.moduleContextCreatedCallbacks.forEach(e=>e()),rr.init()),o):null},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen(e,t){rr.lockPointer=e,rr.resizeCanvas=t,void 0===rr.lockPointer&&(rr.lockPointer=!0),void 0===rr.resizeCanvas&&(rr.resizeCanvas=!1);var r=rr.getCanvas();function n(){rr.isFullscreen=!1;var e=r.parentNode;Jt()===e?(r.exitFullscreen=rr.exitFullscreen,rr.lockPointer&&r.requestPointerLock(),rr.isFullscreen=!0,rr.resizeCanvas?rr.setFullscreenCanvasSize():rr.updateCanvasDimensions(r)):(e.parentNode.insertBefore(r,e),e.parentNode.removeChild(e),rr.resizeCanvas?rr.setWindowedCanvasSize():rr.updateCanvasDimensions(r)),s.onFullScreen?.(rr.isFullscreen),s.onFullscreen?.(rr.isFullscreen)}rr.fullscreenHandlersInstalled||(rr.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:()=>!!rr.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{})).apply(document,[]),!0),safeSetTimeout:(e,t)=>tr(e,t),getMimetype:e=>({jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.slice(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:U("unrecognized mouse wheel delta mode: "+e.deltaMode)}break;default:U("unrecognized mouse wheel event: "+e.type)}return t},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(e,t){var r=rr.getCanvas(),n=r.getBoundingClientRect(),o=void 0!==window.scrollX?window.scrollX:window.pageXOffset,i=void 0!==window.scrollY?window.scrollY:window.pageYOffset,s=e-(o+n.left),a=t-(i+n.top);return{x:s*=r.width/n.width,y:a*=r.height/n.height}},setMouseCoords(e,t){const{x:r,y:n}=rr.calculateMouseCoords(e,t);rr.mouseMovementX=r-rr.mouseX,rr.mouseMovementY=n-rr.mouseY,rr.mouseX=r,rr.mouseY=n},calculateMouseEvent(e){if(rr.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?rr.mouseMovementX=rr.mouseMovementY=0:(rr.mouseMovementX=rr.getMovementX(e),rr.mouseMovementY=rr.getMovementY(e)),rr.mouseX+=rr.mouseMovementX,rr.mouseY+=rr.mouseMovementY;else{if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var t=e.touch;if(void 0===t)return;var r=rr.calculateMouseCoords(t.pageX,t.pageY);if("touchstart"===e.type)rr.lastTouches[t.identifier]=r,rr.touches[t.identifier]=r;else if("touchend"===e.type||"touchmove"===e.type){var n=rr.touches[t.identifier];n||=r,rr.lastTouches[t.identifier]=n,rr.touches[t.identifier]=r}return}rr.setMouseCoords(e.pageX,e.pageY)}},resizeListeners:[],updateResizeListeners(){var e=rr.getCanvas();rr.resizeListeners.forEach(t=>t(e.width,e.height))},setCanvasSize(e,t,r){var n=rr.getCanvas();rr.updateCanvasDimensions(n,e,t),r||rr.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if("undefined"!=typeof SDL){var e=x[SDL.screen>>2];e|=8388608,E[SDL.screen>>2]=e}rr.updateCanvasDimensions(rr.getCanvas()),rr.updateResizeListeners()},setWindowedCanvasSize(){if("undefined"!=typeof SDL){var e=x[SDL.screen>>2];e&=-8388609,E[SDL.screen>>2]=e}rr.updateCanvasDimensions(rr.getCanvas()),rr.updateResizeListeners()},updateCanvasDimensions(e,t,r){t&&r?(e.widthNative=t,e.heightNative=r):(t=e.widthNative,r=e.heightNative);var n=t,o=r;if(s.forcedAspectRatio>0&&(n/o<s.forcedAspectRatio?n=Math.round(o*s.forcedAspectRatio):o=Math.round(n/s.forcedAspectRatio)),Jt()===e.parentNode&&"undefined"!=typeof screen){var i=Math.min(screen.width/n,screen.height/o);n=Math.round(n*i),o=Math.round(o*i)}rr.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"))))}},nr={errorCode:12288,defaultDisplayInitialized:!1,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:!1,depth:!1,stencil:!1,antialias:!1},stringCache:{},setErrorCode(e){nr.errorCode=e},chooseConfig(e,t,r,n,o){if(62e3!=e)return nr.setErrorCode(12296),0;if(t)for(;;){var i=E[t>>2];if(12321==i){var s=E[t+4>>2];nr.contextAttributes.alpha=s>0}else if(12325==i){var a=E[t+4>>2];nr.contextAttributes.depth=a>0}else if(12326==i){var l=E[t+4>>2];nr.contextAttributes.stencil=l>0}else if(12337==i){var d=E[t+4>>2];nr.contextAttributes.antialias=d>0}else if(12338==i)d=E[t+4>>2],nr.contextAttributes.antialias=1==d;else if(12544==i){var c=E[t+4>>2];nr.contextAttributes.lowLatency=12547!=c}else if(12344==i)break;t+=8}return r&&n||o?(o&&(E[o>>2]=1),r&&n>0&&(x[r>>2]=62002),nr.setErrorCode(12288),1):(nr.setErrorCode(12300),0)}},or={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{or.lastError||(or.lastError=e)},getNewId:e=>{for(var t=or.counter++,r=e.length;r<t;r++)e[r]=null;return t},genObject:(e,t,r,n)=>{for(var o=0;o<e;o++){var i=er[r](),s=i&&or.getNewId(n);i?(i.name=s,n[s]=i):or.recordError(1282),E[t+4*o>>2]=s}},getSource:(e,t,r,n)=>{for(var o="",i=0;i<t;++i){var s=n?x[n+4*i>>2]:void 0;o+=z(x[r+4*i>>2],s)}return o},createContext:(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?or.registerContext(r,t):0},registerContext:(e,t)=>{var r=or.getNewId(or.contexts),n={handle:r,attributes:t,version:t.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),or.contexts[r]=n,r},makeContextCurrent:e=>(or.currentContext=or.contexts[e],s.ctx=er=or.currentContext?.GLctx,!(e&&!er)),getContext:e=>or.contexts[e],deleteContext:e=>{or.currentContext===or.contexts[e]&&(or.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(or.contexts[e].GLctx.canvas),or.contexts[e]?.GLctx.canvas&&(or.contexts[e].GLctx.canvas.GLctxObject=void 0),or.contexts[e]=null}},ir=[],sr=(e,t,r)=>{var n=((e,t)=>{var r;for(ir.length=0;r=k[e++];){var n=105!=r;t+=(n&=112!=r)&&t%8?4:0,ir.push(112==r?x[t>>2]:106==r?A[t>>3]:105==r?E[t>>2]:P[t>>3]),t+=n?8:4}return ir})(t,r);return Dn[e](...n)},ar=e=>{er.bindVertexArray(or.vaos[e])},lr=ar,dr=(e,t)=>{for(var r=0;r<e;r++){var n=E[t+4*r>>2];er.deleteVertexArray(or.vaos[n]),or.vaos[n]=null}},cr=dr,ur=(e,t,r,n)=>{er.drawArraysInstanced(e,t,r,n)},hr=ur,pr=ur,gr=ur,fr=ur,mr=[],br=(e,t)=>{for(var r=mr[e],n=0;n<e;n++)r[n]=E[t+4*n>>2];er.drawBuffers(r)},yr=br,vr=br,wr=(e,t,r,n)=>{er.drawElements(e,t,r,n)},_r=(e,t,r,n,o)=>{er.drawElementsInstanced(e,t,r,n,o)},kr=_r,Sr=_r,Cr=_r,Er=_r,xr=wr,Tr=(e,t)=>{or.genObject(e,t,"createVertexArray",or.vaos)},Pr=Tr,Ar=(e,t,r,n,o,i,s,a)=>{t=or.programs[t];var l=er[e](t,r);if(l){var d=a&&ne(l.name,a,n);o&&(E[o>>2]=d),i&&(E[i>>2]=l.size),s&&(E[s>>2]=l.type)}},Mr=(e,t)=>{x[e>>2]=t;var r=x[e>>2];x[e+4>>2]=(t-r)/4294967296},Fr=()=>{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_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"],(er.getSupportedExtensions()||[]).filter(t=>e.includes(t)));return t=t.concat(t.map(e=>"GL_"+e))},Ir=(e,t,r)=>{if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=r&&1!=r&&or.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var o=er.getParameter(34467);n=o?o.length:0;break;case 33309:if(or.currentContext.version<2)return void or.recordError(1282);n=Fr().length;break;case 33307:case 33308:if(or.currentContext.version<2)return void or.recordError(1280);n=33307==e?3:0}if(void 0===n){var i=er.getParameter(e);switch(typeof i){case"number":n=i;break;case"boolean":n=i?1:0;break;case"string":return void or.recordError(1280);case"object":if(null===i)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 or.recordError(1280)}else{if(i instanceof Float32Array||i instanceof Uint32Array||i instanceof Int32Array||i instanceof Array){for(var s=0;s<i.length;++s)switch(r){case 0:E[t+4*s>>2]=i[s];break;case 2:T[t+4*s>>2]=i[s];break;case 4:_[t+s]=i[s]?1:0}return}try{n=0|i.name}catch(t){return or.recordError(1280),void R(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${t})`)}}break;default:return or.recordError(1280),void R(`GL_INVALID_ENUM in glGet${r}v: Native code calling glGet${r}v(${e}) and it returns ${i} of type ${typeof i}!`)}}switch(r){case 1:Mr(t,n);break;case 0:E[t>>2]=n;break;case 2:T[t>>2]=n;break;case 4:_[t]=n?1:0}}else or.recordError(1281)},Rr=(e,t,r,n)=>{if(r){var o,i=er.getIndexedParameter(e,t);switch(typeof i){case"boolean":o=i?1:0;break;case"number":o=i;break;case"object":if(null===i)switch(e){case 35983:case 35368:o=0;break;default:return void or.recordError(1280)}else{if(!(i instanceof WebGLBuffer))return void or.recordError(1280);o=0|i.name}break;default:return void or.recordError(1280)}switch(n){case 1:Mr(r,o);break;case 0:E[r>>2]=o;break;case 2:T[r>>2]=o;break;case 4:_[r]=o?1:0;break;default:U("internal emscriptenWebGLGetIndexed() error, bad type: "+n)}}else or.recordError(1281)},Lr=(e,t,r)=>{if(r){var n,o=or.queries[e];n=or.currentContext.version<2?er.disjointTimerQueryExt.getQueryObjectEXT(o,t):er.getQueryParameter(o,t),Mr(r,"boolean"==typeof n?n?1:0:n)}else or.recordError(1281)},Dr=(e,t,r)=>{if(r){var n,o=or.queries[e],i=er.disjointTimerQueryExt.getQueryObjectEXT(o,t);n="boolean"==typeof i?i?1:0:i,E[r>>2]=n}else or.recordError(1281)},Or=Lr,Br=Dr,Ur=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),jr=e=>{var t,r,n=e.uniformLocsById,o=e.uniformSizeAndIdsByName;if(!n){e.uniformLocsById=n={},e.uniformArrayNamesById={};var i=er.getProgramParameter(e,35718);for(t=0;t<i;++t){var s=er.getActiveUniform(e,t),a=s.name,l=s.size,d=Ur(a),c=d>0?a.slice(0,d):a,u=e.uniformIdCounter;for(e.uniformIdCounter+=l,o[c]=[l,u],r=0;r<l;++r)n[u]=r,e.uniformArrayNamesById[u++]=c}}},qr=e=>{var t=er.currentProgram;if(t){var r=t.uniformLocsById[e];return"number"==typeof r&&(t.uniformLocsById[e]=r=er.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?`[${r}]`:""))),r}or.recordError(1282)},Wr=(e,t,r,n)=>{if(r){e=or.programs[e],jr(e);var o=er.getUniform(e,qr(t));if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:E[r>>2]=o;break;case 2:T[r>>2]=o}else for(var i=0;i<o.length;i++)switch(n){case 0:E[r+4*i>>2]=o[i];break;case 2:T[r+4*i>>2]=o[i]}}else or.recordError(1281)},Hr=(e,t,r,n)=>{if(r){var o=er.getVertexAttrib(e,t);if(34975==t)E[r>>2]=o&&o.name;else if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:E[r>>2]=o;break;case 2:T[r>>2]=o;break;case 5:E[r>>2]=Math.fround(o)}else for(var i=0;i<o.length;i++)switch(n){case 0:E[r+4*i>>2]=o[i];break;case 2:T[r+4*i>>2]=o[i];break;case 5:E[r+4*i>>2]=Math.fround(o[i])}}else or.recordError(1281)},$r=(e,t,r)=>{Hr(e,t,r,0)},Vr=$r,Nr=e=>{var t=or.vaos[e];return t?er.isVertexArray(t):0},zr=Nr,Gr=e=>0==(e-=5120)?_:1==e?k:2==e?S:4==e?E:6==e?T:5==e||28922==e||28520==e||30779==e||30782==e?x:C,Xr=(e,t)=>e>>>31-Math.clz32(t.BYTES_PER_ELEMENT),Yr=(e,t,r,n,o,i)=>{var s=Gr(e),a=(e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1))(t)*s.BYTES_PER_ELEMENT,l=((e,t,r)=>{var n,o,i=(or.unpackRowLength||e)*r;return t*(n=i,o=or.unpackAlignment,n+o-1&-o)})(r,n,a);return s.subarray(Xr(o,s),Xr(o+l,s))},Kr=[],Qr=[],Zr=(e,t)=>{er.vertexAttribDivisor(e,t)},Jr=Zr,en=Zr,tn=Zr,rn=Zr,nn=e=>{var t=(e-H.buffer.byteLength+65535)/65536|0;try{return H.grow(t),B(),1}catch(e){}},on=["default","low-power","high-performance"],sn=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0],an=e=>{var t;return e=(t=e)>2?z(t):t,sn[e]||("undefined"!=typeof document?document.querySelector(e):null)},ln=(e,t)=>{var r=t>>2,n=E[r+2],o={alpha:!!_[t+0],depth:!!_[t+1],stencil:!!_[t+2],antialias:!!_[t+3],premultipliedAlpha:!!_[t+4],preserveDrawingBuffer:!!_[t+5],powerPreference:on[n],failIfMajorPerformanceCaveat:!!_[t+12],majorVersion:E[r+4],minorVersion:E[r+5],enableExtensionsByDefault:_[t+24],explicitSwapControl:_[t+25],proxyContextToMainThread:E[r+7],renderViaOffscreenBackBuffer:_[t+32]},i=an(e);return i?o.explicitSwapControl?0:or.createContext(i,o):0},dn={},cn=()=>{if(!cn.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.language||"C").replace("-","_")+".UTF-8",_:u||"./this.program"};for(var t in dn)void 0===dn[t]?delete e[t]:e[t]=dn[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);cn.strings=r}return cn.strings},un=(e,t,r,n)=>{for(var o=0,i=0;i<r;i++){var s=x[t>>2],a=x[t+4>>2];t+=8;var l=xe.read(e,_,s,a,n);if(l<0)return-1;if(o+=l,l<a)break;void 0!==n&&(n+=l)}return o},hn=e=>Tn(e),pn=e=>{var t=te(e)+1,r=hn(t);return ne(e,r,t),r};xe.createPreloadedFile=(e,t,r,n,o,i,s,a,l,d)=>{Ee(e,t,r,n,o,a,l,d).then(i).catch(s)},xe.preloadFile=Ee,xe.staticInit(),(()=>{let e=Qe.prototype;Object.assign(e,{isAliasOf(e){if(!(this instanceof Qe))return!1;if(!(e instanceof Qe))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var 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},clone(){if(this.$$.ptr||Ne(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=Ye(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||Ne(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),Ge(this),Xe(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ne(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),Ke.push(this),Ke.length,this.$$.deleteScheduled=!0,this}});const t=Symbol.dispose;t&&(e[t]=e.delete)})(),Object.assign(pt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor?.(e)},readValueFromPointer:Ie,fromWireType:ht});for(let e=0;e<32;++e)mr.push(new Array(e));for(var gn=new Float32Array(288),fn=0;fn<=288;++fn)Kr[fn]=gn.subarray(0,fn);var mn=new Int32Array(288);for(fn=0;fn<=288;++fn)Qr[fn]=mn.subarray(0,fn);if(function(){if(s.wasmMemory)H=s.wasmMemory;else{var e=s.INITIAL_MEMORY||16777216;H=new WebAssembly.Memory({initial:e/65536,maximum:32768})}B()}(),s.noExitRuntime&&(Z=s.noExitRuntime),s.preloadPlugins&&(Ce=s.preloadPlugins),s.print&&(I=s.print),s.printErr&&(R=s.printErr),s.wasmBinary&&(b=s.wasmBinary),s.arguments&&(c=s.arguments),s.thisProgram&&(u=s.thisProgram),s.preInit)for("function"==typeof s.preInit&&(s.preInit=[s.preInit]);s.preInit.length>0;)s.preInit.shift()();s.addRunDependency=Se,s.removeRunDependency=ke,s.ccall=(e,t,r,n,o)=>{var i={string:e=>{var t=0;return null!=e&&0!==e&&(t=pn(e)),t},array:e=>{var t,r,n=hn(e.length);return t=e,r=n,_.set(t,r),n}},a=(e=>s["_"+e])(e),l=[],d=0;if(n)for(var c=0;c<n.length;c++){var u=i[r[c]];u?(0===d&&(d=ee()),l[c]=u(n[c])):l[c]=n[c]}var h,p=a(...l);return h=p,0!==d&&J(d),p=function(e){return"string"===t?z(e):"boolean"===t?Boolean(e):e}(h),p},s.getValue=function(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return _[e];case"i16":return S[e>>1];case"i32":return E[e>>2];case"i64":return A[e>>3];case"float":return T[e>>2];case"double":return P[e>>3];case"*":return x[e>>2];default:U(`invalid type for getValue: ${t}`)}},s.UTF8ToString=z,s.specialHTMLTargets=sn,s.FS_preloadFile=Ee,s.FS_unlink=(...e)=>xe.unlink(...e),s.FS_createPath=(...e)=>xe.createPath(...e),s.FS_createDevice=(...e)=>xe.createDevice(...e),s.FS_createDataFile=ve,s.FS_createLazyFile=(...e)=>xe.createLazyFile(...e);var bn,yn,vn,wn,_n,kn,Sn,Cn,En,xn,Tn,Pn,An,Mn,Fn,In,Rn,Ln,Dn={3204600:(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),3206590:()=>{void 0!==window.miniaudio&&(window.miniaudio.referenceCount-=1,0===window.miniaudio.referenceCount&&delete window.miniaudio)},3206754:()=>void 0!==navigator.mediaDevices&&void 0!==navigator.mediaDevices.getUserMedia,3206858:()=>{try{var e=new(window.AudioContext||window.webkitAudioContext),t=e.sampleRate;return e.close(),t}catch(e){return 0}},3207029:(e,t,r,n,o,i)=>{var a=e,l=t,d=r,c=n,u=o,h=i;if(void 0===window.miniaudio)return-1;var p={},g={};a==window.miniaudio.device_type.playback&&(g.sampleRate=d),p.webaudio=new(window.AudioContext||window.webkitAudioContext)(g),p.webaudio.suspend(),p.state=window.miniaudio.device_state.stopped;var f=0,m=l;return a!=window.miniaudio.device_type.playback&&(f=l),p.scriptNode=p.webaudio.createScriptProcessor(c,f,m),p.scriptNode.onaudioprocess=function(e){if(null!=p.intermediaryBufferView&&0!=p.intermediaryBufferView.length||(p.intermediaryBufferView=new Float32Array(s.HEAPF32.buffer,u,c*l)),a==miniaudio.device_type.capture||a==miniaudio.device_type.duplex){for(var t=0;t<l;t+=1)for(var r=e.inputBuffer.getChannelData(t),n=p.intermediaryBufferView,o=0;o<c;o+=1)n[o*l+t]=r[o];_n(h,c,u)}if(a==miniaudio.device_type.playback||a==miniaudio.device_type.duplex)for(kn(h,c,u),t=0;t<e.outputBuffer.numberOfChannels;++t){var i=e.outputBuffer.getChannelData(t);for(n=p.intermediaryBufferView,o=0;o<c;o+=1)i[o]=n[o*l+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){p.streamNode=p.webaudio.createMediaStreamSource(e),p.streamNode.connect(p.scriptNode),p.scriptNode.connect(p.webaudio.destination)}).catch(function(e){console.log("Failed to get user media: "+e)}),a==miniaudio.device_type.playback&&p.scriptNode.connect(p.webaudio.destination),miniaudio.track_device(p)},3209812:e=>miniaudio.get_device_by_index(e).webaudio.sampleRate,3209878: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},3210243:e=>{miniaudio.untrack_device_by_index(e)},3210286:e=>{var t=miniaudio.get_device_by_index(e);t.webaudio.resume(),t.state=miniaudio.device_state.started},3210411:e=>{var t=miniaudio.get_device_by_index(e);t.webaudio.suspend(),t.state=miniaudio.device_state.stopped},3210537:()=>!!globalThis.ubq_browserTabHidden,3210583:()=>"undefined"!=typeof process&&process.versions&&process.versions.node?1:0},On={Ta:e=>{var t=new ExceptionInfo(e);return t.get_caught()||t.set_caught(!0),t.set_rethrown(!1),ie.push(t),Mn(e),In(e)},Ih:()=>{Cn(0,0);var e=ie.pop();An(e.excPtr),se=0},n:()=>le([]),oa:e=>le([e]),l:(e,t,r)=>{throw new ExceptionInfo(e).init(t,r),se=e},P:e=>{throw se||(se=e),se},Hh:function(e,t){try{return e=Te.getStr(e),xe.chmod(e,t),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},Gh:function(e,t){try{return xe.fchmod(e,t),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},na:function(e,t,r){Te.varargs=r;try{var n=Te.getStreamFromFD(e);switch(t){case 0:if((o=Pe())<0)return-28;for(;xe.streams[o];)o++;return xe.dupStream(n,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=Pe();return n.flags|=o,0;case 12:return o=Ae(),S[o+0>>1]=2,0}return-28}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},Fh:function(e,t){try{return Te.writeStat(t,xe.fstat(e))}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},Eh:function(e,t,r){Te.varargs=r;try{var n=Te.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),i=Ae();E[i>>2]=o.c_iflag||0,E[i+4>>2]=o.c_oflag||0,E[i+8>>2]=o.c_cflag||0,E[i+12>>2]=o.c_lflag||0;for(var s=0;s<32;s++)_[i+s+17]=o.c_cc[s]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){i=Ae();var a=E[i>>2],l=E[i+4>>2],d=E[i+8>>2],c=E[i+12>>2],u=[];for(s=0;s<32;s++)u.push(_[i+s+17]);return n.tty.ops.ioctl_tcsets(n.tty,t,{c_iflag:a,c_oflag:l,c_cflag:d,c_lflag:c,c_cc:u})}return 0;case 21519:return n.tty?(i=Ae(),E[i>>2]=0,0):-59;case 21520:return n.tty?-28:-59;case 21537:case 21531:return i=Ae(),xe.ioctl(n,t,i);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var h=n.tty.ops.ioctl_tiocgwinsz(n.tty);i=Ae(),S[i>>1]=h[0],S[i+2>>1]=h[1]}return 0;default:return-28}}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},Dh:function(e,t){try{return e=Te.getStr(e),Te.writeStat(t,xe.lstat(e))}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},Ch:function(e,t,r,n){try{t=Te.getStr(t);var o=256&n,i=4096&n;return n&=-6401,t=Te.calculateAt(e,t,i),Te.writeStat(r,o?xe.lstat(t):xe.stat(t))}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},Sa:function(e,t,r,n){Te.varargs=n;try{t=Te.getStr(t),t=Te.calculateAt(e,t);var o=n?Pe():0;return xe.open(t,r,o).fd}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},Bh:function(e,t,r,n){try{return t=Te.getStr(t),n=Te.getStr(n),t=Te.calculateAt(e,t),n=Te.calculateAt(r,n),xe.rename(t,n),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},Ah:function(e){try{return e=Te.getStr(e),xe.rmdir(e),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},zh:function(e,t){try{return e=Te.getStr(e),Te.writeStat(t,xe.stat(e))}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},yh:function(e,t,r){try{if(t=Te.getStr(t),t=Te.calculateAt(e,t),r){if(512!==r)return-28;xe.rmdir(t)}else xe.unlink(t);return 0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},qh:()=>U(""),Pa:e=>{var t=Me[e];delete Me[e];var r=t.elements,n=r.length,o=r.map(e=>e.getterReturnType).concat(r.map(e=>e.setterArgumentType)),i=t.rawConstructor,s=t.rawDestructor;Ue([e],o,e=>{for(const[t,o]of r.entries()){const r=e[t],i=o.getter,s=o.getterContext,a=e[t+n],l=o.setter,d=o.setterContext;o.read=e=>r.fromWireType(i(s,e)),o.write=(e,t)=>{var r=[];l(d,e,a.toWireType(r,t)),Fe(r)}}return[{name:t.name,fromWireType:e=>{for(var t=new Array(n),o=0;o<n;++o)t[o]=r[o].read(e);return s(e),t},toWireType:(e,o)=>{if(n!==o.length)throw new TypeError(`Incorrect number of tuple elements for ${t.name}: expected=${n}, actual=${o.length}`);for(var a=i(),l=0;l<n;++l)r[l].write(a,o[l]);return null!==e&&e.push(s,a),a},readValueFromPointer:Ie,destructorFunction:s}]})},w:e=>{var t=je[e];delete je[e];var r=t.rawConstructor,n=t.rawDestructor,o=t.fields,i=o.map(e=>e.getterReturnType).concat(o.map(e=>e.setterArgumentType));Ue([e],i,e=>{var i={};for(var[s,a]of o.entries()){const t=e[s],r=a.getter,n=a.getterContext,l=e[s+o.length],d=a.setter,c=a.setterContext;i[a.fieldName]={read:e=>t.fromWireType(r(n,e)),write:(e,t)=>{var r=[];d(c,e,l.toWireType(r,t)),Fe(r)},optional:t.optional}}return[{name:t.name,fromWireType:e=>{var t={};for(var r in i)t[r]=i[r].read(e);return n(e),t},toWireType:(e,t)=>{for(var o in i)if(!(o in t)&&!i[o].optional)throw new TypeError(`Missing field: "${o}"`);var s=r();for(o in i)i[o].write(s,t[o]);return null!==e&&e.push(n,s),s},readValueFromPointer:Ie,destructorFunction:n}]})},Oa:(e,t,r,n,o)=>{t=qe(t);const i=0n===n;let s=e=>e;if(i){const e=8*r;s=t=>BigInt.asUintN(e,t),o=s(o)}$e(e,{name:t,fromWireType:s,toWireType:(e,t)=>("number"==typeof t&&(t=BigInt(t)),t),readValueFromPointer:Ve(t,r,!i),destructorFunction:null})},ph:(e,t,r,n)=>{$e(e,{name:t=qe(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},readValueFromPointer:function(e){return this.fromWireType(k[e])},destructorFunction:null})},q:(e,t,r,n,o,i,s,a,l,d,c,u,h)=>{c=qe(c),i=yt(o,i),a&&=yt(s,a),d&&=yt(l,d),h=yt(u,h);var p=(e=>{var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?`_${e}`:e})(c);tt(p,function(){wt(`Cannot construct ${c} due to unbound types`,[n])}),Ue([e,t,r],n?[n]:[],t=>{var r,o;t=t[0],o=n?(r=t.registeredClass).instancePrototype:Qe.prototype;var s=Ze(c,function(...e){if(Object.getPrototypeOf(this)!==l)throw new We(`Use 'new' to construct ${c}`);if(void 0===u.constructor_body)throw new We(`${c} has no accessible constructor`);var t=u.constructor_body[e.length];if(void 0===t)throw new We(`Tried to invoke ctor of ${c} with invalid number of parameters (${e.length}) - expected (${Object.keys(u.constructor_body).toString()}) parameters instead!`);return t.apply(this,e)}),l=Object.create(o,{constructor:{value:s}});s.prototype=l;var u=new rt(c,s,l,h,r,i,a,d);u.baseClass&&(u.baseClass.__derivedClasses??=[],u.baseClass.__derivedClasses.push(u));var g=new pt(c,u,!0,!1,!1),f=new pt(c+"*",u,!1,!1,!1),m=new pt(c+" const*",u,!1,!0,!1);return Je[e]={pointerType:f,constPointerType:m},ft(p,s),[g,f,m]})},s:(e,t,r,n,o,i)=>{var s=_t(t,r);o=yt(n,o),Ue([],[e],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 We(`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]=()=>{wt(`Cannot construct ${e.name} due to unbound types`,s)},Ue([],s,n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=kt(r,n,null,o,i),[])),[]})},c:(e,t,r,n,o,i,s,a,l,d)=>{var c=_t(r,n);t=qe(t),t=St(t),i=yt(o,i,l),Ue([],[e],e=>{var n=`${(e=e[0]).name}.${t}`;function o(){wt(`Cannot call ${n} due to unbound types`,c)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&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):(et(l,t,n),l[t].overloadTable[r-2]=o),Ue([],c,o=>{var a=kt(n,o,e,i,s);return void 0===l[t].overloadTable?(a.argCount=r-2,l[t]=a):l[t].overloadTable[r-2]=a,[]}),[]})},oh:e=>$e(e,Pt),U:(e,t,r,n)=>{function o(){}t=qe(t),o.values={},$e(e,{name:t,constructor:o,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,t)=>t.value,readValueFromPointer:At(t,r,n),destructorFunction:null}),tt(t,o)},D:(e,t,r)=>{var n=Mt(e,"enum");t=qe(t);var o=n.constructor,i=Object.create(n.constructor.prototype,{value:{value:r},constructor:{value:Ze(`${n.name}_${t}`,function(){})}});o.values[r]=i,o[t]=i},Na:(e,t,r)=>{$e(e,{name:t=qe(t),fromWireType:e=>e,toWireType:(e,t)=>t,readValueFromPointer:Ft(t,r),destructorFunction:null})},N:(e,t,r,n,o,i,s,a)=>{var l=_t(t,r);e=qe(e),e=St(e),o=yt(n,o,s),tt(e,function(){wt(`Cannot call ${e} due to unbound types`,l)},t-1),Ue([],l,r=>{var n=[r[0],null].concat(r.slice(1));return ft(e,kt(e,n,null,o,i),t-1),[]})},M:(e,t,r,n,o)=>{t=qe(t);let i=e=>e;if(0===n){var s=32-8*r;i=e=>e<<s>>>s,o=i(o)}$e(e,{name:t,fromWireType:i,toWireType:(e,t)=>t,readValueFromPointer:Ve(t,r,0!==n),destructorFunction:null})},C:(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];function o(e){var t=x[e>>2],r=x[e+4>>2];return new n(_.buffer,r,t)}$e(e,{name:r=qe(r),fromWireType:o,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},J:(e,t)=>{$e(e,It)},nh:(e,t,r,n,o,i,s,a,l,d,c,u)=>{r=qe(r),i=yt(o,i),a=yt(s,a),d=yt(l,d),u=yt(c,u),Ue([e],[t],e=>(e=e[0],[new pt(r,e.registeredClass,!1,!1,!0,e,n,i,a,d,u)]))},mh:(e,t)=>{t=qe(t),$e(e,{name:t,fromWireType(e){var t,r=x[e>>2],n=e+4;return t=z(n,r,!0),vn(e),t},toWireType(e,t){var r;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;n||ArrayBuffer.isView(t)&&1==t.BYTES_PER_ELEMENT||He("Cannot pass non-string to std::string"),r=n?te(t):t.length;var o=yn(4+r+1),i=o+4;return x[o>>2]=r,n?ne(t,i,r+1):k.set(t,i),null!==e&&e.push(vn,o),o},readValueFromPointer:Ie,destructorFunction(e){vn(e)}})},la:(e,t,r)=>{var n,o,i;r=qe(r),2===t?(n=Lt,o=Dt,i=Ot):(n=Bt,o=Ut,i=jt),$e(e,{name:r,fromWireType:e=>{var r=x[e>>2],o=n(e+4,r*t,!0);return vn(e),o},toWireType:(e,n)=>{"string"!=typeof n&&He(`Cannot pass non-string to C++ string type ${r}`);var s=i(n),a=yn(4+s+t);return x[a>>2]=s/t,o(n,a+4,s+t),null!==e&&e.push(vn,a),a},readValueFromPointer:Ie,destructorFunction(e){vn(e)}})},Ma:(e,t,r,n,o,i)=>{Me[e]={name:qe(t),rawConstructor:yt(r,n),rawDestructor:yt(o,i),elements:[]}},L:(e,t,r,n,o,i,s,a,l)=>{Me[e].elements.push({getterReturnType:t,getter:yt(r,n),getterContext:o,setterArgumentType:i,setter:yt(s,a),setterContext:l})},v:(e,t,r,n,o,i)=>{je[e]={name:qe(t),rawConstructor:yt(r,n),rawDestructor:yt(o,i),fields:[]}},k:(e,t,r,n,o,i,s,a,l,d)=>{je[e].fields.push({fieldName:qe(t),getterReturnType:r,getter:yt(n,o),getterContext:i,setterArgumentType:s,setter:yt(a,l),setterContext:d})},lh:(e,t)=>{$e(e,{isVoid:!0,name:t=qe(t),fromWireType:()=>{},toWireType:(e,t)=>{}})},kh:()=>{throw 1/0},jh:(e,t)=>{e=Tt.toValue(e),t=Tt.toValue(t),e.set(t)},i:(e,t,r)=>{var[n,...o]=((e,t)=>{for(var r=new Array(e),n=0;n<e;++n)r[n]=Mt(x[t+4*n>>2],`parameter ${n}`);return r})(e,t),i=n.toWireType.bind(n),s=o.map(e=>e.readValueFromPointer.bind(e));e--;var a,l,d=new Array(e),c=`methodCaller<(${o.map(e=>e.name)}) => ${n.name}>`;return a=Ze(c,(t,n,o,a)=>{for(var l,c=0,u=0;u<e;++u)d[u]=s[u](a+c),c+=8;switch(r){case 0:l=Tt.toValue(t).apply(null,d);break;case 2:l=Reflect.construct(Tt.toValue(t),d);break;case 3:l=d[0];break;case 1:l=Tt.toValue(t)[Ht(n)](...d)}return((e,t,r)=>{var n=[],o=e(n,r);return n.length&&(x[t>>2]=Tt.toHandle(n)),o})(i,o,l)}),l=qt.length,qt.push(a),l},b:xt,La:(e,t)=>(e=Tt.toValue(e))==(t=Tt.toValue(t)),H:e=>e?(e=Ht(e),Tt.toHandle(globalThis[e])):Tt.toHandle(globalThis),f:(e,t)=>(e=Tt.toValue(e),t=Tt.toValue(t),Tt.toHandle(e[t])),d:e=>{e>9&&(Et[e+1]+=1)},Y:(e,t)=>(e=Tt.toValue(e))instanceof(t=Tt.toValue(t)),h:(e,t,r,n,o)=>qt[e](t,r,n,o),ka:e=>"number"==typeof(e=Tt.toValue(e)),G:e=>"string"==typeof(e=Tt.toValue(e)),ca:()=>Tt.toHandle([]),e:e=>Tt.toHandle(Ht(e)),u:()=>Tt.toHandle({}),g:e=>{var t=Tt.toValue(e);Fe(t),xt(e)},j:(e,t,r)=>{e=Tt.toValue(e),t=Tt.toValue(t),r=Tt.toValue(r),e[t]=r},ih:e=>{throw e=Tt.toValue(e)},ja:e=>(e=Tt.toValue(e),Tt.toHandle(typeof e)),hh:function(e,t){e=$t(e);var r=new Date(1e3*e);E[t>>2]=r.getUTCSeconds(),E[t+4>>2]=r.getUTCMinutes(),E[t+8>>2]=r.getUTCHours(),E[t+12>>2]=r.getUTCDate(),E[t+16>>2]=r.getUTCMonth(),E[t+20>>2]=r.getUTCFullYear()-1900,E[t+24>>2]=r.getUTCDay();var n=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),o=(r.getTime()-n)/864e5|0;E[t+28>>2]=o},gh:function(e,t){e=$t(e);var r=new Date(1e3*e);E[t>>2]=r.getSeconds(),E[t+4>>2]=r.getMinutes(),E[t+8>>2]=r.getHours(),E[t+12>>2]=r.getDate(),E[t+16>>2]=r.getMonth(),E[t+20>>2]=r.getFullYear()-1900,E[t+24>>2]=r.getDay();var n=0|zt(r);E[t+28>>2]=n,E[t+36>>2]=-60*r.getTimezoneOffset();var o=new Date(r.getFullYear(),0,1),i=new Date(r.getFullYear(),6,1).getTimezoneOffset(),s=o.getTimezoneOffset(),a=0|(i!=s&&r.getTimezoneOffset()==Math.min(s,i));E[t+32>>2]=a},fh:function(e){var t=(()=>{var t=new Date(E[e+20>>2]+1900,E[e+16>>2],E[e+12>>2],E[e+8>>2],E[e+4>>2],E[e>>2],0),r=E[e+32>>2],n=t.getTimezoneOffset(),o=new Date(t.getFullYear(),0,1),i=new Date(t.getFullYear(),6,1).getTimezoneOffset(),s=o.getTimezoneOffset(),a=Math.min(s,i);if(r<0)E[e+32>>2]=Number(i!=s&&a==n);else if(r>0!=(a==n)){var l=Math.max(s,i),d=r>0?a:l;t.setTime(t.getTime()+6e4*(d-n))}E[e+24>>2]=t.getDay();var c=0|zt(t);E[e+28>>2]=c,E[e>>2]=t.getSeconds(),E[e+4>>2]=t.getMinutes(),E[e+8>>2]=t.getHours(),E[e+12>>2]=t.getDate(),E[e+16>>2]=t.getMonth(),E[e+20>>2]=t.getYear();var u=t.getTime();return isNaN(u)?-1:u/1e3})();return BigInt(t)},eh:function(e,t,r,n,o,i,s){o=$t(o);try{var a=Te.getStreamFromFD(n),l=xe.mmap(a,e,o,t,r),d=l.ptr;return E[i>>2]=l.allocated,x[s>>2]=d,0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},dh:function(e,t,r,n,o,i){i=$t(i);try{var s=Te.getStreamFromFD(o);2&r&&Te.doMsync(e,s,t,n,i)}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}},ch:(e,t,r,n)=>{var o=(new Date).getFullYear(),i=new Date(o,0,1),s=new Date(o,6,1),a=i.getTimezoneOffset(),l=s.getTimezoneOffset(),d=Math.max(a,l);x[e>>2]=60*d,E[t>>2]=Number(a!=l);var c=e=>{var t=e>=0?"-":"+",r=Math.abs(e);return`UTC${t}${String(Math.floor(r/60)).padStart(2,"0")}${String(r%60).padStart(2,"0")}`},u=c(a),h=c(l);l<a?(ne(u,r,17),ne(h,n,17)):(ne(u,n,17),ne(h,r,17))},bh:function(e){var t=z(e);localStorage.removeItem(t)},xh:function(e,t,r){if(t=$t(t),!((n=e)>=0&&n<=3))return 28;var n,o;o=0===e?Gt():performance.now();var i=Math.round(1e3*o*1e3);return A[r>>3]=BigInt(i),0},Ka:(e,t,r,n,o)=>nr.chooseConfig(e,t,r,n,o),Ja:(e,t,r,n)=>{if(62e3!=e)return nr.setErrorCode(12296),0;for(var o=1;;){var i=E[n>>2];if(12440!=i){if(12344==i)break;return nr.setErrorCode(12292),0}o=E[n+4>>2],n+=8}return o<2||o>3?(nr.setErrorCode(12293),0):(nr.contextAttributes.majorVersion=o-1,nr.contextAttributes.minorVersion=0,nr.context=or.createContext(rr.getCanvas(),nr.contextAttributes),0!=nr.context?(nr.setErrorCode(12288),or.makeContextCurrent(nr.context),rr.useWebGL=!0,rr.moduleContextCreatedCallbacks.forEach(e=>e()),or.makeContextCurrent(null),62004):(nr.setErrorCode(12297),0))},ah:(e,t,r,n)=>62e3!=e?(nr.setErrorCode(12296),0):62002!=t?(nr.setErrorCode(12293),0):(nr.setErrorCode(12288),62006),Ia:(e,t)=>62e3!=e?(nr.setErrorCode(12296),0):62004!=t?(nr.setErrorCode(12294),0):(or.deleteContext(nr.context),nr.setErrorCode(12288),nr.currentContext==t&&(nr.currentContext=0),1),ia:(e,t)=>62e3!=e?(nr.setErrorCode(12296),0):62006!=t?(nr.setErrorCode(12301),1):(nr.currentReadSurface==t&&(nr.currentReadSurface=0),nr.currentDrawSurface==t&&(nr.currentDrawSurface=0),nr.setErrorCode(12288),1),T:(e,t,r,n)=>{if(62e3!=e)return nr.setErrorCode(12296),0;if(62002!=t)return nr.setErrorCode(12293),0;if(!n)return nr.setErrorCode(12300),0;switch(nr.setErrorCode(12288),r){case 12320:return E[n>>2]=nr.contextAttributes.alpha?32:24,1;case 12321:return E[n>>2]=nr.contextAttributes.alpha?8:0,1;case 12322:case 12323:case 12324:return E[n>>2]=8,1;case 12325:return E[n>>2]=nr.contextAttributes.depth?24:0,1;case 12326:return E[n>>2]=nr.contextAttributes.stencil?8:0,1;case 12327:case 12335:case 12340:return E[n>>2]=12344,1;case 12328:return E[n>>2]=62002,1;case 12329:case 12333:case 12334:case 12345:case 12346:case 12347:case 12349:case 12350:case 12354:return E[n>>2]=0,1;case 12330:case 12332:return E[n>>2]=4096,1;case 12331:return E[n>>2]=16777216,1;case 12337:return E[n>>2]=nr.contextAttributes.antialias?4:0,1;case 12338:return E[n>>2]=nr.contextAttributes.antialias?1:0,1;case 12339:case 12352:return E[n>>2]=4,1;case 12341:case 12342:case 12343:return E[n>>2]=-1,1;case 12348:return E[n>>2]=1,1;case 12351:return E[n>>2]=12430,1;default:return nr.setErrorCode(12292),0}},$g:e=>(nr.setErrorCode(12288),0!=e&&1!=e?0:62e3),Ha:()=>nr.errorCode,_g:(e,t,r)=>62e3!=e?(nr.setErrorCode(12296),0):(t&&(E[t>>2]=1),r&&(E[r>>2]=4),nr.defaultDisplayInitialized=!0,nr.setErrorCode(12288),1),ba:(e,t,r,n)=>62e3!=e?(nr.setErrorCode(12296),0):0!=n&&62004!=n?(nr.setErrorCode(12294),0):0!=r&&62006!=r||0!=t&&62006!=t?(nr.setErrorCode(12301),0):(or.makeContextCurrent(n?nr.context:null),nr.currentContext=n,nr.currentDrawSurface=t,nr.currentReadSurface=r,nr.setErrorCode(12288),1),ha:(e,t)=>{if(62e3!=e)return nr.setErrorCode(12296),0;if(nr.setErrorCode(12288),nr.stringCache[t])return nr.stringCache[t];var r;switch(t){case 12371:r=oe("Emscripten");break;case 12372:r=oe("1.4 Emscripten EGL");break;case 12373:r=oe("");break;case 12429:r=oe("OpenGL_ES");break;default:return nr.setErrorCode(12300),0}return nr.stringCache[t]=r,r},Ga:(e,t)=>{if(nr.defaultDisplayInitialized)if(er){if(!er.isContextLost())return nr.setErrorCode(12288),1;nr.setErrorCode(12302)}else nr.setErrorCode(12290);else nr.setErrorCode(12289);return 0},Zg:e=>62e3!=e?(nr.setErrorCode(12296),0):(nr.currentContext=0,nr.currentReadSurface=0,nr.currentDrawSurface=0,nr.defaultDisplayInitialized=!1,nr.setErrorCode(12288),1),I:(e,t,r)=>sr(e,t,r),Fa:e=>{console.error(z(e))},Yg:e=>{console.log(z(e))},Xg:e=>{console.warn(z(e))},Ea:Gt,Wg:()=>{},Vg:()=>2147483648,Ug:e=>er.activeTexture(e),Tg:(e,t)=>{er.attachShader(or.programs[e],or.shaders[t])},Sg:(e,t)=>{er.beginQuery(e,or.queries[t])},Rg:(e,t)=>{er.disjointTimerQueryExt.beginQueryEXT(e,or.queries[t])},Qg:e=>er.beginTransformFeedback(e),Pg:(e,t,r)=>{er.bindAttribLocation(or.programs[e],t,z(r))},Og:(e,t)=>{35051==e?er.currentPixelPackBufferBinding=t:35052==e&&(er.currentPixelUnpackBufferBinding=t),er.bindBuffer(e,or.buffers[t])},Ng:(e,t,r)=>{er.bindBufferBase(e,t,or.buffers[r])},Mg:(e,t,r,n,o)=>{er.bindBufferRange(e,t,or.buffers[r],n,o)},Lg:(e,t)=>{er.bindFramebuffer(e,or.framebuffers[t])},Kg:(e,t)=>{er.bindRenderbuffer(e,or.renderbuffers[t])},Jg:(e,t)=>{er.bindSampler(e,or.samplers[t])},Ig:(e,t)=>{er.bindTexture(e,or.textures[t])},Hg:(e,t)=>{er.bindTransformFeedback(e,or.transformFeedbacks[t])},Gg:ar,Fg:lr,Eg:(e,t,r,n)=>er.blendColor(e,t,r,n),Dg:e=>er.blendEquation(e),Cg:(e,t)=>er.blendEquationSeparate(e,t),Bg:(e,t)=>er.blendFunc(e,t),Ag:(e,t,r,n)=>er.blendFuncSeparate(e,t,r,n),zg:(e,t,r,n,o,i,s,a,l,d)=>er.blitFramebuffer(e,t,r,n,o,i,s,a,l,d),yg:(e,t,r,n)=>{or.currentContext.version>=2?r&&t?er.bufferData(e,k,n,r,t):er.bufferData(e,t,n):er.bufferData(e,r?k.subarray(r,r+t):t,n)},xg:(e,t,r,n)=>{or.currentContext.version>=2?r&&er.bufferSubData(e,t,k,n,r):er.bufferSubData(e,t,k.subarray(n,n+r))},wg:e=>er.checkFramebufferStatus(e),vg:e=>er.clear(e),ug:(e,t,r,n)=>er.clearBufferfi(e,t,r,n),tg:(e,t,r)=>{er.clearBufferfv(e,t,T,r>>2)},sg:(e,t,r)=>{er.clearBufferiv(e,t,E,r>>2)},rg:(e,t,r)=>{er.clearBufferuiv(e,t,x,r>>2)},qg:(e,t,r,n)=>er.clearColor(e,t,r,n),pg:e=>er.clearDepth(e),og:e=>er.clearStencil(e),Da:(e,t,r)=>(r=Number(r),er.clientWaitSync(or.syncs[e],t,r)),ng:(e,t)=>{er.extClipControl.clipControlEXT(e,t)},mg:(e,t,r,n)=>{er.colorMask(!!e,!!t,!!r,!!n)},lg:e=>{er.compileShader(or.shaders[e])},kg:(e,t,r,n,o,i,s,a)=>{if(or.currentContext.version>=2)return er.currentPixelUnpackBufferBinding||!s?void er.compressedTexImage2D(e,t,r,n,o,i,s,a):void er.compressedTexImage2D(e,t,r,n,o,i,k,a,s);er.compressedTexImage2D(e,t,r,n,o,i,k.subarray(a,a+s))},jg:(e,t,r,n,o,i,s,a,l)=>{er.currentPixelUnpackBufferBinding?er.compressedTexImage3D(e,t,r,n,o,i,s,a,l):er.compressedTexImage3D(e,t,r,n,o,i,s,k,l,a)},ig:(e,t,r,n,o,i,s,a,l)=>{if(or.currentContext.version>=2)return er.currentPixelUnpackBufferBinding||!a?void er.compressedTexSubImage2D(e,t,r,n,o,i,s,a,l):void er.compressedTexSubImage2D(e,t,r,n,o,i,s,k,l,a);er.compressedTexSubImage2D(e,t,r,n,o,i,s,k.subarray(l,l+a))},hg:(e,t,r,n,o,i,s,a,l,d,c)=>{er.currentPixelUnpackBufferBinding?er.compressedTexSubImage3D(e,t,r,n,o,i,s,a,l,d,c):er.compressedTexSubImage3D(e,t,r,n,o,i,s,a,l,k,c,d)},gg:(e,t,r,n,o)=>er.copyBufferSubData(e,t,r,n,o),fg:(e,t,r,n,o,i,s,a)=>er.copyTexImage2D(e,t,r,n,o,i,s,a),eg:(e,t,r,n,o,i,s,a)=>er.copyTexSubImage2D(e,t,r,n,o,i,s,a),dg:(e,t,r,n,o,i,s,a,l)=>er.copyTexSubImage3D(e,t,r,n,o,i,s,a,l),cg:()=>{var e=or.getNewId(or.programs),t=er.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,or.programs[e]=t,e},bg:e=>{var t=or.getNewId(or.shaders);return or.shaders[t]=er.createShader(e),t},ag:e=>er.cullFace(e),$f:(e,t)=>{for(var r=0;r<e;r++){var n=E[t+4*r>>2],o=or.buffers[n];o&&(er.deleteBuffer(o),o.name=0,or.buffers[n]=null,n==er.currentPixelPackBufferBinding&&(er.currentPixelPackBufferBinding=0),n==er.currentPixelUnpackBufferBinding&&(er.currentPixelUnpackBufferBinding=0))}},_f:(e,t)=>{for(var r=0;r<e;++r){var n=E[t+4*r>>2],o=or.framebuffers[n];o&&(er.deleteFramebuffer(o),o.name=0,or.framebuffers[n]=null)}},Zf:e=>{if(e){var t=or.programs[e];t?(er.deleteProgram(t),t.name=0,or.programs[e]=null):or.recordError(1281)}},Yf:(e,t)=>{for(var r=0;r<e;r++){var n=E[t+4*r>>2],o=or.queries[n];o&&(er.deleteQuery(o),or.queries[n]=null)}},Xf:(e,t)=>{for(var r=0;r<e;r++){var n=E[t+4*r>>2],o=or.queries[n];o&&(er.disjointTimerQueryExt.deleteQueryEXT(o),or.queries[n]=null)}},Wf:(e,t)=>{for(var r=0;r<e;r++){var n=E[t+4*r>>2],o=or.renderbuffers[n];o&&(er.deleteRenderbuffer(o),o.name=0,or.renderbuffers[n]=null)}},Vf:(e,t)=>{for(var r=0;r<e;r++){var n=E[t+4*r>>2],o=or.samplers[n];o&&(er.deleteSampler(o),o.name=0,or.samplers[n]=null)}},Uf:e=>{if(e){var t=or.shaders[e];t?(er.deleteShader(t),or.shaders[e]=null):or.recordError(1281)}},Tf:e=>{if(e){var t=or.syncs[e];t?(er.deleteSync(t),t.name=0,or.syncs[e]=null):or.recordError(1281)}},Sf:(e,t)=>{for(var r=0;r<e;r++){var n=E[t+4*r>>2],o=or.textures[n];o&&(er.deleteTexture(o),o.name=0,or.textures[n]=null)}},Rf:(e,t)=>{for(var r=0;r<e;r++){var n=E[t+4*r>>2],o=or.transformFeedbacks[n];o&&(er.deleteTransformFeedback(o),o.name=0,or.transformFeedbacks[n]=null)}},Qf:dr,Pf:cr,Of:e=>er.depthFunc(e),Nf:e=>{er.depthMask(!!e)},Mf:(e,t)=>er.depthRange(e,t),Lf:(e,t)=>{er.detachShader(or.programs[e],or.shaders[t])},Kf:e=>er.disable(e),Jf:e=>{er.disableVertexAttribArray(e)},If:(e,t,r)=>{er.drawArrays(e,t,r)},Hf:ur,Gf:hr,Ff:pr,Ef:(e,t,r,n,o)=>{er.dibvbi.drawArraysInstancedBaseInstanceWEBGL(e,t,r,n,o)},Df:gr,Cf:fr,Bf:br,Af:yr,zf:vr,yf:wr,xf:_r,wf:kr,vf:Sr,uf:(e,t,r,n,o,i,s)=>{er.dibvbi.drawElementsInstancedBaseVertexBaseInstanceWEBGL(e,t,r,n,o,i,s)},tf:Cr,sf:Er,rf:(e,t,r,n,o,i)=>{xr(e,n,o,i)},qf:e=>er.enable(e),pf:e=>{er.enableVertexAttribArray(e)},of:e=>er.endQuery(e),nf:e=>{er.disjointTimerQueryExt.endQueryEXT(e)},mf:()=>er.endTransformFeedback(),lf:(e,t)=>{var r=er.fenceSync(e,t);if(r){var n=or.getNewId(or.syncs);return r.name=n,or.syncs[n]=r,n}return 0},kf:()=>er.finish(),jf:()=>er.flush(),hf:(e,t,r,n)=>{er.framebufferRenderbuffer(e,t,r,or.renderbuffers[n])},gf:(e,t,r,n,o)=>{er.framebufferTexture2D(e,t,r,or.textures[n],o)},ff:(e,t,r,n,o)=>{er.framebufferTextureLayer(e,t,or.textures[r],n,o)},ef:e=>er.frontFace(e),df:(e,t)=>{or.genObject(e,t,"createBuffer",or.buffers)},cf:(e,t)=>{or.genObject(e,t,"createFramebuffer",or.framebuffers)},bf:(e,t)=>{or.genObject(e,t,"createQuery",or.queries)},af:(e,t)=>{for(var r=0;r<e;r++){var n=er.disjointTimerQueryExt.createQueryEXT();if(!n){for(or.recordError(1282);r<e;)E[t+4*r++>>2]=0;return}var o=or.getNewId(or.queries);n.name=o,or.queries[o]=n,E[t+4*r>>2]=o}},$e:(e,t)=>{or.genObject(e,t,"createRenderbuffer",or.renderbuffers)},_e:(e,t)=>{or.genObject(e,t,"createSampler",or.samplers)},Ze:(e,t)=>{or.genObject(e,t,"createTexture",or.textures)},Ye:(e,t)=>{or.genObject(e,t,"createTransformFeedback",or.transformFeedbacks)},Xe:Tr,We:Pr,Ve:e=>er.generateMipmap(e),Ue:(e,t,r,n,o,i,s)=>Ar("getActiveAttrib",e,t,r,n,o,i,s),Te:(e,t,r,n,o,i,s)=>Ar("getActiveUniform",e,t,r,n,o,i,s),Se:(e,t,r,n,o)=>{e=or.programs[e];var i=er.getActiveUniformBlockName(e,t);if(i)if(o&&r>0){var s=ne(i,o,r);n&&(E[n>>2]=s)}else n&&(E[n>>2]=0)},Re:(e,t,r,n)=>{if(n)if(e=or.programs[e],35393!=r){var o=er.getActiveUniformBlockParameter(e,t,r);if(null!==o)if(35395==r)for(var i=0;i<o.length;i++)E[n+4*i>>2]=o[i];else E[n>>2]=o}else{var s=er.getActiveUniformBlockName(e,t);E[n>>2]=s.length+1}else or.recordError(1281)},Qe:(e,t,r,n,o)=>{if(o)if(t>0&&0==r)or.recordError(1281);else{e=or.programs[e];for(var i=[],s=0;s<t;s++)i.push(E[r+4*s>>2]);var a=er.getActiveUniforms(e,i,n);if(a){var l=a.length;for(s=0;s<l;s++)E[o+4*s>>2]=a[s]}}else or.recordError(1281)},Pe:(e,t,r,n)=>{var o=er.getAttachedShaders(or.programs[e]),i=o.length;i>t&&(i=t),E[r>>2]=i;for(var s=0;s<i;++s){var a=or.shaders.indexOf(o[s]);E[n+4*s>>2]=a}},Oe:(e,t)=>er.getAttribLocation(or.programs[e],z(t)),Ne:(e,t)=>Ir(e,t,4),Me:(e,t,r)=>{r?Mr(r,er.getBufferParameter(e,t)):or.recordError(1281)},Le:(e,t,r)=>{r?E[r>>2]=er.getBufferParameter(e,t):or.recordError(1281)},Ke:()=>{var e=er.getError()||or.lastError;return or.lastError=0,e},Je:(e,t)=>Ir(e,t,2),Ie:(e,t)=>er.getFragDataLocation(or.programs[e],z(t)),He:(e,t,r,n)=>{var o=er.getFramebufferAttachmentParameter(e,t,r);(o instanceof WebGLRenderbuffer||o instanceof WebGLTexture)&&(o=0|o.name),E[n>>2]=o},Ge:(e,t,r)=>Rr(e,t,r,1),Fe:(e,t)=>{Ir(e,t,1)},Ee:(e,t,r)=>Rr(e,t,r,0),De:(e,t)=>Ir(e,t,0),Ce:(e,t,r,n,o)=>{if(n<0)or.recordError(1281);else if(o){var i=er.getInternalformatParameter(e,t,r);if(null!==i)for(var s=0;s<i.length&&s<n;++s)E[o+4*s>>2]=i[s]}else or.recordError(1281)},Be:(e,t,r,n,o)=>{or.recordError(1282)},Ae:(e,t,r,n)=>{var o=er.getProgramInfoLog(or.programs[e]);null===o&&(o="(unknown error)");var i=t>0&&n?ne(o,n,t):0;r&&(E[r>>2]=i)},ze:(e,t,r)=>{if(r)if(e>=or.counter)or.recordError(1281);else if(e=or.programs[e],35716==t){var n=er.getProgramInfoLog(e);null===n&&(n="(unknown error)"),E[r>>2]=n.length+1}else if(35719==t){if(!e.maxUniformLength)for(var o=er.getProgramParameter(e,35718),i=0;i<o;++i)e.maxUniformLength=Math.max(e.maxUniformLength,er.getActiveUniform(e,i).name.length+1);E[r>>2]=e.maxUniformLength}else if(35722==t){if(!e.maxAttributeLength){var s=er.getProgramParameter(e,35721);for(i=0;i<s;++i)e.maxAttributeLength=Math.max(e.maxAttributeLength,er.getActiveAttrib(e,i).name.length+1)}E[r>>2]=e.maxAttributeLength}else if(35381==t){if(!e.maxUniformBlockNameLength){var a=er.getProgramParameter(e,35382);for(i=0;i<a;++i)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,er.getActiveUniformBlockName(e,i).length+1)}E[r>>2]=e.maxUniformBlockNameLength}else E[r>>2]=er.getProgramParameter(e,t);else or.recordError(1281)},ye:Lr,xe:Dr,we:Or,ve:(e,t,r)=>{if(r){var n,o=or.queries[e],i=er.getQueryParameter(o,t);n="boolean"==typeof i?i?1:0:i,E[r>>2]=n}else or.recordError(1281)},ue:Br,te:(e,t,r)=>{r?E[r>>2]=er.getQuery(e,t):or.recordError(1281)},se:(e,t,r)=>{r?E[r>>2]=er.disjointTimerQueryExt.getQueryEXT(e,t):or.recordError(1281)},re:(e,t,r)=>{r?E[r>>2]=er.getRenderbufferParameter(e,t):or.recordError(1281)},qe:(e,t,r)=>{r?T[r>>2]=er.getSamplerParameter(or.samplers[e],t):or.recordError(1281)},pe:(e,t,r)=>{r?E[r>>2]=er.getSamplerParameter(or.samplers[e],t):or.recordError(1281)},oe:(e,t,r,n)=>{var o=er.getShaderInfoLog(or.shaders[e]);null===o&&(o="(unknown error)");var i=t>0&&n?ne(o,n,t):0;r&&(E[r>>2]=i)},ne:(e,t,r,n)=>{var o=er.getShaderPrecisionFormat(e,t);E[r>>2]=o.rangeMin,E[r+4>>2]=o.rangeMax,E[n>>2]=o.precision},me:(e,t,r,n)=>{var o=er.getShaderSource(or.shaders[e]);if(o){var i=t>0&&n?ne(o,n,t):0;r&&(E[r>>2]=i)}},le:(e,t,r)=>{if(r)if(35716==t){var n=er.getShaderInfoLog(or.shaders[e]);null===n&&(n="(unknown error)");var o=n?n.length+1:0;E[r>>2]=o}else if(35720==t){var i=er.getShaderSource(or.shaders[e]),s=i?i.length+1:0;E[r>>2]=s}else E[r>>2]=er.getShaderParameter(or.shaders[e],t);else or.recordError(1281)},Ca:e=>{var t=or.stringCache[e];if(!t){switch(e){case 7939:t=oe(Fr().join(" "));break;case 7936:case 7937:case 37445:case 37446:var r=er.getParameter(e);r||or.recordError(1280),t=r?oe(r):0;break;case 7938:var n=er.getParameter(7938),o=`OpenGL ES 2.0 (${n})`;or.currentContext.version>=2&&(o=`OpenGL ES 3.0 (${n})`),t=oe(o);break;case 35724:var i=er.getParameter(35724),s=i.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==s&&(3==s[1].length&&(s[1]=s[1]+"0"),i=`OpenGL ES GLSL ES ${s[1]} (${i})`),t=oe(i);break;default:or.recordError(1280)}or.stringCache[e]=t}return t},ke:(e,t)=>{if(or.currentContext.version<2)return or.recordError(1282),0;var r=or.stringiCache[e];if(r)return t<0||t>=r.length?(or.recordError(1281),0):r[t];if(7939===e){var n=Fr().map(oe);return r=or.stringiCache[e]=n,t<0||t>=r.length?(or.recordError(1281),0):r[t]}return or.recordError(1280),0},je:(e,t,r,n,o)=>{if(r<0)or.recordError(1281);else if(o){var i=er.getSyncParameter(or.syncs[e],t);null!==i&&(E[o>>2]=i,n&&(E[n>>2]=1))}else or.recordError(1281)},ie:(e,t,r)=>{r?T[r>>2]=er.getTexParameter(e,t):or.recordError(1281)},he:(e,t,r)=>{r?E[r>>2]=er.getTexParameter(e,t):or.recordError(1281)},ge:(e,t,r,n,o,i,s)=>{e=or.programs[e];var a=er.getTransformFeedbackVarying(e,t);if(a){if(s&&r>0){var l=ne(a.name,s,r);n&&(E[n>>2]=l)}else n&&(E[n>>2]=0);o&&(E[o>>2]=a.size),i&&(E[i>>2]=a.type)}},fe:(e,t)=>er.getUniformBlockIndex(or.programs[e],z(t)),ee:(e,t,r,n)=>{if(n)if(t>0&&(0==r||0==n))or.recordError(1281);else{e=or.programs[e];for(var o=[],i=0;i<t;i++)o.push(z(E[r+4*i>>2]));var s=er.getUniformIndices(e,o);if(s){var a=s.length;for(i=0;i<a;i++)E[n+4*i>>2]=s[i]}}else or.recordError(1281)},de:(e,t)=>{if(t=z(t),e=or.programs[e]){jr(e);var r=e.uniformLocsById,n=0,o=t,i=Ur(t);i>0&&(a=t.slice(i+1),n=parseInt(a)>>>0,o=t.slice(0,i));var s=e.uniformSizeAndIdsByName[o];if(s&&n<s[0]&&(r[n+=s[1]]=r[n]||er.getUniformLocation(e,t)))return n}else or.recordError(1281);var a;return-1},ce:(e,t,r)=>{Wr(e,t,r,2)},be:(e,t,r)=>{Wr(e,t,r,0)},ae:(e,t,r)=>Wr(e,t,r,0),$d:$r,_d:Vr,Zd:(e,t,r)=>{r?E[r>>2]=er.getVertexAttribOffset(e,t):or.recordError(1281)},Yd:(e,t,r)=>{Hr(e,t,r,2)},Xd:(e,t,r)=>{Hr(e,t,r,5)},Wd:(e,t)=>er.hint(e,t),Vd:(e,t,r)=>{for(var n=mr[t],o=0;o<t;o++)n[o]=E[r+4*o>>2];er.invalidateFramebuffer(e,n)},Ud:(e,t,r,n,o,i,s)=>{for(var a=mr[t],l=0;l<t;l++)a[l]=E[r+4*l>>2];er.invalidateSubFramebuffer(e,a,n,o,i,s)},Td:e=>{var t=or.buffers[e];return t?er.isBuffer(t):0},Sd:e=>er.isEnabled(e),Rd:e=>{var t=or.framebuffers[e];return t?er.isFramebuffer(t):0},Qd:e=>(e=or.programs[e])?er.isProgram(e):0,Pd:e=>{var t=or.queries[e];return t?er.isQuery(t):0},Od:e=>{var t=or.queries[e];return t?er.disjointTimerQueryExt.isQueryEXT(t):0},Nd:e=>{var t=or.renderbuffers[e];return t?er.isRenderbuffer(t):0},Md:e=>{var t=or.samplers[e];return t?er.isSampler(t):0},Ld:e=>{var t=or.shaders[e];return t?er.isShader(t):0},Kd:e=>er.isSync(or.syncs[e]),Jd:e=>{var t=or.textures[e];return t?er.isTexture(t):0},Id:e=>er.isTransformFeedback(or.transformFeedbacks[e]),Hd:Nr,Gd:zr,Fd:e=>er.lineWidth(e),Ed:e=>{e=or.programs[e],er.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},Dd:(e,t,r,n,o,i)=>{er.mdibvbi.multiDrawArraysInstancedBaseInstanceWEBGL(e,E,t>>2,E,r>>2,E,n>>2,x,o>>2,i)},Cd:(e,t,r,n,o,i,s,a)=>{er.mdibvbi.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(e,E,t>>2,r,E,n>>2,E,o>>2,E,i>>2,x,s>>2,a)},Bd:()=>er.pauseTransformFeedback(),Ad:(e,t)=>{3317==e?or.unpackAlignment=t:3314==e&&(or.unpackRowLength=t),er.pixelStorei(e,t)},zd:(e,t)=>{er.webglPolygonMode.polygonModeWEBGL(e,t)},yd:(e,t)=>er.polygonOffset(e,t),xd:(e,t,r)=>{er.extPolygonOffsetClamp.polygonOffsetClampEXT(e,t,r)},wd:(e,t,r,n)=>{or.recordError(1280)},vd:(e,t,r)=>{or.recordError(1280)},ud:(e,t)=>{er.disjointTimerQueryExt.queryCounterEXT(or.queries[e],t)},td:e=>er.readBuffer(e),sd:(e,t,r,n,o,i,s)=>{if(or.currentContext.version>=2){if(er.currentPixelPackBufferBinding)return void er.readPixels(e,t,r,n,o,i,s);var a=Gr(i),l=Xr(s,a);er.readPixels(e,t,r,n,o,i,a,l)}else{var d=Yr(i,o,r,n,s);d?er.readPixels(e,t,r,n,o,i,d):or.recordError(1280)}},rd:()=>{},qd:(e,t,r,n)=>er.renderbufferStorage(e,t,r,n),pd:(e,t,r,n,o)=>er.renderbufferStorageMultisample(e,t,r,n,o),od:()=>er.resumeTransformFeedback(),nd:(e,t)=>{er.sampleCoverage(e,!!t)},md:(e,t,r)=>{er.samplerParameterf(or.samplers[e],t,r)},ld:(e,t,r)=>{var n=T[r>>2];er.samplerParameterf(or.samplers[e],t,n)},kd:(e,t,r)=>{er.samplerParameteri(or.samplers[e],t,r)},jd:(e,t,r)=>{var n=E[r>>2];er.samplerParameteri(or.samplers[e],t,n)},id:(e,t,r,n)=>er.scissor(e,t,r,n),hd:(e,t,r,n,o)=>{or.recordError(1280)},gd:(e,t,r,n)=>{var o=or.getSource(e,t,r,n);if(or.currentContext.version>=2&&o.includes("#version 100")){var i="";(o=(o=o.replace(/#extension GL_OES_standard_derivatives : enable/g,"")).replace(/#extension GL_EXT_shader_texture_lod : enable/g,"")).includes("gl_FragColor")&&(i+="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"+i)}er.shaderSource(or.shaders[e],o)},fd:(e,t,r)=>er.stencilFunc(e,t,r),ed:(e,t,r,n)=>er.stencilFuncSeparate(e,t,r,n),dd:e=>er.stencilMask(e),cd:(e,t)=>er.stencilMaskSeparate(e,t),bd:(e,t,r)=>er.stencilOp(e,t,r),ad:(e,t,r,n)=>er.stencilOpSeparate(e,t,r,n),$c:(e,t,r,n,o,i,s,a,l)=>{if(or.currentContext.version>=2&&(6402==s&&6402==r&&5125==a&&(r=33190),36193==a&&(a=5131,6408==s&&6408==r&&(r=34842)),34041==r&&(r=35056),6408==r&&5126==a&&(r=34836)),or.currentContext.version>=2){if(er.currentPixelUnpackBufferBinding)return void er.texImage2D(e,t,r,n,o,i,s,a,l);if(l){var d=Gr(a),c=Xr(l,d);return void er.texImage2D(e,t,r,n,o,i,s,a,d,c)}}var u=l?Yr(a,s,n,o,l):null;er.texImage2D(e,t,r,n,o,i,s,a,u)},_c:(e,t,r,n,o,i,s,a,l,d)=>{if(er.currentPixelUnpackBufferBinding)er.texImage3D(e,t,r,n,o,i,s,a,l,d);else if(d){var c=Gr(l);er.texImage3D(e,t,r,n,o,i,s,a,l,c,Xr(d,c))}else er.texImage3D(e,t,r,n,o,i,s,a,l,null)},Zc:(e,t,r)=>er.texParameterf(e,t,r),Yc:(e,t,r)=>{var n=T[r>>2];er.texParameterf(e,t,n)},Xc:(e,t,r)=>er.texParameteri(e,t,r),Wc:(e,t,r)=>{var n=E[r>>2];er.texParameteri(e,t,n)},Vc:(e,t,r,n,o)=>er.texStorage2D(e,t,r,n,o),Uc:(e,t,r,n,o,i)=>er.texStorage3D(e,t,r,n,o,i),Tc:(e,t,r,n,o,i,s,a,l)=>{if(or.currentContext.version>=2&&36193==a&&(a=5131),or.currentContext.version>=2){if(er.currentPixelUnpackBufferBinding)return void er.texSubImage2D(e,t,r,n,o,i,s,a,l);if(l){var d=Gr(a);return void er.texSubImage2D(e,t,r,n,o,i,s,a,d,Xr(l,d))}}var c=l?Yr(a,s,o,i,l):null;er.texSubImage2D(e,t,r,n,o,i,s,a,c)},Sc:(e,t,r,n,o,i,s,a,l,d,c)=>{if(er.currentPixelUnpackBufferBinding)er.texSubImage3D(e,t,r,n,o,i,s,a,l,d,c);else if(c){var u=Gr(d);er.texSubImage3D(e,t,r,n,o,i,s,a,l,d,u,Xr(c,u))}else er.texSubImage3D(e,t,r,n,o,i,s,a,l,d,null)},Rc:(e,t,r,n)=>{e=or.programs[e];for(var o=[],i=0;i<t;i++)o.push(z(E[r+4*i>>2]));er.transformFeedbackVaryings(e,o,n)},Qc:(e,t)=>{er.uniform1f(qr(e),t)},Pc:(e,t,r)=>{if(or.currentContext.version>=2)t&&er.uniform1fv(qr(e),T,r>>2,t);else{if(t<=288)for(var n=Kr[t],o=0;o<t;++o)n[o]=T[r+4*o>>2];else n=T.subarray(r>>2,r+4*t>>2);er.uniform1fv(qr(e),n)}},Oc:(e,t)=>{er.uniform1i(qr(e),t)},Nc:(e,t,r)=>{if(or.currentContext.version>=2)t&&er.uniform1iv(qr(e),E,r>>2,t);else{if(t<=288)for(var n=Qr[t],o=0;o<t;++o)n[o]=E[r+4*o>>2];else n=E.subarray(r>>2,r+4*t>>2);er.uniform1iv(qr(e),n)}},Mc:(e,t)=>{er.uniform1ui(qr(e),t)},Lc:(e,t,r)=>{t&&er.uniform1uiv(qr(e),x,r>>2,t)},Kc:(e,t,r)=>{er.uniform2f(qr(e),t,r)},Jc:(e,t,r)=>{if(or.currentContext.version>=2)t&&er.uniform2fv(qr(e),T,r>>2,2*t);else{if(t<=144)for(var n=Kr[t*=2],o=0;o<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);er.uniform2fv(qr(e),n)}},Ic:(e,t,r)=>{er.uniform2i(qr(e),t,r)},Hc:(e,t,r)=>{if(or.currentContext.version>=2)t&&er.uniform2iv(qr(e),E,r>>2,2*t);else{if(t<=144)for(var n=Qr[t*=2],o=0;o<t;o+=2)n[o]=E[r+4*o>>2],n[o+1]=E[r+(4*o+4)>>2];else n=E.subarray(r>>2,r+8*t>>2);er.uniform2iv(qr(e),n)}},Gc:(e,t,r)=>{er.uniform2ui(qr(e),t,r)},Fc:(e,t,r)=>{t&&er.uniform2uiv(qr(e),x,r>>2,2*t)},Ec:(e,t,r,n)=>{er.uniform3f(qr(e),t,r,n)},Dc:(e,t,r)=>{if(or.currentContext.version>=2)t&&er.uniform3fv(qr(e),T,r>>2,3*t);else{if(t<=96)for(var n=Kr[t*=3],o=0;o<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);er.uniform3fv(qr(e),n)}},Cc:(e,t,r,n)=>{er.uniform3i(qr(e),t,r,n)},Bc:(e,t,r)=>{if(or.currentContext.version>=2)t&&er.uniform3iv(qr(e),E,r>>2,3*t);else{if(t<=96)for(var n=Qr[t*=3],o=0;o<t;o+=3)n[o]=E[r+4*o>>2],n[o+1]=E[r+(4*o+4)>>2],n[o+2]=E[r+(4*o+8)>>2];else n=E.subarray(r>>2,r+12*t>>2);er.uniform3iv(qr(e),n)}},Ac:(e,t,r,n)=>{er.uniform3ui(qr(e),t,r,n)},zc:(e,t,r)=>{t&&er.uniform3uiv(qr(e),x,r>>2,3*t)},yc:(e,t,r,n,o)=>{er.uniform4f(qr(e),t,r,n,o)},xc:(e,t,r)=>{if(or.currentContext.version>=2)t&&er.uniform4fv(qr(e),T,r>>2,4*t);else{if(t<=72){var n=Kr[4*t],o=T;r>>=2,t*=4;for(var i=0;i<t;i+=4){var s=r+i;n[i]=o[s],n[i+1]=o[s+1],n[i+2]=o[s+2],n[i+3]=o[s+3]}}else n=T.subarray(r>>2,r+16*t>>2);er.uniform4fv(qr(e),n)}},wc:(e,t,r,n,o)=>{er.uniform4i(qr(e),t,r,n,o)},vc:(e,t,r)=>{if(or.currentContext.version>=2)t&&er.uniform4iv(qr(e),E,r>>2,4*t);else{if(t<=72)for(var n=Qr[t*=4],o=0;o<t;o+=4)n[o]=E[r+4*o>>2],n[o+1]=E[r+(4*o+4)>>2],n[o+2]=E[r+(4*o+8)>>2],n[o+3]=E[r+(4*o+12)>>2];else n=E.subarray(r>>2,r+16*t>>2);er.uniform4iv(qr(e),n)}},uc:(e,t,r,n,o)=>{er.uniform4ui(qr(e),t,r,n,o)},tc:(e,t,r)=>{t&&er.uniform4uiv(qr(e),x,r>>2,4*t)},sc:(e,t,r)=>{e=or.programs[e],er.uniformBlockBinding(e,t,r)},rc:(e,t,r,n)=>{if(or.currentContext.version>=2)t&&er.uniformMatrix2fv(qr(e),!!r,T,n>>2,4*t);else{if(t<=72)for(var o=Kr[t*=4],i=0;i<t;i+=4)o[i]=T[n+4*i>>2],o[i+1]=T[n+(4*i+4)>>2],o[i+2]=T[n+(4*i+8)>>2],o[i+3]=T[n+(4*i+12)>>2];else o=T.subarray(n>>2,n+16*t>>2);er.uniformMatrix2fv(qr(e),!!r,o)}},qc:(e,t,r,n)=>{t&&er.uniformMatrix2x3fv(qr(e),!!r,T,n>>2,6*t)},pc:(e,t,r,n)=>{t&&er.uniformMatrix2x4fv(qr(e),!!r,T,n>>2,8*t)},oc:(e,t,r,n)=>{if(or.currentContext.version>=2)t&&er.uniformMatrix3fv(qr(e),!!r,T,n>>2,9*t);else{if(t<=32)for(var o=Kr[t*=9],i=0;i<t;i+=9)o[i]=T[n+4*i>>2],o[i+1]=T[n+(4*i+4)>>2],o[i+2]=T[n+(4*i+8)>>2],o[i+3]=T[n+(4*i+12)>>2],o[i+4]=T[n+(4*i+16)>>2],o[i+5]=T[n+(4*i+20)>>2],o[i+6]=T[n+(4*i+24)>>2],o[i+7]=T[n+(4*i+28)>>2],o[i+8]=T[n+(4*i+32)>>2];else o=T.subarray(n>>2,n+36*t>>2);er.uniformMatrix3fv(qr(e),!!r,o)}},nc:(e,t,r,n)=>{t&&er.uniformMatrix3x2fv(qr(e),!!r,T,n>>2,6*t)},mc:(e,t,r,n)=>{t&&er.uniformMatrix3x4fv(qr(e),!!r,T,n>>2,12*t)},lc:(e,t,r,n)=>{if(or.currentContext.version>=2)t&&er.uniformMatrix4fv(qr(e),!!r,T,n>>2,16*t);else{if(t<=18){var o=Kr[16*t],i=T;n>>=2,t*=16;for(var s=0;s<t;s+=16){var a=n+s;o[s]=i[a],o[s+1]=i[a+1],o[s+2]=i[a+2],o[s+3]=i[a+3],o[s+4]=i[a+4],o[s+5]=i[a+5],o[s+6]=i[a+6],o[s+7]=i[a+7],o[s+8]=i[a+8],o[s+9]=i[a+9],o[s+10]=i[a+10],o[s+11]=i[a+11],o[s+12]=i[a+12],o[s+13]=i[a+13],o[s+14]=i[a+14],o[s+15]=i[a+15]}}else o=T.subarray(n>>2,n+64*t>>2);er.uniformMatrix4fv(qr(e),!!r,o)}},kc:(e,t,r,n)=>{t&&er.uniformMatrix4x2fv(qr(e),!!r,T,n>>2,8*t)},jc:(e,t,r,n)=>{t&&er.uniformMatrix4x3fv(qr(e),!!r,T,n>>2,12*t)},ic:e=>{e=or.programs[e],er.useProgram(e),er.currentProgram=e},hc:e=>{er.validateProgram(or.programs[e])},gc:(e,t)=>er.vertexAttrib1f(e,t),fc:(e,t)=>{er.vertexAttrib1f(e,T[t>>2])},ec:(e,t,r)=>er.vertexAttrib2f(e,t,r),dc:(e,t)=>{er.vertexAttrib2f(e,T[t>>2],T[t+4>>2])},cc:(e,t,r,n)=>er.vertexAttrib3f(e,t,r,n),bc:(e,t)=>{er.vertexAttrib3f(e,T[t>>2],T[t+4>>2],T[t+8>>2])},ac:(e,t,r,n,o)=>er.vertexAttrib4f(e,t,r,n,o),$b:(e,t)=>{er.vertexAttrib4f(e,T[t>>2],T[t+4>>2],T[t+8>>2],T[t+12>>2])},_b:Zr,Zb:Jr,Yb:en,Xb:tn,Wb:rn,Vb:(e,t,r,n,o)=>er.vertexAttribI4i(e,t,r,n,o),Ub:(e,t)=>{er.vertexAttribI4i(e,E[t>>2],E[t+4>>2],E[t+8>>2],E[t+12>>2])},Tb:(e,t,r,n,o)=>er.vertexAttribI4ui(e,t,r,n,o),Sb:(e,t)=>{er.vertexAttribI4ui(e,x[t>>2],x[t+4>>2],x[t+8>>2],x[t+12>>2])},Rb:(e,t,r,n,o)=>{er.vertexAttribIPointer(e,t,r,n,o)},Qb:(e,t,r,n,o,i)=>{er.vertexAttribPointer(e,t,r,!!n,o,i)},Pb:(e,t,r,n)=>er.viewport(e,t,r,n),Ba:(e,t,r)=>{r=Number(r),er.waitSync(or.syncs[e],t,r)},Ob:e=>{var t=k.length,r=2147483648;if((e>>>=0)>r)return!1;for(var n=1;n<=4;n*=2){var o=t*(1+.2/n);o=Math.min(o,e+100663296);var i=Math.min(r,fe(Math.max(e,o),65536));if(nn(i))return!0}return!1},Nb:function(e,t,r,n,o,i,a,l,d){const c=s.UTF8ToString(e,e+t),u=s.HEAPU8.subarray(o,o+i),h=s.emscripten_ubq_codec_audioDecoderNextHandle++,p={codec:c,sampleRate:r,numberOfChannels:n};u.length>0&&(p.description=u);try{const e=s.emscripten_ubq_codec_createAudioDecoder(a,l,d);AudioDecoder.isConfigSupported(p).then(t=>{e.configUnsupported=!t},()=>{e.configUnsupported=!0}),e.configure(p),s.emscripten_ubq_codec_audioDecoders.set(h,{audioDecoder:e,decoderConfig:p,leftBufferPtr:a,rightBufferPtr:l,bufferLength:d,opfsUri:""})}catch(e){return s.emscripten_ubq_codec_createNativeResult({error:e})}return s.emscripten_ubq_codec_createNativeResult({handle:h})},Mb:function(e,t,r,n,o,i){const a=s.UTF8ToString(e,e+t),l=s.emscripten_ubq_codec_audioEncoderNextHandle++,d={codec:a,sampleRate:r,numberOfChannels:n,bitrate:o};try{const e=new AudioEncoder({output:e=>{const t=s._malloc(e.byteLength),r=s.HEAPU8.subarray(t,t+e.byteLength);e.copyTo(r),s.emscripten_ubq_codec_onOutputEncodedAudioChunk(l,t,e.byteLength,i),s._free(t)},error:e=>{s.emscripten_ubq_codec_audioEncoders.get(l).frameIndex>1&&console.error(e)}});e.configure(d),s.emscripten_ubq_codec_audioEncoders.set(l,{audioEncoder:e,audioEncoderConfig:d,frameIndex:0})}catch(e){return e+=' Requested codec: "'+a+'"',e+="; sample rate: "+r,e+="; channels: "+n,e+="; bit rate: "+o,s.emscripten_ubq_codec_createNativeResult({error:e})}return s.emscripten_ubq_codec_createNativeResult({handle:l})},Lb:function(e,t,r,n,o,i,a,l){const d=s.UTF8ToString(e,e+t),c=s.HEAPU8.subarray(i,i+a),u=s.emscripten_ubq_codec_videoDecoderNextHandle++,h={codec:d,codedWidth:r,codedHeight:n,description:c,optimizeForLatency:!0};try{const e=s.emscripten_ubq_codec_createVideoDecoder(u,o,l);VideoDecoder.isConfigSupported(h).then(t=>{e.configUnsupported=!t.supported},t=>{e.configUnsupported=!0}),e.configure(h),s.emscripten_ubq_codec_videoDecoders.set(u,{videoDecoder:e,decoderConfig:h,codecServicePtr:l,isHdr:o,opfsUri:""})}catch(e){return s.emscripten_ubq_codec_createNativeResult({error:e})}return s.emscripten_ubq_codec_createNativeResult({handle:u})},Kb:function(e,t,r,n,o,i,a){const l=s.UTF8ToString(e,e+t),d=s.emscripten_ubq_codec_videoEncoderNextHandle++,c=s.specialHTMLTargets["!canvas"];c.width=r,c.height=n;const u={codec:l,width:r,height:n,avc:{format:"annexb"},framerate:o};i>0&&(u.bitrate=i);try{const e=new VideoEncoder({output:e=>{const t=s._malloc(e.byteLength),r=s.HEAPU8.subarray(t,t+e.byteLength);e.copyTo(r),s.emscripten_ubq_codec_onOutputEncodedVideoChunk(d,t,e.byteLength,a),s._free(t)},error:e=>console.error(e)});VideoEncoder.isConfigSupported(u).then(t=>{e.configUnsupported=!t},()=>{e.configUnsupported=!0}),e.configure(u),s.emscripten_ubq_codec_videoEncoders.set(d,{videoEncoder:e,encoderConfig:u,groupOfPictures:150,frameIndex:0})}catch(e){return e+=' Requested codec: "'+l+'"',e+="; resolution: "+r+"x"+n,s.emscripten_ubq_codec_createNativeResult({error:e})}return s.emscripten_ubq_codec_createNativeResult({handle:d})},Jb:function(e,t,r,n,o,i){const a=s.emscripten_ubq_codec_audioDecoders.get(e);if(a.audioDecoder.unexpectedError)return s.emscripten_ubq_codec_createNativeResult({code:2,error:a.audioDecoder.unexpectedError});"closed"===a.audioDecoder.state&&(a.audioDecoder=s.emscripten_ubq_codec_createAudioDecoder(a.leftBufferPtr,a.rightBufferPtr,a.bufferLength),a.audioDecoder.configure(a.decoderConfig));const l=a.audioDecoder,d=s.HEAPU8.subarray(o,o+i),c=new EncodedAudioChunk({type:t?"key":"delta",timestamp:r,duration:n,data:d});try{l.decode(c)}catch(e){return l.configUnsupported?s.emscripten_ubq_codec_createNativeResult({code:2,error:e}):s.emscripten_ubq_codec_createNativeResult({code:1,error:e})}return s.emscripten_ubq_codec_createNativeResult({code:0})},Ib:function(e,t,r,n,o,i,a,l){const d=s.emscripten_ubq_codec_videoDecoders.get(e);if(d.videoDecoder.unexpectedError)return s.emscripten_ubq_codec_createNativeResult({code:2,error:d.videoDecoder.unexpectedError});if("closed"===d.videoDecoder.state){const t=d.videoDecoder.textures;return d.videoDecoder=s.emscripten_ubq_codec_createVideoDecoder(e,d.isHdr,d.codecServicePtr),d.videoDecoder.textures=t,d.videoDecoder.configure(d.decoderConfig),s.emscripten_ubq_codec_destroyAlphaState(e),s.emscripten_ubq_codec_createNativeResult({code:1,error:"VideoDecoder was closed"})}const c=s.HEAPU8.subarray(o,o+i),u=Number.isFinite(r)?r:0,h=new EncodedVideoChunk({type:t?"key":"delta",timestamp:u,duration:n,data:c});let p=!1,g=null;a&&l>0&&(g=s.emscripten_ubq_codec_prepareAlphaState(e,d.decoderConfig),g&&(p=!0,s.emscripten_ubq_codec_markAlphaExpected(e,u)));try{d.videoDecoder.decode(h)}catch(t){return p&&s.emscripten_ubq_codec_alphaCancelExpectation(e,u),d.videoDecoder.configUnsupported?s.emscripten_ubq_codec_createNativeResult({code:2,error:t}):s.emscripten_ubq_codec_createNativeResult({code:1,error:t})}if(p&&g&&g.decoder&&"closed"!==g.decoder.state&&!g.decoder.unexpectedError){const r=s.HEAPU8.subarray(a,a+l),o=new EncodedVideoChunk({type:t?"key":"delta",timestamp:u,duration:n,data:r});try{g.decoder.decode(o)}catch(t){console.error("Alpha decode error:",t),s.emscripten_ubq_codec_alphaCancelExpectation(e,u)}}else p&&s.emscripten_ubq_codec_alphaCancelExpectation(e,u);return s.emscripten_ubq_codec_createNativeResult({code:0})},Aa:function(e){if(s.emscripten_ubq_codec_audioDecoders.has(e)){const t=s.emscripten_ubq_codec_audioDecoders.get(e);if("closed"!==t.audioDecoder.state&&t.audioDecoder.close(),t.opfsUri&&""!==t.opfsUri){const e=s.emscripten_ubq_opfs_getCache(t.opfsUri);e&&e.worker&&(s.emscripten_ubq_opfs_destroyWorker(e.worker),e.worker=null,e.workerOpened=!1,e.workerOpening=null)}s.emscripten_ubq_codec_audioDecoders.delete(e)}},za:function(e){const t=s.emscripten_ubq_codec_audioEncoders.get(e);"closed"!==t.audioEncoder.state&&t.audioEncoder.close(),s.emscripten_ubq_codec_audioEncoders.delete(e)},ya:function(e){if(s.emscripten_ubq_codec_videoDecoders.has(e)){const t=s.emscripten_ubq_codec_videoDecoders.get(e);if("closed"!==t.videoDecoder.state&&t.videoDecoder.close(),s.emscripten_ubq_codec_destroyAlphaState(e),t.opfsUri&&""!==t.opfsUri){const e=s.emscripten_ubq_opfs_getCache(t.opfsUri);e&&e.worker&&(s.emscripten_ubq_opfs_destroyWorker(e.worker),e.worker=null,e.workerOpened=!1,e.workerOpening=null)}s.emscripten_ubq_codec_videoDecoders.delete(e)}},xa:function(e){const t=s.emscripten_ubq_codec_videoEncoders.get(e);"closed"!==t.videoEncoder.state&&t.videoEncoder.close(),s.emscripten_ubq_codec_videoEncoders.delete(e)},Hb:function(e,t,r){const n=1e6,o=s.emscripten_ubq_codec_audioEncoders.get(e),i=o.audioEncoderConfig.sampleRate,a=o.audioEncoderConfig.numberOfChannels,l=r/a,d=Math.round(n*(o.frameIndex*l/i)),c=Math.round(n*(l/i)),u=s.HEAPF32.subarray(t/4,t/4+r),h=new AudioData({format:"f32",sampleRate:i,numberOfFrames:l,numberOfChannels:a,duration:c,timestamp:d,data:u});o.audioEncoder.encode(h),o.frameIndex++,h.close()},Gb:function(e,t,r){const n=1e6,o=s.emscripten_ubq_codec_videoEncoders.get(e),i=Math.round(n*(o.frameIndex/o.encoderConfig.framerate)),a=o.frameIndex%o.groupOfPictures===0,l=Math.round(n/o.encoderConfig.framerate),d=s.specialHTMLTargets["!canvas"],c=new VideoFrame(d,{timestamp:i,duration:l});o.videoEncoder.encode(c,{keyFrame:a}),c.close(),o.frameIndex++},Fb:async function(e,t){const r=s.emscripten_ubq_codec_audioEncoders.get(e);try{await r.audioEncoder.flush()}catch{if(r.frameIndex>1)throw new Error("AudioEncoder.flush() failed")}s.emscripten_ubq_codec_onFinalizedAudioEncoding(e,t)},Eb:async function(e,t){const r=s.emscripten_ubq_codec_videoEncoders.get(e);await r.videoEncoder.flush(),s.emscripten_ubq_codec_onFinalizedVideoEncoding(e,t)},Db:async function(e,t){const r=s.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder;r.flushing=!0;try{await r.flush()}catch{}r.flushing=!1,r.writtenFrames=t},S:async function(e,t,r){const n=s.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},wa:function(e){return s.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.decodeQueueSize},ga:function(e){return s.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.decodedFrames},X:function(e){return s.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.writtenFrames},Cb:function(e){return s.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.flushing},fa:function(e){return s.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.flushing},Bb:function(){if("undefined"==typeof navigator||"string"!=typeof navigator.userAgent)return 0;const e=navigator.userAgent;return!e.includes("Safari")||e.includes("Chrome")||e.includes("Chromium")||e.includes("Android")?0:1},aa:function(){return"undefined"!=typeof VideoFrame&&"undefined"!=typeof VideoDecoder&&"undefined"!=typeof VideoEncoder&&"undefined"!=typeof AudioDecoder&&"undefined"!=typeof AudioEncoder},Ab:function(e,t,r,n,o,i,a){const l=s.emscripten_ubq_codec_videoDecoders.get(e),d=s.UTF8ToString(t,t+r),c=s.HEAPU8.subarray(i,i+a);l.videoDecoder.configure({codec:d,codedWidth:n,codedHeight:o,description:c})},ea:function(e,t,r){const n=s.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder;n.requestedPresentationFrame=t,n.requestedDecodeChunk=r;const o=1===s._isSafariHelper()?r:t;n.targetFrameForScheduling=o>=0?o:0},zb:function(e,t){s.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.reorderWindow=t},yb:function(e,t,r,n,o){const i=s.emscripten_ubq_codec_videoDecoders.get(e),a=s.HEAPU32.subarray(t/4,t/4+r);i.videoDecoder.textures=[];for(let e=0;e<r;e++)i.videoDecoder.textures[e]=or.textures[a[e]];i.videoDecoder.textureWidth=n,i.videoDecoder.textureHeight=o},xb:function(e){const t=s.emscripten_ubq_asyncFetchManager.getProcess(e);return!!(null==t?void 0:t.allocate())},wb:function(e){return s.emscripten_ubq_asyncFetchManager.deleteProcess(e)},da:function(){s.emscripten_ubq_asyncFetchManager.clear()},W:function(e,t,r,n){return s.emscripten_ubq_asyncFetchManager.createHeader(e,t,r,n)},vb:function(e){s.emscripten_ubq_asyncFetchManager.deleteHeader(e)},ub:function(e,t,r,n,o,i,a,l,d){return s.emscripten_ubq_asyncFetchManager.fetch(e,t,r,n,o,i,a,l,d).handle},tb:function(e){return s.emscripten_ubq_asyncFetchManager.deleteProcess(e)},sb:function(e){var t,r;return null!==(r=null===(t=s.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.receivedLength)&&void 0!==r?r:0},rb:function(e){const t=s.emscripten_ubq_asyncFetchManager.getProcess(e);return(null==t?void 0:t.isAllocated())?t.resultAddress:-1},qb:function(e){const t=s.emscripten_ubq_asyncFetchManager.getProcess(e);return(null==t?void 0:t.isAllocated())?t.resultLength:-1},va:function(e){var t,r;return null!==(r=null===(t=s.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.state)&&void 0!==r?r:-1},pb:function(e){var t,r;return null!==(r=null===(t=s.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.statusCode)&&void 0!==r?r:-1},ob:function(e){var t,r;return null!==(r=null===(t=s.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.totalBytes)&&void 0!==r?r:0},nb:function(e){const t=z(e),r=s.emscripten_ubq_opfs_writerCaches.get(t);if(!r)return 0;const n=s.emscripten_ubq_opfs_ensureWriteWorker(t,r),o=n.get(),i=e=>{if(e.data&&e.data.closed){try{o.removeEventListener("message",i)}catch(e){}s.emscripten_ubq_opfs_destroyWriterWorker(n),r.worker=null,r.workerOpened=!1,r.workerOpening=null,r.fileHandle=null,s.emscripten_ubq_opfs_writerCaches.delete(t)}};try{o.addEventListener("message",i)}catch(e){}return n.post({close:!0}),0},mb:function(e,t,r,n,o){const i=z(e),a=4294967296*(r>>>0)+(t>>>0);if(n<=0)return 0;const l=s.emscripten_ubq_opfs_CHUNK_SIZE,d=s.emscripten_ubq_opfs_getCache(i),c=k.subarray(o,o+n);let u=0,h=a;const p=Math.min(a+n,d.fileSize);for(;h<p;){const e=Math.floor(h/l),t=d.chunkCache.get(e);if(!t)return-1;s.emscripten_ubq_opfs_updateAccess(d,e);const r=h-e*l,n=Math.min(t.byteLength-r,p-h);c.set(t.subarray(r,r+n),u),u+=n,h+=n}return u},R:function(e){const t=z(e),r=s.emscripten_ubq_opfs_getCache(t);return s.emscripten_ubq_opfs_ensureFile(t,r),BigInt(r.fileSize)},O:function(e,t,r,n){const o=z(e),i=4294967296*(r>>>0)+(t>>>0),a=s.emscripten_ubq_opfs_CHUNK_SIZE,l=s.emscripten_ubq_opfs_getCache(o),d=Math.floor(i/a),c=Math.floor((i+n)/a);for(let e=d;e<=c;++e){if(!l.chunkCache.has(e))return 0;s.emscripten_ubq_opfs_updateAccess(l,e)}return 1},lb:function(e){const t=z(e);let r=s.emscripten_ubq_opfs_writerCaches.get(t);if(r||(r={pending:0,worker:null,openPromise:null,fileHandle:null,workerOpened:!1,workerOpening:null},s.emscripten_ubq_opfs_writerCaches.set(t,r)),!r.workerOpened&&!r.workerOpening){const e=s.emscripten_ubq_opfs_ensureWriteWorker(t,r);r.workerOpening=(async()=>{await s.emscripten_ubq_opfs_ensureWriteFile(t,r),e.post({open:!0,uri:t}),await new Promise((t,r)=>{const n=e.get(),o=e=>{e.data&&(!0===e.data.ready?(n.removeEventListener("message",o),t()):!1===e.data.ready&&(n.removeEventListener("message",o),r(new Error(e.data.error||"Failed to open OPFS writer handle"))))};n.addEventListener("message",o)}),r.workerOpened=!0})().finally(()=>{r.workerOpening=null})}return r.workerOpened?1:0},kb:function(e){const t=z(e),r=s.emscripten_ubq_opfs_writerCaches.get(t);return r&&r.pending||0},jb:function(e,t,r,n){const o=z(e),i=4294967296*(r>>>0)+(t>>>0),a=s.emscripten_ubq_opfs_CHUNK_SIZE,l=s.emscripten_ubq_opfs_getCache(o),d=Math.floor(i/a),c=Math.floor((i+n)/a);let u=!0;for(let e=d;e<=c;++e)l.chunkCache.has(e)?s.emscripten_ubq_opfs_updateAccess(l,e):(u=!1,s.emscripten_ubq_opfs_loadChunk(o,l,e));return u?1:0},ib:function(e,t,r,n,o){return async function(e,t,r,n,o){if(n<=0)return 0;const i=z(e),a=4294967296*(r>>>0)+(t>>>0);let l=s.emscripten_ubq_opfs_writerCaches.get(i);l||(l={pending:0,worker:null,openPromise:null,fileHandle:null},s.emscripten_ubq_opfs_writerCaches.set(i,l));const d=new Uint8Array(n);d.set(s.HEAPU8.subarray(o,o+n));const c=s.emscripten_ubq_opfs_ensureWriteWorker(i,l);return l.workerOpened||(l.workerOpening||(l.workerOpening=(async()=>{await s.emscripten_ubq_opfs_ensureWriteFile(i,l),c.post({open:!0,uri:i}),await new Promise((e,t)=>{const r=c.get(),n=o=>{o.data&&(!0===o.data.ready?(r.removeEventListener("message",n),e()):!1===o.data.ready&&(r.removeEventListener("message",n),t(new Error(o.data.error||"Failed to open OPFS writer handle"))))};r.addEventListener("message",n)}),l.workerOpened=!0})().finally(()=>{l.workerOpening=null})),await l.workerOpening),new Promise((e,t)=>{void 0===s.emscripten_ubq_opfs_writeTagCounter&&(s.emscripten_ubq_opfs_writeTagCounter=0);const r=++s.emscripten_ubq_opfs_writeTagCounter;l.pending=(l.pending||0)+1;const o=c.get(),i=s=>{s.data&&s.data.tag===r&&(o.removeEventListener("message",i),l.pending-=1,s.data.error?t(new Error(s.data.error)):e(n))};o.addEventListener("message",i),c.post({write:{offset:a,buf:d.buffer,tag:r}},[d.buffer])})}(e,t,r,n,o).catch(e=>{console.error("[OPFS] writeChunk failed:",e)}),0},hb:function(){return!!s.emscripten_ubq_settings_forceWebGL1},ua:ln,$:e=>{or.currentContext==e&&(or.currentContext=0),or.deleteContext(e)},gb: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})(or.contexts[e].GLctx),fb:e=>(e=>{var t=e.getExtension("WEBGL_draw_buffers");if(t)return e.drawBuffers=(e,r)=>t.drawBuffersWEBGL(e,r),1})(or.contexts[e].GLctx),eb:e=>(e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")))(or.contexts[e].GLctx),_:(e,t)=>{var r=or.getContext(e),n=z(t);return n.startsWith("GL_")&&(n=n.slice(3)),!!r.GLctx.getExtension(n)},db:(e,t)=>{if(!t)return-5;if(!(e=or.contexts[e]))return-3;var r=e.GLctx?.getContextAttributes();if(!r)return-3;_[t]=r.alpha,_[t+1]=r.depth,_[t+2]=r.stencil,_[t+3]=r.antialias,_[t+4]=r.premultipliedAlpha,_[t+5]=r.preserveDrawingBuffer;var n=r.powerPreference&&on.indexOf(r.powerPreference);return E[t+8>>2]=n,_[t+12]=r.failIfMajorPerformanceCaveat,E[t+16>>2]=e.version,E[t+20>>2]=0,0},cb:e=>or.makeContextCurrent(e)?0:-5,wh:(e,t)=>{var r=0,n=0;for(var o of cn()){var i=t+r;x[e+n>>2]=i,r+=ne(o,i,1/0)+1,n+=4}return 0},vh:(e,t)=>{var r=cn();x[e>>2]=r.length;var n=0;for(var o of r)n+=te(o)+1;return x[t>>2]=n,0},ta:Qt,ma:function(e){try{var t=Te.getStreamFromFD(e);return xe.close(t),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}},uh:function(e,t){try{var r=Te.getStreamFromFD(e),n=r.tty?2:xe.isDir(r.mode)?3:xe.isLink(r.mode)?7:4;return _[t]=n,S[t+2>>1]=0,A[t+8>>3]=BigInt(0),A[t+16>>3]=BigInt(0),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}},th:function(e,t,r,n,o){n=$t(n);try{if(isNaN(n))return 61;var i=Te.getStreamFromFD(e),s=un(i,t,r,n);return x[o>>2]=s,0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}},Ra:function(e,t,r,n){try{var o=Te.getStreamFromFD(e),i=un(o,t,r);return x[n>>2]=i,0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}},sh:function(e,t,r,n){t=$t(t);try{if(isNaN(t))return 61;var o=Te.getStreamFromFD(e);return xe.llseek(o,t,r),A[n>>3]=BigInt(o.position),o.getdents&&0===t&&0===r&&(o.getdents=null),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}},Qa:function(e,t,r,n){try{var o=((e,t,r,n)=>{for(var o=0,i=0;i<r;i++){var s=x[t>>2],a=x[t+4>>2];t+=8;var l=xe.write(e,_,s,a,n);if(l<0)return-1;if(o+=l,l<a)break;void 0!==n&&(n+=l)}return o})(Te.getStreamFromFD(e),t,r);return x[n>>2]=o,0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}},bb:function(e){var t=z(e),r=localStorage.getItem(t);return null==r?null:oe(r)},ab:function(){return"undefined"!=typeof window?oe(window.location.hostname):oe("")},x:function(e,t,r){var n=ee();try{return bt(e)(t,r)}catch(e){if(J(n),e!==e+0)throw e;Cn(1,0)}},K:function(e,t){var r=ee();try{return bt(e)(t)}catch(e){if(J(r),e!==e+0)throw e;Cn(1,0)}},F:function(e,t,r){var n=ee();try{return bt(e)(t,r)}catch(e){if(J(n),e!==e+0)throw e;Cn(1,0)}},m:function(e,t,r,n){var o=ee();try{return bt(e)(t,r,n)}catch(e){if(J(o),e!==e+0)throw e;Cn(1,0)}},$a:function(e){var t=ee();try{return bt(e)()}catch(e){if(J(t),e!==e+0)throw e;Cn(1,0)}},sa:function(e,t,r){var n=ee();try{return bt(e)(t,r)}catch(e){if(J(n),e!==e+0)throw e;Cn(1,0)}},r:function(e,t){var r=ee();try{return bt(e)(t)}catch(e){if(J(r),e!==e+0)throw e;Cn(1,0)}},V:function(e,t,r,n,o,i,s,a,l,d,c,u,h,p,g,f){var m=ee();try{return bt(e)(t,r,n,o,i,s,a,l,d,c,u,h,p,g,f)}catch(e){if(J(m),e!==e+0)throw e;Cn(1,0)}},p:function(e,t,r){var n=ee();try{return bt(e)(t,r)}catch(e){if(J(n),e!==e+0)throw e;Cn(1,0)}},t:function(e,t,r,n){var o=ee();try{return bt(e)(t,r,n)}catch(e){if(J(o),e!==e+0)throw e;Cn(1,0)}},Q:function(e,t,r,n,o){var i=ee();try{return bt(e)(t,r,n,o)}catch(e){if(J(i),e!==e+0)throw e;Cn(1,0)}},_a:function(e,t,r,n,o,i){var s=ee();try{return bt(e)(t,r,n,o,i)}catch(e){if(J(s),e!==e+0)throw e;Cn(1,0)}},ra:function(e,t,r,n,o,i,s){var a=ee();try{return bt(e)(t,r,n,o,i,s)}catch(e){if(J(a),e!==e+0)throw e;Cn(1,0)}},qa:function(e,t,r,n,o,i,s,a,l,d){var c=ee();try{return bt(e)(t,r,n,o,i,s,a,l,d)}catch(e){if(J(c),e!==e+0)throw e;Cn(1,0)}},E:function(e){var t=ee();try{bt(e)()}catch(e){if(J(t),e!==e+0)throw e;Cn(1,0)}},y:function(e,t){var r=ee();try{bt(e)(t)}catch(e){if(J(r),e!==e+0)throw e;Cn(1,0)}},A:function(e,t,r,n){var o=ee();try{bt(e)(t,r,n)}catch(e){if(J(o),e!==e+0)throw e;Cn(1,0)}},z:function(e,t,r){var n=ee();try{bt(e)(t,r)}catch(e){if(J(n),e!==e+0)throw e;Cn(1,0)}},o:function(e,t,r,n){var o=ee();try{bt(e)(t,r,n)}catch(e){if(J(o),e!==e+0)throw e;Cn(1,0)}},B:function(e,t,r,n,o){var i=ee();try{bt(e)(t,r,n,o)}catch(e){if(J(i),e!==e+0)throw e;Cn(1,0)}},Za:function(e,t,r,n,o,i){var s=ee();try{bt(e)(t,r,n,o,i)}catch(e){if(J(s),e!==e+0)throw e;Cn(1,0)}},Ya:function(e,t,r,n,o,i,s){var a=ee();try{bt(e)(t,r,n,o,i,s)}catch(e){if(J(a),e!==e+0)throw e;Cn(1,0)}},Xa:function(e,t,r,n,o,i,s,a){var l=ee();try{bt(e)(t,r,n,o,i,s,a)}catch(e){if(J(l),e!==e+0)throw e;Cn(1,0)}},Wa:function(e,t,r,n,o,i,s,a,l,d){var c=ee();try{bt(e)(t,r,n,o,i,s,a,l,d)}catch(e){if(J(c),e!==e+0)throw e;Cn(1,0)}},Z:function(){return"undefined"!=typeof localStorage&&"function"==typeof localStorage.getItem},Va:function(){return"undefined"!=typeof process&&process.versions&&process.versions.node?1:0},pa:function(e,t){const r=Tt.toValue(t),n=s.ctx;n.bindTexture(n.TEXTURE_2D,or.textures[e]),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,r)},a:H,rh:function(e,t){try{return ce(k.subarray(e,e+t)),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}},Ua:function(e,t){var r=z(e),n=z(t);localStorage.setItem(r,n)}};return Ln=await async function(){function e(e,t){var r;return Ln=e.exports,bn=(r=Ln).Kh,yn=s._malloc=r.Mh,vn=s._free=r.Nh,wn=s._main=r.Oh,s._ma_malloc_emscripten=r.Ph,s._ma_free_emscripten=r.Qh,_n=s._ma_device_process_pcm_frames_capture__webaudio=r.Rh,kn=s._ma_device_process_pcm_frames_playback__webaudio=r.Sh,Sn=r.Th,Cn=r.Uh,En=r.Vh,xn=r.Wh,Tn=r.Xh,Pn=r.Yh,An=r.Zh,Mn=r._h,Fn=r.$h,In=r.ai,Rn=r.Lh,Ln}var t={a:On};return s.instantiateWasm?new Promise((r,n)=>{s.instantiateWasm(t,(t,n)=>{r(e(t))})}):(F??=j(),e((await W(b,F,t)).instance))}(),function e(t=c){function r(){s.calledRun=!0,L||(O=!0,s.noFSInit||xe.initialized||xe.init(),ge.init(),Ln.Jh(),xe.ignorePermissions=!1,v?.(s),s.onRuntimeInitialized?.(),s.noInitialRun||function(e=[]){var t=wn;e.unshift(u);var r=e.length,n=hn(4*(r+1)),o=n;for(var i of e)x[o>>2]=pn(i),o+=4;x[o>>2]=0;try{var s=t(r,n);return Kt(s),s}catch(e){return Xt(e)}}(t),function(){if(s.postRun)for("function"==typeof s.postRun&&(s.postRun=[s.postRun]);s.postRun.length;)Y(s.postRun.shift());G(X)}())}we>0?_e=e:(function(){if(s.preRun)for("function"==typeof s.preRun&&(s.preRun=[s.preRun]);s.preRun.length;)Q(s.preRun.shift());G(K)}(),we>0?_e=e:s.setStatus?(s.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>s.setStatus(""),1),r()},1)):r())}(),O?s:new Promise((e,t)=>{v=e,w=t})});"object"==typeof e&&"object"==typeof t?(t.exports=n,t.exports.default=n):"function"==typeof define&&define.amd&&define([],()=>n)}}),mt=u(j()),bt=u(ht()),yt=u(pt()),vt=class extends TypeError{constructor(e,t){let r;const{message:n,...o}=e,{path:i}=e;super(0===i.length?n:"At path: "+i.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 wt(e){return"object"==typeof e&&null!=e}function _t(e){return"string"==typeof e?JSON.stringify(e):""+e}function kt(e,t,r,n){if(!0===e)return;!1===e?e={}:"string"==typeof e&&(e={message:e});const{path:o,branch:i}=t,{type:s}=r,{refinement:a,message:l="Expected a value of type `"+s+"`"+(a?" with refinement `"+a+"`":"")+", but received: `"+_t(n)+"`"}=e;return{value:n,type:s,refinement:a,key:o[o.length-1],path:o,branch:i,...e,message:l}}function*St(e,t,r,n){var o;wt(o=e)&&"function"==typeof o[Symbol.iterator]||(e=[e]);for(const o of e){const e=kt(o,t,r,n);e&&(yield e)}}function*Ct(e,t,r={}){const{path:n=[],branch:o=[e],coerce:i=!1,mask:s=!1}=r,a={path:n,branch:o};if(i&&(e=t.coercer(e,a),s&&"type"!==t.type&&wt(t.schema)&&wt(e)&&!Array.isArray(e)))for(const r in e)void 0===t.schema[r]&&delete e[r];let l=!0;for(const r of t.validator(e,a))l=!1,yield[r,void 0];for(let[r,d,c]of t.entries(e,a)){const t=Ct(d,c,{path:void 0===r?n:[...n,r],branch:void 0===r?o:[...o,d],coerce:i,mask:s});for(const n of t)n[0]?(l=!1,yield[n[0],void 0]):i&&(d=n[1],void 0===r?e=d:e instanceof Map?e.set(r,d):e instanceof Set?e.add(d):wt(e)&&(e[r]=d))}if(l)for(const r of t.refiner(e,a))l=!1,yield[r,void 0];l&&(yield[void 0,e])}var Et=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:i=e=>e,entries:s=function*(){}}=e;this.type=t,this.schema=r,this.entries=s,this.coercer=i,this.validator=n?(e,t)=>St(n(e,t),t,this,e):()=>[],this.refiner=o?(e,t)=>St(o(e,t),t,this,e):()=>[]}assert(e){return function(e,t){const r=xt(e,t);if(r[0])throw r[0]}(e,this)}create(e){return function(e,t){const r=xt(e,t,{coerce:!0});if(r[0])throw r[0];return r[1]}(e,this)}is(e){return function(e,t){const r=xt(e,t);return!r[0]}(e,this)}mask(e){return function(e,t){const r=xt(e,t,{coerce:!0,mask:!0});if(r[0])throw r[0];return r[1]}(e,this)}validate(e,t={}){return xt(e,this,t)}};function xt(e,t,r={}){const n=Ct(e,t,r),o=function(e){const{done:t,value:r}=e.next();return t?void 0:r}(n);if(o[0]){return[new vt(o[0],function*(){for(const e of n)e[0]&&(yield e[0])}),void 0]}return[void 0,o[1]]}function Tt(e,t){return new Et({type:e,schema:null,validator:t})}function Pt(e){return new Et({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: "+_t(e)})}function At(){return Tt("boolean",e=>"boolean"==typeof e)}function Mt(){return Tt("func",e=>"function"==typeof e||"Expected a function, but received: "+_t(e))}function Ft(){return Tt("integer",e=>"number"==typeof e&&!isNaN(e)&&Number.isInteger(e)||"Expected an integer, but received: "+_t(e))}function It(){return Tt("number",e=>"number"==typeof e&&!isNaN(e)||"Expected a number, but received: "+_t(e))}function Rt(e){const t=e?Object.keys(e):[],r=Tt("never",()=>!1);return new Et({type:"object",schema:e||null,*entries(n){if(e&&wt(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=>wt(e)||"Expected an object, but received: "+_t(e),coercer:e=>wt(e)?{...e}:e})}function Lt(e){return new Et({...e,validator:(t,r)=>void 0===t||e.validator(t,r),refiner:(t,r)=>void 0===t||e.refiner(t,r)})}function Dt(){return Tt("string",e=>"string"==typeof e||"Expected a string, but received: "+_t(e))}function Ot(e){const t=Object.keys(e);return new Et({type:"type",schema:e,*entries(r){if(wt(r))for(const n of t)yield[n,r[n],e[n]]},validator:e=>wt(e)||"Expected an object, but received: "+_t(e)})}function Bt(e){const t=e.map(e=>e.type).join(" | ");return new Et({type:"union",schema:null,coercer:(t,r)=>(e.find(e=>{const[r]=e.validate(t,{coerce:!0});return!r})||Tt("unknown",()=>!0)).coercer(t,r),validator(r,n){const o=[];for(const t of e){const[...e]=Ct(r,t,n),[i]=e;if(!i[0])return[];for(const[t]of e)t&&o.push(t)}return["Expected the value to satisfy a union of `"+t+"`, but received: "+_t(r),...o]}})}function Ut(e,t,r={}){const{exclusive:n}=r;return Wt(e,"max",r=>n?r<t:r<=t||"Expected a "+e.type+" less than "+(n?"":"or equal to ")+t+" but received `"+r+"`")}function jt(e,t,r={}){const{exclusive:n}=r;return Wt(e,"min",r=>n?r>t:r>=t||"Expected a "+e.type+" greater than "+(n?"":"or equal to ")+t+" but received `"+r+"`")}function qt(e){return Wt(e,"nonempty",t=>{const r=function(e){return e instanceof Map||e instanceof Set?e.size:e.length}(t);return r>0||"Expected a nonempty "+e.type+" but received an empty one"})}function Wt(e,t,r){return new Et({...e,*refiner(n,o){yield*e.refiner(n,o);const i=St(r(n,o),o,e,n);for(const e of i)yield{...e,refinement:t}}})}var Ht={Png:"image/png",Jpeg:"image/jpeg",WebP:"image/webp",Tga:"image/x-tga",Svg:"image/svg+xml",Wav:"audio/wav",Mp4Audio:"audio/mp4",Mp4:"video/mp4",QuickTime:"video/quicktime",Binary:"application/octet-stream",Pdf:"application/pdf",Zip:"application/zip"};function $t(e,t,r){const[n]=xt(t,r);if(n)throw n.message=`Error in argument '${e}': ${n.message}`,n;return!0}function Vt(){return Tt("FiniteNumber",e=>!("number"!=typeof e||!Number.isFinite(e))||{message:`expected a finite number, but got "${String(e)}"`})}function Nt(){const e=/image\/(png|jpeg|webp|x-tga|svg\+xml)/;return Tt("ImageMimeType",t=>!("string"!=typeof t||!e.test(t))||{message:`expected one of "image/png", "image/jpeg", "image/webp", "image/x-tga", or "image/svg+xml", but got "${t}"`})}function zt(){const e=/audio\/(wav|mp4)/;return Tt("AudioMimeType",t=>!("string"!=typeof t||!e.test(t))||{message:`expected "audio/wav" or "audio/mp4", but got "${t}"`})}function Gt(){const e=/video\/(mp4|quicktime)/;return Tt("VideoMimeType",t=>!("string"!=typeof t||!e.test(t))||{message:`expected one of "video/mp4" or "video/quicktime", but got "${t}"`})}function Xt(){const e=/application\/(octet-stream|pdf)/;return Tt("ApplicationMimeType",t=>!("string"!=typeof t||!e.test(t))||{message:`expected one of "application/octet-stream" or "application/pdf", but got "${t}"`})}function Yt(){const e=["Free","VerticalStack","HorizontalStack","DepthStack"];return Tt("SceneLayout",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function Kt(){const e=["Linear","EaseIn","EaseOut","EaseInOut","EaseInQuart","EaseOutQuart","EaseInOutQuart","EaseInQuint","EaseOutQuint","EaseInOutQuint","EaseInBack","EaseOutBack","EaseInOutBack","EaseInSpring","EaseOutSpring","EaseInOutSpring"];return Tt("AnimationEasing",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function Qt(){const e=["Pixel","Millimeter","Inch"];return Tt("DesignUnit",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function Zt(){const e=["Pixel","Point"];return Tt("FontSizeUnit",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function Jt(){return Tt("AbortSignal",e=>{if("undefined"!=typeof AbortSignal&&e instanceof AbortSignal)return!0;return!("object"!=typeof e||null===e||"boolean"!=typeof e.aborted||"function"!=typeof e.addEventListener)||{message:`expected an AbortSignal-like object, but got "${Object.prototype.toString.call(e)}"`}})}function er(){const e=["Absolute","Percent","Auto"];return Tt("SizeMode",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function tr(){const e=["Absolute","Percent","Auto"];return Tt("PositionMode",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function rr(){const e=["slide","pan","fade","blur","grow","zoom","pop","wipe","baseline","crop_zoom","spin","spin_loop","fade_loop","blur_loop","pulsating_loop","breathing_loop","jump_loop","squeeze_loop","sway_loop","typewriter_text","block_swipe_text","spread_text","merge_text","ken_burns","//ly.img.ubq/animation/slide","//ly.img.ubq/animation/pan","//ly.img.ubq/animation/fade","//ly.img.ubq/animation/blur","//ly.img.ubq/animation/grow","//ly.img.ubq/animation/zoom","//ly.img.ubq/animation/pop","//ly.img.ubq/animation/wipe","//ly.img.ubq/animation/baseline","//ly.img.ubq/animation/crop_zoom","//ly.img.ubq/animation/spin","//ly.img.ubq/animation/spin_loop","//ly.img.ubq/animation/fade_loop","//ly.img.ubq/animation/blur_loop","//ly.img.ubq/animation/pulsating_loop","//ly.img.ubq/animation/breathing_loop","//ly.img.ubq/animation/jump_loop","//ly.img.ubq/animation/squeeze_loop","//ly.img.ubq/animation/sway_loop","//ly.img.ubq/animation/typewriter_text","//ly.img.ubq/animation/block_swipe_text","//ly.img.ubq/animation/spread_text","//ly.img.ubq/animation/merge_text","//ly.img.ubq/animation/ken_burns"];return Tt("AnimationType",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function nr(){return Bt([Ot({r:It(),g:It(),b:It(),a:It()}),Ot({c:It(),m:It(),y:It(),k:It(),tint:It()}),Ot({name:Dt(),tint:It(),externalReference:Dt()})])}function or(){return Ot({type:rr(),duration:It(),easing:Lt(Kt())})}var ir=Symbol("PROXY");function sr(e){return"function"==typeof e&&ir in e}function ar(e){return(t,r)=>{Object.defineProperty(t,ir,{value:{type:"getter",...e},writable:!1,configurable:!0})}}function lr(e,t){Object.defineProperty(e,ir,{value:{type:"setter"},writable:!1,configurable:!0})}var dr={};function cr(e,t,r){return Object.hasOwnProperty.call(e,t)?()=>{e[t]=r}:()=>{delete e[t]}}function ur(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 hr(e){return new Promise((t,r)=>{e(e=>{try{const r=ur(e);t(r)}catch(e){r(e)}})})}var pr,gr,fr,mr,br,yr,vr,wr,_r,kr,Sr,Cr,Er,xr,Tr=(e,t=!0)=>{const r=[];for(let t=0;t<e.size();t+=1)r.push(e.get(t));return t&&e.delete(),r},Pr=new WeakMap,Ar={assets:[],total:0,currentPage:0,nextPage:void 0};yr=[lr],br=[lr],mr=[lr],fr=[lr],gr=[lr],pr=[ar({disabledInModes:["Playback"]})];var AssetAPI=class{constructor(e){b(kr,5,this),S(this,Sr),S(this,vr),S(this,wr,new Set),S(this,_r,new Set),v(this,"onAssetSourceAdded",e=>{const t=k(this,vr).subscribeToAssetSourceAdded(e);return()=>{k(this,vr).isDeleted()||ur(k(this,vr).unsubscribe(t))}}),v(this,"onAssetSourceRemoved",e=>{const t=k(this,vr).subscribeToAssetSourceRemoved(e);return()=>{k(this,vr).isDeleted()||ur(k(this,vr).unsubscribe(t))}}),v(this,"onAssetSourceUpdated",e=>{const t=k(this,vr).subscribeToAssetSourceUpdated(e);return()=>{k(this,vr).isDeleted()||ur(k(this,vr).unsubscribe(t))}}),C(this,vr,e)}registerApplyMiddleware(e){return k(this,wr).add(e),()=>{k(this,wr).delete(e)}}registerApplyToBlockMiddleware(e){return k(this,_r).add(e),()=>{k(this,_r).delete(e)}}addSource(e){const t=e.getSupportedMimeTypes?.bind(e),r=e.getGroups?.bind(e),n=e.fetchAsset?.bind(e),o=e.applyAsset?.bind(e),i=e.applyAssetToBlock?.bind(e),s=e.applyAssetProperty?.bind(e),a=e.addAsset?.bind(e),l=e.removeAsset?.bind(e),d=e.credits,c=e.license;ur(k(this,vr).addAssetSource(e.id,async(t,r)=>{try{const n={...t,sortKey:t.sortKey,sortingOrder:t.sortingOrder,sortActiveFirst:t.sortActiveFirst},o=await e.findAssets(n);if(o){const t={...o,assets:o.assets.map(t=>Mr(t,e.id))};r.invoke(t)}else r.invoke(Ar)}catch(e){r.invoke(e.message??"Unknown error in user-defined `findAssets`")}},n?async(t,r,o)=>{try{const i=await n(t,{locale:r});null===i?o.invoke(null):o.invoke(Mr(i,e.id))}catch(e){o.invoke(e.message??"Unknown error in user-defined `fetchAsset`")}}:null,r?async e=>{try{const t=await r();e.invoke(t)}catch(t){e.invoke(t.message??"Unknown error in user-defined `getGroups`")}}:null,d?()=>({name:d.name,url:d.url??""}):null,c?()=>({name:c.name,url:c.url??""}):null,t?()=>t()??[]:null,o?async(e,t)=>{try{const r=await o(E(this,Sr,Cr).call(this,e));t.invoke(r)}catch(e){t.invoke(e.message??"Unknown error in user-defined `applyAsset`")}}:null,i?async(e,t,r)=>{try{await i(E(this,Sr,Cr).call(this,e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetToBlock`")}}:null,s?async(e,t,r)=>{try{await s(E(this,Sr,Cr).call(this,e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetProperty`")}}:null,a?async e=>{a(e)}:null,l?async e=>{l(e)}:null)),E(this,Sr,Er).call(this,e.id,e)}addLocalSource(e,t,r,n){ur(k(this,vr).addLocalAssetSource(e,t??[],r?async(e,t)=>{try{const n=await r(E(this,Sr,Cr).call(this,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(E(this,Sr,Cr).call(this,e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetToBlock`")}}:null))}addLocalAssetSourceFromJSONString(e,t,r){$t("contentJSON",e,Dt()),$t("basePath",t,Lt(Dt())),$t("options",r,Lt(Rt())),void 0!==r?.matcher&&$t("options.matcher",r.matcher,Pt(Dt()));const n=t??null,o=r?.matcher;return new Promise((t,r)=>{try{t(ur(k(this,vr).addLocalAssetSourceFromJSONString(e,n,o)))}catch(e){r(e)}})}addLocalAssetSourceFromJSONURI(e,t){return $t("contentURI",e,Dt()),$t("options",t,Lt(Rt())),void 0!==t?.matcher&&$t("options.matcher",t.matcher,Pt(Dt())),new Promise((r,n)=>{k(this,vr).addLocalAssetSourceFromJSONURI(e,t?.matcher,e=>{try{const t=ur(e);r(t)}catch(e){n(e)}})})}removeSource(e){ur(k(this,vr).removeAssetSource(e)),E(this,Sr,xr).call(this,e)}findAllSources(){return Tr(k(this,vr).findAllAssetSources())}findAssets(e,t){return new Promise((r,n)=>{let o=t?.tags??[];Array.isArray(o)||(o=[o]);const i={perPage:t?.perPage??0,page:t?.page??0,query:t?.query??"",tags:o,groups:t?.groups??[],excludeGroups:t?.excludeGroups??[],locale:t?.locale??"",sortingOrder:t?.sortingOrder??"None",sortKey:t?.sortKey??"",sortActiveFirst:t?.sortActiveFirst??!1,filter:t?.filter??[]};k(this,vr).findAssetSourceAssets(e,i,e=>{try{const t=ur(e);r({...t,nextPage:-1===t.nextPage?void 0:t.nextPage})}catch(e){n(e)}})})}async fetchAsset(e,t,r={}){$t("sourceId",e,Dt()),$t("assetId",t,Dt()),$t("params",r,Lt(Rt()));const n={locale:r.locale??""};return new Promise((r,o)=>{k(this,vr).fetchAssetSourceAsset(e,t,n,e=>{try{const t=ur(e);r(t||null)}catch(e){o(e)}})})}async getGroups(e){return hr(t=>k(this,vr).getAssetSourceGroups(e,t)).then(e=>Tr(e))}getSupportedMimeTypes(e){return Tr(ur(k(this,vr).getAssetSourceSupportedMimeTypes(e)))}getCredits(e){const t=ur(k(this,vr).getAssetSourceCredits(e));if(t.name||t.url)return t.url?t:{name:t.name,url:void 0}}getLicense(e){const t=ur(k(this,vr).getAssetSourceLicense(e));if(t.name||t.url)return t.url?t:{name:t.name,url:void 0}}canManageAssets(e){return!!Pr.get(k(this,vr))?.get(e)?.canManageAssets}addAssetToSource(e,t){ur(k(this,vr).addAssetToSource(e,t))}removeAssetFromSource(e,t){ur(k(this,vr).removeAssetFromSource(e,t))}async apply(e,t,r){const n={clipType:r?.clipType},o=(e,t)=>new Promise((r,n)=>{k(this,vr).applyAssetSourceAsset(e,Mr(t,e),e=>{try{const t=ur(e);k(this,vr).isValid(t)?r(t):r(void 0)}catch(e){n(e)}})});if(k(this,wr).size>0){return Array.from(k(this,wr)).reduce((e,t)=>(r,o)=>t(r,o,e,n),o)(e,t)}return o(e,t)}async applyToBlock(e,t,r){const n=(e,t,r)=>hr(n=>k(this,vr).applyAssetSourceAssetToBlock(e,Mr(t,e),r,n));if(k(this,_r).size>0){return Array.from(k(this,_r)).reduce((e,t)=>(r,n,o)=>t(r,n,o,e),n)(e,t,r)}return n(e,t,r)}async applyProperty(e,t,r){return hr(n=>k(this,vr).applyAssetSourceProperty(e,Mr(t,e),r,n))}async defaultApplyAsset(e){return new Promise((t,r)=>{k(this,vr).defaultApplyAsset(Mr(e,""),e=>{try{const r=ur(e);k(this,vr).isValid(r)?t(r):t(void 0)}catch(e){r(e)}})})}async defaultApplyAssetToBlock(e,t){return hr(r=>k(this,vr).defaultApplyAssetToBlock(Mr(e,""),t,r))}assetSourceContentsChanged(e){ur(k(this,vr).assetSourceContentsChanged(e))}dispose(){Pr.delete(k(this,vr))}};function Mr(e,t){return"context"in e&&e.context.sourceId===t&&"active"in e?e:{...e,active:e.active??!1,context:{sourceId:t}}}kr=h(null),vr=new WeakMap,wr=new WeakMap,_r=new WeakMap,Sr=new WeakSet,Cr=function(e){const t={...e};return 0===t.groups?.length&&delete t.groups,t.locale||delete t.locale,t.label||delete t.label,0===t.tags?.length&&delete t.tags,t.credits?.name||t.credits?.url?t.credits.url||delete t.credits.url:delete t.credits,t.license?.name||t.license?.url?t.license.url||delete t.license.url:delete t.license,t.utm?.source||t.utm?.medium?(t.utm.source||delete t.utm.source,t.utm.medium||delete t.utm.medium):delete t.utm,t},Er=function(e,t){Pr.has(k(this,vr))||Pr.set(k(this,vr),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/`),Pr.get(k(this,vr)).set(e,{canManageAssets:t.canManageAssets})},xr=function(e){Pr.get(k(this,vr))?.delete(e)},y(kr,1,"addSource",yr,AssetAPI),y(kr,1,"addLocalSource",br,AssetAPI),y(kr,1,"addLocalAssetSourceFromJSONString",mr,AssetAPI),y(kr,1,"addLocalAssetSourceFromJSONURI",fr,AssetAPI),y(kr,1,"removeSource",gr,AssetAPI),y(kr,1,"findAllSources",pr,AssetAPI),m(kr,AssetAPI);var Fr,Ir,Rr,Lr,Dr,Or,Br,Ur,jr,qr,Wr,Hr,$r,Vr,Nr,zr,Gr,Xr,Yr,Kr,Qr,Zr,Jr,en,tn,rn,nn,on,sn,an,ln,dn,cn,un,hn="opfs://";function pn(){return"undefined"!=typeof navigator&&"storage"in navigator&&"function"==typeof navigator.storage.getDirectory}function gn(e){const t=new TextDecoder;return t.decode(e.slice(0,7))!==hn?null:t.decode(e)}async function fn(e){if(!pn())throw new Error("OPFS is not supported in this browser.");const t=e.slice(7),r=t.startsWith("/")?t.slice(1):t,n=await navigator.storage.getDirectory(),o=r.split("/");let i=n;for(let e=0;e<o.length-1;e++)i=await i.getDirectoryHandle(o[e]);const s=o[o.length-1];return(await i.getFileHandle(s)).getFile()}sn=[lr],on=[lr],nn=[lr],rn=[lr],tn=[lr],en=[lr],Jr=[lr],Zr=[ar({disabledInModes:["Playback"]})],Qr=[lr],Kr=[lr],Yr=[ar({disabledInModes:["Playback"]})],Xr=[lr],Gr=[lr],zr=[ar({disabledInModes:["Playback"]})],Nr=[lr],Vr=[ar({disabledInModes:["Playback"]})],$r=[ar({disabledInModes:["Playback"]})],Hr=[lr],Wr=[ar({disabledInModes:["Playback"]})],qr=[ar({disabledInModes:["Playback"]})],jr=[ar({disabledInModes:["Playback"]})],Ur=[ar({disabledInModes:["Playback"]})],Br=[lr],Or=[ar({disabledInModes:["Playback"]})],Dr=[lr],Lr=[lr],Rr=[lr],Ir=[ar({disabledInModes:["Playback"]})],Fr=[lr];var mn,bn,yn,vn,wn,_n,kn,Sn,Cn,En,xn,Tn,Pn,An,Mn,Fn,In,Rn,Ln,Dn,On,Bn,Un,jn,qn,Wn,Hn,$n,Vn,Nn,zn,Gn,Xn,Yn,Kn,Qn,Zn,Jn,eo,to,ro,no,oo,io,so,ao,lo,co,uo,ho,po,go,fo,mo,bo,yo,vo,wo,_o,ko,So,Co,Eo,xo,To,Po,Ao,Mo,Fo,Io,Ro,Lo,Do,Oo,Bo,Uo,jo,qo,Wo,Ho,$o,Vo,No,zo,Go,Xo,Yo,Ko,Qo,Zo,Jo,ei,ti,ri,ni,oi,ii,si,ai,li,di,ci,ui,hi,pi,gi,fi,mi,bi,yi,vi,wi,_i,ki,Si,Ci,Ei,xi,Ti,Pi,Ai,Mi,Fi,Ii,Ri,Li,Di,Oi,Bi,Ui,ji,qi,Wi,Hi,$i,Vi,Ni,zi,Gi,Xi,Yi,Ki,Qi,Zi,Ji,es,ts,rs,ns,os,is,ss,as,ls,ds,cs,us,hs,ps,gs,fs,ms,bs,ys,vs,ws,_s,ks,Ss,Cs,Es,xs,Ts,Ps,As,Ms,Fs,Is,Rs,Ls,Ds,Os,Bs,Us,js,qs,Ws,Hs,$s,Vs,Ns,zs,Gs,Xs,Ys,Ks,Qs,Zs,Js,ea,ta,ra,na,oa,ia,sa,aa,la,da,ca,ua,ha,pa,ga,fa,ma,ba,ya,va,wa,_a,ka,Sa,Ca,Ea,xa,Ta,Pa,Aa,Ma,Fa,Ia,Ra,La,Da,Oa,Ba,Ua,ja,qa,Wa,Ha,$a,Va,Na,za,Ga,Xa,Ya,Ka,Qa,Za,Ja,el,tl,rl,nl,ol,il,sl,al,ll,dl,cl,ul,hl,pl,gl,fl,ml,bl,yl,vl,wl,_l,kl,Sl,Cl,El,xl,Tl,Pl,Al,Ml,Fl,Il,Rl,Ll,Dl,Ol,Bl,Ul,jl,ql,Wl,Hl,$l,Vl,Nl,zl,Gl,Xl,Yl,Kl,Ql,Zl,Jl,ed,td,rd,nd,od,id,sd,ad,ld,dd,cd,ud,hd,pd,gd,fd,md,bd,yd,vd,wd,_d,kd,Sd,Cd,Ed,xd,Td,Pd,Ad,Md,Fd,Id,Rd,Ld,Dd,Od,Bd,Ud,jd,qd,Wd,Hd,$d,Vd,Nd,zd,SceneAPI=class{constructor(e,t=!1){b(dn,5,this),S(this,cn),S(this,an),S(this,ln),v(this,"onZoomLevelChanged",e=>{const t=k(this,an).subscribeToZoomLevel(e);return()=>{k(this,an).isDeleted()||ur(k(this,an).unsubscribe(t))}}),v(this,"onActiveChanged",e=>{const t=k(this,an).subscribeToActiveSceneChange(e);return()=>{k(this,an).isDeleted()||ur(k(this,an).unsubscribe(t))}}),C(this,an,e),t||C(this,ln,new BlockAPI(e))}async loadFromString(e,t=!1,r=!1){return $t("sceneContent",e,Dt()),hr(n=>k(this,an).loadSceneFromString(e,n,t,r))}async loadFromURL(e,t=!1,r=!1){return $t("url",e,Dt()),hr(n=>k(this,an).loadSceneFromURL(e,n,t,r))}async loadFromArchiveURL(e,t=!1,r=!1){return $t("url",e,Dt()),hr(n=>k(this,an).loadSceneFromArchiveURL(e,n,t,r))}async saveToString(e,t){const r=this.get();if(null==r)throw new Error("No scene available.");const n=Array.isArray(e)?{allowedResourceSchemes:e,onDisallowedResourceScheme:t}:e??{},o=n.allowedResourceSchemes??["blob","bundle","file","http","https","opfs"],i=n.onDisallowedResourceScheme,s=n.compression?.format,a=n.compression?.level;return hr(e=>{const t={resourceSchemesAllowed:o,persistenceCallback:i?async(e,t,r)=>{const n=await i(e,t);r&&r.invoke(e,n)}:void 0};void 0!==s&&(t.compression={format:s,level:a}),k(this,an).saveSceneToString(r,e,t)})}async saveToArchive(){return new Promise((e,t)=>{const r=this.get();null==r?t(new Error("No scene available.")):k(this,an).saveSceneToArchive(r,async r=>{if("error"in r)t(r.error);else{const n=gn(r);if(null!==n)try{e(await fn(n))}catch(e){t(e)}else e(new Blob([r],{type:"application/zip"}))}})})}create(e="Free",t){$t("sceneLayout",e,Yt()),void 0!==t?.designUnit&&$t("designUnit",t.designUnit,Qt()),void 0!==t?.fontSizeUnit&&$t("fontSizeUnit",t.fontSizeUnit,Zt());const r=ur(void 0!==t?.designUnit||void 0!==t?.fontSizeUnit?k(this,an).createSceneWithUnits(t.designUnit??"Pixel",t.fontSizeUnit,e):k(this,an).createScene(e));return t?(E(this,cn,un).call(this,r,t),r):r}createVideo(e){const t=this.create("Free",e);return this.setMode("Video"),t}createFromImage(e,t=300,r=1,n="Free",o=0,i=!1){return $t("url",e,Dt()),$t("dpi",t,jt(It(),0)),$t("pixelScaleFactor",r,jt(It(),0)),$t("sceneLayout",n,Yt()),hr(s=>k(this,an).createSceneFromImage(e,t,r,n,o,i,s))}createFromVideo(e){return $t("url",e,Dt()),hr(t=>k(this,an).createSceneFromVideo(e,t))}get(){const e=ur(k(this,an).findByType("scene")),t=Tr(e);return t.length>0?t[0]:null}async applyTemplateFromString(e){return $t("content",e,Dt()),hr(t=>k(this,an).applyTemplateFromString(e,t))}async applyTemplateFromURL(e){return $t("url",e,Dt()),hr(t=>k(this,an).applyTemplateFromURL(e,t))}getMode(){const e=this.get(),t=k(this,an).getSceneMode(e);return t.isValid()?ur(t):(t.delete(),null)}setMode(e){$t("mode",e,function(){const e=["Design","Video"];return Tt("SceneMode",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}());const t=this.get();if(null==t)throw new Error("No scene available.");ur(k(this,an).setSceneMode(t,e))}setDesignUnit(e){$t("designUnit",e,Qt());const t=this.get();ur(k(this,an).setDesignUnit(t,e))}getDesignUnit(){const e=this.get();return ur(k(this,an).getDesignUnit(e))}setFontSizeUnit(e){$t("fontSizeUnit",e,Zt());const t=this.get();ur(k(this,an).setFontSizeUnit(t,e))}getFontSizeUnit(){const e=this.get();return ur(k(this,an).getFontSizeUnit(e))}getLayout(){const e=this.get();if(null==e)throw new Error("No scene available.");return ur(k(this,an).getSceneLayout(e))}setLayout(e){$t("layout",e,Yt());const t=this.get();if(null==t)throw new Error("No scene available.");ur(k(this,an).setSceneLayout(t,e))}getPages(){return Tr(ur(k(this,an).getPages()))}getCurrentPage(){const e=this.get();if(null==e)return null;const t=k(this,an).getCurrentPage(e);return t.isValid()?ur(t):null}findNearestToViewPortCenterByType(e){$t("type",e,Dt());const t=this.get();if(null==t)return[];const r=ur(k(this,an).findNearestToViewPortCenterByType(t,e));return Tr(r)}findNearestToViewPortCenterByKind(e){$t("kind",e,Dt());const t=this.get();if(null==t)return[];const r=ur(k(this,an).findNearestToViewPortCenterByKind(t,e));return Tr(r)}setZoomLevel(e=1){const t=this.get();$t("zoomLevel",e,jt(It(),0)),k(this,an).setZoomLevel(t,e)}getZoomLevel(){const e=this.get();return ur(k(this,an).getZoomLevel(e))}async zoomToBlock(e,t,r,n,o){$t("id",e,Ft());try{$t("options",t,Lt(Rt({padding:Lt(Bt([It(),Rt({x:Lt(It()),y:Lt(It())}),Rt({top:Lt(It()),bottom:Lt(It()),left:Lt(It()),right:Lt(It())})])),animate:Lt(Bt([At(),Rt({duration:Lt(jt(It(),0)),easing:Lt(Kt()),interruptible:Lt(At())})]))})))}catch(e){try{$t("paddingLeft",t,Lt(It())),$t("paddingTop",r,Lt(It())),$t("paddingRight",n,Lt(It())),$t("paddingBottom",o,Lt(It()))}catch(t){throw new Error(`Invalid arguments.\nIf your're using the deprecated signature:\ncesdk.engine.scene.zoomToBlock(id, paddingLeft, paddingTop, paddingRight, paddingBottom)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.scene.zoomToBlock(id, options)\n${e.message}`)}}const i="object"==typeof t?t:{padding:{left:t??0,top:r??0,right:n??0,bottom:o??0}},s={left:0,top:0,right:0,bottom:0};if(null!=i.padding&&("number"==typeof i.padding?(s.left=i.padding,s.top=i.padding,s.right=i.padding,s.bottom=i.padding):(("x"in i.padding||"y"in i.padding)&&(s.left=i.padding.x??s.left,s.right=i.padding.x??s.right,s.top=i.padding.y??s.top,s.bottom=i.padding.y??s.bottom),("left"in i.padding||"top"in i.padding||"right"in i.padding||"bottom"in i.padding)&&(s.left=i.padding.left??s.left,s.top=i.padding.top??s.top,s.right=i.padding.right??s.right,s.bottom=i.padding.bottom??s.bottom))),i.animate){const t={duration:.5,easing:"EaseInOut",interruptible:!1};return"object"==typeof i.animate&&(t.duration=i.animate.duration??t.duration,t.easing=i.animate.easing??t.easing,t.interruptible=i.animate.interruptible??t.interruptible),new Promise(r=>{k(this,an).zoomToBlockWithAnimation(e,s.left,s.top,s.right,s.bottom,t.duration,t.easing,t.interruptible,()=>{r()})})}return hr(t=>k(this,an).zoomToBlock(e,s.left,s.top,s.right,s.bottom,t))}enableZoomAutoFit(e,t,r=0,n=0,o=0,i=0){return $t("id",e,Ft()),$t("axis",t,function(){const e=["Horizontal","Vertical","Both"];return Tt("ZoomAutoFitAxis",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}()),"Horizontal"===t?($t("paddingBefore",r,It()),$t("paddingAfter",n,It()),ur(k(this,an).enableZoomAutoFit(e,t,r,0,n,0))):"Vertical"===t?($t("paddingBefore",r,It()),$t("paddingAfter",n,It()),ur(k(this,an).enableZoomAutoFit(e,t,0,r,0,n))):($t("paddingLeft",r,It()),$t("paddingTop",n,It()),$t("paddingRight",o,It()),$t("paddingBottom",i,It()),ur(k(this,an).enableZoomAutoFit(e,t,r,n,o,i)))}disableZoomAutoFit(e){return $t("blockOrScene",e,Ft()),ur(k(this,an).disableZoomAutoFit(e))}isZoomAutoFitEnabled(e){return $t("blockOrScene",e,Ft()),ur(k(this,an).isZoomAutoFitEnabled(e))}unstable_enableCameraPositionClamping(e,t=0,r=0,n=0,o=0,i=0,s=0,a=0,l=0){return $t("ids",e,Pt(It())),$t("paddingLeft",t,It()),$t("paddingTop",r,It()),$t("paddingRight",n,It()),$t("paddingBottom",o,It()),$t("scaledPaddingLeft",t,It()),$t("scaledPaddingTop",r,It()),$t("scaledPaddingRight",n,It()),$t("scaledPaddingBottom",o,It()),ur(k(this,an).unstable_enableCameraPositionClamping(e,t,r,n,o,i,s,a,l))}unstable_disableCameraPositionClamping(e=this.get()){if(null==e)throw new Error("No scene available.");return ur(k(this,an).unstable_disableCameraPositionClamping(e))}unstable_isCameraPositionClampingEnabled(e=this.get()){if(null==e)throw new Error("No scene available.");return ur(k(this,an).unstable_isCameraPositionClampingEnabled(e))}unstable_enableCameraZoomClamping(e,t=-1,r=-1,n=0,o=0,i=0,s=0){return $t("ids",e,Pt(It())),$t("minZoomLimit",t,It()),$t("maxZoomLimit",r,It()),$t("paddingLeft",n,It()),$t("paddingTop",o,It()),$t("paddingRight",i,It()),$t("paddingBottom",s,It()),ur(k(this,an).unstable_enableCameraZoomClamping(e,t,r,n,o,i,s))}unstable_disableCameraZoomClamping(e=this.get()){if(null==e)throw new Error("No scene available.");return ur(k(this,an).unstable_disableCameraZoomClamping(e))}unstable_isCameraZoomClampingEnabled(e=this.get()){if(null==e)throw new Error("No scene available.");return ur(k(this,an).unstable_isCameraZoomClampingEnabled(e))}setPlaying(e){const t=this.getCurrentPage();if(null==t)throw new Error("No page to play");k(this,an).setPlaying(t,e)}};function Gd(e){return"r"in e&&"a"in e&&void 0!==e.r&&void 0!==e.a}function Xd(e){return"name"in e&&void 0!==e.name}function Yd(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}function Kd(e,t,r){switch(t){case"Point":default:return e;case"Pixel":return 72*e/r;case"Millimeter":return 72*e/25.4;case"Inch":return 72*e}}function Qd(e,t,r){switch(t){case"Point":default:return e;case"Pixel":return e*r/72;case"Millimeter":return 25.4*e/72;case"Inch":return e/72}}dn=h(null),an=new WeakMap,ln=new WeakMap,cn=new WeakSet,un=function(e,t){if(!t.page)return;if(!k(this,ln))throw new Error("Utility functions not allowed to be called inside utility functions.");let r=0,n=0;if("number"==typeof t.page.size)r=t.page.size,n=t.page.size;else{if("object"!=typeof t.page.size)return;r=t.page.size.width,n=t.page.size.height}const o=k(this,ln).create("page");if(k(this,ln).appendChild(e,o),k(this,ln).setSize(o,r,n),t.page.color){const e=k(this,ln).createFill("color");k(this,ln).setFill(o,e),k(this,ln).setColor(o,"fill/solid/color",t.page.color)}},y(dn,1,"loadFromString",sn,SceneAPI),y(dn,1,"loadFromURL",on,SceneAPI),y(dn,1,"loadFromArchiveURL",nn,SceneAPI),y(dn,1,"create",rn,SceneAPI),y(dn,1,"createVideo",tn,SceneAPI),y(dn,1,"createFromImage",en,SceneAPI),y(dn,1,"createFromVideo",Jr,SceneAPI),y(dn,1,"get",Zr,SceneAPI),y(dn,1,"applyTemplateFromString",Qr,SceneAPI),y(dn,1,"applyTemplateFromURL",Kr,SceneAPI),y(dn,1,"getMode",Yr,SceneAPI),y(dn,1,"setMode",Xr,SceneAPI),y(dn,1,"setDesignUnit",Gr,SceneAPI),y(dn,1,"getDesignUnit",zr,SceneAPI),y(dn,1,"setFontSizeUnit",Nr,SceneAPI),y(dn,1,"getFontSizeUnit",Vr,SceneAPI),y(dn,1,"getLayout",$r,SceneAPI),y(dn,1,"setLayout",Hr,SceneAPI),y(dn,1,"getPages",Wr,SceneAPI),y(dn,1,"getCurrentPage",qr,SceneAPI),y(dn,1,"findNearestToViewPortCenterByType",jr,SceneAPI),y(dn,1,"findNearestToViewPortCenterByKind",Ur,SceneAPI),y(dn,1,"setZoomLevel",Br,SceneAPI),y(dn,1,"getZoomLevel",Or,SceneAPI),y(dn,1,"zoomToBlock",Dr,SceneAPI),y(dn,1,"enableZoomAutoFit",Lr,SceneAPI),y(dn,1,"disableZoomAutoFit",Rr,SceneAPI),y(dn,1,"isZoomAutoFitEnabled",Ir,SceneAPI),y(dn,1,"setPlaying",Fr,SceneAPI),m(dn,SceneAPI),(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(Gd(e))return{colorSpace:0,components:{x:e.r,y:e.g,z:e.b,w:e.a},spotColorName:"",tint:1,externalReference:""};if(Yd(e))return{colorSpace:1,components:{x:e.c,y:e.m,z:e.y,w:e.k},spotColorName:"",tint:e.tint,externalReference:""};if(Xd(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!")}})(mn||(mn={})),Wd=[lr],qd=[lr],jd=[lr],Ud=[lr],Bd=[lr],Od=[lr],Dd=[lr],Ld=[lr],Rd=[ar({disabledInModes:["Playback"]})],Id=[ar({disabledInModes:["Playback"]})],Fd=[lr],Md=[lr],Ad=[lr],Pd=[ar({disabledInModes:["Playback"]})],Td=[ar({disabledInModes:["Playback"]})],xd=[ar({disabledInModes:["Playback"]})],Ed=[lr],Cd=[lr],Sd=[lr],kd=[lr],_d=[ar({disabledInModes:["Playback"]})],wd=[lr],vd=[lr],yd=[ar({disabledInModes:["Playback"]})],bd=[ar({disabledInModes:["Playback"]})],md=[ar({disabledInModes:["Playback"]})],fd=[ar({disabledInModes:["Playback"]})],gd=[ar({disabledInModes:["Playback"]})],pd=[ar({disabledInModes:["Playback"]})],hd=[ar({disabledInModes:["Playback"]})],ud=[ar({disabledInModes:["Playback"]})],cd=[lr],dd=[ar({disabledInModes:["Playback"]})],ld=[lr],ad=[ar({disabledInModes:["Playback"]})],sd=[lr],id=[ar({disabledInModes:["Playback"]})],od=[lr],nd=[ar({disabledInModes:["Playback"]})],rd=[ar({disabledInModes:["Playback"]})],td=[lr],ed=[ar({disabledInModes:["Playback"]})],Jl=[ar({disabledInModes:["Playback"]})],Zl=[ar({disabledInModes:["Playback"]})],Ql=[ar({disabledInModes:["Playback"]})],Kl=[lr],Yl=[lr],Xl=[lr],Gl=[lr],zl=[lr],Nl=[lr],Vl=[ar({disabledInModes:["Playback"]})],$l=[ar({disabledInModes:["Playback"]})],Hl=[lr],Wl=[lr],ql=[lr],jl=[lr],Ul=[ar({disabledInModes:["Playback"]})],Bl=[lr],Ol=[ar({disabledInModes:["Playback"]})],Dl=[ar({disabledInModes:["Playback"]})],Ll=[lr],Rl=[lr],Il=[ar({disabledInModes:["Playback"]})],Fl=[ar({disabledInModes:["Playback"]})],Ml=[ar({disabledInModes:["Playback"]})],Al=[ar({disabledInModes:["Playback"]})],Pl=[lr],Tl=[lr],xl=[lr],El=[lr],Cl=[lr],Sl=[lr],kl=[ar({disabledInModes:["Playback"]})],_l=[ar({disabledInModes:["Playback"]})],wl=[ar({disabledInModes:["Playback"]})],vl=[ar({disabledInModes:["Playback"]})],yl=[lr],bl=[ar({disabledInModes:["Playback"]})],ml=[lr],fl=[ar({disabledInModes:["Playback"]})],gl=[lr],pl=[ar({disabledInModes:["Playback"]})],hl=[lr],ul=[lr],cl=[ar({disabledInModes:["Playback"]})],dl=[ar({disabledInModes:["Playback"]})],ll=[ar({disabledInModes:["Playback"]})],al=[lr],sl=[lr],il=[ar({disabledInModes:["Playback"]})],ol=[ar({disabledInModes:["Playback"]})],nl=[ar({disabledInModes:["Playback"]})],rl=[ar({disabledInModes:["Playback"]})],tl=[ar({disabledInModes:["Playback"]})],el=[ar({disabledInModes:["Playback"]})],Ja=[lr],Za=[lr],Qa=[ar({disabledInModes:["Playback"]})],Ka=[lr],Ya=[lr],Xa=[lr],Ga=[lr],za=[lr],Na=[lr],Va=[ar({disabledInModes:["Playback"]})],$a=[ar({disabledInModes:["Playback"]})],Ha=[ar({disabledInModes:["Playback"]})],Wa=[ar({disabledInModes:["Playback"]})],qa=[ar({disabledInModes:["Playback"]})],ja=[lr],Ua=[ar({disabledInModes:["Playback"]})],Ba=[lr],Oa=[ar({disabledInModes:["Playback"]})],Da=[lr],La=[ar({disabledInModes:["Playback"]})],Ra=[lr],Ia=[ar({disabledInModes:["Playback"]})],Fa=[lr],Ma=[ar({disabledInModes:["Playback"]})],Aa=[lr],Pa=[ar({disabledInModes:["Playback"]})],Ta=[lr],xa=[ar({disabledInModes:["Playback"]})],Ea=[lr],Ca=[ar({disabledInModes:["Playback"]})],Sa=[ar({disabledInModes:["Playback"]})],ka=[lr],_a=[ar({disabledInModes:["Playback"]})],wa=[ar({disabledInModes:["Playback"]})],va=[lr],ya=[lr],ba=[lr],ma=[lr],fa=[ar({disabledInModes:["Playback"]})],ga=[lr],pa=[lr],ha=[lr],ua=[lr],ca=[lr],da=[lr],la=[lr],aa=[ar({disabledInModes:["Playback"]})],sa=[ar({disabledInModes:["Playback"]})],ia=[ar({disabledInModes:["Playback"]})],oa=[ar({disabledInModes:["Playback"]})],na=[ar({disabledInModes:["Playback"]})],ra=[ar({disabledInModes:["Playback"]})],ta=[lr],ea=[lr],Js=[lr],Zs=[ar({disabledInModes:["Playback"]})],Qs=[lr],Ks=[lr],Ys=[ar({disabledInModes:["Playback"]})],Xs=[lr],Gs=[ar({disabledInModes:["Playback"]})],zs=[ar({disabledInModes:["Playback"]})],Ns=[lr],Vs=[lr],$s=[ar({disabledInModes:["Playback"]})],Hs=[lr],Ws=[ar({disabledInModes:["Playback"]})],qs=[lr],js=[ar()],Us=[lr],Bs=[lr],Os=[lr],Ds=[lr],Ls=[ar({disabledInModes:["Playback"]})],Rs=[lr],Is=[lr],Fs=[ar({disabledInModes:["Playback"]})],Ms=[lr],As=[ar({disabledInModes:["Playback"]})],Ps=[lr],Ts=[ar({disabledInModes:["Playback"]})],xs=[lr],Es=[ar({disabledInModes:["Playback"]})],Cs=[lr],Ss=[ar({disabledInModes:["Playback"]})],ks=[lr],_s=[ar({disabledInModes:["Playback"]})],ws=[lr],vs=[lr],ys=[ar({disabledInModes:["Playback"]})],bs=[ar({disabledInModes:["Playback"]})],ms=[lr],fs=[ar({disabledInModes:["Playback"]})],gs=[lr],ps=[ar({disabledInModes:["Playback"]})],hs=[lr],us=[ar({disabledInModes:["Playback"]})],cs=[lr],ds=[ar({disabledInModes:["Playback"]})],ls=[lr],as=[ar({disabledInModes:["Playback"]})],ss=[lr],is=[ar({disabledInModes:["Playback"]})],os=[lr],ns=[ar({disabledInModes:["Playback"]})],rs=[lr],ts=[ar({disabledInModes:["Playback"]})],es=[lr],Ji=[ar({disabledInModes:["Playback"]})],Zi=[lr],Qi=[ar({disabledInModes:["Playback"]})],Ki=[lr],Yi=[ar({disabledInModes:["Playback"]})],Xi=[lr],Gi=[ar({disabledInModes:["Playback"]})],zi=[lr],Ni=[lr],Vi=[ar({disabledInModes:["Playback"]})],$i=[ar({disabledInModes:["Playback"]})],Hi=[lr],Wi=[ar({disabledInModes:["Playback"]})],qi=[lr],ji=[ar({disabledInModes:["Playback"]})],Ui=[lr],Bi=[ar({disabledInModes:["Playback"]})],Oi=[lr],Di=[ar({disabledInModes:["Playback"]})],Li=[lr],Ri=[ar({disabledInModes:["Playback"]})],Ii=[lr],Fi=[lr],Mi=[lr],Ai=[lr],Pi=[lr],Ti=[lr],xi=[ar({disabledInModes:["Playback"]})],Ei=[lr],Ci=[ar({disabledInModes:["Playback"]})],Si=[lr],ki=[ar({disabledInModes:["Playback"]})],_i=[lr],wi=[ar({disabledInModes:["Playback"]})],vi=[ar({disabledInModes:["Playback"]})],yi=[lr],bi=[ar({disabledInModes:["Playback"]})],mi=[lr],fi=[lr],gi=[ar({disabledInModes:["Playback"]})],pi=[lr],hi=[lr],ui=[lr],ci=[ar({disabledInModes:["Playback"]})],di=[lr],li=[ar({disabledInModes:["Playback"]})],ai=[lr],si=[ar({disabledInModes:["Playback"]})],ii=[lr],oi=[ar({disabledInModes:["Playback"]})],ni=[lr],ri=[ar({disabledInModes:["Playback"]})],ti=[ar({disabledInModes:["Playback"]})],ei=[ar({disabledInModes:["Playback"]})],Jo=[lr],Zo=[lr],Qo=[lr],Ko=[lr],Yo=[ar({disabledInModes:["Playback"]})],Xo=[ar({disabledInModes:["Playback"]})],Go=[ar({disabledInModes:["Playback"]})],zo=[lr],No=[ar({disabledInModes:["Playback"]})],Vo=[ar({disabledInModes:["Playback"]})],$o=[ar({disabledInModes:["Playback"]})],Ho=[ar({disabledInModes:["Playback"]})],Wo=[ar({disabledInModes:["Playback"]})],qo=[ar({disabledInModes:["Playback"]})],jo=[lr],Uo=[ar({disabledInModes:["Playback"]})],Bo=[lr],Oo=[ar({disabledInModes:["Playback"]})],Do=[lr],Lo=[lr],Ro=[ar({disabledInModes:["Playback"]})],Io=[lr],Fo=[ar({disabledInModes:["Playback"]})],Mo=[lr],Ao=[ar({disabledInModes:["Playback"]})],Po=[lr],To=[ar({disabledInModes:["Playback"]})],xo=[lr],Eo=[ar({disabledInModes:["Playback"]})],Co=[lr],So=[ar({disabledInModes:["Playback"]})],ko=[ar({disabledInModes:["Playback"]})],_o=[ar({disabledInModes:["Playback"]})],wo=[lr],vo=[lr],yo=[ar({disabledInModes:["Playback"]})],bo=[ar({disabledInModes:["Playback"]})],mo=[lr],fo=[ar({disabledInModes:["Playback"]})],go=[lr],po=[ar({disabledInModes:["Playback"]})],ho=[lr],uo=[lr],co=[ar({disabledInModes:["Playback"]})],lo=[lr],ao=[ar({disabledInModes:["Playback"]})],so=[lr],io=[ar({disabledInModes:["Playback"]})],oo=[lr],no=[ar({disabledInModes:["Playback"]})],ro=[lr],to=[ar()],eo=[lr],Jn=[ar()],Zn=[ar({disabledInModes:["Playback"]})],Qn=[lr],Kn=[ar({disabledInModes:["Playback"]})],Yn=[lr],Xn=[ar()],Gn=[lr],zn=[ar({disabledInModes:["Playback"]})],Nn=[ar({disabledInModes:["Playback"]})],Vn=[lr],$n=[ar({disabledInModes:["Playback"]})],Hn=[lr],Wn=[ar({disabledInModes:["Playback"]})],qn=[lr],jn=[ar({disabledInModes:["Playback"]})],Un=[ar({disabledInModes:["Playback"]})],Bn=[ar({disabledInModes:["Playback"]})],On=[ar({disabledInModes:["Playback"]})],Dn=[ar({disabledInModes:["Playback"]})],Ln=[ar({disabledInModes:["Playback"]})],Rn=[ar({disabledInModes:["Playback"]})],In=[lr],Fn=[lr],Mn=[lr],An=[lr],Pn=[ar({disabledInModes:["Playback"]})],Tn=[ar({disabledInModes:["Playback"]})],xn=[ar({disabledInModes:["Playback"]})],En=[lr],Cn=[ar({disabledInModes:["Playback"]})],Sn=[lr],kn=[lr],_n=[lr],wn=[lr],vn=[ar({disabledInModes:["Playback"]})],yn=[ar({disabledInModes:["Playback"]})],bn=[lr];var BlockAPI=class{constructor(e){b(Vd,5,this),S(this,Nd),S(this,Hd),S(this,$d),v(this,"onSelectionChanged",e=>{const t=k(this,Hd).subscribeToSelectionChange(e);return()=>{k(this,Hd).isDeleted()||ur(k(this,Hd).unsubscribe(t))}}),v(this,"onClicked",e=>{const t=k(this,Hd).subscribeToBlockClicked(e);return()=>{k(this,Hd).isDeleted()||ur(k(this,Hd).unsubscribe(t))}}),v(this,"onStateChanged",(e,t)=>{$t("ids",e,Pt(Ft()));const r=k(this,Hd).subscribeToBlockState(e,e=>{try{t(Tr(e,!0))}catch(e){console.error(e)}});return()=>{k(this,Hd).isDeleted()||ur(k(this,Hd).unsubscribe(r))}}),C(this,Hd,e),C(this,$d,new SceneAPI(e,!0))}async export(e,t,r){$t("handle",e,It());try{$t("options",t,Lt(Rt({mimeType:Lt(Bt([Nt(),Xt()])),pngCompressionLevel:Lt(jt(Ut(Ft(),9),0)),jpegQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),webpQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),targetWidth:Lt(It()),targetHeight:Lt(It()),exportPdfWithHighCompatibility:Lt(At()),exportPdfWithUnderlayer:Lt(At()),underlayerSpotColorName:Lt(Dt()),underlayerOffset:Lt(It()),underlayerRenderRatio:Lt(Vt()),underlayerMaxError:Lt(Vt()),allowTextOverhang:Lt(At()),exportPdfWithDeviceCMYK:Lt(At()),abortSignal:Lt(Jt())})))}catch(e){try{$t("mimeType",t,Lt(Bt([Nt(),Xt()]))),$t("options",r,Lt(Rt({pngCompressionLevel:Lt(jt(Ut(Ft(),9),0)),jpegQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),webpQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),targetWidth:Lt(It()),targetHeight:Lt(It()),exportPdfWithHighCompatibility:Lt(At()),exportPdfWithUnderlayer:Lt(At()),underlayerSpotColorName:Lt(Dt()),underlayerOffset:Lt(It()),underlayerRenderRatio:Lt(Vt()),underlayerMaxError:Lt(Vt()),allowTextOverhang:Lt(At()),abortSignal:Lt(Jt())})))}catch(t){throw new Error(`Invalid arguments.\nIf your're using the deprecated signature:\ncesdk.engine.block.export(handle, mimeType, options)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.block.export(handle, options)\n${e.message}`)}}const n="object"==typeof t?t:{mimeType:t,...r},o=n.mimeType??"image/png",i=null!=n.targetWidth&&null!=n.targetHeight,s=n.jpegQuality??.9,a=n.webpQuality??1,l=n.pngCompressionLevel??5;return new Promise((t,r)=>{n.abortSignal?.addEventListener("abort",()=>{r(new Error("AbortSignal received"))}),k(this,Hd).exportToBuffer(e,o,e=>{"error"in e?r(e.error):t(new Blob([e],{type:o}))},{pngCompressionLevel:l,jpegQuality:s,webpQuality:a,useTargetSize:i,targetWidth:n.targetWidth??0,targetHeight:n.targetHeight??0,exportPdfWithHighCompatibility:n.exportPdfWithHighCompatibility??!0,exportPdfWithUnderlayer:n.exportPdfWithUnderlayer??!1,underlayerSpotColorName:n.underlayerSpotColorName??"",underlayerOffset:n.underlayerOffset??0,underlayerRenderRatio:n.underlayerRenderRatio??1,underlayerMaxError:n.underlayerMaxError??2,allowTextOverhang:n.allowTextOverhang??!1,exportPdfWithDeviceCMYK:n.exportPdfWithDeviceCMYK??!1})})}async getDominantColors(e,t={}){$t("handle",e,It()),$t("options",t,Lt(Rt({count:Lt(Ft()),ignoreWhite:Lt(At())})));const r=t.count??5,n=t.ignoreWhite??!1;return new Promise((t,o)=>{k(this,Hd).getDominantColors(e,e=>{"error"in e?o(new Error(e.error)):t(e)},{count:r,ignoreWhite:n})})}async exportWithColorMask(e,t,r,n,o,i){$t("handle",e,It());try{$t("maskColorR",t,It()),$t("maskColorG",r,It()),$t("maskColorB",n,It()),$t("options",i,Lt(Rt({mimeType:Lt(Bt([Nt(),Xt()])),pngCompressionLevel:Lt(jt(Ut(Ft(),9),0)),jpegQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),webpQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),targetWidth:Lt(It()),targetHeight:Lt(It()),exportPdfWithHighCompatibility:Lt(At()),exportPdfWithUnderlayer:Lt(At()),underlayerSpotColorName:Lt(Dt()),underlayerOffset:Lt(It()),underlayerRenderRatio:Lt(Vt()),underlayerMaxError:Lt(Vt()),abortSignal:Lt(Jt())})))}catch(e){try{$t("mimeType",t,Lt(Bt([Nt(),Xt()]))),$t("maskColorR",r,It()),$t("maskColorG",n,It()),$t("maskColorB",o,It()),$t("options",i,Lt(Rt({pngCompressionLevel:Lt(jt(Ut(Ft(),9),0)),jpegQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),webpQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),targetWidth:Lt(It()),targetHeight:Lt(It()),exportPdfWithHighCompatibility:Lt(At()),exportPdfWithUnderlayer:Lt(At()),underlayerSpotColorName:Lt(Dt()),underlayerOffset:Lt(It()),underlayerRenderRatio:Lt(Vt()),underlayerMaxError:Lt(Vt()),abortSignal:Lt(Jt())})))}catch(t){throw new Error(`Invalid arguments.\nIf your're using the deprecated signature:\ncesdk.engine.block.exportWithColorMask(handle, mimeType, maskColorR, maskColorG, maskColorB, options)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.block.exportWithColorMask(handle, maskColorR, maskColorG, maskColorB, options)\n${e.message}`)}}let s,a,l,d;"number"==typeof t?(s=t,a=r,l=n,d=o??{}):(s=r,a=n,l=o,d={mimeType:t,...i});const c=d.mimeType??"image/png",u=null!=d.targetWidth&&null!=d.targetHeight,h=d.jpegQuality??.9,p=d.webpQuality??1,g=d.pngCompressionLevel??5;return new Promise((t,r)=>{d.abortSignal?.addEventListener("abort",()=>{r(new Error("AbortSignal received"))}),k(this,Hd).exportWithColorMaskToBuffer(e,c,s,a,l,(e,n)=>{if("error"in e)r(e.error);else if("error"in n)r(n.error);else{const r=new Blob([e],{type:c}),o=new Blob([n],{type:c});t([r,o])}},{pngCompressionLevel:g,jpegQuality:h,webpQuality:p,useTargetSize:u,targetWidth:d.targetWidth??0,targetHeight:d.targetHeight??0,exportPdfWithHighCompatibility:d.exportPdfWithHighCompatibility??!0,exportPdfWithUnderlayer:d.exportPdfWithUnderlayer??!1,underlayerSpotColorName:d.underlayerSpotColorName??"",underlayerOffset:d.underlayerOffset??0,underlayerRenderRatio:d.underlayerRenderRatio??1,underlayerMaxError:d.underlayerMaxError??2,allowTextOverhang:d.allowTextOverhang??!1,exportPdfWithDeviceCMYK:d.exportPdfWithDeviceCMYK??!1})})}async exportVideo(e,t,r,n){throw new Error("Method not implemented. An implementation is available on the BlockAPI at engine.block or cesdk.engine.block")}async exportAudio(e,t={}){return $t("handle",e,It()),$t("options",t,Rt({mimeType:Lt(zt()),onProgress:Lt(Mt()),timeOffset:Lt(It()),duration:Lt(It()),sampleRate:Lt(It()),numberOfChannels:Lt(It())})),new Promise((r,n)=>{k(this,Hd).exportAudioToBuffer(e,t.timeOffset??0,t.duration??0,t.mimeType??"audio/wav",t.onProgress??(()=>{}),e=>{"error"in e?n(e.error):r(new Blob([e],{type:t.mimeType??"audio/wav"}))},{sampleRate:t.sampleRate??48e3,numberOfChannels:t.numberOfChannels??2,skipEncoding:t.skipEncoding??!1})})}async loadFromString(e){return $t("content",e,Dt()),hr(t=>k(this,Hd).loadBlocksFromString(e,t)).then(e=>Tr(e))}loadFromArchiveURL(e){return $t("url",e,Dt()),hr(t=>k(this,Hd).loadBlocksFromArchiveURL(e,t)).then(e=>Tr(e))}loadFromURL(e){return $t("url",e,Dt()),hr(t=>k(this,Hd).loadBlocksFromURL(e,t)).then(e=>Tr(e))}async saveToString(e,t=["buffer","http","https"],r){return $t("blocks",e,Pt(It())),hr(n=>k(this,Hd).saveBlocksToString(e,n,t,r?async(e,t,n)=>{const o=await r(e,t);n&&n.invoke(e,o)}:void 0))}async saveToArchive(e){return $t("blocks",e,Pt(It())),new Promise((t,r)=>{k(this,Hd).saveBlocksToArchive(e,async e=>{if("error"in e)r(e.error);else{const n=gn(e);if(null!==n)try{t(await fn(n))}catch(e){r(e)}else t(new Blob([e],{type:"application/zip"}))}})})}create(e){return $t("type",e,Dt()),ur(k(this,Hd).create(e))}createFill(e){return $t("type",e,Dt()),ur(k(this,Hd).createFill(e))}getAudioTrackCountFromVideo(e){return $t("videoFillBlock",e,Ft()),ur(k(this,Hd).getAudioTrackCountFromVideo(e))}createAudioFromVideo(e,t,r={}){return $t("videoFillBlock",e,Ft()),$t("trackIndex",t,It()),$t("options",r,Rt({keepTrimSettings:Lt(At()),muteOriginalVideo:Lt(At())})),ur(k(this,Hd).createAudioFromVideo(e,t,{keepTrimSettings:r.keepTrimSettings??!0,muteOriginalVideo:r.muteOriginalVideo??!0}))}createAudiosFromVideo(e,t={}){return $t("videoFillBlock",e,Ft()),$t("options",t,Rt({keepTrimSettings:Lt(At()),muteOriginalVideo:Lt(At())})),Tr(ur(k(this,Hd).createAudiosFromVideo(e,{keepTrimSettings:t.keepTrimSettings??!0,muteOriginalVideo:t.muteOriginalVideo??!0})))}getAudioInfoFromVideo(e){return $t("videoFillBlock",e,Ft()),Tr(ur(k(this,Hd).getAudioInfoFromVideo(e)))}async createCaptionsFromURI(e){return $t("uri",e,Dt()),hr(t=>k(this,Hd).createCaptionsFromURI(e,t)).then(e=>Tr(e))}getType(e){return $t("id",e,Ft()),ur(k(this,Hd).getType(e))}getKind(e){return $t("id",e,Ft()),ur(k(this,Hd).getKind(e))}setKind(e,t){$t("id",e,Ft()),ur(k(this,Hd).setKind(e,t))}select(e){return $t("id",e,Ft()),ur(k(this,Hd).select(e))}setSelected(e,t){return $t("id",e,Ft()),$t("selected",t,At()),ur(k(this,Hd).setSelected(e,t))}isSelected(e){return $t("id",e,Ft()),ur(k(this,Hd).isSelected(e))}findAllSelected(){return Tr(k(this,Hd).findAllSelected())}isGroupable(e){return $t("ids",e,Pt(It())),ur(k(this,Hd).isGroupable(e))}group(e){return $t("ids",e,qt(Pt(It()))),ur(k(this,Hd).group(e))}ungroup(e){return $t("id",e,It()),ur(k(this,Hd).ungroup(e))}enterGroup(e){return $t("id",e,It()),ur(k(this,Hd).enterGroup(e))}exitGroup(e){return $t("id",e,It()),ur(k(this,Hd).exitGroup(e))}isCombinable(e){return $t("ids",e,Pt(It())),ur(k(this,Hd).isCombinable(e))}combine(e,t){return $t("ids",e,Pt(It())),$t("op",t,Dt()),ur(k(this,Hd).combine(e,t))}setName(e,t){return $t("id",e,Ft()),$t("name",t,Dt()),ur(k(this,Hd).setName(e,t))}getName(e){return $t("id",e,Ft()),ur(k(this,Hd).getName(e))}getUUID(e){return $t("id",e,Ft()),ur(k(this,Hd).getUUID(e))}findByName(e){$t("name",e,Dt());const t=k(this,Hd).findByName(e);return Tr(t)}findByType(e){$t("type",e,Dt());const t=ur(k(this,Hd).findByType(e));return Tr(t)}findByKind(e){$t("kind",e,Dt());const t=ur(k(this,Hd).findByKind(e));return Tr(t)}findAll(){return Tr(k(this,Hd).findAll())}findAllPlaceholders(){return Tr(k(this,Hd).findAllPlaceholders())}findAllUnused(){return Tr(k(this,Hd).findAllUnused())}createShape(e){return $t("type",e,Dt()),ur(k(this,Hd).createShape(e))}hasShape(e){return $t("id",e,Ft()),ur(k(this,Hd).hasShape(e))}supportsShape(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsShape(e))}getShape(e){return $t("id",e,Ft()),ur(k(this,Hd).getShape(e))}setShape(e,t){return $t("id",e,Ft()),$t("shape",t,Ft()),ur(k(this,Hd).setShape(e,t))}isVisible(e){return $t("id",e,Ft()),ur(k(this,Hd).isVisible(e))}setVisible(e,t){return $t("id",e,Ft()),$t("visible",t,At()),ur(k(this,Hd).setVisible(e,t))}isClipped(e){return $t("id",e,Ft()),ur(k(this,Hd).isClipped(e))}setClipped(e,t){return $t("id",e,Ft()),$t("clipped",t,At()),ur(k(this,Hd).setClipped(e,t))}isTransformLocked(e){return $t("id",e,Ft()),ur(k(this,Hd).isTransformLocked(e))}isLineOrigin(e){return $t("id",e,Ft()),ur(k(this,Hd).isLineOrigin(e))}setTransformLocked(e,t){return $t("id",e,Ft()),$t("locked",t,At()),ur(k(this,Hd).setTransformLocked(e,t))}getPositionX(e){return $t("id",e,Ft()),ur(k(this,Hd).getPositionX(e))}getPositionXMode(e){return $t("id",e,Ft()),ur(k(this,Hd).getPositionXMode(e))}getPositionY(e){return $t("id",e,Ft()),ur(k(this,Hd).getPositionY(e))}getPositionYMode(e){return $t("id",e,Ft()),ur(k(this,Hd).getPositionYMode(e))}setPositionX(e,t){return $t("id",e,Ft()),$t("value",t,It()),ur(k(this,Hd).setPositionX(e,t))}setPositionXMode(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setPositionXMode(e,t))}setPositionY(e,t){return $t("id",e,Ft()),$t("value",t,It()),ur(k(this,Hd).setPositionY(e,t))}setPositionYMode(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setPositionYMode(e,t))}setAlwaysOnTop(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setAlwaysOnTop(e,t))}setAlwaysOnBottom(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setAlwaysOnBottom(e,t))}isAlwaysOnTop(e){return $t("id",e,Ft()),ur(k(this,Hd).isAlwaysOnTop(e))}isAlwaysOnBottom(e){return $t("id",e,Ft()),ur(k(this,Hd).isAlwaysOnBottom(e))}bringToFront(e){return $t("id",e,It()),ur(k(this,Hd).bringToFront(e))}sendToBack(e){return $t("id",e,It()),ur(k(this,Hd).sendToBack(e))}bringForward(e){return $t("id",e,It()),ur(k(this,Hd).bringForward(e))}sendBackward(e){return $t("id",e,It()),ur(k(this,Hd).sendBackward(e))}getRotation(e){return $t("id",e,Ft()),ur(k(this,Hd).getRotation(e))}setRotation(e,t){return $t("id",e,Ft()),$t("radians",t,It()),ur(k(this,Hd).setRotation(e,t))}getFlipHorizontal(e){return $t("id",e,Ft()),ur(k(this,Hd).getFlip(e)).horizontal}getFlipVertical(e){return $t("id",e,Ft()),ur(k(this,Hd).getFlip(e)).vertical}setFlipHorizontal(e,t){return $t("id",e,Ft()),$t("flip",t,At()),ur(k(this,Hd).setFlipHorizontal(e,t))}setFlipVertical(e,t){return $t("id",e,Ft()),$t("flip",t,At()),ur(k(this,Hd).setFlipVertical(e,t))}hasContentFillMode(e){return $t("id",e,Ft()),ur(k(this,Hd).hasContentFillMode(e))}supportsContentFillMode(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsContentFillMode(e))}getWidth(e){return $t("id",e,Ft()),ur(k(this,Hd).getWidth(e))}getWidthMode(e){return $t("id",e,Ft()),ur(k(this,Hd).getWidthMode(e))}getHeight(e){return $t("id",e,Ft()),ur(k(this,Hd).getHeight(e))}getHeightMode(e){return $t("id",e,Ft()),ur(k(this,Hd).getHeightMode(e))}setSize(e,t,r,n){return $t("id",e,Ft()),$t("width",t,It()),$t("height",r,It()),$t("options",n,Lt(Rt({maintainCrop:Lt(At()),sizeMode:Lt(er())}))),null!=n?.sizeMode&&(ur(k(this,Hd).setWidthMode(e,n.sizeMode)),ur(k(this,Hd).setHeightMode(e,n.sizeMode))),ur(k(this,Hd).setWidth(e,t,n?.maintainCrop??!1)),ur(k(this,Hd).setHeight(e,r,n?.maintainCrop??!1))}setPosition(e,t,r,n){return $t("id",e,Ft()),$t("x",t,It()),$t("y",r,It()),null!=n?.positionMode&&(ur(k(this,Hd).setPositionXMode(e,n.positionMode)),ur(k(this,Hd).setPositionYMode(e,n.positionMode))),ur(k(this,Hd).setPositionX(e,t)),ur(k(this,Hd).setPositionY(e,r))}setWidth(e,t,r){return $t("id",e,Ft()),$t("value",t,It()),$t("maintainCrop",r??!1,At()),ur(k(this,Hd).setWidth(e,t,r??!1))}setWidthMode(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setWidthMode(e,t))}setHeight(e,t,r){return $t("id",e,Ft()),$t("value",t,It()),$t("maintainCrop",r??!1,At()),ur(k(this,Hd).setHeight(e,t,r??!1))}setHeightMode(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setHeightMode(e,t))}getFrameX(e){return $t("id",e,Ft()),ur(k(this,Hd).getLastFrameX(e))}getFrameY(e){return $t("id",e,Ft()),ur(k(this,Hd).getLastFrameY(e))}getFrameWidth(e){return $t("id",e,Ft()),ur(k(this,Hd).getLastFrameWidth(e))}getFrameHeight(e){return $t("id",e,Ft()),ur(k(this,Hd).getLastFrameHeight(e))}setContentFillMode(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setContentFillMode(e,t))}getContentFillMode(e){return $t("id",e,Ft()),ur(k(this,Hd).getContentFillMode(e))}setContentFillHorizontalAlignment(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setContentFillHorizontalAlignment(e,t))}getContentFillHorizontalAlignment(e){return $t("id",e,Ft()),ur(k(this,Hd).getContentFillHorizontalAlignment(e))}setContentFillVerticalAlignment(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setContentFillVerticalAlignment(e,t))}getContentFillVerticalAlignment(e){return $t("id",e,Ft()),ur(k(this,Hd).getContentFillVerticalAlignment(e))}duplicate(e,t=!0){return $t("id",e,Ft()),ur(k(this,Hd).duplicate(e,t))}destroy(e){return $t("id",e,Ft()),ur(k(this,Hd).destroy(e))}isValid(e){return $t("id",e,Ft()),k(this,Hd).isValid(e)}getParent(e){return $t("id",e,Ft()),ur(k(this,Hd).hasParent(e))?ur(k(this,Hd).getParent(e)):null}getChildren(e){$t("id",e,Ft());const t=ur(k(this,Hd).getChildren(e));return Tr(t)}insertChild(e,t,r){return $t("parent",e,It()),$t("child",t,It()),$t("index",r,jt(It(),0)),ur(k(this,Hd).insertChild(e,t,r))}appendChild(e,t){return $t("parent",e,It()),$t("child",t,It()),ur(k(this,Hd).appendChild(e,t))}referencesAnyVariables(e){return $t("id",e,Ft()),ur(k(this,Hd).referencesAnyVariables(e))}getGlobalBoundingBoxX(e){return $t("id",e,Ft()),ur(k(this,Hd).getGlobalBoundingBoxX(e))}getGlobalBoundingBoxY(e){return $t("id",e,Ft()),ur(k(this,Hd).getGlobalBoundingBoxY(e))}getGlobalBoundingBoxWidth(e){return $t("id",e,Ft()),ur(k(this,Hd).getGlobalBoundingBoxWidth(e))}getGlobalBoundingBoxHeight(e){return $t("id",e,Ft()),ur(k(this,Hd).getGlobalBoundingBoxHeight(e))}getScreenSpaceBoundingBoxXYWH(e){return $t("ids",e,Pt(It())),ur(k(this,Hd).getScreenSpaceBoundingBoxXYWH(e))}alignHorizontally(e,t){return $t("ids",e,qt(Pt(It()))),ur(k(this,Hd).alignHorizontally(e,t))}alignVertically(e,t){return $t("ids",e,qt(Pt(It()))),ur(k(this,Hd).alignVertically(e,t))}isAlignable(e){return $t("ids",e,Pt(It())),ur(k(this,Hd).isAlignable(e))}distributeHorizontally(e){return $t("ids",e,qt(Pt(It()))),ur(k(this,Hd).distributeHorizontally(e))}distributeVertically(e){return $t("ids",e,qt(Pt(It()))),ur(k(this,Hd).distributeVertically(e))}isDistributable(e){return $t("ids",e,Pt(It())),ur(k(this,Hd).isDistributable(e))}fillParent(e){return $t("id",e,Ft()),ur(k(this,Hd).fillParent(e))}resizeContentAware(e,t,r){return $t("ids",e,Pt(It())),$t("width",t,It()),$t("height",r,It()),ur(k(this,Hd).resizeContentAware(e,t,r))}scale(e,t,r=0,n=0){return $t("id",e,Ft()),ur(k(this,Hd).scale(e,t,r,n))}findAllProperties(e){return $t("id",e,Ft()),Tr(ur(k(this,Hd).findAllProperties(e)))}isPropertyReadable(e){return $t("property",e,Dt()),k(this,Hd).isPropertyReadable(e)}isPropertyWritable(e){return $t("property",e,Dt()),k(this,Hd).isPropertyWritable(e)}getPropertyType(e){$t("property",e,Dt());return ur(k(this,Hd).getPropertyType(e))}getEnumValues(e){return $t("enumProperty",e,Dt()),Tr(ur(k(this,Hd).getEnumValues(e)))}setBool(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("value",r,At()),ur(k(this,Hd).setBool(e,t,r))}getBool(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getBool(e,t))}setInt(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("value",r,Ft()),ur(k(this,Hd).setInt(e,t,r))}getInt(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getInt(e,t))}setFloat(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("value",r,It()),ur(k(this,Hd).setFloat(e,t,r))}getFloat(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getFloat(e,t))}setDouble(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("value",r,It()),ur(k(this,Hd).setDouble(e,t,r))}getDouble(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getDouble(e,t))}setString(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("value",r,Dt()),ur(k(this,Hd).setString(e,t,r))}getString(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getString(e,t))}setColor(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("value",r,nr()),ur(k(this,Hd).setColor(e,t,mn.fromColor(r)))}getColor(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),mn.toColor(ur(k(this,Hd).getColor(e,t)))}setColorRGBA(e,t,r,n,o,i=1){return $t("id",e,Ft()),$t("property",t,Dt()),$t("r",r,It()),$t("g",n,It()),$t("b",o,It()),$t("a",i,It()),ur(k(this,Hd).setColorRGBA(e,t,r,n,o,i))}getColorRGBA(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getColorRGBA(e,t))}setColorSpot(e,t,r,n=1){return $t("id",e,Ft()),$t("property",t,Dt()),$t("name",r,Dt()),$t("tint",n,It()),ur(k(this,Hd).setColorSpot(e,t,r,n))}getColorSpotName(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getColorSpotName(e,t))}getColorSpotTint(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getColorSpotTint(e,t))}setGradientColorStops(e,t,r){$t("id",e,Ft()),$t("property",t,Dt());const n=r.map(e=>({color:mn.fromColor(e.color),stop:e.stop}));return ur(k(this,Hd).setGradientColorStops(e,t,n))}getGradientColorStops(e,t){$t("id",e,Ft()),$t("property",t,Dt());const r=ur(k(this,Hd).getGradientColorStops(e,t));return Tr(r).map(e=>({color:mn.toColor(e.color),stop:e.stop}))}getSourceSet(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),Tr(ur(k(this,Hd).getSourceSet(e,t)))}setSourceSet(e,t,r){$t("id",e,Ft()),$t("property",t,Dt()),$t("sourceSet",r,Pt(Rt({uri:Dt(),width:It(),height:It()}))),ur(k(this,Hd).setSourceSet(e,t,r))}addImageFileURIToSourceSet(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("uri",r,Dt()),hr(n=>k(this,Hd).addImageFileURIToSourceSet(e,t,r,n))}addVideoFileURIToSourceSet(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("uri",r,Dt()),hr(n=>k(this,Hd).addVideoFileURIToSourceSet(e,t,r,n))}setEnum(e,t,r){return $t("id",e,Ft()),$t("property",t,Dt()),$t("value",r,Dt()),ur(k(this,Hd).setEnum(e,t,r))}getEnum(e,t){return $t("id",e,Ft()),$t("property",t,Dt()),ur(k(this,Hd).getEnum(e,t))}hasCrop(e){return $t("id",e,Ft()),ur(k(this,Hd).hasCrop(e))}supportsCrop(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsCrop(e))}setCropScaleX(e,t){return $t("id",e,Ft()),$t("scaleX",t,It()),ur(k(this,Hd).setCropScaleX(e,t))}setCropScaleY(e,t){return $t("id",e,Ft()),$t("scaleY",t,It()),ur(k(this,Hd).setCropScaleY(e,t))}setCropRotation(e,t){return $t("id",e,Ft()),$t("rotation",t,It()),ur(k(this,Hd).setCropRotation(e,t))}setCropScaleRatio(e,t){return $t("id",e,Ft()),$t("scaleRatio",t,It()),ur(k(this,Hd).setCropScaleRatio(e,t))}setCropTranslationX(e,t){return $t("id",e,Ft()),$t("translationX",t,It()),ur(k(this,Hd).setCropTranslationX(e,t))}setCropTranslationY(e,t){return $t("id",e,Ft()),$t("translationY",t,It()),ur(k(this,Hd).setCropTranslationY(e,t))}resetCrop(e){return $t("id",e,Ft()),ur(k(this,Hd).resetCrop(e))}getCropScaleX(e){return $t("id",e,Ft()),ur(k(this,Hd).getCropScaleX(e))}getCropScaleY(e){return $t("id",e,Ft()),ur(k(this,Hd).getCropScaleY(e))}getCropRotation(e){return $t("id",e,Ft()),ur(k(this,Hd).getCropRotation(e))}getCropScaleRatio(e){return $t("id",e,Ft()),ur(k(this,Hd).getCropScaleRatio(e))}getCropTranslationX(e){return $t("id",e,Ft()),ur(k(this,Hd).getCropTranslationX(e))}getCropTranslationY(e){return $t("id",e,Ft()),ur(k(this,Hd).getCropTranslationY(e))}adjustCropToFillFrame(e,t){return $t("id",e,Ft()),$t("minScaleRatio",t,It()),ur(k(this,Hd).adjustCropToFillFrame(e,t))}flipCropHorizontal(e){return $t("id",e,Ft()),ur(k(this,Hd).flipCropHorizontal(e))}flipCropVertical(e){return $t("id",e,Ft()),ur(k(this,Hd).flipCropVertical(e))}isCropAspectRatioLocked(e){return $t("id",e,Ft()),ur(k(this,Hd).isCropAspectRatioLocked(e))}setCropAspectRatioLocked(e,t){$t("id",e,Ft()),$t("locked",t,At()),ur(k(this,Hd).setCropAspectRatioLocked(e,t))}hasOpacity(e){return $t("id",e,Ft()),ur(k(this,Hd).hasOpacity(e))}supportsOpacity(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsOpacity(e))}setOpacity(e,t){return $t("id",e,Ft()),$t("opacity",t,It()),ur(k(this,Hd).setOpacity(e,t))}getOpacity(e){return $t("id",e,Ft()),ur(k(this,Hd).getOpacity(e))}hasBlendMode(e){return $t("id",e,Ft()),ur(k(this,Hd).hasBlendMode(e))}supportsBlendMode(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsBlendMode(e))}setBlendMode(e,t){return $t("id",e,Ft()),$t("blendMode",t,Dt()),ur(k(this,Hd).setBlendMode(e,t))}getBlendMode(e){return $t("id",e,Ft()),ur(k(this,Hd).getBlendMode(e))}hasFillColor(e){return $t("id",e,Ft()),ur(k(this,Hd).hasFillColor(e))}isIncludedInExport(e){return $t("id",e,Ft()),ur(k(this,Hd).isIncludedInExport(e))}setIncludedInExport(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setIncludedInExport(e,t))}setFillColorRGBA(e,t,r,n,o=1){return $t("id",e,Ft()),$t("r",t,It()),$t("g",r,It()),$t("b",n,It()),$t("a",o,It()),ur(k(this,Hd).setFillColorRGBA(e,t,r,n,o))}getFillColorRGBA(e){return $t("id",e,Ft()),ur(k(this,Hd).getFillColorRGBA(e))}setFillColorEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setFillColorEnabled(e,t))}isFillColorEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isFillColorEnabled(e))}createEffect(e){return $t("type",e,Dt()),ur(k(this,Hd).createEffect(e))}hasEffects(e){return $t("id",e,Ft()),ur(k(this,Hd).hasEffects(e))}supportsEffects(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsEffects(e))}getEffects(e){$t("id",e,Ft());const t=ur(k(this,Hd).getEffects(e));return Tr(t)}insertEffect(e,t,r){$t("id",e,Ft()),$t("effectId",t,Ft()),$t("index",r,jt(Ft(),0)),ur(k(this,Hd).insertEffect(e,t,r))}appendEffect(e,t){$t("id",e,Ft()),$t("effectId",t,Ft()),ur(k(this,Hd).appendEffect(e,t))}removeEffect(e,t){$t("id",e,Ft()),$t("index",t,jt(Ft(),0)),ur(k(this,Hd).removeEffect(e,t))}hasEffectEnabled(e){return $t("effectId",e,Ft()),ur(k(this,Hd).hasEffectEnabled(e))}setEffectEnabled(e,t){$t("effectId",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setEffectEnabled(e,t))}isEffectEnabled(e){return $t("effectId",e,Ft()),ur(k(this,Hd).isEffectEnabled(e))}createBlur(e){return $t("type",e,Dt()),ur(k(this,Hd).createBlur(e))}hasBlur(e){return $t("id",e,Ft()),ur(k(this,Hd).hasBlur(e))}supportsBlur(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsBlur(e))}setBlur(e,t){$t("id",e,Ft()),$t("blurId",t,Ft()),ur(k(this,Hd).setBlur(e,t))}getBlur(e){return $t("id",e,Ft()),ur(k(this,Hd).getBlur(e))}setBlurEnabled(e,t){$t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setBlurEnabled(e,t))}isBlurEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isBlurEnabled(e))}hasBackgroundColor(e){return $t("id",e,Ft()),ur(k(this,Hd).hasBackgroundColor(e))}supportsBackgroundColor(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsBackgroundColor(e))}setBackgroundColorRGBA(e,t,r,n,o=1){return $t("id",e,Ft()),$t("r",t,It()),$t("g",r,It()),$t("b",n,It()),$t("a",o,It()),ur(k(this,Hd).setBackgroundColorRGBA(e,t,r,n,o))}getBackgroundColorRGBA(e){return $t("id",e,Ft()),ur(k(this,Hd).getBackgroundColorRGBA(e))}setBackgroundColorEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setBackgroundColorEnabled(e,t))}isBackgroundColorEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isBackgroundColorEnabled(e))}hasStroke(e){return $t("id",e,Ft()),ur(k(this,Hd).hasStroke(e))}supportsStroke(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsStroke(e))}setStrokeEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setStrokeEnabled(e,t))}isStrokeEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isStrokeEnabled(e))}setStrokeOverprint(e,t){return $t("id",e,Ft()),$t("overprint",t,At()),ur(k(this,Hd).setStrokeOverprint(e,t))}getStrokeOverprint(e){return $t("id",e,Ft()),ur(k(this,Hd).getStrokeOverprint(e))}setStrokeColorRGBA(e,t,r,n,o=1){return $t("id",e,Ft()),$t("r",t,It()),$t("g",r,It()),$t("b",n,It()),$t("a",o,It()),ur(k(this,Hd).setStrokeColorRGBA(e,t,r,n,o))}setStrokeColor(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeColor(e,mn.fromColor(t)))}getStrokeColorRGBA(e){return $t("id",e,Ft()),ur(k(this,Hd).getStrokeColorRGBA(e))}getStrokeColor(e){return $t("id",e,Ft()),mn.toColor(ur(k(this,Hd).getStrokeColor(e)))}setStrokeWidth(e,t){return $t("id",e,Ft()),$t("width",t,It()),ur(k(this,Hd).setStrokeWidth(e,t))}getStrokeWidth(e){return $t("id",e,Ft()),ur(k(this,Hd).getStrokeWidth(e))}setStrokeStyle(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeStyle(e,t))}getStrokeStyle(e){$t("id",e,Ft());return ur(k(this,Hd).getStrokeStyle(e))}setStrokePosition(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokePosition(e,t))}getStrokePosition(e){$t("id",e,Ft());return ur(k(this,Hd).getStrokePosition(e))}setStrokeCornerGeometry(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeCornerGeometry(e,t))}getStrokeCornerGeometry(e){$t("id",e,Ft());return ur(k(this,Hd).getStrokeCornerGeometry(e))}setStrokeCap(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeCap(e,t))}getStrokeCap(e){$t("id",e,Ft());return ur(k(this,Hd).getStrokeCap(e))}setStrokeStartCap(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeStartCap(e,t))}getStrokeStartCap(e){$t("id",e,Ft());return ur(k(this,Hd).getStrokeStartCap(e))}setStrokeEndCap(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeEndCap(e,t))}getStrokeEndCap(e){$t("id",e,Ft());return ur(k(this,Hd).getStrokeEndCap(e))}setStrokeDashStartCap(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeDashStartCap(e,t))}getStrokeDashStartCap(e){$t("id",e,Ft());return ur(k(this,Hd).getStrokeDashStartCap(e))}setStrokeDashEndCap(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeDashEndCap(e,t))}getStrokeDashEndCap(e){$t("id",e,Ft());return ur(k(this,Hd).getStrokeDashEndCap(e))}setStrokeDashArray(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeDashArray(e,t))}getStrokeDashArray(e){return $t("id",e,Ft()),Tr(ur(k(this,Hd).getStrokeDashArray(e)))}setStrokeDashOffset(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setStrokeDashOffset(e,t))}getStrokeDashOffset(e){return $t("id",e,Ft()),ur(k(this,Hd).getStrokeDashOffset(e))}hasDropShadow(e){return $t("id",e,Ft()),ur(k(this,Hd).hasDropShadow(e))}supportsDropShadow(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsDropShadow(e))}setDropShadowEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setDropShadowEnabled(e,t))}isDropShadowEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isDropShadowEnabled(e))}setDropShadowColorRGBA(e,t,r,n,o=1){return $t("id",e,Ft()),$t("r",t,It()),$t("g",r,It()),$t("b",n,It()),$t("a",o,It()),ur(k(this,Hd).setDropShadowColorRGBA(e,t,r,n,o))}setDropShadowColor(e,t){return $t("id",e,Ft()),$t("color",t,nr()),ur(k(this,Hd).setDropShadowColor(e,mn.fromColor(t)))}getDropShadowColorRGBA(e){return $t("id",e,Ft()),ur(k(this,Hd).getDropShadowColorRGBA(e))}getDropShadowColor(e){return $t("id",e,Ft()),mn.toColor(ur(k(this,Hd).getDropShadowColor(e)))}setDropShadowOffsetX(e,t){return $t("id",e,Ft()),$t("offsetX",t,It()),ur(k(this,Hd).setDropShadowOffsetX(e,t))}getDropShadowOffsetX(e){return $t("id",e,Ft()),ur(k(this,Hd).getDropShadowOffsetX(e))}setDropShadowOffsetY(e,t){return $t("id",e,Ft()),$t("offsetY",t,It()),ur(k(this,Hd).setDropShadowOffsetY(e,t))}getDropShadowOffsetY(e){return $t("id",e,Ft()),ur(k(this,Hd).getDropShadowOffsetY(e))}setDropShadowBlurRadiusX(e,t){return $t("id",e,Ft()),$t("blurRadiusX",t,It()),ur(k(this,Hd).setDropShadowBlurRadiusX(e,t))}getDropShadowBlurRadiusX(e){return $t("id",e,Ft()),ur(k(this,Hd).getDropShadowBlurRadiusX(e))}setDropShadowBlurRadiusY(e,t){return $t("id",e,Ft()),$t("blurRadiusY",t,It()),ur(k(this,Hd).setDropShadowBlurRadiusY(e,t))}getDropShadowBlurRadiusY(e){return $t("id",e,Ft()),ur(k(this,Hd).getDropShadowBlurRadiusY(e))}setDropShadowClip(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setDropShadowClip(e,t))}getDropShadowClip(e){return $t("id",e,Ft()),ur(k(this,Hd).getDropShadowClip(e))}createCutoutFromBlocks(e,t=2,r=4,n=!0){return $t("ids",e,Pt(Ft())),$t("vectorizeDistanceThreshold",t,It()),$t("maxSmoothingDistance",r,It()),$t("useExistingShapeInformation",n,At()),ur(k(this,Hd).createCutoutFromBlocks(e,t,r,n))}createCutoutFromPath(e){return $t("path",e,Dt()),ur(k(this,Hd).createCutoutFromPath(e))}createCutoutFromOperation(e,t){return $t("ids",e,Pt(Ft())),$t("op",t,function(){const e=["Difference","Intersection","Union","XOR"];return Tt("CutoutOperation",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}()),ur(k(this,Hd).createCutoutFromOperation(e,t))}replaceText(e,t,r=-1,n=-1){$t("id",e,Ft()),$t("text",t,Dt()),$t("from",r,Ft()),$t("to",n,Ft()),ur(k(this,Hd).replaceText(e,t,r,n))}removeText(e,t=-1,r=-1){$t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),ur(k(this,Hd).removeText(e,t,r))}setTextColor(e,t,r=-1,n=-1){$t("id",e,Ft()),$t("color",t,nr()),$t("from",r,Ft()),$t("to",n,Ft()),ur(k(this,Hd).setTextColor(e,mn.fromColor(t),r,n))}getTextColors(e,t=-1,r=-1){$t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft());const n=k(this,Hd).getTextColors(e,t,r);return Tr(ur(n)).map(e=>mn.toColor(e))}setTextFontWeight(e,t,r=-1,n=-1){$t("id",e,Ft()),$t("from",r,Ft()),$t("to",n,Ft()),ur(k(this,Hd).setTextFontWeight(e,t,r,n))}getTextFontWeights(e,t=-1,r=-1){return $t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),Tr(ur(k(this,Hd).getTextFontWeights(e,t,r)))}setTextFontSize(e,t,r,n=-1){if($t("id",e,Ft()),$t("fontSize",t,It()),"object"==typeof r&&null!==r){$t("options",r,Lt(Rt({unit:Lt(Dt()),from:Lt(Ft()),to:Lt(Ft())})));const{unit:n,from:o=-1,to:i=-1}=r;let s=t;if(void 0!==n){const e=k(this,$d).get(),r=null!=e?k(this,$d).getFontSizeUnit():"Point";if(n!==r){if(null==e)throw new Error("No scene found for unit conversion");const o=this.getFloat(e,"scene/dpi");s=Qd(Kd(t,n,o),r,o)}}ur(k(this,Hd).setTextFontSize(e,s,o,i))}else{const o=r??-1;$t("from",o,Ft()),$t("to",n,Ft()),ur(k(this,Hd).setTextFontSize(e,t,o,n))}}getTextFontSizes(e,t=-1,r=-1){if($t("id",e,Ft()),"object"==typeof t){$t("options",t,Lt(Rt({unit:Lt(Dt()),from:Lt(Ft()),to:Lt(Ft())})));const{unit:r,from:n=-1,to:o=-1}=t,i=Tr(ur(k(this,Hd).getTextFontSizes(e,n,o)));if(void 0===r)return i;const s=k(this,$d).get(),a=null!=s?k(this,$d).getFontSizeUnit():"Point";if(r===a)return i;if(null==s)throw new Error("No scene found for unit conversion");const l=this.getFloat(s,"scene/dpi");return i.map(e=>Qd(Kd(e,a,l),r,l))}return $t("from",t,Ft()),$t("to",r,Ft()),Tr(ur(k(this,Hd).getTextFontSizes(e,t,r)))}setTextFontStyle(e,t,r=-1,n=-1){$t("id",e,Ft()),$t("from",r,Ft()),$t("to",n,Ft()),ur(k(this,Hd).setTextFontStyle(e,t,r,n))}getTextFontStyles(e,t=-1,r=-1){return $t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),Tr(ur(k(this,Hd).getTextFontStyles(e,t,r)))}getTextCases(e,t=-1,r=-1){return $t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),Tr(ur(k(this,Hd).getTextCases(e,t,r)))}setTextCase(e,t,r=-1,n=-1){$t("id",e,Ft()),$t("textCase",t,Dt()),$t("from",r,Ft()),$t("to",n,Ft()),ur(k(this,Hd).setTextCase(e,t,r,n))}getTextDecorations(e,t=-1,r=-1){$t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft());const n=ur(k(this,Hd).getTextDecorations(e,t,r));return Tr(n).map(e=>({...e,underlineColor:null!=e.underlineColor?mn.toColor(e.underlineColor):void 0}))}setTextDecoration(e,t,r=-1,n=-1){$t("id",e,Ft()),$t("from",r,Ft()),$t("to",n,Ft());const o={...t,underlineColor:null!=t.underlineColor?mn.fromColor(t.underlineColor):void 0};ur(k(this,Hd).setTextDecoration(e,o,r,n))}setTextKerning(e,t,r=-1,n=-1){$t("id",e,Ft()),$t("kerning",t,It()),$t("from",r,Ft()),$t("to",n,Ft()),ur(k(this,Hd).setTextKerning(e,t,r,n))}getTextKernings(e,t=-1,r=-1){return $t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),Tr(ur(k(this,Hd).getTextKernings(e,t,r)))}toggleTextDecorationUnderline(e,t=-1,r=-1){$t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),ur(k(this,Hd).toggleTextDecorationUnderline(e,t,r))}toggleTextDecorationStrikethrough(e,t=-1,r=-1){$t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),ur(k(this,Hd).toggleTextDecorationStrikethrough(e,t,r))}toggleTextDecorationOverline(e,t=-1,r=-1){$t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),ur(k(this,Hd).toggleTextDecorationOverline(e,t,r))}getTextHorizontalAlignment(e,t=-1){return $t("id",e,Ft()),$t("paragraphIndex",t,Ft()),ur(k(this,Hd).getTextHorizontalAlignment(e,t))}setTextHorizontalAlignment(e,t,r=-1){$t("id",e,Ft()),void 0!==t&&$t("alignment",t,Dt()),$t("paragraphIndex",r,Ft()),ur(k(this,Hd).setTextHorizontalAlignment(e,t,r))}getTextListStyle(e,t){return $t("id",e,Ft()),$t("paragraphIndex",t,Ft()),ur(k(this,Hd).getTextListStyle(e,t))}setTextListStyle(e,t,r=-1,n){$t("id",e,Ft()),$t("listStyle",t,Dt()),$t("paragraphIndex",r,Ft()),void 0!==n&&$t("listLevel",n,Ft()),ur(k(this,Hd).setTextListStyle(e,t,r,n))}getTextListLevel(e,t){return $t("id",e,Ft()),$t("paragraphIndex",t,Ft()),ur(k(this,Hd).getTextListLevel(e,t))}setTextListLevel(e,t,r=-1){$t("id",e,Ft()),$t("listLevel",t,Ft()),$t("paragraphIndex",r,Ft()),ur(k(this,Hd).setTextListLevel(e,t,r))}getTextParagraphIndices(e,t=-1,r=-1){return $t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),Tr(ur(k(this,Hd).getTextParagraphIndices(e,t,r)))}setTextLineHeight(e,t,r=-1){$t("id",e,Ft()),null!==t&&$t("lineHeight",t,It()),$t("paragraphIndex",r,Ft()),ur(k(this,Hd).setTextLineHeight(e,t??void 0,r))}getTextLineHeight(e,t){return $t("id",e,Ft()),$t("paragraphIndex",t,Ft()),ur(k(this,Hd).getTextLineHeight(e,t))}canToggleBoldFont(e,t=-1,r=-1){return $t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),ur(k(this,Hd).canToggleBoldFont(e,t,r))}canToggleItalicFont(e,t=-1,r=-1){return $t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),ur(k(this,Hd).canToggleItalicFont(e,t,r))}toggleBoldFont(e,t=-1,r=-1){$t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),ur(k(this,Hd).toggleBoldFont(e,t,r))}toggleItalicFont(e,t=-1,r=-1){$t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),ur(k(this,Hd).toggleItalicFont(e,t,r))}setFont(e,t,r){$t("block",e,Ft()),$t("fontFileUri",t,Dt()),ur(k(this,Hd).setFont(e,t,r))}setTypeface(e,t,r=-1,n=-1){$t("block",e,Ft()),$t("from",r,Ft()),$t("to",n,Ft()),ur(k(this,Hd).setTypeface(e,t,r,n))}getTypeface(e){return $t("block",e,Ft()),ur(k(this,Hd).getTypeface(e))}getTypefaces(e,t=-1,r=-1){return $t("block",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),Tr(ur(k(this,Hd).getTypefaces(e,t,r)))}getTextCursorRange(){return ur(k(this,Hd).getTextCursorRange())}setTextCursorRange(e){$t("range",e,Rt({from:Ft(),to:Ft()})),ur(k(this,Hd).setTextCursorRange(e))}getTextVisibleLineCount(e){return $t("id",e,Ft()),ur(k(this,Hd).getTextVisibleLineCount(e))}getTextVisibleLineGlobalBoundingBoxXYWH(e,t){return $t("id",e,Ft()),$t("lineIndex",t,Ft()),ur(k(this,Hd).getTextVisibleLineGlobalBoundingBoxXYWH(e,t))}getTextVisibleLineContent(e,t){return $t("id",e,Ft()),$t("lineIndex",t,Ft()),ur(k(this,Hd).getTextVisibleLineContent(e,t))}getTextCharacterInkBoxes(e,t=-1,r=-1){return $t("id",e,Ft()),$t("from",t,Ft()),$t("to",r,Ft()),Tr(ur(k(this,Hd).getTextCharacterInkBoxes(e,t,r)))}getTextEffectiveHorizontalAlignment(e){return $t("id",e,Ft()),ur(k(this,Hd).getTextEffectiveHorizontalAlignment(e))}hasFill(e){return $t("id",e,Ft()),ur(k(this,Hd).hasFill(e))}supportsFill(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsFill(e))}isFillEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isFillEnabled(e))}setFillEnabled(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setFillEnabled(e,t))}getFillOverprint(e){return $t("id",e,Ft()),ur(k(this,Hd).getFillOverprint(e))}setFillOverprint(e,t){return $t("id",e,Ft()),ur(k(this,Hd).setFillOverprint(e,t))}getFill(e){return $t("id",e,Ft()),ur(k(this,Hd).getFill(e))}setFill(e,t){return $t("id",e,Ft()),$t("fill",t,Ft()),ur(k(this,Hd).setFill(e,t))}setFillSolidColor(e,t,r,n,o=1){$t("id",e,Ft()),ur(k(this,Hd).setFillSolidColor(e,t,r,n,o))}getFillSolidColor(e){return $t("id",e,Ft()),ur(k(this,Hd).getFillSolidColor(e))}setPlaceholderEnabled(e,t){$t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setPlaceholderEnabled(e,t))}isPlaceholderEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isPlaceholderEnabled(e))}hasPlaceholderBehavior(e){return $t("id",e,Ft()),ur(k(this,Hd).hasPlaceholderBehavior(e))}supportsPlaceholderBehavior(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsPlaceholderBehavior(e))}setPlaceholderBehaviorEnabled(e,t){$t("id",e,Ft()),ur(k(this,Hd).setPlaceholderBehaviorEnabled(e,t))}isPlaceholderBehaviorEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isPlaceholderBehaviorEnabled(e))}hasPlaceholderControls(e){return $t("id",e,Ft()),ur(k(this,Hd).hasPlaceholderControls(e))}supportsPlaceholderControls(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsPlaceholderControls(e))}setPlaceholderControlsOverlayEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setPlaceholderControlsOverlayEnabled(e,t))}isPlaceholderControlsOverlayEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isPlaceholderControlsOverlayEnabled(e))}setPlaceholderControlsButtonEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setPlaceholderControlsButtonEnabled(e,t))}isPlaceholderControlsButtonEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isPlaceholderControlsButtonEnabled(e))}setMetadata(e,t,r){$t("id",e,Ft()),$t("key",t,Dt()),$t("value",r,Dt()),ur(k(this,Hd).setMetadata(e,t,r))}getMetadata(e,t){return $t("id",e,Ft()),$t("key",t,Dt()),ur(k(this,Hd).getMetadata(e,t))}hasMetadata(e,t){return $t("id",e,Ft()),$t("key",t,Dt()),ur(k(this,Hd).hasMetadata(e,t))}findAllMetadata(e){return $t("id",e,Ft()),Tr(ur(k(this,Hd).findAllMetadata(e)))}removeMetadata(e,t){$t("id",e,Ft()),$t("key",t,Dt()),ur(k(this,Hd).removeMetadata(e,t))}setScopeEnabled(e,t,r){$t("id",e,Ft()),$t("key",t,Dt()),$t("enabled",r,At()),ur(k(this,Hd).setScopeEnabled(e,t,r))}isScopeEnabled(e,t){return $t("id",e,Ft()),$t("key",t,Dt()),ur(k(this,Hd).isScopeEnabled(e,t))}isAllowedByScope(e,t){return $t("id",e,Ft()),$t("key",t,Dt()),ur(k(this,Hd).isAllowedByScope(e,t))}hasDuration(e){return $t("id",e,Ft()),ur(k(this,Hd).hasDuration(e))}supportsDuration(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsDuration(e))}setDuration(e,t){return $t("id",e,Ft()),$t("duration",t,It()),ur(k(this,Hd).setDuration(e,t))}getDuration(e){return $t("id",e,Ft()),ur(k(this,Hd).getDuration(e))}setPageDurationSource(e,t){return $t("page",e,Ft()),$t("id",t,Ft()),ur(k(this,Hd).setPageDurationSource(e,t))}isPageDurationSource(e){return $t("id",e,Ft()),ur(k(this,Hd).isPageDurationSource(e))}supportsPageDurationSource(e,t){return $t("page",e,Ft()),$t("id",t,Ft()),ur(k(this,Hd).supportsPageDurationSource(e,t))}removePageDurationSource(e){$t("id",e,Ft()),ur(k(this,Hd).removePageDurationSource(e))}hasTimeOffset(e){return $t("id",e,Ft()),ur(k(this,Hd).hasTimeOffset(e))}supportsTimeOffset(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsTimeOffset(e))}setTimeOffset(e,t){return $t("id",e,Ft()),$t("offset",t,It()),ur(k(this,Hd).setTimeOffset(e,t))}getTimeOffset(e){return $t("id",e,Ft()),ur(k(this,Hd).getTimeOffset(e))}hasTrim(e){return $t("id",e,Ft()),ur(k(this,Hd).hasTrim(e))}supportsTrim(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsTrim(e))}setTrimOffset(e,t){return $t("id",e,Ft()),$t("offset",t,It()),ur(k(this,Hd).setTrimOffset(e,t))}getTrimOffset(e){return $t("id",e,Ft()),ur(k(this,Hd).getTrimOffset(e))}setTrimLength(e,t){return $t("id",e,Ft()),$t("length",t,It()),ur(k(this,Hd).setTrimLength(e,t))}getTrimLength(e){return $t("id",e,Ft()),ur(k(this,Hd).getTrimLength(e))}split(e,t,r={}){return $t("id",e,Ft()),$t("atTime",t,It()),$t("options",r,Rt({attachToParent:Lt(At()),createParentTrackIfNeeded:Lt(At()),selectNewBlock:Lt(At())})),ur(k(this,Hd).split(e,t,{attachToParent:r.attachToParent??!0,createParentTrackIfNeeded:r.createParentTrackIfNeeded??!1,selectNewBlock:r.selectNewBlock??!0}))}getTotalSceneDuration(e){return $t("scene",e,Ft()),ur(k(this,Hd).getTotalSceneDuration(e))}setPlaying(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setPlaying(e,t))}isPlaying(e){return $t("id",e,Ft()),ur(k(this,Hd).isPlaying(e))}hasPlaybackTime(e){return $t("id",e,Ft()),ur(k(this,Hd).hasPlaybackTime(e))}supportsPlaybackTime(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsPlaybackTime(e))}setPlaybackTime(e,t){return $t("id",e,Ft()),$t("time",t,It()),ur(k(this,Hd).setPlaybackTime(e,t))}getPlaybackTime(e){return $t("id",e,Ft()),ur(k(this,Hd).getPlaybackTime(e))}isVisibleAtCurrentPlaybackTime(e){return $t("id",e,Ft()),ur(k(this,Hd).isVisibleAtCurrentPlaybackTime(e))}setSoloPlaybackEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Hd).setSoloPlaybackEnabled(e,t))}isSoloPlaybackEnabled(e){return $t("id",e,Ft()),ur(k(this,Hd).isSoloPlaybackEnabled(e))}hasPlaybackControl(e){return $t("id",e,Ft()),ur(k(this,Hd).hasPlaybackControl(e))}supportsPlaybackControl(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsPlaybackControl(e))}setLooping(e,t){$t("id",e,Ft()),$t("looping",t,At()),ur(k(this,Hd).setLooping(e,t))}isLooping(e){return $t("id",e,Ft()),ur(k(this,Hd).isLooping(e))}setMuted(e,t){$t("id",e,Ft()),$t("muted",t,At()),ur(k(this,Hd).setMuted(e,t))}isForceMuted(e){return $t("id",e,Ft()),ur(k(this,Hd).isForceMuted(e))}isMuted(e){return $t("id",e,Ft()),ur(k(this,Hd).isMuted(e))}setVolume(e,t){$t("id",e,Ft()),$t("volume",t,It()),ur(k(this,Hd).setVolume(e,t))}getVolume(e){return $t("id",e,Ft()),ur(k(this,Hd).getVolume(e))}setPlaybackSpeed(e,t){$t("id",e,Ft()),$t("speed",t,It()),ur(k(this,Hd).setPlaybackSpeed(e,t))}getPlaybackSpeed(e){return $t("id",e,Ft()),ur(k(this,Hd).getPlaybackSpeed(e))}async forceLoadAVResource(e){return $t("id",e,Ft()),hr(t=>k(this,Hd).forceLoadAVResource(e,t))}unstable_isAVResourceLoaded(e){return $t("id",e,Ft()),ur(k(this,Hd).unstable_isAVResourceLoaded(e))}getAVResourceTotalDuration(e){return $t("id",e,Ft()),ur(k(this,Hd).getAVResourceTotalDuration(e))}getVideoWidth(e){return $t("id",e,Ft()),ur(k(this,Hd).getVideoWidth(e))}getVideoHeight(e){return $t("id",e,Ft()),ur(k(this,Hd).getVideoHeight(e))}generateVideoThumbnailSequence(e,t,r,n,o,i){$t("id",e,Ft()),$t("thumbnailHeight",t,Ft()),$t("timeBegin",r,It()),$t("timeEnd",n,It()),$t("numberOfFrames",o,Ft());const s=k(this,Hd).generateVideoThumbnailSequence(e,t,r,n,o,e=>{"error"in e?i(0,new Error(e.error)):i(e.frameIndex,new ImageData(new Uint8ClampedArray(e.imageData),e.width,e.height))});return()=>{k(this,Hd).cancelVideoThumbnailSequenceGeneration(s)}}generateAudioThumbnailSequence(e,t,r,n,o,i,s){$t("id",e,Ft()),$t("samplesPerChunk",t,Ft()),$t("timeBegin",r,It()),$t("timeEnd",n,It()),$t("numberOfSamples",o,Ft()),$t("numberOfChannels",i,Ft());const a=k(this,Hd).generateAudioThumbnailSequence(e,t,r,n,o,i,e=>{"error"in e?s(0,new Error(e.error)):s(e.chunkIndex,e.sampleData)});return()=>{k(this,Hd).cancelAudioThumbnailSequenceGeneration(a)}}async getVideoFillThumbnail(e,t){return $t("id",e,Ft()),$t("thumbnailHeight",t,Ft()),new Promise((r,n)=>{k(this,Hd).getVideoFillThumbnail(e,t,e=>{"error"in e?n(e.error):r(new Blob([e],{type:"image/jpeg"}))})})}async getVideoFillThumbnailAtlas(e,t,r,n){return $t("id",e,Ft()),$t("numberOfColumns",t,Ft()),$t("numberOfRows",r,Ft()),$t("thumbnailHeight",n,Ft()),new Promise((o,i)=>{k(this,Hd).getVideoFillThumbnailAtlas(e,t,r,n,e=>{"error"in e?i(e.error):o(new Blob([e],{type:"image/jpeg"}))})})}async getPageThumbnailAtlas(e,t,r,n){return $t("id",e,Ft()),$t("numberOfColumns",t,Ft()),$t("numberOfRows",r,Ft()),new Promise((o,i)=>{k(this,Hd).getPageThumbnailAtlas(e,t,r,n,e=>{"error"in e?i(e.error):o(new Blob([e],{type:"image/jpeg"}))})})}createAnimation(e){return $t("type",e,Dt()),ur(k(this,Hd).createAnimation(e))}supportsAnimation(e){return $t("id",e,Ft()),ur(k(this,Hd).supportsAnimation(e))}setInAnimation(e,t){$t("id",e,Ft()),$t("animation",t,Ft()),ur(k(this,Hd).setInAnimation(e,t))}setLoopAnimation(e,t){$t("id",e,Ft()),$t("animation",t,Ft()),ur(k(this,Hd).setLoopAnimation(e,t))}setOutAnimation(e,t){$t("id",e,Ft()),$t("animation",t,Ft()),ur(k(this,Hd).setOutAnimation(e,t))}getInAnimation(e){return $t("id",e,Ft()),ur(k(this,Hd).getInAnimation(e))}getLoopAnimation(e){return $t("id",e,Ft()),ur(k(this,Hd).getLoopAnimation(e))}getOutAnimation(e){return $t("id",e,Ft()),ur(k(this,Hd).getOutAnimation(e))}setNativePixelBuffer(e,t){$t("id",e,Ft()),t instanceof HTMLVideoElement&&(t.width=t.videoWidth,t.height=t.videoHeight),ur(k(this,Hd).setNativePixelBuffer(e,t))}getState(e){return $t("id",e,Ft()),ur(k(this,Hd).getState(e))}setState(e,t){$t("id",e,Ft()),ur(k(this,Hd).setState(e,t))}async forceLoadResources(e){return $t("ids",e,Pt(Ft())),hr(t=>k(this,Hd).forceLoadResources(e,t))}async addImage(e,t={}){$t("url",e,Dt()),$t("options",t,Lt(Rt({sizeMode:Lt(er()),positionMode:Lt(tr()),x:Lt(It()),y:Lt(It()),cornerRadius:Lt(It()),size:Lt(Bt([It(),Rt({width:It(),height:It()})])),timeline:Lt(Rt({timeOffset:Lt(It()),duration:Lt(It())})),shadow:Lt(Rt({color:Lt(nr()),offset:Lt(Rt({x:Lt(It()),y:Lt(It())})),blur:Lt(Rt({x:Lt(It()),y:Lt(It())}))})),animation:Lt(Rt({in:Lt(or()),loop:Lt(or()),out:Lt(or())}))})));const{x:r,y:n,size:o,timeline:i,animation:s,shadow:a,cornerRadius:l,sizeMode:d="Absolute",positionMode:c="Absolute"}=t;let u,h;if(null!=o)"number"==typeof o?(u=o,h=o):(u=o.width,h=o.height);else{const t=await new Promise((t,r)=>{const n=new Image;n.src=e,n.onerror=r,n.onload=()=>{t({width:n.width,height:n.height})}});u=t.width,h=t.height}const p=k(this,$d).getCurrentPage();if(null==p)throw new Error("No current page");const g=this.create("graphic");this.appendChild(p,g),this.setPositionXMode(g,c),this.setPositionYMode(g,c),this.setWidthMode(g,d),this.setHeightMode(g,d),null!=u&&this.setWidth(g,u),null!=h&&this.setHeight(g,h),null!=r?this.setPositionX(g,r):this.alignHorizontally([g],"Center"),null!=n?this.setPositionY(g,n):this.alignVertically([g],"Center");const f=this.createShape("rect");this.setShape(g,f),null!=l&&(this.setFloat(f,"shape/rect/cornerRadiusBL",l),this.setFloat(f,"shape/rect/cornerRadiusBR",l),this.setFloat(f,"shape/rect/cornerRadiusTL",l),this.setFloat(f,"shape/rect/cornerRadiusTR",l));const m=this.createFill("image");return this.setFill(g,m),this.setString(m,"fill/image/imageFileURI",e),null!=a&&this.applyDropShadow(g,a),null!=i?.timeOffset&&this.setTimeOffset(g,i.timeOffset),null!=i?.duration&&this.setDuration(g,i.duration),null!=s&&this.applyAnimation(g,s),await this.forceLoadResources([g]),this.adjustCropToFillFrame(g,.5),g}async addVideo(e,t,r,n={}){$t("url",e,Dt()),$t("width",t,It()),$t("height",r,It()),$t("options",n,Lt(Rt({sizeMode:Lt(er()),positionMode:Lt(tr()),x:Lt(It()),y:Lt(It()),timeline:Lt(Rt({timeOffset:Lt(It()),duration:Lt(It())})),animation:Lt(Rt({in:Lt(or()),loop:Lt(or()),out:Lt(or())})),shadow:Lt(Rt({color:Lt(nr()),offset:Lt(Rt({x:Lt(It()),y:Lt(It())})),blur:Lt(Rt({x:Lt(It()),y:Lt(It())}))})),cornerRadius:Lt(It())})));const{x:o,y:i,timeline:s,animation:a,shadow:l,cornerRadius:d,sizeMode:c="Absolute",positionMode:u="Absolute"}=n,h=k(this,$d).getCurrentPage();if(null==h)throw new Error("No current page");const p=this.create("graphic");this.appendChild(h,p),this.setPositionXMode(p,u),this.setPositionYMode(p,u),this.setWidthMode(p,c),this.setHeightMode(p,c),this.setWidth(p,t),this.setHeight(p,r),null!=o?this.setPositionX(p,o):this.alignHorizontally([p],"Center"),null!=i?this.setPositionY(p,i):this.alignVertically([p],"Center");const g=this.createShape("rect");this.setShape(p,g),null!=d&&(this.setFloat(g,"shape/rect/cornerRadiusBL",d),this.setFloat(g,"shape/rect/cornerRadiusBR",d),this.setFloat(g,"shape/rect/cornerRadiusTL",d),this.setFloat(g,"shape/rect/cornerRadiusTR",d));const f=this.createFill("video");return this.setFill(p,f),this.setString(f,"fill/video/fileURI",e),null!=l&&this.applyDropShadow(p,l),null!=s?.timeOffset&&this.setTimeOffset(p,s.timeOffset),null!=s?.duration&&this.setDuration(p,s.duration),null!=a&&this.applyAnimation(p,a),await this.forceLoadResources([p]),this.adjustCropToFillFrame(p,0),p}applyAnimation(e,t={}){if($t("block",e,Ft()),$t("animation",t,Lt(Rt({in:Lt(or()),loop:Lt(or()),out:Lt(or())}))),null!=t.in){const r=this.createAnimation(t.in.type);if(this.setInAnimation(e,r),this.setDuration(r,t.in.duration),null!=t.in.easing&&E(this,Nd,zd).call(this,r,"animationEasing")){const e=this.getEnumValues("animationEasing"),n=t.in.easing??"Linear";e.includes(n)&&this.setEnum(r,"animationEasing",n)}}if(null!=t.out){const r=this.createAnimation(t.out.type);if(this.setOutAnimation(e,r),this.setDuration(r,t.out.duration),null!=t.out.easing&&E(this,Nd,zd).call(this,r,"animationEasing")){const e=this.getEnumValues("animationEasing"),n=t.out.easing??"Linear";e.includes(n)&&this.setEnum(r,"animationEasing",n)}}if(null!=t.loop){const r=this.createAnimation(t.loop.type);if(this.setLoopAnimation(e,r),this.setDuration(r,t.loop.duration),null!=t.loop.easing&&E(this,Nd,zd).call(this,r,"animationEasing")){const e=this.getEnumValues("animationEasing"),n=t.loop.easing??"Linear";e.includes(n)&&this.setEnum(r,"animationEasing",n)}}}applyDropShadow(e,t={}){$t("block",e,Ft()),$t("options",t,Lt(Rt({color:Lt(nr()),offset:Lt(Rt({x:Lt(It()),y:Lt(It())})),blur:Lt(Rt({x:Lt(It()),y:Lt(It())}))})));const{color:r,offset:n,blur:o}=t;this.setDropShadowEnabled(e,!0),null!=r&&this.setDropShadowColor(e,r),null!=n&&(null!=n.x&&this.setDropShadowOffsetX(e,n.x),null!=n.y&&this.setDropShadowOffsetY(e,n.y)),null!=o&&(null!=o.x&&this.setDropShadowBlurRadiusX(e,o.x),null!=o.y&&this.setDropShadowBlurRadiusY(e,o.y))}async generateThumbnailAtTimeOffset(e,t){$t("height",e,jt(Ut(Ft(),512),1)),$t("time",t,It());const r=k(this,$d).getCurrentPage();if(null==r)throw new Error("No page to get thumbnail for");return new Promise((n,o)=>{k(this,Hd).generateVideoThumbnailSequence(r,e,t,t,1,e=>{if("error"in e)o(e.error);else{const t=new ImageData(new Uint8ClampedArray(e.imageData),e.width,e.height),r=document.createElement("canvas");r.width=e.width,r.height=e.height;const i=r.getContext("2d");if(!i)return void o(new Error("Failed to get canvas context"));i.putImageData(t,0,0),r.toBlob(e=>{e?n(e):o(new Error("Failed to convert to PNG"))},"image/png")}})})}getBackgroundTrack(){if(null==k(this,$d).getCurrentPage())return null;return this.findByType("track").find(e=>this.isPageDurationSource(e))??null}moveToBackgroundTrack(e){$t("block",e,Ft());let t=this.getBackgroundTrack();if(null==t){const e=k(this,$d).getCurrentPage();if(null==e)throw new Error("No current page found");t=this.create("//ly.img.ubq/track"),this.appendChild(e,t),this.setAlwaysOnBottom(t,!0),this.supportsPageDurationSource(e,t)&&this.setPageDurationSource(e,t)}this.appendChild(t,e)}};Vd=h(null),Hd=new WeakMap,$d=new WeakMap,Nd=new WeakSet,zd=function(e,t){return this.findAllProperties(e).includes(t)},y(Vd,1,"loadFromString",Wd,BlockAPI),y(Vd,1,"loadFromArchiveURL",qd,BlockAPI),y(Vd,1,"loadFromURL",jd,BlockAPI),y(Vd,1,"create",Ud,BlockAPI),y(Vd,1,"createFill",Bd,BlockAPI),y(Vd,1,"createAudioFromVideo",Od,BlockAPI),y(Vd,1,"createAudiosFromVideo",Dd,BlockAPI),y(Vd,1,"createCaptionsFromURI",Ld,BlockAPI),y(Vd,1,"getType",Rd,BlockAPI),y(Vd,1,"getKind",Id,BlockAPI),y(Vd,1,"setKind",Fd,BlockAPI),y(Vd,1,"select",Md,BlockAPI),y(Vd,1,"setSelected",Ad,BlockAPI),y(Vd,1,"isSelected",Pd,BlockAPI),y(Vd,1,"findAllSelected",Td,BlockAPI),y(Vd,1,"isGroupable",xd,BlockAPI),y(Vd,1,"group",Ed,BlockAPI),y(Vd,1,"ungroup",Cd,BlockAPI),y(Vd,1,"enterGroup",Sd,BlockAPI),y(Vd,1,"exitGroup",kd,BlockAPI),y(Vd,1,"isCombinable",_d,BlockAPI),y(Vd,1,"combine",wd,BlockAPI),y(Vd,1,"setName",vd,BlockAPI),y(Vd,1,"getName",yd,BlockAPI),y(Vd,1,"getUUID",bd,BlockAPI),y(Vd,1,"findByName",md,BlockAPI),y(Vd,1,"findByType",fd,BlockAPI),y(Vd,1,"findByKind",gd,BlockAPI),y(Vd,1,"findAll",pd,BlockAPI),y(Vd,1,"findAllPlaceholders",hd,BlockAPI),y(Vd,1,"findAllUnused",ud,BlockAPI),y(Vd,1,"createShape",cd,BlockAPI),y(Vd,1,"getShape",dd,BlockAPI),y(Vd,1,"setShape",ld,BlockAPI),y(Vd,1,"isVisible",ad,BlockAPI),y(Vd,1,"setVisible",sd,BlockAPI),y(Vd,1,"isClipped",id,BlockAPI),y(Vd,1,"setClipped",od,BlockAPI),y(Vd,1,"isTransformLocked",nd,BlockAPI),y(Vd,1,"isLineOrigin",rd,BlockAPI),y(Vd,1,"setTransformLocked",td,BlockAPI),y(Vd,1,"getPositionX",ed,BlockAPI),y(Vd,1,"getPositionXMode",Jl,BlockAPI),y(Vd,1,"getPositionY",Zl,BlockAPI),y(Vd,1,"getPositionYMode",Ql,BlockAPI),y(Vd,1,"setPositionX",Kl,BlockAPI),y(Vd,1,"setPositionXMode",Yl,BlockAPI),y(Vd,1,"setPositionY",Xl,BlockAPI),y(Vd,1,"setPositionYMode",Gl,BlockAPI),y(Vd,1,"setAlwaysOnTop",zl,BlockAPI),y(Vd,1,"setAlwaysOnBottom",Nl,BlockAPI),y(Vd,1,"isAlwaysOnTop",Vl,BlockAPI),y(Vd,1,"isAlwaysOnBottom",$l,BlockAPI),y(Vd,1,"bringToFront",Hl,BlockAPI),y(Vd,1,"sendToBack",Wl,BlockAPI),y(Vd,1,"bringForward",ql,BlockAPI),y(Vd,1,"sendBackward",jl,BlockAPI),y(Vd,1,"getRotation",Ul,BlockAPI),y(Vd,1,"setRotation",Bl,BlockAPI),y(Vd,1,"getFlipHorizontal",Ol,BlockAPI),y(Vd,1,"getFlipVertical",Dl,BlockAPI),y(Vd,1,"setFlipHorizontal",Ll,BlockAPI),y(Vd,1,"setFlipVertical",Rl,BlockAPI),y(Vd,1,"getWidth",Il,BlockAPI),y(Vd,1,"getWidthMode",Fl,BlockAPI),y(Vd,1,"getHeight",Ml,BlockAPI),y(Vd,1,"getHeightMode",Al,BlockAPI),y(Vd,1,"setSize",Pl,BlockAPI),y(Vd,1,"setPosition",Tl,BlockAPI),y(Vd,1,"setWidth",xl,BlockAPI),y(Vd,1,"setWidthMode",El,BlockAPI),y(Vd,1,"setHeight",Cl,BlockAPI),y(Vd,1,"setHeightMode",Sl,BlockAPI),y(Vd,1,"getFrameX",kl,BlockAPI),y(Vd,1,"getFrameY",_l,BlockAPI),y(Vd,1,"getFrameWidth",wl,BlockAPI),y(Vd,1,"getFrameHeight",vl,BlockAPI),y(Vd,1,"setContentFillMode",yl,BlockAPI),y(Vd,1,"getContentFillMode",bl,BlockAPI),y(Vd,1,"setContentFillHorizontalAlignment",ml,BlockAPI),y(Vd,1,"getContentFillHorizontalAlignment",fl,BlockAPI),y(Vd,1,"setContentFillVerticalAlignment",gl,BlockAPI),y(Vd,1,"getContentFillVerticalAlignment",pl,BlockAPI),y(Vd,1,"duplicate",hl,BlockAPI),y(Vd,1,"destroy",ul,BlockAPI),y(Vd,1,"isValid",cl,BlockAPI),y(Vd,1,"getParent",dl,BlockAPI),y(Vd,1,"getChildren",ll,BlockAPI),y(Vd,1,"insertChild",al,BlockAPI),y(Vd,1,"appendChild",sl,BlockAPI),y(Vd,1,"referencesAnyVariables",il,BlockAPI),y(Vd,1,"getGlobalBoundingBoxX",ol,BlockAPI),y(Vd,1,"getGlobalBoundingBoxY",nl,BlockAPI),y(Vd,1,"getGlobalBoundingBoxWidth",rl,BlockAPI),y(Vd,1,"getGlobalBoundingBoxHeight",tl,BlockAPI),y(Vd,1,"getScreenSpaceBoundingBoxXYWH",el,BlockAPI),y(Vd,1,"alignHorizontally",Ja,BlockAPI),y(Vd,1,"alignVertically",Za,BlockAPI),y(Vd,1,"isAlignable",Qa,BlockAPI),y(Vd,1,"distributeHorizontally",Ka,BlockAPI),y(Vd,1,"distributeVertically",Ya,BlockAPI),y(Vd,1,"isDistributable",Xa,BlockAPI),y(Vd,1,"fillParent",Ga,BlockAPI),y(Vd,1,"resizeContentAware",za,BlockAPI),y(Vd,1,"scale",Na,BlockAPI),y(Vd,1,"findAllProperties",Va,BlockAPI),y(Vd,1,"isPropertyReadable",$a,BlockAPI),y(Vd,1,"isPropertyWritable",Ha,BlockAPI),y(Vd,1,"getPropertyType",Wa,BlockAPI),y(Vd,1,"getEnumValues",qa,BlockAPI),y(Vd,1,"setBool",ja,BlockAPI),y(Vd,1,"getBool",Ua,BlockAPI),y(Vd,1,"setInt",Ba,BlockAPI),y(Vd,1,"getInt",Oa,BlockAPI),y(Vd,1,"setFloat",Da,BlockAPI),y(Vd,1,"getFloat",La,BlockAPI),y(Vd,1,"setDouble",Ra,BlockAPI),y(Vd,1,"getDouble",Ia,BlockAPI),y(Vd,1,"setString",Fa,BlockAPI),y(Vd,1,"getString",Ma,BlockAPI),y(Vd,1,"setColor",Aa,BlockAPI),y(Vd,1,"getColor",Pa,BlockAPI),y(Vd,1,"setColorRGBA",Ta,BlockAPI),y(Vd,1,"getColorRGBA",xa,BlockAPI),y(Vd,1,"setColorSpot",Ea,BlockAPI),y(Vd,1,"getColorSpotName",Ca,BlockAPI),y(Vd,1,"getColorSpotTint",Sa,BlockAPI),y(Vd,1,"setGradientColorStops",ka,BlockAPI),y(Vd,1,"getGradientColorStops",_a,BlockAPI),y(Vd,1,"getSourceSet",wa,BlockAPI),y(Vd,1,"setSourceSet",va,BlockAPI),y(Vd,1,"addImageFileURIToSourceSet",ya,BlockAPI),y(Vd,1,"addVideoFileURIToSourceSet",ba,BlockAPI),y(Vd,1,"setEnum",ma,BlockAPI),y(Vd,1,"getEnum",fa,BlockAPI),y(Vd,1,"setCropScaleX",ga,BlockAPI),y(Vd,1,"setCropScaleY",pa,BlockAPI),y(Vd,1,"setCropRotation",ha,BlockAPI),y(Vd,1,"setCropScaleRatio",ua,BlockAPI),y(Vd,1,"setCropTranslationX",ca,BlockAPI),y(Vd,1,"setCropTranslationY",da,BlockAPI),y(Vd,1,"resetCrop",la,BlockAPI),y(Vd,1,"getCropScaleX",aa,BlockAPI),y(Vd,1,"getCropScaleY",sa,BlockAPI),y(Vd,1,"getCropRotation",ia,BlockAPI),y(Vd,1,"getCropScaleRatio",oa,BlockAPI),y(Vd,1,"getCropTranslationX",na,BlockAPI),y(Vd,1,"getCropTranslationY",ra,BlockAPI),y(Vd,1,"adjustCropToFillFrame",ta,BlockAPI),y(Vd,1,"flipCropHorizontal",ea,BlockAPI),y(Vd,1,"flipCropVertical",Js,BlockAPI),y(Vd,1,"isCropAspectRatioLocked",Zs,BlockAPI),y(Vd,1,"setCropAspectRatioLocked",Qs,BlockAPI),y(Vd,1,"setOpacity",Ks,BlockAPI),y(Vd,1,"getOpacity",Ys,BlockAPI),y(Vd,1,"setBlendMode",Xs,BlockAPI),y(Vd,1,"getBlendMode",Gs,BlockAPI),y(Vd,1,"isIncludedInExport",zs,BlockAPI),y(Vd,1,"setIncludedInExport",Ns,BlockAPI),y(Vd,1,"setFillColorRGBA",Vs,BlockAPI),y(Vd,1,"getFillColorRGBA",$s,BlockAPI),y(Vd,1,"setFillColorEnabled",Hs,BlockAPI),y(Vd,1,"isFillColorEnabled",Ws,BlockAPI),y(Vd,1,"createEffect",qs,BlockAPI),y(Vd,1,"getEffects",js,BlockAPI),y(Vd,1,"insertEffect",Us,BlockAPI),y(Vd,1,"appendEffect",Bs,BlockAPI),y(Vd,1,"removeEffect",Os,BlockAPI),y(Vd,1,"setEffectEnabled",Ds,BlockAPI),y(Vd,1,"isEffectEnabled",Ls,BlockAPI),y(Vd,1,"createBlur",Rs,BlockAPI),y(Vd,1,"setBlur",Is,BlockAPI),y(Vd,1,"getBlur",Fs,BlockAPI),y(Vd,1,"setBlurEnabled",Ms,BlockAPI),y(Vd,1,"isBlurEnabled",As,BlockAPI),y(Vd,1,"setBackgroundColorRGBA",Ps,BlockAPI),y(Vd,1,"getBackgroundColorRGBA",Ts,BlockAPI),y(Vd,1,"setBackgroundColorEnabled",xs,BlockAPI),y(Vd,1,"isBackgroundColorEnabled",Es,BlockAPI),y(Vd,1,"setStrokeEnabled",Cs,BlockAPI),y(Vd,1,"isStrokeEnabled",Ss,BlockAPI),y(Vd,1,"setStrokeOverprint",ks,BlockAPI),y(Vd,1,"getStrokeOverprint",_s,BlockAPI),y(Vd,1,"setStrokeColorRGBA",ws,BlockAPI),y(Vd,1,"setStrokeColor",vs,BlockAPI),y(Vd,1,"getStrokeColorRGBA",ys,BlockAPI),y(Vd,1,"getStrokeColor",bs,BlockAPI),y(Vd,1,"setStrokeWidth",ms,BlockAPI),y(Vd,1,"getStrokeWidth",fs,BlockAPI),y(Vd,1,"setStrokeStyle",gs,BlockAPI),y(Vd,1,"getStrokeStyle",ps,BlockAPI),y(Vd,1,"setStrokePosition",hs,BlockAPI),y(Vd,1,"getStrokePosition",us,BlockAPI),y(Vd,1,"setStrokeCornerGeometry",cs,BlockAPI),y(Vd,1,"getStrokeCornerGeometry",ds,BlockAPI),y(Vd,1,"setStrokeCap",ls,BlockAPI),y(Vd,1,"getStrokeCap",as,BlockAPI),y(Vd,1,"setStrokeStartCap",ss,BlockAPI),y(Vd,1,"getStrokeStartCap",is,BlockAPI),y(Vd,1,"setStrokeEndCap",os,BlockAPI),y(Vd,1,"getStrokeEndCap",ns,BlockAPI),y(Vd,1,"setStrokeDashStartCap",rs,BlockAPI),y(Vd,1,"getStrokeDashStartCap",ts,BlockAPI),y(Vd,1,"setStrokeDashEndCap",es,BlockAPI),y(Vd,1,"getStrokeDashEndCap",Ji,BlockAPI),y(Vd,1,"setStrokeDashArray",Zi,BlockAPI),y(Vd,1,"getStrokeDashArray",Qi,BlockAPI),y(Vd,1,"setStrokeDashOffset",Ki,BlockAPI),y(Vd,1,"getStrokeDashOffset",Yi,BlockAPI),y(Vd,1,"setDropShadowEnabled",Xi,BlockAPI),y(Vd,1,"isDropShadowEnabled",Gi,BlockAPI),y(Vd,1,"setDropShadowColorRGBA",zi,BlockAPI),y(Vd,1,"setDropShadowColor",Ni,BlockAPI),y(Vd,1,"getDropShadowColorRGBA",Vi,BlockAPI),y(Vd,1,"getDropShadowColor",$i,BlockAPI),y(Vd,1,"setDropShadowOffsetX",Hi,BlockAPI),y(Vd,1,"getDropShadowOffsetX",Wi,BlockAPI),y(Vd,1,"setDropShadowOffsetY",qi,BlockAPI),y(Vd,1,"getDropShadowOffsetY",ji,BlockAPI),y(Vd,1,"setDropShadowBlurRadiusX",Ui,BlockAPI),y(Vd,1,"getDropShadowBlurRadiusX",Bi,BlockAPI),y(Vd,1,"setDropShadowBlurRadiusY",Oi,BlockAPI),y(Vd,1,"getDropShadowBlurRadiusY",Di,BlockAPI),y(Vd,1,"setDropShadowClip",Li,BlockAPI),y(Vd,1,"getDropShadowClip",Ri,BlockAPI),y(Vd,1,"createCutoutFromBlocks",Ii,BlockAPI),y(Vd,1,"createCutoutFromPath",Fi,BlockAPI),y(Vd,1,"createCutoutFromOperation",Mi,BlockAPI),y(Vd,1,"replaceText",Ai,BlockAPI),y(Vd,1,"removeText",Pi,BlockAPI),y(Vd,1,"setTextColor",Ti,BlockAPI),y(Vd,1,"getTextColors",xi,BlockAPI),y(Vd,1,"setTextFontWeight",Ei,BlockAPI),y(Vd,1,"getTextFontWeights",Ci,BlockAPI),y(Vd,1,"setTextFontSize",Si,BlockAPI),y(Vd,1,"getTextFontSizes",ki,BlockAPI),y(Vd,1,"setTextFontStyle",_i,BlockAPI),y(Vd,1,"getTextFontStyles",wi,BlockAPI),y(Vd,1,"getTextCases",vi,BlockAPI),y(Vd,1,"setTextCase",yi,BlockAPI),y(Vd,1,"getTextDecorations",bi,BlockAPI),y(Vd,1,"setTextDecoration",mi,BlockAPI),y(Vd,1,"setTextKerning",fi,BlockAPI),y(Vd,1,"getTextKernings",gi,BlockAPI),y(Vd,1,"toggleTextDecorationUnderline",pi,BlockAPI),y(Vd,1,"toggleTextDecorationStrikethrough",hi,BlockAPI),y(Vd,1,"toggleTextDecorationOverline",ui,BlockAPI),y(Vd,1,"getTextHorizontalAlignment",ci,BlockAPI),y(Vd,1,"setTextHorizontalAlignment",di,BlockAPI),y(Vd,1,"getTextListStyle",li,BlockAPI),y(Vd,1,"setTextListStyle",ai,BlockAPI),y(Vd,1,"getTextListLevel",si,BlockAPI),y(Vd,1,"setTextListLevel",ii,BlockAPI),y(Vd,1,"getTextParagraphIndices",oi,BlockAPI),y(Vd,1,"setTextLineHeight",ni,BlockAPI),y(Vd,1,"getTextLineHeight",ri,BlockAPI),y(Vd,1,"canToggleBoldFont",ti,BlockAPI),y(Vd,1,"canToggleItalicFont",ei,BlockAPI),y(Vd,1,"toggleBoldFont",Jo,BlockAPI),y(Vd,1,"toggleItalicFont",Zo,BlockAPI),y(Vd,1,"setFont",Qo,BlockAPI),y(Vd,1,"setTypeface",Ko,BlockAPI),y(Vd,1,"getTypeface",Yo,BlockAPI),y(Vd,1,"getTypefaces",Xo,BlockAPI),y(Vd,1,"getTextCursorRange",Go,BlockAPI),y(Vd,1,"setTextCursorRange",zo,BlockAPI),y(Vd,1,"getTextVisibleLineCount",No,BlockAPI),y(Vd,1,"getTextVisibleLineGlobalBoundingBoxXYWH",Vo,BlockAPI),y(Vd,1,"getTextVisibleLineContent",$o,BlockAPI),y(Vd,1,"getTextCharacterInkBoxes",Ho,BlockAPI),y(Vd,1,"getTextEffectiveHorizontalAlignment",Wo,BlockAPI),y(Vd,1,"isFillEnabled",qo,BlockAPI),y(Vd,1,"setFillEnabled",jo,BlockAPI),y(Vd,1,"getFillOverprint",Uo,BlockAPI),y(Vd,1,"setFillOverprint",Bo,BlockAPI),y(Vd,1,"getFill",Oo,BlockAPI),y(Vd,1,"setFill",Do,BlockAPI),y(Vd,1,"setFillSolidColor",Lo,BlockAPI),y(Vd,1,"getFillSolidColor",Ro,BlockAPI),y(Vd,1,"setPlaceholderEnabled",Io,BlockAPI),y(Vd,1,"isPlaceholderEnabled",Fo,BlockAPI),y(Vd,1,"setPlaceholderBehaviorEnabled",Mo,BlockAPI),y(Vd,1,"isPlaceholderBehaviorEnabled",Ao,BlockAPI),y(Vd,1,"setPlaceholderControlsOverlayEnabled",Po,BlockAPI),y(Vd,1,"isPlaceholderControlsOverlayEnabled",To,BlockAPI),y(Vd,1,"setPlaceholderControlsButtonEnabled",xo,BlockAPI),y(Vd,1,"isPlaceholderControlsButtonEnabled",Eo,BlockAPI),y(Vd,1,"setMetadata",Co,BlockAPI),y(Vd,1,"getMetadata",So,BlockAPI),y(Vd,1,"hasMetadata",ko,BlockAPI),y(Vd,1,"findAllMetadata",_o,BlockAPI),y(Vd,1,"removeMetadata",wo,BlockAPI),y(Vd,1,"setScopeEnabled",vo,BlockAPI),y(Vd,1,"isScopeEnabled",yo,BlockAPI),y(Vd,1,"isAllowedByScope",bo,BlockAPI),y(Vd,1,"setDuration",mo,BlockAPI),y(Vd,1,"getDuration",fo,BlockAPI),y(Vd,1,"setPageDurationSource",go,BlockAPI),y(Vd,1,"isPageDurationSource",po,BlockAPI),y(Vd,1,"removePageDurationSource",ho,BlockAPI),y(Vd,1,"setTimeOffset",uo,BlockAPI),y(Vd,1,"getTimeOffset",co,BlockAPI),y(Vd,1,"setTrimOffset",lo,BlockAPI),y(Vd,1,"getTrimOffset",ao,BlockAPI),y(Vd,1,"setTrimLength",so,BlockAPI),y(Vd,1,"getTrimLength",io,BlockAPI),y(Vd,1,"split",oo,BlockAPI),y(Vd,1,"getTotalSceneDuration",no,BlockAPI),y(Vd,1,"setPlaying",ro,BlockAPI),y(Vd,1,"isPlaying",to,BlockAPI),y(Vd,1,"setPlaybackTime",eo,BlockAPI),y(Vd,1,"getPlaybackTime",Jn,BlockAPI),y(Vd,1,"isVisibleAtCurrentPlaybackTime",Zn,BlockAPI),y(Vd,1,"setSoloPlaybackEnabled",Qn,BlockAPI),y(Vd,1,"isSoloPlaybackEnabled",Kn,BlockAPI),y(Vd,1,"setLooping",Yn,BlockAPI),y(Vd,1,"isLooping",Xn,BlockAPI),y(Vd,1,"setMuted",Gn,BlockAPI),y(Vd,1,"isForceMuted",zn,BlockAPI),y(Vd,1,"isMuted",Nn,BlockAPI),y(Vd,1,"setVolume",Vn,BlockAPI),y(Vd,1,"getVolume",$n,BlockAPI),y(Vd,1,"setPlaybackSpeed",Hn,BlockAPI),y(Vd,1,"getPlaybackSpeed",Wn,BlockAPI),y(Vd,1,"forceLoadAVResource",qn,BlockAPI),y(Vd,1,"unstable_isAVResourceLoaded",jn,BlockAPI),y(Vd,1,"getAVResourceTotalDuration",Un,BlockAPI),y(Vd,1,"getVideoWidth",Bn,BlockAPI),y(Vd,1,"getVideoHeight",On,BlockAPI),y(Vd,1,"getVideoFillThumbnail",Dn,BlockAPI),y(Vd,1,"getVideoFillThumbnailAtlas",Ln,BlockAPI),y(Vd,1,"getPageThumbnailAtlas",Rn,BlockAPI),y(Vd,1,"createAnimation",In,BlockAPI),y(Vd,1,"setInAnimation",Fn,BlockAPI),y(Vd,1,"setLoopAnimation",Mn,BlockAPI),y(Vd,1,"setOutAnimation",An,BlockAPI),y(Vd,1,"getInAnimation",Pn,BlockAPI),y(Vd,1,"getLoopAnimation",Tn,BlockAPI),y(Vd,1,"getOutAnimation",xn,BlockAPI),y(Vd,1,"setNativePixelBuffer",En,BlockAPI),y(Vd,1,"getState",Cn,BlockAPI),y(Vd,1,"setState",Sn,BlockAPI),y(Vd,1,"forceLoadResources",kn,BlockAPI),y(Vd,1,"applyAnimation",_n,BlockAPI),y(Vd,1,"applyDropShadow",wn,BlockAPI),y(Vd,1,"generateThumbnailAtTimeOffset",vn,BlockAPI),y(Vd,1,"getBackgroundTrack",yn,BlockAPI),y(Vd,1,"moveToBackgroundTrack",bn,BlockAPI),m(Vd,BlockAPI);var Zd,Jd,ec,tc,rc,nc,oc,ic,sc,ac,lc,dc,cc,uc,hc,pc,gc,fc,mc,bc,yc,vc,wc,_c,kc,Sc,Cc,Ec,xc,Tc,Pc,Ac,Mc,Fc,Ic,Rc,Lc,Dc,Oc,Bc,Uc,jc,qc,Wc,Hc,$c,Vc,Nc,zc,Gc,Xc,Yc,Kc,Qc,Zc,Jc,eu,tu,ru,nu,ou,iu,su,au,lu,du,cu,uu,hu,pu,gu,fu,mu,bu,yu,vu,wu,_u,ku,Su,Cu,Eu,xu,Tu,Pu,Au,Mu,Fu=new WeakMap,Iu=new WeakMap;Tu=[lr],xu=[lr],Eu=[lr],Cu=[ar({disabledInModes:["Playback"]})],Su=[ar({disabledInModes:["Playback"]})],ku=[lr],_u=[lr],wu=[ar()],vu=[ar({disabledInModes:["Playback"]})],yu=[ar()],bu=[lr],mu=[lr],fu=[ar()],gu=[lr],pu=[lr],hu=[lr],uu=[ar()],cu=[lr],du=[ar()],lu=[lr],au=[ar()],su=[lr],iu=[ar()],ou=[ar({disabledInModes:["Playback"]})],nu=[ar({disabledInModes:["Playback"]})],ru=[ar({disabledInModes:["Playback"]})],tu=[ar({disabledInModes:["Playback"]})],eu=[lr],Jc=[lr],Zc=[lr],Qc=[ar({disabledInModes:["Playback"]})],Kc=[lr],Yc=[lr],Xc=[lr],Gc=[lr],zc=[ar({disabledInModes:["Playback"]})],Nc=[ar({disabledInModes:["Playback"]})],Vc=[lr],$c=[ar({disabledInModes:["Playback"]})],Hc=[lr],Wc=[ar({disabledInModes:["Playback"]})],qc=[lr],jc=[ar({disabledInModes:["Playback"]})],Uc=[lr],Bc=[ar({disabledInModes:["Playback"]})],Oc=[lr],Dc=[ar({disabledInModes:["Playback"]})],Lc=[lr],Rc=[ar({disabledInModes:["Playback"]})],Ic=[lr],Fc=[ar({disabledInModes:["Playback"]})],Mc=[lr],Ac=[ar({disabledInModes:["Playback"]})],Pc=[lr],Tc=[ar({disabledInModes:["Playback"]})],xc=[ar({disabledInModes:["Playback"]})],Ec=[ar({disabledInModes:["Playback"]})],Cc=[ar({disabledInModes:["Playback"]})],Sc=[ar({disabledInModes:["Playback"]})],kc=[lr],_c=[lr],wc=[ar({disabledInModes:["Playback"]})],vc=[ar({disabledInModes:["Playback"]})],yc=[ar({disabledInModes:["Playback"]})],bc=[lr],mc=[ar({disabledInModes:["Playback"]})],fc=[ar({disabledInModes:["Playback"]})],gc=[ar({disabledInModes:["Playback"]})],pc=[ar({disabledInModes:["Playback"]})],hc=[lr],uc=[lr],cc=[lr],dc=[lr],lc=[lr],ac=[ar({disabledInModes:["Playback"]})],sc=[ar({disabledInModes:["Playback"]})],ic=[lr],oc=[lr],nc=[ar()],rc=[ar({disabledInModes:["Playback"]})],tc=[lr],ec=[lr],Jd=[ar({disabledInModes:["Playback"]})],Zd=[lr];var EditorAPI=class{constructor(e,t){b(Mu,5,this),S(this,Pu),S(this,Au),v(this,"onStateChanged",e=>{const t=k(this,Pu).subscribeToEditorState(e);return()=>{k(this,Pu).isDeleted()||ur(k(this,Pu).unsubscribe(t))}}),v(this,"onHistoryUpdated",e=>{const t=k(this,Pu).subscribeToHistory(t=>{e(1===t?"Activated":"Updated")});return()=>{k(this,Pu).isDeleted()||k(this,Pu).unsubscribe(t)}}),v(this,"onSettingsChanged",e=>{const t=k(this,Pu).subscribeToSettings(e);return()=>{k(this,Pu).isDeleted()||ur(k(this,Pu).unsubscribe(t))}}),v(this,"onRoleChanged",e=>{const t=k(this,Pu).subscribeToRoleChange(e);return()=>{k(this,Pu).isDeleted()||ur(k(this,Pu).unsubscribe(t))}}),C(this,Pu,e),C(this,Au,t)}unlockWithLicense(e){ur(k(this,Pu).unlockWithLicense(e))}startTracking(e,t){k(this,Pu).startTracking(e,t,"")}setTrackingMetadata(e){k(this,Pu).setTrackingMetadata(e)}getTrackingMetadata(){return ur(k(this,Pu).getTrackingMetadata())}getActiveLicense(){return ur(k(this,Pu).getActiveLicense())}_update(){k(this,Pu).update()}setEditMode(e,t){$t("mode",e,Dt()),$t("baseMode",t,Lt(Dt())),k(this,Pu).setEditMode(e,t??"")}getEditMode(){return k(this,Pu).getEditMode()}unstable_isInteractionHappening(){return ur(k(this,Pu).unstable_isInteractionHappening())}hasSelectedVectorNode(){return k(this,Pu).hasSelectedVectorNode()}addVectorNode(){ur(k(this,Pu).addVectorNode())}deleteVectorNode(){ur(k(this,Pu).deleteVectorNode())}hasSelectedVectorControlPoint(){return k(this,Pu).hasSelectedVectorControlPoint()}deleteSelectedVectorControlPoints(){ur(k(this,Pu).deleteSelectedVectorControlPoints())}toggleSelectedVectorNodeSmooth(){ur(k(this,Pu).toggleSelectedVectorNodeSmooth())}setVectorEditBendMode(e){$t("active",e,At()),ur(k(this,Pu).setVectorEditBendMode(e))}getVectorEditBendMode(){return k(this,Pu).getVectorEditBendMode()}setVectorEditAddMode(e){$t("active",e,At()),ur(k(this,Pu).setVectorEditAddMode(e))}getVectorEditAddMode(){return k(this,Pu).getVectorEditAddMode()}setVectorEditDeleteMode(e){$t("active",e,At()),ur(k(this,Pu).setVectorEditDeleteMode(e))}getVectorEditDeleteMode(){return k(this,Pu).getVectorEditDeleteMode()}setSelectedVectorNodeMirrorMode(e){$t("mode",e,It()),ur(k(this,Pu).setSelectedVectorNodeMirrorMode(e))}getSelectedVectorNodeMirrorMode(){return ur(k(this,Pu).getSelectedVectorNodeMirrorMode())}getCursorType(){return k(this,Pu).getCursorType()}getCursorRotation(){return k(this,Pu).getCursorRotation()}getTextCursorPositionInScreenSpaceX(){return k(this,Pu).getTextCursorPositionInScreenSpaceX()}getTextCursorPositionInScreenSpaceY(){return k(this,Pu).getTextCursorPositionInScreenSpaceY()}createHistory(){return k(this,Pu).createHistory()}destroyHistory(e){ur(k(this,Pu).destroyHistory(e))}setActiveHistory(e){ur(k(this,Pu).setActiveHistory(e))}getActiveHistory(){return k(this,Pu).getActiveHistory()}addUndoStep(){ur(k(this,Pu).addUndoStep())}removeUndoStep(){ur(k(this,Pu).removeUndoStep())}undo(){ur(k(this,Pu).undo())}redo(){ur(k(this,Pu).redo())}canUndo(){return ur(k(this,Pu).canUndo())}canRedo(){return ur(k(this,Pu).canRedo())}setSetting(e,t){$t("keypath",e,Dt());const r=this.normalizeSettingKey(e);if(!this.isValidSettingKey(r))throw new Error(`Invalid setting key: '${e}'`);switch(this.getSettingTypeForKey(r)){case"Bool":return ur(k(this,Pu).setSettingBool(r,t));case"Int":if(!Number.isInteger(t))throw new Error(`Setting '${e}' requires an integer value`);return ur(k(this,Pu).setSettingInt(r,t));case"Float":return ur(k(this,Pu).setSettingFloat(r,t));case"String":return ur(k(this,Pu).setSettingString(r,t));case"Color":{const e=t;return ur(k(this,Pu).setSettingColor(r,mn.fromColor(e)))}case"Enum":return ur(k(this,Pu).setSettingEnum(r,t));default:throw new Error(`Unknown setting type for key '${e}'`)}}getSetting(e){$t("keypath",e,Dt());const t=this.normalizeSettingKey(e);if(!this.isValidSettingKey(t))throw new Error(`Invalid setting key: '${e}'`);switch(this.getSettingTypeForKey(t)){case"Bool":return ur(k(this,Pu).getSettingBool(t));case"Int":return ur(k(this,Pu).getSettingInt(t));case"Float":return ur(k(this,Pu).getSettingFloat(t));case"String":return ur(k(this,Pu).getSettingString(t));case"Color":return mn.toColor(ur(k(this,Pu).getSettingColor(t)));case"Enum":return ur(k(this,Pu).getSettingEnum(t));default:throw new Error(`Unknown setting type for key '${e}'`)}}normalizeSettingKey(e){return e.startsWith("ubq://")?e.slice(6):e}isValidSettingKey(e){return e in{"controlGizmo/showCropHandles":!0,"controlGizmo/showCropScaleHandles":!0,"controlGizmo/showMoveHandles":!0,"controlGizmo/dynamicMoveHandleVisibility":!0,"controlGizmo/showResizeHandles":!0,"controlGizmo/showRotateHandles":!0,"controlGizmo/showScaleHandles":!0,doubleClickToCropEnabled:!0,"features/singlePageModeEnabled":!0,"features/fileSystemUsageEnabled":!0,"features/pageCarouselEnabled":!0,"features/clampTextBlockWidthToPageDimensionsDuringEditing":!0,"features/transformEditsRetainCoverMode":!0,"mouse/enableScroll":!0,"mouse/enableZoom":!0,"page/allowCropInteraction":!0,"page/allowMoveInteraction":!0,"page/allowResizeInteraction":!0,"page/allowRotateInteraction":!0,"page/allowShapeChange":!0,"page/dimOutOfPageAreas":!0,"page/marqueeSelectOnBodyDrag":!0,"page/restrictPageSelectionToBorderAndTitle":!0,"page/restrictResizeInteractionToFixedAspectRatio":!0,"page/moveChildrenWhenCroppingFill":!0,"page/reparentBlocksToSceneWhenOutOfPage":!0,"page/selectWhenNoBlocksSelected":!0,"page/highlightWhenCropping":!0,"page/highlightDropTarget":!0,"page/title/appendPageName":!0,"page/title/canEdit":!0,"page/title/show":!0,"page/title/showOnSinglePage":!0,"page/title/showPageTitleTemplate":!0,"placeholderControls/showButton":!0,"placeholderControls/showOverlay":!0,"blockAnimations/enabled":!0,"grid/enabled":!0,"grid/snapEnabled":!0,showBuildVersion:!0,"touch/dragStartCanSelect":!0,"touch/singlePointPanning":!0,useSystemFontFallback:!0,forceSystemEmojis:!0,basePath:!0,defaultEmojiFontFileUri:!0,defaultFontFileUri:!0,license:!0,"page/title/fontFileUri":!0,"page/title/separator":!0,fallbackFontUri:!0,"upload/supportedMimeTypes":!0,"web/fetchCredentials":!0,"controlGizmo/blockScaleDownLimit":!0,listIndentPerLevel:!0,"grid/spacingX":!0,"grid/spacingY":!0,positionSnappingThreshold:!0,rotationSnappingThreshold:!0,maxImageSize:!0,maxPreviewResolution:!0,borderOutlineColor:!0,clearColor:!0,"grid/color":!0,"colorMaskingSettings/maskColor":!0,cropOverlayColor:!0,errorStateColor:!0,highlightColor:!0,"page/innerBorderColor":!0,"page/marginFillColor":!0,"page/marginFrameColor":!0,"page/outerBorderColor":!0,"page/title/color":!0,pageHighlightColor:!0,placeholderHighlightColor:!0,progressColor:!0,rotationSnappingGuideColor:!0,ruleOfThirdsLineColor:!0,snappingGuideColor:!0,textVariableHighlightColor:!0,handleFillColor:!0,doubleClickSelectionMode:!0,"touch/pinchAction":!0,"touch/rotateAction":!0,"camera/clamping/overshootMode":!0,renderMode:!0,alwaysHighlightPlaceholders:!0,"colorMaskingSettings/secondPass":!0,"debug/enforceScopesInAPIs":!0,"debug/showCameraDebugVisualization":!0,"debug/showHandlesInteractionArea":!0,"debug/useDebugMipmaps":!0,"debug/showDebugUI":!0,"debug/hookInputSystem":!0,"features/effectsEnabled":!0,"features/highQualityMipmaps":!0,"features/implicitUpdatesEnabled":!0,"features/templatingEnabled":!0,"features/videosEnabled":!0,"features/videoCaptionsEnabled":!0,"features/forceLowQualityVideoPreview":!0,"features/matchThumbnailSourceToFill":!0,"features/p3WorkingColorSpace":!0,"features/removeForegroundTracksOnSceneLoad":!0,"features/videoTranscodingEnabled":!0,"features/textEditModeTransformHandlesEnabled":!0,"features/videoStreamingEnabled":!0,"features/enableAutomaticEnumerations":!0,"features/enforceAudioBeforeVideoBlocks":!0,"features/fontLineGapEnabled":!0,renderTextCursorAndSelectionInEngine:!0,clampThumbnailTextureSizes:!0,"dock/hideLabels":!0,"dock/iconSize":!0,"colorPicker/colorMode":!0,"timeline/trackVisibility":!0}}getSettingTypeForKey(e){const t=Object.keys({borderOutlineColor:!0,clearColor:!0,"colorMaskingSettings/maskColor":!0,cropOverlayColor:!0,errorStateColor:!0,handleFillColor:!0,highlightColor:!0,"page/innerBorderColor":!0,"page/marginFillColor":!0,"page/marginFrameColor":!0,"page/outerBorderColor":!0,"page/title/color":!0,pageHighlightColor:!0,placeholderHighlightColor:!0,progressColor:!0,rotationSnappingGuideColor:!0,ruleOfThirdsLineColor:!0,snappingGuideColor:!0,textVariableHighlightColor:!0,"grid/color":!0});if(new Set(t).has(e))return"Color";const r=Object.keys({doubleClickSelectionMode:!0,"touch/pinchAction":!0,"touch/rotateAction":!0,"camera/clamping/overshootMode":!0,"colorPicker/colorMode":!0,"timeline/trackVisibility":!0});if(new Set(r).has(e))return"Enum";if(e in{maxImageSize:!0,maxPreviewResolution:!0})return"Int";const n=Object.keys({"controlGizmo/blockScaleDownLimit":!0,listIndentPerLevel:!0,"grid/spacingX":!0,"grid/spacingY":!0,positionSnappingThreshold:!0,rotationSnappingThreshold:!0});if(new Set(n).has(e))return"Float";const o=Object.keys({basePath:!0,defaultEmojiFontFileUri:!0,defaultFontFileUri:!0,license:!0,"page/title/fontFileUri":!0,"page/title/separator":!0,fallbackFontUri:!0,"upload/supportedMimeTypes":!0,"web/fetchCredentials":!0});return new Set(o).has(e)?"String":"Bool"}setSettingBool(e,t){return $t("keypath",e,Dt()),$t("value",t,At()),ur(k(this,Pu).setSettingBool(e,t))}getSettingBool(e){return $t("keypath",e,Dt()),ur(k(this,Pu).getSettingBool(e))}setSettingInt(e,t){return $t("keypath",e,Dt()),$t("value",t,Ft()),ur(k(this,Pu).setSettingInt(e,t))}getSettingInt(e){return $t("keypath",e,Dt()),ur(k(this,Pu).getSettingInt(e))}setSettingFloat(e,t){return $t("keypath",e,Dt()),$t("value",t,It()),ur(k(this,Pu).setSettingFloat(e,t))}getSettingFloat(e){return $t("keypath",e,Dt()),ur(k(this,Pu).getSettingFloat(e))}setSettingString(e,t){return $t("keypath",e,Dt()),$t("value",t,Dt()),ur(k(this,Pu).setSettingString(e,t))}getSettingString(e){return $t("keypath",e,Dt()),ur(k(this,Pu).getSettingString(e))}setSettingColor(e,t){return $t("keypath",e,Dt()),ur(k(this,Pu).setSettingColor(e,mn.fromColor(t)))}getSettingColor(e){return $t("keypath",e,Dt()),mn.toColor(ur(k(this,Pu).getSettingColor(e)))}setSettingColorRGBA(e,t,r,n,o=1){return $t("keypath",e,Dt()),$t("r",t,It()),$t("g",r,It()),$t("b",n,It()),$t("a",o,It()),ur(k(this,Pu).setSettingColorRGBA(e,t,r,n,o))}getSettingColorRGBA(e){return $t("keypath",e,Dt()),ur(k(this,Pu).getSettingColorRGBA(e))}setSettingEnum(e,t){return $t("keypath",e,Dt()),$t("value",t,Dt()),ur(k(this,Pu).setSettingEnum(e,t))}getSettingEnum(e){return $t("keypath",e,Dt()),ur(k(this,Pu).getSettingEnum(e))}getSettingEnumOptions(e){return $t("keypath",e,Dt()),Tr(ur(k(this,Pu).getSettingEnumOptions(e)))}setRole(e){return ur(k(this,Pu).setRole(e))}getRole(){return ur(k(this,Pu).getRole())}findAllSettings(){return Tr(k(this,Pu).findAllSettings())}getSettingType(e){$t("keypath",e,Dt());return ur(k(this,Pu).getSettingType(e))}getAvailableMemory(){return ur(k(this,Pu).getAvailableMemory())}getUsedMemory(){return ur(k(this,Pu).getUsedMemory())}getMaxExportSize(){return ur(k(this,Pu).getMaxExportSize())}setURIResolver(e){Fu.set(k(this,Pu),e);return ur(k(this,Pu).setURIResolver(t=>e(t,this.defaultURIResolver.bind(this))))}setURIResolverAsync(e){if(null===e)return Iu.delete(k(this,Pu)),void ur(k(this,Pu).setURIResolverAsync(null));Iu.set(k(this,Pu),e);const t=this.defaultURIResolver.bind(this),r=(e,t)=>{var r;const n=t instanceof Error?t.message:String(t);return null==(r=k(this,Au))||r.call(this,`URI resolver failed for "${e}": ${n}`,"Warning"),{error:n}};ur(k(this,Pu).setURIResolverAsync(n=>{try{const o=e(n,t);return"function"==typeof o?.then?o.catch(e=>r(n,e)):o}catch(e){return r(n,e)}}))}getURIResolver(){return Fu.get(k(this,Pu))??null}getURIResolverAsync(){return Iu.get(k(this,Pu))??null}defaultURIResolver(e){return k(this,Pu).defaultURIResolver(e)}getAbsoluteURI(e){return hr(t=>k(this,Pu).getAbsoluteURI(e,t))}findAllScopes(){return Tr(k(this,Pu).findAllScopes())}setGlobalScope(e,t){$t("key",e,Dt()),$t("value",t,Dt()),ur(k(this,Pu).setGlobalScope(e,t))}getGlobalScope(e){return $t("key",e,Dt()),ur(k(this,Pu).getGlobalScope(e))}findAllSpotColors(){return Tr(k(this,Pu).findAllSpotColors())}getSpotColorRGBA(e){return $t("name",e,Dt()),k(this,Pu).getSpotColorRGB(e)}getSpotColorCMYK(e){return $t("name",e,Dt()),k(this,Pu).getSpotColorCMYK(e)}setSpotColorRGB(e,t,r,n){return $t("name",e,Dt()),$t("r",t,It()),$t("g",r,It()),$t("b",n,It()),k(this,Pu).setSpotColorRGB(e,t,r,n)}setSpotColorCMYK(e,t,r,n,o){return $t("name",e,Dt()),$t("c",t,It()),$t("m",r,It()),$t("y",n,It()),$t("k",o,It()),k(this,Pu).setSpotColorCMYK(e,t,r,n,o)}removeSpotColor(e){return $t("name",e,Dt()),ur(k(this,Pu).removeSpotColor(e))}setSpotColorForCutoutType(e,t){return $t("type",e,Dt()),$t("color",t,Dt()),ur(k(this,Pu).setSpotColorForCutoutType(e,t))}getSpotColorForCutoutType(e){return $t("type",e,Dt()),ur(k(this,Pu).getSpotColorForCutoutType(e))}convertColorToColorSpace(e,t){return $t("colorSpace",t,Dt()),mn.toColor(ur(k(this,Pu).convertColorToColorSpace(mn.fromColor(e),t)))}createBuffer(){return k(this,Pu).createBuffer()}destroyBuffer(e){ur(k(this,Pu).destroyBuffer(e))}setBufferData(e,t,r){$t("offset",t,Ft()),ur(k(this,Pu).setBufferData(e,t,r))}getBufferData(e,t,r){$t("offset",t,Ft()),$t("length",r,Ft());const n=k(this,Pu).getBufferData(e,t,r);if("error"in n)throw new Error(n.error);return n}setBufferLength(e,t){$t("length",t,Ft()),ur(k(this,Pu).setBufferLength(e,t))}getBufferLength(e){return ur(k(this,Pu).getBufferLength(e))}cloneBuffers(){return Tr(ur(k(this,Pu).cloneBuffers()))}restoreBuffers(e){ur(k(this,Pu).restoreBuffers(e))}getMimeType(e){return $t("uri",e,Dt()),hr(t=>k(this,Pu).getMimeType(e,t))}getFontMetrics(e){return $t("fontFileUri",e,Dt()),hr(t=>k(this,Pu).getFontMetrics(e,t))}findAllTransientResources(){return Tr(ur(k(this,Pu).findAllTransientResources()))}findAllMediaURIs(){return Tr(ur(k(this,Pu).findAllMediaURIs()))}getResourceData(e,t,r){$t("uri",e,Dt()),$t("chunkSize",t,Ft()),ur(k(this,Pu).getResourceData(e,t,r))}relocateResource(e,t){$t("currentUrl",e,Dt()),$t("relocatedUrl",t,Dt()),ur(k(this,Pu).relocateResource(e,t))}isHighlightingEnabled(e){return $t("id",e,Ft()),ur(k(this,Pu).isHighlightingEnabled(e))}setHighlightingEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Pu).setHighlightingEnabled(e,t))}setSafeAreaInsets(e){const t=this.getSafeAreaInsets();return ur(k(this,Pu).setSafeAreaInsets(e.left??t.left,e.top??t.top,e.right??t.right,e.bottom??t.bottom))}getSafeAreaInsets(){const[e,t,r,n]=k(this,Pu).getSafeAreaInsets();return{left:e,top:t,right:r,bottom:n}}isSelectionEnabled(e){return $t("id",e,Ft()),ur(k(this,Pu).isSelectionEnabled(e))}setSelectionEnabled(e,t){return $t("id",e,Ft()),$t("enabled",t,At()),ur(k(this,Pu).setSelectionEnabled(e,t))}setMovementConstraint(e){const t=Array.isArray(e)?e:[e];$t("rules",t,Pt(ju));for(const e of t){const t="block"in e?[e.block]:"blockType"in e?[e.blockType]:[];ur(k(this,Pu).setMovementConstraint(t,e.overshoot))}}getMovementConstraint(e){$t("id",e,Ft());const t=ur(k(this,Pu).getMovementConstraint(e));return t<0?null:{overshoot:t}}removeMovementConstraint(e){if(void 0===e)return void ur(k(this,Pu).removeMovementConstraint([]));const t=Array.isArray(e)?e:[e];if($t("scopes",t,Pt(qu)),0===t.length)return;const r=t.map(e=>"block"in e?e.block:e.blockType);ur(k(this,Pu).removeMovementConstraint(r))}};Mu=h(null),Pu=new WeakMap,Au=new WeakMap,y(Mu,1,"unlockWithLicense",Tu,EditorAPI),y(Mu,1,"startTracking",xu,EditorAPI),y(Mu,1,"setTrackingMetadata",Eu,EditorAPI),y(Mu,1,"getTrackingMetadata",Cu,EditorAPI),y(Mu,1,"getActiveLicense",Su,EditorAPI),y(Mu,1,"_update",ku,EditorAPI),y(Mu,1,"setEditMode",_u,EditorAPI),y(Mu,1,"getEditMode",wu,EditorAPI),y(Mu,1,"unstable_isInteractionHappening",vu,EditorAPI),y(Mu,1,"hasSelectedVectorNode",yu,EditorAPI),y(Mu,1,"addVectorNode",bu,EditorAPI),y(Mu,1,"deleteVectorNode",mu,EditorAPI),y(Mu,1,"hasSelectedVectorControlPoint",fu,EditorAPI),y(Mu,1,"deleteSelectedVectorControlPoints",gu,EditorAPI),y(Mu,1,"toggleSelectedVectorNodeSmooth",pu,EditorAPI),y(Mu,1,"setVectorEditBendMode",hu,EditorAPI),y(Mu,1,"getVectorEditBendMode",uu,EditorAPI),y(Mu,1,"setVectorEditAddMode",cu,EditorAPI),y(Mu,1,"getVectorEditAddMode",du,EditorAPI),y(Mu,1,"setVectorEditDeleteMode",lu,EditorAPI),y(Mu,1,"getVectorEditDeleteMode",au,EditorAPI),y(Mu,1,"setSelectedVectorNodeMirrorMode",su,EditorAPI),y(Mu,1,"getSelectedVectorNodeMirrorMode",iu,EditorAPI),y(Mu,1,"getCursorType",ou,EditorAPI),y(Mu,1,"getCursorRotation",nu,EditorAPI),y(Mu,1,"getTextCursorPositionInScreenSpaceX",ru,EditorAPI),y(Mu,1,"getTextCursorPositionInScreenSpaceY",tu,EditorAPI),y(Mu,1,"createHistory",eu,EditorAPI),y(Mu,1,"destroyHistory",Jc,EditorAPI),y(Mu,1,"setActiveHistory",Zc,EditorAPI),y(Mu,1,"getActiveHistory",Qc,EditorAPI),y(Mu,1,"addUndoStep",Kc,EditorAPI),y(Mu,1,"removeUndoStep",Yc,EditorAPI),y(Mu,1,"undo",Xc,EditorAPI),y(Mu,1,"redo",Gc,EditorAPI),y(Mu,1,"canUndo",zc,EditorAPI),y(Mu,1,"canRedo",Nc,EditorAPI),y(Mu,1,"setSetting",Vc,EditorAPI),y(Mu,1,"getSetting",$c,EditorAPI),y(Mu,1,"setSettingBool",Hc,EditorAPI),y(Mu,1,"getSettingBool",Wc,EditorAPI),y(Mu,1,"setSettingInt",qc,EditorAPI),y(Mu,1,"getSettingInt",jc,EditorAPI),y(Mu,1,"setSettingFloat",Uc,EditorAPI),y(Mu,1,"getSettingFloat",Bc,EditorAPI),y(Mu,1,"setSettingString",Oc,EditorAPI),y(Mu,1,"getSettingString",Dc,EditorAPI),y(Mu,1,"setSettingColor",Lc,EditorAPI),y(Mu,1,"getSettingColor",Rc,EditorAPI),y(Mu,1,"setSettingColorRGBA",Ic,EditorAPI),y(Mu,1,"getSettingColorRGBA",Fc,EditorAPI),y(Mu,1,"setSettingEnum",Mc,EditorAPI),y(Mu,1,"getSettingEnum",Ac,EditorAPI),y(Mu,1,"setRole",Pc,EditorAPI),y(Mu,1,"getRole",Tc,EditorAPI),y(Mu,1,"findAllSettings",xc,EditorAPI),y(Mu,1,"getAvailableMemory",Ec,EditorAPI),y(Mu,1,"getUsedMemory",Cc,EditorAPI),y(Mu,1,"getMaxExportSize",Sc,EditorAPI),y(Mu,1,"setURIResolver",kc,EditorAPI),y(Mu,1,"setURIResolverAsync",_c,EditorAPI),y(Mu,1,"getURIResolver",wc,EditorAPI),y(Mu,1,"getURIResolverAsync",vc,EditorAPI),y(Mu,1,"findAllScopes",yc,EditorAPI),y(Mu,1,"setGlobalScope",bc,EditorAPI),y(Mu,1,"getGlobalScope",mc,EditorAPI),y(Mu,1,"findAllSpotColors",fc,EditorAPI),y(Mu,1,"getSpotColorRGBA",gc,EditorAPI),y(Mu,1,"getSpotColorCMYK",pc,EditorAPI),y(Mu,1,"setSpotColorRGB",hc,EditorAPI),y(Mu,1,"setSpotColorCMYK",uc,EditorAPI),y(Mu,1,"removeSpotColor",cc,EditorAPI),y(Mu,1,"setSpotColorForCutoutType",dc,EditorAPI),y(Mu,1,"getSpotColorForCutoutType",lc,EditorAPI),y(Mu,1,"convertColorToColorSpace",ac,EditorAPI),y(Mu,1,"isHighlightingEnabled",sc,EditorAPI),y(Mu,1,"setHighlightingEnabled",ic,EditorAPI),y(Mu,1,"setSafeAreaInsets",oc,EditorAPI),y(Mu,1,"getSafeAreaInsets",nc,EditorAPI),y(Mu,1,"isSelectionEnabled",rc,EditorAPI),y(Mu,1,"setSelectionEnabled",tc,EditorAPI),y(Mu,1,"setMovementConstraint",ec,EditorAPI),y(Mu,1,"getMovementConstraint",Jd,EditorAPI),y(Mu,1,"removeMovementConstraint",Zd,EditorAPI),m(Mu,EditorAPI);var Ru,Lu,Du,Ou,Bu,Uu,ju=Bt([Rt({overshoot:It()}),Rt({overshoot:It(),block:Ft()}),Rt({overshoot:It(),blockType:Dt()})]),qu=Bt([Rt({block:Ft()}),Rt({blockType:Dt()})]),EventAPI=class{#e;constructor(e){this.#e=e}subscribe=(e,t)=>{$t("blocks",e,Pt());const r=this.#e.subscribe(e,e=>{try{t(Tr(e,!0))}catch(e){console.error(e)}});return()=>{this.#e.isDeleted()||ur(this.#e.unsubscribe(r))}}};Ou=[ar({disabledInModes:["Playback"]})],Du=[lr],Lu=[ar({disabledInModes:["Playback"]})],Ru=[lr];var VariableAPI=class{constructor(e){b(Uu,5,this),S(this,Bu),C(this,Bu,e)}findAll(){return Tr(k(this,Bu).findAllVariables())}setString(e,t){return $t("key",e,Dt()),$t("value",t,Dt()),ur(k(this,Bu).setVariableString(e,t))}getString(e){return $t("key",e,Dt()),ur(k(this,Bu).getVariableString(e))}remove(e){return $t("key",e,Dt()),ur(k(this,Bu).removeVariable(e))}};function Wu(e,t){return`${e.replace(/\/+$/,"")}/${t.replace(/^\/+/,"")}`}Uu=h(null),Bu=new WeakMap,y(Uu,1,"findAll",Ou,VariableAPI),y(Uu,1,"setString",Du,VariableAPI),y(Uu,1,"getString",Lu,VariableAPI),y(Uu,1,"remove",Ru,VariableAPI),m(Uu,VariableAPI);var Hu=async function(e,t,r=fetch,n,o=new Set(n.findAllSources())){const i=t.replace(/\/+$/,""),s=e.map(async e=>{const s=Wu(t,`/${e}/content.json`);return r(s).then(e=>{if(!e.ok)throw new Error(e.statusText);return e.json()}).then(t=>{if(void 0===t.assets)throw new Error(`Invalid content.json for assets: ${e}`);const r=t.assets;o.has(e)||n.addLocalSource(e),r.forEach(t=>{t.meta&&Object.entries(t.meta).forEach(([e,r])=>{const n=r.toString();if(n.includes("{{base_url}}")){const r=n.replace(/\{\{base_url\}\}/g,i);t.meta&&(t.meta[e]=r)}}),t.payload?.typeface&&t.payload.typeface.fonts.forEach(e=>{e.uri.includes("{{base_url}}")&&(e.uri=e.uri.replace(/\{\{base_url\}\}/g,i))}),t.payload?.sourceSet&&t.payload.sourceSet.forEach(e=>{e.uri.includes("{{base_url}}")&&(e.uri=e.uri.replace(/\{\{base_url\}\}/g,i))}),n.addAssetToSource(e,t)})})});await Promise.all(s)},$u=class _CaptionPresetAssetSource{static assetSourceId="ly.img.captionPresets";propertyWhitelist=["backgroundColor/enabled","backgroundColor/color","backgroundColor/cornerRadius","backgroundColor/paddingBottom","backgroundColor/paddingLeft","backgroundColor/paddingRight","backgroundColor/paddingTop","blend/mode","dropShadow/enabled","dropShadow/color","dropShadow/offset/x","dropShadow/offset/y","dropShadow/blurRadius/x","dropShadow/blurRadius/y","dropShadow/clip","fill/enabled","fill/solid/color","opacity","stroke/enabled","stroke/color","stroke/width","stroke/style","stroke/position","stroke/cornerGeometry","{{blockType}}/typeface","{{blockType}}/fontSize","{{blockType}}/horizontalAlignment","{{blockType}}/verticalAlignment","{{blockType}}/letterSpacing","{{blockType}}/lineHeight","{{blockType}}/automaticFontSizeEnabled","{{blockType}}/maxAutomaticFontSize","{{blockType}}/minAutomaticFontSize","{{blockType}}/paragraphSpacing"];#t;#r;#n;constructor(e,t,r){this.#t=e,this.#r=t,this.#n=r??window.fetch.bind(window),this.createSource()}static async fetchAssets(e,t=fetch){const r=Wu(e,`/${_CaptionPresetAssetSource.assetSourceId}/content.json`),n=await t(r);if(!n.ok)throw new Error(n.statusText);const o=await n.json();if(void 0===o.assets)throw new Error(`Invalid content.json for assets: ${_CaptionPresetAssetSource.assetSourceId}`);const i=e.replace(/\/+$/,"");return o.assets.map(e=>(e.meta&&Object.entries(e.meta).forEach(([t,r])=>{const n=r.toString();if(n.includes("{{base_url}}")){const r=n.replace("{{base_url}}",i);e.meta&&(e.meta[t]=r)}}),e))}createSource(){this.#t.asset.addSource({id:_CaptionPresetAssetSource.assetSourceId,findAssets:({page:e,perPage:t,excludeGroups:r,groups:n,locale:o="en",query:i,sortActiveFirst:s,sortKey:a,sortingOrder:l,tags:d})=>{const c=this.getCaptionTrack(),u=null!=c&&this.#t.block.hasMetadata(c,"activePreset")?this.#t.block.getMetadata(c,"activePreset"):void 0;let h=[...this.#r];if(n&&n.length>0&&(h=h.filter(e=>e.groups?.some(e=>n.includes(e)))),i&&""!==i.trim()){const e=i.toLowerCase().trim();h=h.filter(t=>(t.label?.[o]?.toLowerCase()||"").includes(e))}d&&d.length>0&&(h=h.filter(e=>(e.tags?.[o]??[]).some(e=>d.includes(e)))),r&&r.length>0&&(h=h.filter(e=>!(e.groups??[]).some(e=>r.includes(e)))),"label"===a&&"None"!==l&&h.sort((e,t)=>{const r=e.label?.[o]?.toLocaleLowerCase()||"",n=t.label?.[o]?.toLocaleLowerCase()||"";return r<n?"Ascending"===l?-1:1:r>n?"Ascending"===l?1:-1:0}),s&&u&&h.sort((e,t)=>e.id===u?-1:t.id===u?1:0);const p=h.length,g=e*t,f=g+t,m=h.slice(g,f).map(e=>{const t=e.payload?.properties?.map(e=>"caption/scale"===e.property?{...e,value:this.fetchCaptionScale()}:e);return{id:e.id,label:e.label?.[o],active:e.id===u,context:{id:_CaptionPresetAssetSource.assetSourceId},meta:e.meta,groups:e.groups,tags:e.tags?.[o],payload:{...e.payload,properties:t},locale:o}});return Promise.resolve({assets:m,total:p,currentPage:e})},getGroups:()=>{const e=new Set;return this.#r.forEach(t=>{t.groups&&t.groups.forEach(t=>{e.add(t)})}),Promise.resolve(Array.from(e))},removeAsset:e=>{const t=this.#r.findIndex(t=>t.id===e);-1!==t&&this.#r.splice(t,1)},addAsset:e=>{const t=this.#r.findIndex(t=>t.id===e.id);-1!==t?this.#r[t]=e:this.#r.push(e)},applyAssetToBlock:(e,t)=>this.applyPreset(e,t),applyAssetProperty:(e,t)=>this.applyProperty(e,t),fetchAsset:async(e,t)=>new Promise(r=>{const n=this.#r.find(t=>t.id===e);if(null==n)r(null);else{const e=t?.locale??"en",o=this.getCaptionTrack(),i=null!=o&&this.#t.block.hasMetadata(o,"activePreset")?this.#t.block.getMetadata(o,"activePreset"):void 0,s=n.payload?.properties?.map(e=>"caption/scale"===e.property?{...e,value:this.fetchCaptionScale()}:e);r({id:n.id,label:n.label?.[e],active:n.id===i,meta:n.meta,groups:n.groups,tags:n.tags?.[e],payload:{...n.payload,properties:s}})}})})}async applyPreset(e,t){const r=e?.meta?.uri;if(null==r)throw new Error(`The asset ${e.id} does not have a preset block URL.`);const n=await this.#n(r);if(!n.ok)throw new Error(`Failed to fetch the preset block from ${r}`);const o=await n.text(),[i]=await this.#t.block.loadFromString(o),s=null!=i?this.#t.block.getType(i):void 0;if("//ly.img.ubq/text"!==s&&"//ly.img.ubq/caption"!==s)return;const a=this.getCaptionTrack(),l=null!=a?this.#t.block.getChildren(a):[];this.propertyWhitelist.forEach(e=>{const r=e.replace("{{blockType}}","//ly.img.ubq/text"===s?"text":"caption"),n=this.#t.block.getPropertyType(r),o=e.replace("{{blockType}}","caption");switch(n){case"Int":{const e=this.#t.block.getInt(i,r);this.#t.block.setInt(t,o,e);break}case"Float":{const e=this.#t.block.getFloat(i,r);this.#t.block.setFloat(t,o,e);break}case"Double":{const e=this.#t.block.getDouble(i,r);this.#t.block.setDouble(t,o,e);break}case"Bool":{const e=this.#t.block.getBool(i,r);this.#t.block.setBool(t,o,e);break}case"Enum":{const e=this.#t.block.getEnum(i,r);this.#t.block.setEnum(t,o,e);break}case"Color":{if("fill/solid/color"===r){const[e]=this.#t.block.getTextColors(i);this.#t.block.setColor(t,o,e),"Text"===this.#t.editor.getEditMode()&&this.#t.editor.setEditMode("Transform"),this.#t.block.setTextColor(t,e);break}const e=this.#t.block.getColor(i,r);this.#t.block.setColor(t,o,e);break}case"String":{if("text/typeface"===r||"caption/typeface"===r){const e=this.#t.block.getTypeface(i);this.#t.block.setTypeface(t,e);break}const e=this.#t.block.getString(i,r);this.#t.block.setString(t,o,e);break}}}),e.payload?.properties?.forEach(async t=>{"Color"===t.type&&await this.applyProperty(e,t)});const[d]=this.#t.block.getTextFontWeights(i);null!=d&&this.#t.block.setTextFontWeight(t,d);const[c]=this.#t.block.getTextFontStyles(i);null!=c&&this.#t.block.setTextFontStyle(t,c);const u={in:this.#t.block.getInAnimation(i),loop:this.#t.block.getLoopAnimation(i),out:this.#t.block.getOutAnimation(i)},h=(e,t)=>{const r=u[t],n=(()=>{switch(t){case"in":return this.#t.block.getInAnimation(e);case"loop":return this.#t.block.getLoopAnimation(e);case"out":return this.#t.block.getOutAnimation(e);default:return}})();if(null!=n&&this.#t.block.isValid(n)&&this.#t.block.destroy(n),this.#t.block.isValid(r)){const n=this.#t.block.duplicate(r);switch(t){case"in":this.#t.block.setInAnimation(e,n);break;case"loop":this.#t.block.setLoopAnimation(e,n);break;case"out":this.#t.block.setOutAnimation(e,n)}}};l.forEach(e=>{h(e,"in"),h(e,"loop"),h(e,"out")}),null!=a&&this.#t.block.setMetadata(a,"activePreset",e.id),this.#t.block.destroy(i),this.#t.editor.addUndoStep(),this.#t.asset.assetSourceContentsChanged(_CaptionPresetAssetSource.assetSourceId)}async applyProperty(e,t){const r=this.getCaptionTrack();if(null==r)return;const[n]=this.#t.block.findAllSelected(),o="//ly.img.ubq/caption"===(null!=n?this.#t.block.getType(n):void 0)?n:this.#t.block.getChildren(r)[0];if(null!=o){switch(t.type){case"Color":if("fill/solid/color"===t.property){this.#t.block.setColor(o,t.property,t.value),this.#t.block.setTextColor(o,t.value);break}this.#t.block.setColor(o,t.property,t.value);break;case"Int":this.#t.block.setInt(o,t.property,t.value);break;case"Float":if("caption/scale"===t.property){const e=this.fetchCaptionScale(),r=this.#t.block.getTextFontSizes(o)[0]/e,n=Math.round(r*t.value);if(this.#t.block.setTextFontSize(o,n),this.#t.block.isStrokeEnabled(o)){const r=this.#t.block.getStrokeWidth(o)/e*t.value;this.#t.block.setStrokeWidth(o,r)}if(this.#t.block.isDropShadowEnabled(o)){const r=this.#t.block.getDropShadowOffsetX(o),n=this.#t.block.getDropShadowOffsetY(o)/e,i=this.#t.block.getDropShadowBlurRadiusX(o)/e,s=this.#t.block.getDropShadowBlurRadiusY(o)/e,a=r/e*t.value,l=n*t.value,d=i*t.value,c=s*t.value;this.#t.block.setDropShadowOffsetX(o,a),this.#t.block.setDropShadowOffsetY(o,l),this.#t.block.setDropShadowBlurRadiusX(o,d),this.#t.block.setDropShadowBlurRadiusY(o,c)}this.storeCaptionScale(t.value);break}this.#t.block.setFloat(o,t.property,t.value);break;case"Double":this.#t.block.setDouble(o,t.property,t.value);break;case"Boolean":this.#t.block.setBool(o,t.property,t.value);break;case"Enum":this.#t.block.setEnum(o,t.property,t.value);break;case"String":this.#t.block.setString(o,t.property,t.value)}this.#r=this.#r.map(r=>{if("caption/scale"===t.property){const e=r.payload?.properties?.map(e=>"caption/scale"===e.property?{...e,value:t.value}:e);return{...r,payload:{...r.payload,properties:e}}}if(r.id===e.id){const e=r.payload?.properties?.map(e=>e.property===t.property?{...e,value:t.value}:e);return{...r,payload:{...r.payload,properties:e}}}return{...r}}),this.#t.asset.assetSourceContentsChanged(_CaptionPresetAssetSource.assetSourceId)}}storeCaptionScale(e){const t=this.getCaptionTrack();null!=t&&this.#t.block.setMetadata(t,"previousScale",e.toString())}fetchCaptionScale(){const e=this.getCaptionTrack();if(null==e)return 1;try{const t=this.#t.block.getMetadata(e,"previousScale"),r=parseFloat(t);return Number.isNaN(r)?1:r}catch(e){return 1}}getCaptionTrack(){const e=this.#t.scene.getCurrentPage();if(null!=e)return this.#t.block.getChildren(e).find(e=>"//ly.img.ubq/captionTrack"===this.#t.block.getType(e))}static async create(e,t,r){const n=await _CaptionPresetAssetSource.fetchAssets(t,r);return new _CaptionPresetAssetSource(e,n,r)}};var Vu=async function(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","ly.img.typeface","ly.img.page.presets","ly.img.page.presets.video","ly.img.crop.presets","ly.img.text"].filter(e=>!r.includes(e));await Hu(o,t,n,e.asset),r.includes("ly.img.captionPresets")||await $u.create(e,t,n)},Nu=["Left","Center","Right"],zu=["Top","Center","Bottom"];var Gu=async function(e,t,r,n,o,i,s="https://cdn.img.ly/assets/demo/v3"){const a=new Set(e.findAllSources()),l="ly.img.image.upload";!o||r.includes(l)||a.has(l)||e.addLocalSource(l,["image/jpeg","image/png","image/webp","image/svg+xml","image/bmp",..."Design"===n?["image/gif","image/apng"]:[]]);const d="ly.img.video.upload";"Video"!==n||!o||r.includes(d)||a.has(d)||e.addLocalSource(d,["application/json","video/mp4","video/quicktime","video/webm","video/matroska","image/gif","image/apng"]);const c="ly.img.audio.upload";"Video"!==n||!o||r.includes(c)||a.has(c)||e.addLocalSource(c,["audio/mpeg","audio/mp3","audio/x-m4a","audio/wav"]);const u=["ly.img.image","ly.img.video","ly.img.audio"].filter(e=>!r.includes(e));a.has("ly.img.template")||r.includes("ly.img.template")||(e.addLocalSource("ly.img.template",void 0,async e=>{const r=e.meta?.uri,n=t.get();if(r&&null!=n){if(r.startsWith("UBQ1"))t.applyTemplateFromString(r);else{const e=new URL(r,window.location.href);t.applyTemplateFromURL(e.href)}return n}}),u.push("ly.img.template")),"Video"!==n||a.has("ly.img.video.template")||r.includes("ly.img.video.template")||(e.addLocalSource("ly.img.video.template",void 0,async e=>{const r=e.meta?.uri,n=t.get();if(r&&null!=n){if(r.startsWith("UBQ1"))t.applyTemplateFromString(r);else{const e=new URL(r,window.location.href);t.applyTemplateFromURL(e.href)}return n}}),u.push("ly.img.video.template")),a.has("ly.img.textComponents")||r.includes("ly.img.textComponents")||u.push("ly.img.textComponents"),await Hu(u,s,i,e)};function Xu(e,t){let r;const n=new Set;function o(){const n=window.devicePixelRatio,{width:i,height:s}=e.getBoundingClientRect();t(i*n,s*n,n),r=matchMedia(`(resolution: ${n}dppx)`),r.addEventListener("change",o,{once:!0})}o();const i=new ResizeObserver(function([e]){const{width:r,height:o}=e.target.getBoundingClientRect();if(r<=0||o<=0)return;const i=window.devicePixelRatio,s=setTimeout(function(){n.delete(s),t(r*i,o*i,i)},0);n.add(s)});return i.observe(e),()=>{r.removeEventListener("change",o),i.disconnect();for(const e of n)clearTimeout(e);n.clear(),e=null,t=null}}var Yu=u(ht());function Ku(){const e=new Set;return Object.assign(t=>(e.add(t),()=>e.delete(t)),{emit:t=>e.forEach(e=>e(t))})}function Qu(e,t={}){const{equals:r=(e,t)=>e===t,emitOnSubscribe:n=!1}=t,o=new Set;let i=e;return{subscribe:e=>(o.add(e),n&&e(i),()=>o.delete(e)),value:()=>i,update:e=>{r(e,i)||(i=e,o.forEach(t=>t(e)))}}}function Zu(e,t,r={}){const{equals:n=(e,t)=>e===t}=r,o=new Set;let i,s=!1;const a=()=>{const r=e.map(e=>"value"in e?e.value():void 0);return t(...r)},l=[];return e.forEach(e=>{"subscribe"in e&&l.push(e.subscribe(()=>{s=!1,o.size>0&&(()=>{const e=i,t=s,r=a();t&&n(r,e)?(i=r,s=!0):(i=r,s=!0,o.forEach(e=>e(r)))})()}))}),{subscribe:e=>(0!==o.size||s||(i=a(),s=!0),o.add(e),()=>{o.delete(e)}),value:()=>(s||(i=a(),s=!0),i)}}function Ju(e,t={}){return Zu(e,(...e)=>e,t)}function eh(e,t,r,n={}){const{equals:o=(e,t)=>e===t}=n,i=new Set;let s;const a=()=>{const t=e();o(t,s)||(s=t,i.forEach(e=>e(t)))};let l;return{subscribe:t=>(0===i.size&&(l=r(a),s=e()),i.add(t),()=>{i.delete(t),0===i.size&&(l?.(),l=void 0,s=void 0)}),value:e,update:t}}function th(...e){return t=>{const r=e.map(e=>e(()=>t()));return()=>r.forEach(e=>e())}}var rh=class{_clampResultProp=Qu({sceneSize:{x:0,y:0},scrollPercentage:{x:0,y:0}});_viewportPaddingProp=Qu({x:40,y:48});_disposeOnCameraUpdated;_disposeOnDpiChanged;settings;clampCamera=!1;clampResult;zoomLevel;#o;viewportPadding;autoFit;scrollPercentage;sceneSize;scroll;constructor(e){const{block:t,scene:r,_legacyApi:n}=e,o=(()=>{const n=Ku();let o;const i=()=>{o?.(),o=void 0;const r=t.findByType("camera")[0];r&&(o=e.event.subscribe([r],()=>{n.emit(r)}),n.emit(r))},s=r.onActiveChanged(i);return i(),this._disposeOnCameraUpdated=()=>{s(),o?.()},n})(),i=(()=>{const n=Ku();let o;const i=()=>{o?.(),o=void 0;const i=r.get();i&&t.isValid(i)&&(o=e.event.subscribe([i],()=>{n.emit()}),n.emit())},s=r.onActiveChanged(i);return i(),this._disposeOnDpiChanged=()=>{s(),o?.()},n})();this.settings=eh(()=>{const e=t.findByType("camera")[0];return null==e?{width:0,height:0,pixelRatio:1}:{width:t.getFloat(e,"camera/resolution/width"),height:t.getFloat(e,"camera/resolution/height"),pixelRatio:t.getFloat(e,"camera/pixelRatio")}},({width:e,height:r,pixelRatio:n})=>{const o=t.findByType("camera")[0];null!=o&&(t.setFloat(o,"camera/resolution/width",e),t.setFloat(o,"camera/resolution/height",r),t.setFloat(o,"camera/pixelRatio",n))},o,{equals:Yu.default}),this.zoomLevel=eh(()=>{const e=r.get(),{pixelRatio:n}=this.settings.value();return null!=e&&t.isValid(e)?r.getZoomLevel()/n:1},e=>{const n=r.get(),{pixelRatio:o}=this.settings.value();null!=n&&t.isValid(n)&&r.setZoomLevel(e*o)},th(e=>r.onZoomLevelChanged(e),i)),this.#o=eh(()=>{const e=t.findByType("camera")[0];return null==e?1:n.getValue(e,"ubq/designblocks/Camera","zoomLevel")},()=>{},o),this.autoFit=eh(()=>{const e=r.get();return null!=e&&r.isZoomAutoFitEnabled(e)},()=>{},e=>r.onZoomLevelChanged(e)),this.clampResult=this._clampResultProp,this.viewportPadding=this._viewportPaddingProp,this.scrollPercentage=Zu([this._clampResultProp],e=>e.scrollPercentage,{equals:Yu.default}),this.sceneSize=Zu([this._clampResultProp,this.#o,this.settings],(e,t,r)=>{const n=e.sceneSize??{x:0,y:0},o=r.pixelRatio??1;return{x:n.x*t/o,y:n.y*t/o}},{equals:Yu.default}),this.scroll=e=>{const r=t.findByType("camera")[0];if(null==r)return;const n=this.#o.value(),o=this.settings.value().pixelRatio,i=e.x*o/n,s=e.y*o/n,a={x:t.getPositionX(r)+i,y:t.getPositionY(r)+s};t.setPositionX(r,a.x),t.setPositionY(r,a.y)}}dispose(){this._disposeOnCameraUpdated?.(),this._disposeOnDpiChanged?.()}};function nh(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 oh="1.77.0-nightly.20260527".includes("nightly")?"https://cdn.img.ly/nightlies/1.77.0-nightly.20260527/packages/imgly/cesdk-engine/1.77.0-nightly.20260527/assets":"https://cdn.img.ly/packages/imgly/cesdk-engine/1.77.0-nightly.20260527/assets";function ih(e,t){return t??="undefined"==typeof window?void 0:window.location.href,new URL(e??"",t).href.replace(/\/*$/,"/")}function sh(e={}){const t={...e,license:e.license,baseURL:e.baseURL??oh,core:e.core??{baseURL:"core/"},logger:e.logger??nh,presets:e.presets??{}};t.baseURL=ih(t.baseURL),t.core.baseURL=ih(t.core.baseURL,t.baseURL);const r=new URL(oh).host,n=new URL(t.baseURL).host;if(n===r){const e=`https://img.ly/docs/cesdk/archive/v${"1.77.0-nightly.20260527".split(".").slice(0,2).join(".")}/js/serve-assets-b0827c/`,r="https://cdn.img.ly/packages/imgly/cesdk-js/1.77.0-nightly.20260527/imgly-assets.zip";t.logger(`Using IMG.LY CDN (${n}) for assets. For production use, please host assets yourself and specify a baseURL in your configuration.\n Download assets for v1.77.0-nightly.20260527: ${r}\n See: ${e}`,"Warning")}return t}var ah={warnKeys(e){if(e.scene||e.page||e.assetSources||e.presets?.colorPalettes||e.presets?.images||e.presets?.pageFormats||e.presets?.colorPalettes||e.variables||e.callbacks?.log||e.initialSceneMode||e.initialSceneString||e.initialSceneURL||e.initialImageURL)return"Your configuration contains keys that are no longer supported and will be ignored. Refer to https://img.ly/docs/cesdk/introduction/migration_1_13/ for information about the removed keys."}};function lh(e,t){return t?e.flatMap(e=>{const r=e.warnKeys?.(t);return"string"==typeof r?[r]:r??[]}):[]}function dh(e,t,r){if(t)for(const n of e)n.applyFallback?.(t,r)}function ch(e,t){return t?e.reduce((e,t)=>t.migrateConfigObject?t.migrateConfigObject(e):e,t):t}var uh=[ah,new class _TypefaceMigration{static APIFALLBACK_TYPEFACES_SOURCE_ID="apiFallbackTypefaces";warnKeys(e){if(e.presets?.typefaces)return"The `presets.typefaces` configuration option is deprecated. Use the AssetAPI to add typefaces instead."}applyFallback(e,t){if(e)try{const r=t.asset;if(e.presets?.typefaces){r.addLocalSource(_TypefaceMigration.APIFALLBACK_TYPEFACES_SOURCE_ID);for(const[t,n]of Object.entries(e.presets.typefaces))r.addAssetToSource(_TypefaceMigration.APIFALLBACK_TYPEFACES_SOURCE_ID,{id:t,payload:{typeface:{name:n.family,fonts:n.fonts.map(e=>({subFamily:`${e.weight} ${e.style}`,style:e.style,uri:e.fontURL,weight:e.weight}))}}})}}catch(e){console.error(e)}}}];function hh(e,t,r=void 0){const n=e=>{ur(t.setContext("")),e.preventDefault()},o=e=>{ur(t.setContext("!canvas")),r&&r(),e.preventDefault()};return e.addEventListener("webglcontextlost",n,!1),e.addEventListener("webglcontextrestored",o,!1),()=>{e.removeEventListener("webglcontextlost",n),e.removeEventListener("webglcontextrestored",o)}}var ph,gh,fh,mh,bh=(e=>(e[e.Information=0]="Information",e[e.Warning=1]="Warning",e[e.Error=2]="Error",e))(bh||{}),yh=(e=>(e[e.Free=0]="Free",e[e.VerticalStack=1]="VerticalStack",e[e.HorizontalStack=2]="HorizontalStack",e[e.DepthStack=3]="DepthStack",e))(yh||{});function vh(e){const t={key:255,characters:e.key,shiftIsHeld:e.shiftKey,commandIsHeld:e.metaKey||e.ctrlKey,optionIsHeld:e.altKey,timestamp:Date.now()};switch(e.key.toUpperCase()){case"0":t.key=0;break;case"1":t.key=1;break;case"2":t.key=2;break;case"3":t.key=3;break;case"4":t.key=4;break;case"5":t.key=5;break;case"6":t.key=6;break;case"7":t.key=7;break;case"8":t.key=8;break;case"9":t.key=9;break;case"A":t.key=10;break;case"B":t.key=11;break;case"C":t.key=12;break;case"D":t.key=13;break;case"E":t.key=14;break;case"F":t.key=15;break;case"G":t.key=16;break;case"H":t.key=17;break;case"I":t.key=18;break;case"J":t.key=19;break;case"K":t.key=20;break;case"L":t.key=21;break;case"M":t.key=22;break;case"N":t.key=23;break;case"O":t.key=24;break;case"P":t.key=25;break;case"Q":t.key=26;break;case"R":t.key=27;break;case"S":t.key=28;break;case"T":t.key=29;break;case"U":t.key=30;break;case"V":t.key=31;break;case"W":t.key=32;break;case"X":t.key=33;break;case"Y":t.key=34;break;case"Z":t.key=35;break;case" ":t.key=42;break;case"ESCAPE":t.key=43,t.characters="";break;case"BACKSPACE":t.key=40,t.characters="";break;case"DELETE":t.key=44,t.characters="";break;case"ENTER":t.key=41,t.characters=t.shiftIsHeld?"\u2028":"\n";break;case"CONTROL":t.key=46,t.characters="";break;case"ALT":t.key=47,t.characters="";break;case"SHIFT":t.key=48,t.characters="";break;case"ARROWLEFT":t.key=36,t.characters="";break;case"ARROWRIGHT":t.key=37,t.characters="";break;case"ARROWUP":t.key=38,t.characters="";break;case"ARROWDOWN":t.key=39,t.characters="";break;case"TAB":t.key=45,t.characters="";break;case"DEAD":t.key=255,t.characters=""}return t}fh=[ar({disabledInModes:["Playback"]})],gh=[ar({disabledInModes:["Playback"]})],ph=[ar({disabledInModes:["Playback"]})];var wh=class{constructor(e){b(mh,5,this),v(this,"ubique"),v(this,"notificationStream",e=>{const t=this.ubique.addEventCallback("NotificationEvent",t=>e({type:bh[t.type],i18n:t.i18n}));return()=>{t.dispose(),t.delete()}}),v(this,"designElementLifecycleStream",e=>t=>{const r=this.ubique.addEventCallback(e,t);return()=>{r.dispose(),r.delete()}}),v(this,"historyStream",e=>{const t=this.ubique.addEventCallback("HistoryUpdatedEvent",e);return()=>{t.dispose(),t.delete()}}),this.ubique=e.getInternalAPI()}dispose(){this.ubique.delete(),this.ubique=null}setErrorCallback(e,t){this.ubique.setErrorCallback(e,t)}getSelectedText(){return ur(this.ubique.getSelectedText())}hasComponent(e,t){return ur(this.ubique.hasComponent(e,t))}getValue(e,t,r){return ur(this.ubique.getValue(e,t,r))}execute(e,t){let r;const n=new Promise((n,o)=>{r=this.ubique.ubqExecute(e,t,e=>{try{const t=ur(e);n(t)}catch(e){o(e)}})});return ur(r),n}sendKey(e){return this.execute("ubq/inputs/keyboardkey",vh(e))}changeSceneLayout(e,t,r,n){return this.execute("ubq/scene/changeLayout",[e,yh[t],r,n])}};y(mh=h(null),1,"getSelectedText",fh,wh),y(mh,1,"hasComponent",gh,wh),y(mh,1,"getValue",ph,wh),m(mh,wh);var _h=class extends Error{wasmUrl;dataUrl;baseURL;originalError;details;constructor(e){super("Failed to load CE.SDK engine. See browser console for troubleshooting details."),this.name="WasmLoadError",this.wasmUrl=e.wasmUrl,this.dataUrl=e.dataUrl,this.baseURL=e.baseURL,this.originalError=e.originalError,this.details=function(e){const{wasmUrl:t,dataUrl:r,originalError:n}=e,{docsUrl:o,assetsUrl:i}=function(){const e="1.77.0-nightly.20260527";return{docsUrl:`https://img.ly/docs/cesdk/archive/v${e.split(".").slice(0,2).join(".")}/js/serve-assets-b0827c/`,assetsUrl:`https://cdn.img.ly/packages/imgly/cesdk-js/${e}/imgly-assets.zip`}}();return["[CE.SDK] Failed to load engine assets (v1.77.0-nightly.20260527)","",`Error: ${n.message}`,"","Could not load:",` • ${t}`,` • ${r}`,"","This usually means the assets are missing or from a different SDK version.","","→ Download assets for v1.77.0-nightly.20260527:",` ${i}`,"","→ Documentation:",` ${o}`].join("\n")}(e),console.error(this.details)}};var kh=u(ft()),Sh=kh.default,Ch=!("undefined"==typeof window||!window.document||!window.document.createElement)&&navigator&&navigator.userAgent||"",Eh=-1!==Ch.indexOf("Edge"),xh=!!Ch.match(/msie|trident/i),Th=/\b(iPad|iPhone|iPod)\b/.test(Ch)&&/WebKit/.test(Ch)&&!/Edge/.test(Ch)&&("undefined"==typeof window||!("MSStream"in window)),Ph=/(WOW64|Win32|i[3-6]86)/.test(navigator.userAgent)||/Win32|i[3-6]86|armv[6-7]/.test(navigator.platform),Ah=(e,t)=>{if(null!=t){return[t,e.split("/").pop()].join("")}return new URL(e,window.location.origin)};function Mh(){try{return new WebAssembly.Memory({initial:Fh(Th?512:32),maximum:Fh(Ph?1024:2048)})}catch(e){return new WebAssembly.Memory({initial:Fh(32),maximum:Fh(Ph?1024:2048)})}}function Fh(e){return 1024*e*1024/65536}async function Ih(e,t){const{core:r}=t,n=t.logger,o=Ah("./assets/core/cesdk-v1.77.0-nightly.20260527-GC2SASVS.wasm",r.baseURL).toString(),i=Ah("./assets/core/cesdk-v1.77.0-nightly.20260527-MLEZSZ4D.data",r.baseURL).toString(),s=/electron/i.test(navigator.userAgent),a=function(e,t=fetch){return e.license&&0!==e.license.length&&"evaluation-license"!==e.license?e.license.length<128?t("https://api.img.ly/activate",{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):Promise.resolve("")}(t),l=s?await fetch(i,{credentials:"same-origin"}).then(e=>{if(!e.ok)throw new _h({wasmUrl:o,dataUrl:i,baseURL:r.baseURL,originalError:new Error(`HTTP ${e.status}: ${e.statusText} for data file`)});return e.arrayBuffer()}).then(e=>function(t,r){if(t!==i)return null;if(r===e.byteLength)return e;throw new Error(`Attempt to get preloaded package of unknown name or size: ${t} ${r}`)}):void 0;return new Promise((s,d)=>{const c={getPreloadedPackage:l,locateFile:(e,t)=>e.endsWith(".wasm")?o:e.endsWith(".data")?i:t+e,print:e=>{e&&"undefined"!==e&&n(e,"Info")},printErr:e=>{e&&"undefined"!==e&&n(e,"Error")},logReadFiles:!1,printWithColors:!0,wasmMemory:Mh()};Sh(c).then(async r=>{r.specialHTMLTargets["!canvas"]=e;r.emscripten_ubq_settings_forceWebGL1=Th||!!t?.forceWebGL1;const n=ur(r.createEngine("!canvas",t.audioOutput??"auto"));!function(e,t){ur(e.unlockWithLicense(t??""))}(n,await a),function(e,t){const r=new EditorAPI(e);r.setRole(t.role??"Creator"),r.setSetting("basePath",t.baseURL),r.setSetting("showBuildVersion",!1),t.featureFlags?.preventScrolling&&(r.setSetting("touch/singlePointPanning",!1),r.setSetting("touch/dragStartCanSelect",!1)),function(){const e=!!t.featureFlags?.singlePageMode;r.setSetting("features/singlePageModeEnabled",e);const n=!1!==t.featureFlags?.fileSystemUsageEnabled;r.setSetting("features/fileSystemUsageEnabled",n),r.setSetting("features/effectsEnabled",!0)}(),function(){const t=new VariableAPI(e);"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"))}(),r.startTracking(t.license??"",t.userId??"")}(n,t),s(n)}).catch(e=>{d(new _h({wasmUrl:o,dataUrl:i,baseURL:r.baseURL,originalError:e}))})})}var Rh=class{_reactor;_updateHandler=null;debugName;dirty=!0;readCalls=new Set;constructor(e,t){this.debugName=t,this._reactor=e}dispose(){this._updateHandler=null,this._reactor._unregisterReaction(this),this._reactor=null}track(e){return this._reactor._trackReaction(this,e)}subscribe(e){return this._reactor._registerReaction(this),this._updateHandler=e,()=>{this._updateHandler=null,this._reactor._unregisterReaction(this)}}update(){this._updateHandler?.()}},Lh=u(ht()),Dh=Symbol("NO_VALUE"),Oh=class{callId;_value=Dh;_lastUpdateValue=Dh;_readFromEngine;_disabledInModes=[];constructor(e,t,r){this.callId=e,this._readFromEngine=t,this.read(),this._lastUpdateValue=this._value,this._disabledInModes=r??[]}readCachedValue(){return this._value===Dh||this.revalidate?this.read():this._value}revalidate=!1;invalidate(){this.revalidate=!0}read(){const e=this._readFromEngine();return this.revalidate=!1,(0,Lh.default)(this._value,e)?this._value:(this._value=e,e)}updateValueAndCheckDirty(){try{const e=this.read(),t=this._lastUpdateValue!==e;return this._lastUpdateValue=e,t}catch{return this._lastUpdateValue=Dh,!0}}update(e){this._readFromEngine=e}isDisabledInMode(e){return this._disabledInModes.includes(e)}},Bh=class{readCalls=new Map;_createOrUpdateReadCall(e,t,r){if(this.readCalls.has(e)){this.readCalls.get(e).update(t)}else this.readCalls.set(e,new Oh(e,t,r))}registeredReactions=new Set;activeReactions=new Set;get isTracking(){return this.activeReactions.size>0}_nextReaction;_resolveNextReaction;_createNextReaction(){this._nextReaction=new Promise(e=>{this._resolveNextReaction=e})}currentMode;constructor(e){this.currentMode=e,this._createNextReaction()}get nextReaction(){return this._nextReaction}_getterCalled(e,t,r){if(this.isTracking){this._createOrUpdateReadCall(e,t,r);for(const t of this.activeReactions)t.readCalls.add(e)}}_setterCalled(){for(const e of this.readCalls.values())e.invalidate()}read(e,t){return this.isTracking&&this.readCalls.has(e)?this.readCalls.get(e).readCachedValue():t()}createReaction(e){return new Rh(this,e)}_registerReaction(e){this.registeredReactions.add(e)}_unregisterReaction(e){this.registeredReactions.delete(e)}_cleanupReadCalls(){const e=new Set;for(const t of this.registeredReactions)for(const r of t.readCalls)e.add(r);for(const[t]of this.readCalls)e.has(t)||this.readCalls.delete(t)}#i=new Set;updateDirtyReactions(){const e=new Set;for(const[t,r]of this.readCalls)null!=this.currentMode&&r.isDisabledInMode(this.currentMode)||r.updateValueAndCheckDirty()&&e.add(t);if(e.size>0)for(const t of this.registeredReactions)if(!t.dirty)for(const r of t.readCalls)if(e.has(r)){t.dirty=!0;break}for(const e of this.registeredReactions)if(!this.#i.has(e)&&e.dirty)try{this.#i.add(e),e.update()}finally{e.dirty=!1,this.#i.delete(e)}this._cleanupReadCalls(),this._resolveNextReaction(),this._createNextReaction()}_trackReaction(e,t){try{return this.activeReactions.add(e),e.readCalls.clear(),t()}finally{e.dirty=!1,this.activeReactions.delete(e)}}decorateFunction(e,t){return function(e,t,r=t.name){dr[r]??=0;const n=dr[r]++;return function(...o){const i=this,s=`${r}${n}-${JSON.stringify(o,null,0)}`;function a(){return Reflect.apply(t,i,o)}return e._getterCalled(s,a),e.read(s,a)}}(this,e,t)}decorateObject(e){return function(e,t){const r=t.constructor?.name??crypto.randomUUID(),n=[];let o=!1;const i=Object.getOwnPropertyNames(t.constructor.prototype).concat(Object.getOwnPropertyNames(t));for(const s of i){const i=t[s];if(sr(i))if("getter"===i[ir].type){let a=function(...t){if(o)throw new Error("Disposed @getter proxy called");const n=this,a=`${r}-${s.toString()}-${JSON.stringify(t,null,0)}`;function d(){return Reflect.apply(i,n,t)}return e._getterCalled(a,d,l),e.read(a,d)};const l=i[ir].disabledInModes;n.push(cr(t,s,i)),t[s]=a}else if("setter"===i[ir].type){let r=function(...t){if(o)throw new Error("Disposed @setter proxy called");const r=this;return e._setterCalled(),Reflect.apply(i,r,t)};n.push(cr(t,s,i)),t[s]=r}}return function(){o=!0;for(const e of n)e();n.length=0}}(this,e)}dispose(){this.registeredReactions.forEach(e=>e.dispose()),this.registeredReactions.clear(),this.readCalls.clear(),this.activeReactions.clear()}};function Uh(e,t){let r;return t.onStateChanged(()=>{const n=function(e,t){switch(e){case"Arrow":return"default";case"Move":return"move";case"MoveNotPermitted":return"auto";case"Resize":{const e=180*t/Math.PI+45;if(!xh&&!Eh)return`url("data:image/svg+xml,%3Csvg style='transform: rotate(${e}deg)' width ='22' height ='22' viewBox ='0 0 22 22' fill ='none' xmlns ='http://www.w3.org/2000/svg'%3E%3Cg filter ='url(%23filter0_d)'%3E%3Cpath d ='M13.7 11.1L9.7 15.2L12.5 18H4V9.5L6.9 12.3L10.9 8.3L12.3 6.9L9.5 4H18V12.5L15.2 9.7L13.7 11.1Z' fill ='white'/%3E%3C/g%3E%3Cpath d ='M12.7 10.7L8.3 15.2L10.1 17H5V11.9L6.9 13.8L11.3 9.3L13.8 6.9L11.9 5H17V10.1L15.2 8.3L12.7 10.7Z' fill ='black'/%3E%3Cdefs%3E%3Cfilter id ='filter0_d' x ='0' y ='0' width ='22' height ='22' filterUnits ='userSpaceOnUse' color-interpolation-filters ='sRGB'%3E%3CfeFlood flood-opacity ='0' result ='BackgroundImageFix'/%3E%3CfeColorMatrix in ='SourceAlpha' type ='matrix' values ='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0'/%3E%3CfeOffset/%3E%3CfeGaussianBlur stdDeviation ='2'/%3E%3CfeColorMatrix type ='matrix' values ='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0'/%3E%3CfeBlend mode ='normal' in2 ='BackgroundImageFix' result ='effect1_dropShadow'/%3E%3CfeBlend mode ='normal' in ='SourceGraphic' in2 ='effect1_dropShadow' result ='shape'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E") 12 12, pointer`;switch(e){case 90:case 270:return"nwse-resize";case 135:case 315:return"ns-resize";case 180:case 360:return"nesw-resize";case 225:return"ew-resize";default:return"move"}}case"Rotate":return'url("data:image/svg+xml,%3Csvg width=%2722%27 height=%2725%27 viewBox=%270 0 22 25%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cg filter=%27url(%23filter0_d)%27%3E%3Cpath d=%27M18 11.1071C18 14.5637 15.5566 17.4515 12.3314 18.0846V20L7.20308 17.0145L12.3314 14.0289V15.7825C14.3292 15.1951 15.7946 13.3221 15.7946 11.107C15.7946 8.42285 13.6437 6.23908 11 6.23908C8.35629 6.23908 6.20542 8.42285 6.20542 11.107C6.20542 11.8299 6.35745 12.5252 6.65738 13.1736L4.66118 14.1255C4.22245 13.1771 4 12.1616 4 11.1071C4.00007 7.18825 7.1403 4 11.0001 4C14.8599 4 18 7.18825 18 11.1071Z%27 fill=%27black%27/%3E%3Cpath d=%27M12.8314 15.0559V14.0289V13.1593L12.0799 13.5968L6.95152 16.5824L6.20927 17.0145L6.95152 17.4466L12.0799 20.4321L12.8314 20.8696V20V18.4841C16.0889 17.6521 18.5 14.6573 18.5 11.1071C18.5 6.9193 15.1431 3.5 11.0001 3.5C6.85702 3.5 3.50008 6.91929 3.5 11.1071V11.1071C3.5 12.2334 3.73793 13.3206 4.20739 14.3354L4.41978 14.7946L4.8764 14.5768L6.8726 13.6249L7.31866 13.4122L7.11118 12.9637C6.84206 12.3819 6.70542 11.7584 6.70542 11.107C6.70542 8.69181 8.63956 6.73908 11 6.73908C13.3604 6.73908 15.2946 8.69181 15.2946 11.107C15.2946 12.8513 14.2837 14.3564 12.8314 15.0559Z%27 stroke=%27white%27/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id=%27filter0_d%27 x=%270.0599999%27 y=%270.0599999%27 width=%2721.88%27 height=%2724.6193%27 filterUnits=%27userSpaceOnUse%27 color-interpolation-filters=%27sRGB%27%3E%3CfeFlood flood-opacity=%270%27 result=%27BackgroundImageFix%27/%3E%3CfeColorMatrix in=%27SourceAlpha%27 type=%27matrix%27 values=%270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0%27/%3E%3CfeOffset/%3E%3CfeGaussianBlur stdDeviation=%271.47%27/%3E%3CfeColorMatrix type=%27matrix%27 values=%270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0%27/%3E%3CfeBlend mode=%27normal%27 in2=%27BackgroundImageFix%27 result=%27effect1_dropShadow%27/%3E%3CfeBlend mode=%27normal%27 in=%27SourceGraphic%27 in2=%27effect1_dropShadow%27 result=%27shape%27/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E") 12 12, pointer';case"Text":return"text";case"Cell":return"cell";default:return"auto"}}(t.getCursorType(),t.getCursorRotation());if(n!==r){r=n;const t=new CustomEvent("cesdk-cursor",{composed:!0,bubbles:!0,cancelable:!0,detail:n});e.dispatchEvent(t)&&e.style.setProperty("cursor",n)}})}var jh=function(e,t,r,n,o){let i,s=null;const a=n.onStateChanged(()=>{i=n.getEditMode(),"Text"!==i||s?"Text"!==i&&s&&(s(),s=null):s=function(){const i=s();return()=>{i?.()};function s(){const i=window.visualViewport?.height;let s=!1,a="";if(null==e.parentElement)return console.warn('Could not attach hidden text input to the DOM: Canvas has no parentElement. This can happen if edit mode is switched to "Text", while the canvas is removed from the DOM.'),()=>{};const l=u();p();const d=g();function c(){const t=window.visualViewport?.height;if(i&&(!(!i||!t)&&i>t)){const t=document.body.offsetHeight-e.getBoundingClientRect().bottom,r=window.visualViewport?.height??0,n=i-r;e.style.height=`${e.offsetHeight-n+t}px`}else e.style.height="",window.visualViewport?.removeEventListener("resize",c),D()}return e.parentElement.appendChild(l),Th&&window.visualViewport?.addEventListener("resize",c),f(),()=>{d(),h()};function u(){const e=document.createElement("textarea");return e.id="ubq_internal-inline_text_editing_html_representation",e.setAttribute("data-cy","inline-text-editing-input"),e.autocapitalize="none",e.spellcheck=!1,e.cols=4096,e.style.contain="strict",e.style.opacity="0",e.style.pointerEvents="none",e.style.zIndex="-1",e.style.position="fixed",e.style.width="1px",e.style.height="1px",e.style.padding="0",e.style.margin="-1px",e.style.overflow="hidden",e.style.clip="rect(0, 0, 0, 0)",e.style.border="0",e}function h(){l.blur(),l.remove()}function p(){const t=n.getTextCursorPositionInScreenSpaceX(),r=n.getTextCursorPositionInScreenSpaceY(),{left:o,top:i}=e.getBoundingClientRect();l.style.left=`${o+t/window.devicePixelRatio}px`,l.style.top=`${i+r/window.devicePixelRatio}px`}function g(){const t=e.getRootNode();l.addEventListener("input",k),l.addEventListener("keydown",C),l.addEventListener("copy",v),l.addEventListener("cut",w),l.addEventListener("compositionstart",E),l.addEventListener("compositionend",x),l.addEventListener("beforeinput",M),l.addEventListener("focusout",F),t.addEventListener("touchend",A),t.addEventListener("mousedown",A),t.addEventListener("mouseup",P);const r=n.onStateChanged(()=>{p()});return()=>{l.removeEventListener("input",k),l.removeEventListener("keydown",C),l.removeEventListener("copy",v),l.removeEventListener("cut",w),l.removeEventListener("compositionstart",E),l.removeEventListener("compositionend",x),l.removeEventListener("beforeinput",M),l.removeEventListener("focusout",F),t.removeEventListener("mousedown",A),t.removeEventListener("mouseup",P),t.removeEventListener("touchend",A),r()}}function f(){null!==l.parentElement&&(l.focus(),m()||setTimeout(()=>l.focus(),0))}function m(){return l.getRootNode().activeElement===l}function b(e){return[...e].length}function y(e){const t=e.selectionEnd??e.selectionStart??0;return b(e.value.substring(0,t))}function v(e){try{const r=t.getSelectedText();""!==r&&e.clipboardData&&(e.clipboardData.setData("text/plain",r),e.preventDefault())}catch(e){console.error(e)}}function w(e){try{const r=t.getSelectedText();if(""!==r&&e.clipboardData){e.clipboardData.setData("text/plain",r),e.preventDefault();const n={key:44,characters:"",shiftIsHeld:!1,commandIsHeld:!1,optionIsHeld:!1,timestamp:Date.now()};t.execute("ubq/inputs/keyboardkey",n)}}catch(e){console.error(e)}}async function _(){return!(!s||r.unstable_isTextCursorInCompositionRange())&&(await x(),!0)}function k(e){const r=e.target,{value:n}=r;if(s){const e=y(l);t.execute("ubq/text/compositionUpdate",{value:n,cursorPosition:e})}else n.length>0&&(r.value="")}function S(e){const r={key:255,characters:e,shiftIsHeld:!1,commandIsHeld:!1,optionIsHeld:!1,timestamp:Date.now()};t.execute("ubq/inputs/keyboardkey",r)}async function C(e){if(_(),1===e.key.length&&(a=e.key),"a"===e.key&&(e.metaKey||e.ctrlKey))return s&&x(),void await t.execute("ubq/text/selectAllText");if("Escape"===e.key)return void D();if("Backspace"!==e.key&&"Delete"!==e.key&&"ArrowLeft"!==e.key&&"ArrowRight"!==e.key&&"ArrowUp"!==e.key&&"ArrowDown"!==e.key&&"Enter"!==e.key&&"Tab"!==e.key)return;const r=vh(e);await t.execute("ubq/inputs/keyboardkey",r),e.currentTarget&&(l.value="")}async function E(){s=!0,await t.execute("ubq/text/compositionStart")}async function x(){s?(s=!1,l.value="",t.execute("ubq/text/compositionEnd")):l.value=""}async function T(){if(!s)return;o();if(await _())return;const e=r.unstable_getCursorPosition(),t=r.unstable_getCompositionRange(),n=e.end-t.start,i=y(l);e.start>=t.start&&e.start<=1+t.end&&n!==i&&x()}async function P(){T()}async function A(t){T(),t.target===e&&"Text"===n.getEditMode()&&(f(),t.preventDefault())}async function M(e){if(s&&!e.isComposing&&x(),null===e.data)return;const r=e.target,n=e.data;if(await _())S(a);else if(s){const e=b(n);t.execute("ubq/text/compositionUpdate",{value:n,cursorPosition:e})}else n.length>0&&("\n"!==n[0]&&S(n),r.value="")}function F(e){if(L(e.relatedTarget)&&I(e.relatedTarget));else{R(e)}}function I(t){const r=new CustomEvent("cesdk-blur",{composed:!0,bubbles:!0,cancelable:!0,detail:t});return e.dispatchEvent(r)}function R(t){const r=new CustomEvent("cesdk-refocus",{composed:!0,bubbles:!0,cancelable:!0,detail:t.relatedTarget}),n=e.dispatchEvent(r);return n&&f(),n}function L(e){return null!=e&&(e instanceof HTMLElement&&(e instanceof HTMLTextAreaElement||e instanceof HTMLInputElement&&e.type.match("^(text|number|url|email|search|tel)$")||e.isContentEditable))}async function D(){n.setEditMode("Transform")}}}()});return()=>{s?.(),a()}};function qh(e,t,r){const n=[],o=r=>{if("touch"===r.pointerType)return;const n=Wh(e,r);t.execute("ubq/inputs/mousemove",n)},i=r=>{if("touch"===r.pointerType)return;if(null===r.relatedTarget)return;const n={...Wh(e,r),position:{x:1/0,y:1/0}};t.execute("ubq/inputs/mousemove",n)},s=o=>{if("touch"===o.pointerType)return;const i={...Wh(e,o),button:Hh(o.button),state:0,shiftIsHeld:!!o.shiftKey,commandIsHeld:!!o.metaKey||!!o.ctrlKey};n[o.button]=!1,o.currentTarget.releasePointerCapture(o.pointerId),t.execute("ubq/inputs/mousebutton",i),r()},a=r=>{if("touch"===r.pointerType)return;const o={...Wh(e,r),button:Hh(r.button),state:1,shiftIsHeld:!!r.shiftKey,commandIsHeld:!!r.metaKey||!!r.ctrlKey};n[r.button]=!0,r.currentTarget.setPointerCapture(r.pointerId),t.execute("ubq/inputs/mousebutton",o)},l=r=>{if("touch"===r.pointerType)return;const o={...Wh(e,r),shiftIsHeld:!!r.shiftKey,commandIsHeld:!!r.metaKey||!!r.ctrlKey};n.forEach((e,r)=>{if(e){const e={...o,button:r,state:0};t.execute("ubq/inputs/mousebutton",e)}}),n.length=0},d=e=>{e.cancelable&&e.preventDefault()};return e.addEventListener("pointerdown",a),e.addEventListener("pointerup",s),e.addEventListener("pointercancel",s),e.addEventListener("pointermove",o),e.addEventListener("pointerleave",i),e.addEventListener("lostpointercapture",l),e.addEventListener("touchmove",d,{passive:!1}),()=>{e.removeEventListener("pointerdown",a),e.removeEventListener("pointerup",s),e.removeEventListener("pointercancel",s),e.removeEventListener("pointermove",o),e.removeEventListener("pointerleave",i),e.removeEventListener("lostpointercapture",l),e.removeEventListener("touchmove",d),e=null}}function Wh(e,t){const r=e.getBoundingClientRect(),n=r?.top??0,o=r?.left??0;return{position:{x:(t.clientX-o)*window.devicePixelRatio,y:(t.clientY-n)*window.devicePixelRatio},isTouch:!1,timestamp:t.timeStamp}}function Hh(e){switch(e){case 0:return 0;case 1:return 2;case 2:return 1;default:return 255}}var $h=class{ubq;enabled;initialTarget;target;dispose;constructor(e,t){this.ubq=t,this.enabled=eh(()=>{const t=e.editor.getSettingBool("mouse/enableZoom"),r=e.editor.getSettingBool("mouse/enableScroll");return t||r},()=>{},t=>e.editor.onSettingsChanged(()=>t(void 0))),this.target=Qu(void 0),this.dispose=()=>{this.target.update(void 0),this.target=null,this.enabled=null,this.ubq=null,this.initialTarget=null,e=null,t=null}}initialize(e){let t;this.initialTarget=e;const r=()=>{t?.(),t=void 0;const e=this.target.value();this.enabled.value()&&e&&(t=this.addWheelListener(e))},n=this.enabled.subscribe(r),o=this.target.subscribe(r);this.target.update(e);return()=>{n(),o(),t?.()}}setTarget(e){this.target.update(e);return()=>{this.target.update(this.initialTarget)}}addWheelListener(e){const t=e=>{if(!this.initialTarget)throw new Error("initialTarget is not set");const t={...Wh(this.initialTarget,e),deltaX:e.deltaX,deltaY:e.deltaY,deltaMode:e.deltaMode,shiftIsHeld:!!e.shiftKey,ctrlOrMetaIsHeld:!!e.ctrlKey||!!e.metaKey};this.ubq.mouseWheel(t)&&(e.stopPropagation(),e.preventDefault())};e.addEventListener("wheel",t,{passive:!1,capture:!0});return()=>{e.removeEventListener("wheel",t,{capture:!0}),e=null}}},Vh=class{active=!1;enableDebug=!1;timestamp=0;baseTouches=[];touches=[];currentTransform;constructor(){this.currentTransform=this.emptyTransform()}touchAddRemove(e){const t=new Array(e.touches.length);for(let r=0;r<e.touches.length;r++){const n=e.touches.item(r);t[r]=Nh(n)}this.touches=t}touchUpdate(e){for(let t=0;t<e.touches.length;t++){const r=e.touches.item(t),n=this.touches.find(e=>e.identifier===r.identifier);if(!n)return;n.x=r.clientX,n.y=r.clientY}}listen(e){return e.addEventListener("touchstart",this.touchstart,{passive:!0}),e.addEventListener("touchend",this.touchend),e.addEventListener("touchcancel",this.touchcancel),e.addEventListener("touchmove",this.touchmove,{passive:!0}),()=>{e.removeEventListener("touchstart",this.touchstart),e.removeEventListener("touchend",this.touchend),e.removeEventListener("touchcancel",this.touchcancel),e.removeEventListener("touchmove",this.touchmove)}}touchstart=e=>{this.touchAddRemove(e),this.timestamp=e.timeStamp,this.process("touchstart")};touchend=e=>{this.touchAddRemove(e),this.timestamp=e.timeStamp,this.process("touchend")};touchcancel=e=>{this.touchAddRemove(e),this.timestamp=e.timeStamp,this.process("touchcancel")};touchmove=e=>{this.touchUpdate(e),this.timestamp=e.timeStamp,this.process("touchmove")};debugState;debug(){if(!this.enableDebug)return;const e=JSON.stringify(this.currentTransform);function t(e,[t,r,n],o){const i=document.createElement("div");return i.style.position="fixed",i.style.top="-25px",i.style.left="-25px",i.style.width="50px",i.style.height="50px",i.style.border=`3px ${o} rgb(${t},${r},${n})`,i.style.borderRadius="50%",i.style.borderStyle=o,i.style.backgroundColor=`rgba(${t},${r},${n}, 0.5)`,i.style.transformOrigin="center",i.style.textAlign="center",i.innerHTML=e,i.style.display="none",document.body.appendChild(i),i}this.debugState||(this.debugState={touches:[t("T1",[218,212,104],"solid"),t("T2",[218,212,104],"solid")],value:this.debugValueDiv(void 0,e,this.touches,[218,212,104]),baseTouches:[t("B1",[128,128,128],"solid"),t("B2",[128,128,128],"solid")]}),this.debugState.touches[0].style.display=this.touches[0]?"block":"none",this.debugState.touches[1].style.display=this.touches[1]?"block":"none",this.debugState.baseTouches[0].style.display=this.baseTouches[0]?"block":"none",this.debugState.baseTouches[1].style.display=this.baseTouches[1]?"block":"none",this.touches[0]&&(this.debugState.touches[0].style.transform=`translate(${this.touches[0]?.x}px, ${this.touches[0]?.y}px)`),this.touches[1]&&(this.debugState.touches[1].style.transform=`translate(${this.touches[1]?.x}px, ${this.touches[1]?.y}px)`),this.baseTouches[0]&&(this.debugState.baseTouches[0].style.transform=`translate(${this.baseTouches[0]?.x}px, ${this.baseTouches[0]?.y}px)`),this.baseTouches[1]&&(this.debugState.baseTouches[1].style.transform=`translate(${this.baseTouches[1]?.x}px, ${this.baseTouches[1]?.y}px)`),this.debugState.value=this.debugValueDiv(this.debugState.value,e,this.touches)}debugValueDiv(e,t,r,n){if(!e){const[t,r,o]=n??[128,128,128];(e=document.createElement("div")).style.position="fixed",e.style.top="50px",e.style.left="50px",e.style.width="300px",e.style.height="100px",e.style.border=`3px solid rgb(${t},${r},${o})`,e.style.borderStyle="dashed",e.style.backgroundColor=`rgba(${t},${r},${o}, 0.5)`,e.style.transformOrigin="center",e.style.overflow="visible",e.style.textOverflow="visible",e.style.display="none",document.body.appendChild(e)}return this.active?e.style.borderStyle="solid":e.style.borderStyle="dashed",0===r.length?(e.style.display="none",e):(e.style.display="block",e.innerHTML=t,e)}resetBaseTouches(){this.baseTouches=this.touches.map(Nh)}process(e){if("touchcancel"===e)return this.resetBaseTouches(),this.reset(),this.debug(),void this.emit(2);"touchstart"!==e&&"touchend"!==e||(this.resetBaseTouches(),this.debug()),!this.active&&this.shouldStart()&&(this.active=!0,this.emit(0)),"touchmove"===e&&(this.currentTransform=this.calculateTransform(),this.active&&this.emit(1)),this.debug(),this.active&&this.shouldStop()&&(this.active=!1,this.emit(2),this.reset())}shouldStart(){return 2===this.touches.length}shouldStop(){return 2!==this.touches.length}emit(e){const t={timestamp:this.timestamp,state:e,touchPoints:this.touches},r=this.makeEvent(t);for(const e of this.handlers)e(r)}handlers=new Set;addListener(e){return this.handlers.add(e),()=>{this.handlers.delete(e)}}reset(){this.active=!1,this.currentTransform=this.emptyTransform()}};function Nh(e){if(null!=e)return e instanceof Touch?{identifier:e.identifier,x:e.clientX,y:e.clientY}:{identifier:e.identifier,x:e.x,y:e.y}}var zh=class _PanRecognizer extends Vh{static PAN_THRESHOLD=10;makeEvent(e){const t=0===e.state?{x:0,y:0}:this.currentTransform;return{...e,panDistance:t}}calculateTransform(){const e=Xh(this.touches),t=Xh(this.baseTouches);return{x:e.x-t.x,y:e.y-t.y}}emptyTransform(){return{x:0,y:0}}shouldStart(){return super.shouldStart()&&Gh(this.calculateTransform())>_PanRecognizer.PAN_THRESHOLD}};function Gh(e){return Math.sqrt(e.x**2+e.y**2)}function Xh(e){let t=0,r=0;for(let n=0;n<e.length;n++){const o=e[n];t+=o.x,r+=o.y}return t/=e.length,r/=e.length,{x:t,y:r}}var Yh=class _PinchRecognizer extends Vh{static PINCH_THRESHOLD=.2;makeEvent(e){return{...e,scale:this.currentTransform}}calculateTransform(){const e=this.baseTouches,t=this.touches;if(2!==e.length||2!==t.length)return 1;const r=Math.sqrt(Math.pow(e[0].x-e[1].x,2)+Math.pow(e[0].y-e[1].y,2));return Math.sqrt(Math.pow(t[0].x-t[1].x,2)+Math.pow(t[0].y-t[1].y,2))/r}emptyTransform(){return 1}shouldStart(){return super.shouldStart()&&Math.abs(this.calculateTransform()-1)>_PinchRecognizer.PINCH_THRESHOLD}},Kh=class _PointRecognizer extends Vh{static DISTANCE_THRESHOLD=5;static TAP_MAX_TIME=250;lastPosition={x:0,y:0};makeEvent(e){const t=this.tapDetected?this.tapLocation:e.touchPoints[0];return 0===e.state?(this.lastPosition=t,{button:0,state:1,position:t,shiftIsHeld:!1,commandIsHeld:!1,isTouch:!0,timestamp:e.timestamp}):2===e.state?{button:0,state:0,position:t??this.lastPosition,shiftIsHeld:!1,commandIsHeld:!1,isTouch:!0,timestamp:e.timestamp}:(this.lastPosition=t,{position:t,isTouch:!0,timestamp:e.timestamp})}previousNumTouches=0;fingerDownTimestamp=0;tapDetected=!1;tapLocation={x:0,y:0};process(e){if("touchstart"===e||"touchend"===e){this.tapDetected=!1;const e=1===this.touches.length&&0===this.previousNumTouches,t=0===this.touches.length&&1===this.previousNumTouches;e&&(this.fingerDownTimestamp=performance.now(),this.tapLocation=this.touches[0]),t&&performance.now()-this.fingerDownTimestamp<_PointRecognizer.TAP_MAX_TIME&&(this.tapDetected=!0),this.previousNumTouches=this.touches.length}super.process(e)}calculateTransform(){if(0===this.touches.length||0===this.baseTouches.length)return{x:0,y:0};const e=this.touches[0],t=this.baseTouches[0];return{x:e.x-t.x,y:e.y-t.y}}emptyTransform(){return{x:0,y:0}}shouldStart(){return this.tapDetected||1===this.touches.length&&Gh(this.calculateTransform())>_PointRecognizer.DISTANCE_THRESHOLD}shouldStop(){return 1!==this.touches.length}},Qh=class _RotateRecognizer extends Vh{static ROTATE_THRESHOLD=.1;makeEvent(e){return{...e,rotation:this.currentTransform}}calculateTransform(){const e=this.baseTouches,t=this.touches;if(e.length<2||t.length<2)return 0;const r=Math.atan2(e[1].y-e[0].y,e[1].x-e[0].x);return Math.atan2(t[1].y-t[0].y,t[1].x-t[0].x)-r}emptyTransform(){return 0}shouldStart(){return super.shouldStart()&&Math.abs(this.calculateTransform())>_RotateRecognizer.ROTATE_THRESHOLD}};function Zh(e,t,r){const n=[],o=new Kh;n.push(o.listen(e)),n.push(o.addListener(n=>{"button"in n?(t.execute("ubq/inputs/mousebutton",Jh(e,n)),r.update()):t.execute("ubq/inputs/mousemove",Jh(e,n))}));const i=new zh;n.push(i.listen(e)),n.push(i.addListener(r=>{t.execute("ubq/inputs/touchpan",Jh(e,r))}));const s=new Yh;n.push(s.listen(e)),n.push(s.addListener(r=>{t.execute("ubq/inputs/touchpinch",Jh(e,r))}));const a=new Qh;return n.push(a.listen(e)),n.push(a.addListener(r=>{t.execute("ubq/inputs/touchrotate",Jh(e,r))})),()=>{n.forEach(e=>e())}}function Jh(e,t){const r=window.devicePixelRatio??1,{top:n,left:o}=e.getBoundingClientRect();if(1===r&&0===n&&0===o)return t;const i=e=>({x:(e.x-o)*r,y:(e.y-n)*r});if("position"in t)return{...t,position:i(t.position)};const s=t.touchPoints.map(i);return"panDistance"in t?{...t,touchPoints:s,panDistance:i(t.panDistance)}:{...t,touchPoints:s}}function ep(e,t,r=Number.EPSILON){return Math.abs(e-t)<r}var tp,rp,np,op,ip,sp,ap,lp,dp={Info:"Info",Warning:"Warning",Error:"Error"};function cp(e){return{msg:"setVisibility",visible:e}}(rp=tp||(tp={})).start=function(e){return{...e,msg:"exportVideo"}},rp.abort=function(){return{msg:"exportVideoAbort"}},rp.finished=function(e){return{...e,msg:"exportVideoFinished"}},rp.error=function(e){return{...e,msg:"exportVideoError"}},rp.progress=function(e){return{...e,msg:"exportVideoProgress"}},rp.log=function(e){return{...e,msg:"exportLog"}},(op=np||(np={})).start=function(e){return{...e,msg:"exportAudio"}},op.abort=function(){return{msg:"exportAudioAbort"}},op.finished=function(e){return{...e,msg:"exportAudioFinished"}},op.error=function(e){return{...e,msg:"exportAudioError"}},op.progress=function(e){return{...e,msg:"exportAudioProgress"}},op.log=function(e){return{...e,msg:"exportLog"}},(sp=ip||(ip={})).start=function(e){return{...e,msg:"exportStatic"}},sp.abort=function(){return{msg:"exportStaticAbort"}},sp.finished=function(e){return{...e,msg:"exportStaticFinished"}},sp.error=function(e){return{...e,msg:"exportStaticError"}},sp.log=function(e){return{...e,msg:"exportLog"}},(lp=ap||(ap={})).start=function(e){return{...e,msg:"exportWithColorMask"}},lp.abort=function(){return{msg:"exportWithColorMaskAbort"}},lp.finished=function(e){return{...e,msg:"exportWithColorMaskFinished"}},lp.error=function(e){return{...e,msg:"exportWithColorMaskError"}},lp.log=function(e){return{...e,msg:"exportLog"}};var up=class{configuration;constructor(e){this.configuration=e}async exportVideo(e,t,r,n){const{abortSignal:o,inactivityTimeout:i}=r??{},s=await pp(this.configuration),a=hp(this.configuration),l=new Promise((e,t)=>{if(s.onmessage=({data:n})=>{switch(n.msg){case"exportVideoFinished":{const t=new Blob([n.data],{type:n.mimeType});e(t);break}case"exportVideoError":t(n.error);break;case"exportVideoProgress":r?.onProgress?.(n.renderedFrames,n.encodedFrames,n.totalFrames);break;case"exportLog":this.configuration.logger(n.message,n.logLevel);break;default:console.error("Unknown message received ",n)}},o){let e=!1;const t=()=>{e||(e=!0,s.postMessage(tp.abort()))};o.addEventListener("abort",t,{once:!0})}});s.postMessage(tp.start({sceneString:e,config:a,exportOptions:t,workerOptions:n,inactivityTimeout:i}));const d=()=>{s.postMessage(cp("visible"===document.visibilityState))};document.addEventListener("visibilitychange",d);try{return await l}finally{s.terminate(),document.removeEventListener("visibilitychange",d)}}async exportAudio(e,t,r,n){const{abortSignal:o,inactivityTimeout:i}=r??{},s=await pp(this.configuration),a=hp(this.configuration),l=new Promise((e,t)=>{if(s.onmessage=({data:n})=>{switch(n.msg){case"exportAudioFinished":{const t=new Blob([n.data],{type:n.mimeType});e(t);break}case"exportAudioError":t(n.error);break;case"exportAudioProgress":r?.onProgress?.(n.renderedFrames,n.encodedFrames,n.totalFrames);break;case"exportLog":this.configuration.logger(n.message,n.logLevel);break;default:console.error("Unknown message received ",n)}},o){let e=!1;const t=()=>{e||(e=!0,s.postMessage(np.abort()))};o.addEventListener("abort",t,{once:!0})}});s.postMessage(np.start({sceneString:e,config:a,exportOptions:t,workerOptions:n,inactivityTimeout:i}));const d=()=>{s.postMessage(cp("visible"===document.visibilityState))};document.addEventListener("visibilitychange",d);try{return await l}finally{s.terminate(),document.removeEventListener("visibilitychange",d)}}async export(e,t,r,n){const{abortSignal:o,inactivityTimeout:i}=r??{},s=await pp(this.configuration),a=hp(this.configuration),l=new Promise((e,t)=>{if(s.onmessage=({data:r})=>{switch(r.msg){case"exportStaticFinished":{const t=new Blob([r.data],{type:r.mimeType});e(t);break}case"exportStaticError":t(r.error);break;case"exportLog":this.configuration.logger(r.message,r.logLevel);break;default:console.error("Unknown message received ",r)}},o){let e=!1;const t=()=>{e||(e=!0,s.postMessage(ip.abort()))};o.addEventListener("abort",t,{once:!0})}});s.postMessage(ip.start({sceneString:e,config:a,exportOptions:t,workerOptions:n,inactivityTimeout:i}));const d=()=>{s.postMessage(cp("visible"===document.visibilityState))};document.addEventListener("visibilitychange",d);try{return await l}finally{s.terminate(),document.removeEventListener("visibilitychange",d)}}async exportWithColorMask(e,t,r,n){const{abortSignal:o,inactivityTimeout:i}=r??{},s=await pp(this.configuration),a=hp(this.configuration),l=new Promise((e,t)=>{if(s.onmessage=({data:r})=>{switch(r.msg){case"exportWithColorMaskFinished":{const[t,n]=r.data,o=new Blob([t],{type:r.mimeType}),i=new Blob([n],{type:r.mimeType});e([o,i]);break}case"exportWithColorMaskError":t(r.error);break;case"exportLog":this.configuration.logger(r.message,r.logLevel);break;default:console.error("Unknown message received ",r)}},o){let e=!1;const t=()=>{e||(e=!0,s.postMessage(ap.abort()))};o.addEventListener("abort",t,{once:!0})}});s.postMessage(ap.start({sceneString:e,config:a,exportOptions:t,workerOptions:n,inactivityTimeout:i}));const d=()=>{s.postMessage(cp("visible"===document.visibilityState))};document.addEventListener("visibilitychange",d);try{return await l}finally{s.terminate(),document.removeEventListener("visibilitychange",d)}}};function hp(e){return{baseURL:e.baseURL,license:e.license,core:e.core,role:e.role,presets:e.presets,featureFlags:e.featureFlags,forceWebGL1:e.forceWebGL1,audioOutput:e.audioOutput}}async function pp(e){const t="assets/core/worker-host-v1.77.0-nightly.20260527.js".toString().split("/").pop(),r=await async function(e){if(!(e=e.toString()).includes("://")||e.includes(window.location.origin))return e;const t=`const _importScripts = importScripts;\n const _fixImports = (url) => new URL(url, '${new URL(e).href.split("/").slice(0,-1).join("/")}/').href;\n importScripts = (...urls) => _importScripts(...urls.map(_fixImports));`;return URL.createObjectURL(new Blob([`${t}importScripts("${e}")`],{type:"application/javascript"}))}(new URL(t,e.core.baseURL));return new Worker(r)}function gp(e,t,r){const n=t?.uriResolverAsync??t?.uriResolver;if(!n)return;let o;try{if(o=(0,eval)(`'use strict';(${n})`),"function"!=typeof o)return void r(`URI resolver deserialised to ${typeof o}, expected function. Exports will use the default URI resolver.`,"Warning")}catch(e){return void r(`Failed to deserialise URI resolver in export worker: ${e}. Make sure the URI resolver function does not reference any external variables. Exports will use the default URI resolver.`,"Warning")}e.setURIResolverAsync((e,t)=>{try{const n=o(e,t);return"function"==typeof n?.then?n.catch(n=>(r(`Error during async URI resolution in export worker: ${n}. Make sure the URI resolver function does not reference any external variables. Falling back to default URI resolver.`,"Warning"),t(e))):n}catch(n){return r(`Error during URI resolution in export worker: ${n}. Make sure the URI resolver function does not reference any external variables. Falling back to default URI resolver.`,"Warning"),t(e)}})}globalThis.ubq_browserTabHidden=!0;var fp={value:()=>"undefined"==typeof document||"visible"===document.visibilityState,subscribe(e){if("undefined"==typeof document)return()=>{};{const t=()=>{e("visible"===document.visibilityState)};return document.addEventListener("visibilitychange",t),()=>{document.removeEventListener("visibilitychange",t)}}}};function mp(e,t,r){return async(n,o={})=>{$t("handle",n,It()),$t("options",o,Rt({mimeType:Lt(zt()),onProgress:Lt(Mt()),timeOffset:Lt(It()),duration:Lt(It()),sampleRate:Lt(It()),numberOfChannels:Lt(It()),skipEncoding:Lt(At()),abortSignal:Lt(Jt())}));const i=t.scene.get();if(null==i||!t.block.isValid(i))throw new Error("No valid scene available.");const s=o.onProgress,a=await t.scene.saveToString(["blob","bundle","file","http","https","buffer","opfs","data"]),l=r(),d=t.editor.getActiveLicense(),c={uriResolver:t.editor.getURIResolver()?.toString(),uriResolverAsync:t.editor.getURIResolverAsync?.()?.toString(),buffers:t.editor.cloneBuffers()};try{c.trackingMetadata=t.editor.getTrackingMetadata()}catch{c.trackingMetadata=void 0}const u={block:n,mimeType:o.mimeType,duration:o.duration,sampleRate:o.sampleRate,numberOfChannels:o.numberOfChannels,timeOffset:o.timeOffset,skipEncoding:o.skipEncoding};if(e.featureFlags?.exportWorker??1){return new up({...e,license:d}).exportAudio(a,u,{abortSignal:o.abortSignal,inactivityTimeout:l,onProgress:s},c)}return async function(e,t,r,n,o){let i,s,a=0,l=null,d=!1;const c=o.visibility??fp,u=o.inactivityTimeout,h=c.subscribe(()=>{null!==l&&(l=Date.now()),globalThis.ubq_browserTabHidden=!c.value()});let p=null;function g(){d=!0,clearTimeout(s),h(),p?.()}try{let f=function(){S||(S=!0,k.port2.postMessage(null))},m=function(){!0===c.value()&&null!==l&&Date.now()-l>u?i(new Error("Audio export timed out due to inactivity.")):a<10&&y.update()?f():s=setTimeout(m,1)};const b=new OffscreenCanvas(64,64),y=await Ih(b,{...e,audioOutput:"none"}),v=new SceneAPI(y),w=new BlockAPI(y),_=new EditorAPI(y);p=()=>{y.delete()},n?.trackingMetadata&&_.setTrackingMetadata(n.trackingMetadata),gp(_,n,e.logger),n?.buffers&&_.restoreBuffers(n.buffers),await v.loadFromString(t,!0);const k=new MessageChannel;let S=!1;async function C(e){try{let t=e;!w.supportsPlaybackControl(e)&&w.supportsFill(e)&&(t=w.getFill(e)),w.supportsPlaybackControl(t)&&(w.unstable_isAVResourceLoaded(t)||await w.forceLoadAVResource(t))}catch{}try{const t=w.getChildren(e);for(const e of t)await C(e)}catch{}}k.port1.onmessage=()=>{S=!1,d||m()},m(),await C(r.block);const E=w.getDuration(r.block),x=r.mimeType??"audio/wav",T=await new Promise((t,n)=>{i=n,e.abortSignal?.addEventListener("abort",()=>{n(new Error("AbortSignal received"))}),y.exportAudioToBuffer(r.block,r.timeOffset??0,r.duration??E,x,(e,t,r)=>{a=e-t,l=Date.now(),o?.onProgress?.(e,t,r)},e=>{"error"in e?n(e.error):t(e)},{sampleRate:r.sampleRate??48e3,numberOfChannels:r.numberOfChannels??2,skipEncoding:r.skipEncoding??!1})}),P=new Uint8Array(T.byteLength);return P.set(T),g(),{data:P,mimeType:x}}catch(A){throw g(),A}}(o.abortSignal?{...e,abortSignal:o.abortSignal}:e,a,u,c,{onProgress:s,visibility:bp,inactivityTimeout:l}).then(({data:e,mimeType:t})=>new Blob([e],{type:t}))}}var bp={value:()=>"visible"===document.visibilityState,subscribe:e=>{const t=()=>{e("visible"===document.visibilityState)};return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)}};globalThis.ubq_browserTabHidden=!0;var yp={value:()=>"undefined"==typeof document||"visible"===document.visibilityState,subscribe(e){if("undefined"==typeof document)return()=>{};{const t=()=>{e("visible"===document.visibilityState)};return document.addEventListener("visibilitychange",t),()=>{document.removeEventListener("visibilitychange",t)}}}};function vp(e,t,r){return async(n,o,i,s)=>{$t("handle",n,It());try{$t("options",o,Lt(Rt({mimeType:Lt(Gt()),onProgress:Lt(Mt()),h264Profile:Lt(It()),h264Level:Lt(It()),videoBitrate:Lt(It()),audioBitrate:Lt(It()),timeOffset:Lt(It()),duration:Lt(It()),framerate:Lt(It()),targetWidth:Lt(It()),targetHeight:Lt(It()),abortSignal:Lt(Jt())})))}catch(e){try{$t("mimeType",o,Lt(Gt())),$t("progressCallback",i,Lt(Mt())),$t("options",s,Lt(Rt({h264Profile:Lt(It()),h264Level:Lt(It()),videoBitrate:Lt(It()),audioBitrate:Lt(It()),timeOffset:Lt(It()),duration:Lt(It()),framerate:Lt(It()),targetWidth:Lt(It()),targetHeight:Lt(It()),abortSignal:Lt(Jt())})))}catch(t){throw new Error(`Invalid arguments.\nIf your're using the deprecated signature:\ncesdk.engine.block.exportVideo(handle, mimeType, progressCallback, options)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.block.export(handle, options)\n${e.message}`)}}const a=t.scene.get();if(null==a||!t.block.isValid(a))throw new Error("No valid scene available.");const l="object"==typeof o?o:{mimeType:o,onProgress:i,...s},d=l.onProgress,c=await t.scene.saveToString(["blob","bundle","file","http","https","buffer","opfs","data"]),u=r(),h=t.editor.getActiveLicense(),p={uriResolver:t.editor.getURIResolver()?.toString(),uriResolverAsync:t.editor.getURIResolverAsync?.()?.toString(),buffers:t.editor.cloneBuffers()};try{p.trackingMetadata=t.editor.getTrackingMetadata()}catch{p.trackingMetadata=void 0}const g={block:n,mimeType:l.mimeType,targetWidth:l.targetWidth,targetHeight:l.targetHeight,duration:l.duration,framerate:l.framerate,h264Level:l.h264Level,h264Profile:l.h264Profile,videoBitrate:l.videoBitrate,audioBitrate:l.audioBitrate,timeOffset:l.timeOffset};if(e.featureFlags?.exportWorker??1){return new up({...e,license:h}).exportVideo(c,g,{abortSignal:l.abortSignal,inactivityTimeout:u,onProgress:d},p)}return async function(e,t,r,n,o){let i,s,a=0,l=null,d=!1;const c=o.visibility??yp,u=o.inactivityTimeout,h=c.subscribe(()=>{null!==l&&(l=Date.now()),globalThis.ubq_browserTabHidden=!c.value()});let p=null;function g(){d=!0,clearTimeout(s),h(),p?.()}try{let h=function(){C||(C=!0,S.port2.postMessage(null))},f=function(){if(!0===c.value()&&null!==l&&Date.now()-l>u)i(new Error("Video export timed out due to inactivity."));else{if(a<10&&b.update())return void h();s=setTimeout(f,1)}};const m=new OffscreenCanvas(64,64),b=await Ih(m,{...e,audioOutput:"none"}),y=new SceneAPI(b),v=new BlockAPI(b),w=new EditorAPI(b);p=()=>{b.delete()},n?.trackingMetadata&&w.setTrackingMetadata(n.trackingMetadata),gp(w,n,e.logger),n?.buffers&&w.restoreBuffers(n.buffers),await y.loadFromString(t,!0);const _=v.getDuration(r.block),k=r.mimeType??"video/mp4",S=new MessageChannel;let C=!1;S.port1.onmessage=()=>{C=!1,d||f()},f();const E=await new Promise((t,n)=>{i=n,e.abortSignal?.addEventListener("abort",()=>{n(new Error("AbortSignal received"))}),b.exportVideoToBuffer(r.block,r.timeOffset??0,r.duration??_,k,(e,t,r)=>{a=e-t,l=Date.now(),o?.onProgress?.(e,t,r)},e=>{"error"in e?n(e.error):t(e)},{h264Profile:r.h264Profile??77,h264Level:r.h264Level??52,framerate:r.framerate??30,videoBitrate:r.videoBitrate??0,audioBitrate:r.audioBitrate??0,useTargetSize:void 0!==r.targetWidth&&void 0!==r.targetHeight,targetWidth:r.targetWidth??0,targetHeight:r.targetHeight??0,allowTextOverhang:r.allowTextOverhang??!1})}),x=new Uint8Array(E.byteLength);return x.set(E),g(),{data:x,mimeType:k}}catch(e){throw g(),e}}(l.abortSignal?{...e,abortSignal:l.abortSignal}:e,c,g,p,{onProgress:d,visibility:wp,inactivityTimeout:u}).then(({data:e,mimeType:t})=>new Blob([e],{type:t}))}}var wp={value:()=>"visible"===document.visibilityState,subscribe:e=>{const t=()=>{e("visible"===document.visibilityState)};return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)}};var CreativeEngine=class{static version="1.77.0-nightly.20260527";asset;block;editor;event;scene;variable;reactor;version="1.77.0-nightly.20260527";#s;#a;#l;#d;#e;#c;#u;#h;#p=[];constructor(e,t,r){this.#e=e,this.#u=r.baseURL,this.#h=r.logger,this.#c=new wh(e),this.asset=new AssetAPI(e),this.block=new BlockAPI(e),this.editor=new EditorAPI(e,r.logger),this.event=new EventAPI(e),this.scene=new SceneAPI(e),this.variable=new VariableAPI(e),this.#d=new $h(this,e),this.#p.push(this.#d.dispose);const n=new Bh(this.editor.getEditMode());this.reactor=n;const o=[n.decorateObject(this.#c),n.decorateObject(this.block),n.decorateObject(this.editor),n.decorateObject(this.scene),n.decorateObject(this.variable)];let i=(0,yt.default)(n.updateDirtyReactions.bind(n),1e3/120,{leading:!0,trailing:!1}),s=this.addPostUpdateCallback(i);const a=this.editor.onStateChanged(()=>{n.currentMode=this.editor.getEditMode(),i="Playback"===n.currentMode?(0,yt.default)(n.updateDirtyReactions.bind(n),100,{leading:!0,trailing:!1}):(0,yt.default)(n.updateDirtyReactions.bind(n),1e3/120,{leading:!0,trailing:!1});const e=this.addPostUpdateCallback(i);s(),s=e});this.#p.push(()=>{o.forEach(e=>e()),a(),s(),this.reactor.dispose()}),this.block.exportVideo=vp(r,{block:this.block,scene:this.scene,editor:this.editor,variable:this.variable},()=>this._unstable_videoExportInactivityTimeout),this.block.exportAudio=mp(r,{block:this.block,scene:this.scene,editor:this.editor,variable:this.variable},()=>this._unstable_videoExportInactivityTimeout),r.featureFlags?.exportWorker&&(this.block.export=function(e,t,r){return async(n,o,i)=>{$t("handle",n,It());try{$t("options",o,Lt(Rt({mimeType:Lt(Bt([Nt(),Xt()])),pngCompressionLevel:Lt(jt(Ut(Ft(),9),0)),jpegQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),webpQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),targetWidth:Lt(It()),targetHeight:Lt(It()),exportPdfWithHighCompatibility:Lt(At()),exportPdfWithUnderlayer:Lt(At()),underlayerSpotColorName:Lt(Dt()),underlayerOffset:Lt(It()),underlayerRenderRatio:Lt(It()),underlayerMaxError:Lt(It()),allowTextOverhang:Lt(At()),exportPdfWithDeviceCMYK:Lt(At()),abortSignal:Lt(Jt())})))}catch(e){try{$t("mimeType",o,Lt(Bt([Nt(),Xt()]))),$t("options",i,Lt(Rt({pngCompressionLevel:Lt(jt(Ut(Ft(),9),0)),jpegQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),webpQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),targetWidth:Lt(It()),targetHeight:Lt(It()),exportPdfWithHighCompatibility:Lt(At()),exportPdfWithUnderlayer:Lt(At()),underlayerSpotColorName:Lt(Dt()),underlayerOffset:Lt(It()),underlayerRenderRatio:Lt(It()),underlayerMaxError:Lt(It()),allowTextOverhang:Lt(At()),abortSignal:Lt(Jt())})))}catch(t){throw new Error(`Invalid arguments.\nIf you're using the deprecated signature:\ncesdk.engine.block.export(handle, mimeType, options)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.block.export(handle, options)\n${e.message}`)}}const s=t.scene.get();if(null==s||!t.block.isValid(s))throw new Error("No valid scene available.");const a="object"==typeof o?o:{mimeType:o,...i},l=await t.scene.saveToString(["blob","bundle","file","http","https","buffer","opfs","data"]),d=r(),c=t.editor.getActiveLicense(),u={uriResolver:t.editor.getURIResolver()?.toString(),uriResolverAsync:t.editor.getURIResolverAsync?.()?.toString(),buffers:t.editor.cloneBuffers()};try{u.trackingMetadata=t.editor.getTrackingMetadata()}catch{u.trackingMetadata=void 0}const h={block:n,mimeType:a.mimeType,pngCompressionLevel:a.pngCompressionLevel,jpegQuality:a.jpegQuality,webpQuality:a.webpQuality,targetWidth:a.targetWidth,targetHeight:a.targetHeight,exportPdfWithHighCompatibility:a.exportPdfWithHighCompatibility,exportPdfWithUnderlayer:a.exportPdfWithUnderlayer,underlayerSpotColorName:a.underlayerSpotColorName,underlayerOffset:a.underlayerOffset,underlayerRenderRatio:a.underlayerRenderRatio,underlayerMaxError:a.underlayerMaxError,allowTextOverhang:a.allowTextOverhang,exportPdfWithDeviceCMYK:a.exportPdfWithDeviceCMYK};return new up({...e,license:c}).export(l,h,{abortSignal:a.abortSignal,inactivityTimeout:d},u)}}(r,{block:this.block,scene:this.scene,editor:this.editor,variable:this.variable},()=>this._unstable_exportInactivityTimeout),this.block.exportWithColorMask=function(e,t,r){return async(n,o,i,s,a,l)=>{$t("handle",n,It());try{$t("maskColorR",o,It()),$t("maskColorG",i,It()),$t("maskColorB",s,It()),$t("options",a,Lt(Rt({mimeType:Lt(Bt([Nt(),Xt()])),pngCompressionLevel:Lt(jt(Ut(Ft(),9),0)),jpegQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),webpQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),targetWidth:Lt(It()),targetHeight:Lt(It()),exportPdfWithHighCompatibility:Lt(At()),exportPdfWithUnderlayer:Lt(At()),underlayerSpotColorName:Lt(Dt()),underlayerOffset:Lt(It()),underlayerRenderRatio:Lt(It()),underlayerMaxError:Lt(It()),exportPdfWithDeviceCMYK:Lt(At()),abortSignal:Lt(Jt())})))}catch(e){try{$t("mimeType",o,Lt(Bt([Nt(),Xt()]))),$t("maskColorR",i,It()),$t("maskColorG",s,It()),$t("maskColorB",a,It()),$t("options",l,Lt(Rt({pngCompressionLevel:Lt(jt(Ut(Ft(),9),0)),jpegQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),webpQuality:Lt(jt(Ut(It(),1),0,{exclusive:!0})),targetWidth:Lt(It()),targetHeight:Lt(It()),exportPdfWithHighCompatibility:Lt(At()),exportPdfWithUnderlayer:Lt(At()),underlayerSpotColorName:Lt(Dt()),underlayerOffset:Lt(It()),underlayerRenderRatio:Lt(It()),underlayerMaxError:Lt(It()),abortSignal:Lt(Jt())})))}catch(t){throw new Error(`Invalid arguments.\nIf your're using the deprecated signature:\ncesdk.engine.block.exportWithColorMask(handle, mimeType, maskColorR, maskColorG, maskColorB, options)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.block.exportWithColorMask(handle, maskColorR, maskColorG, maskColorB, options)\n${e.message}`)}}const d=t.scene.get();if(null==d||!t.block.isValid(d))throw new Error("No valid scene available.");let c,u,h,p;"number"==typeof o?(c=o,u=i,h=s,p=a??{}):(c=i,u=s,h=a,p={mimeType:o,...l});const g=await t.scene.saveToString(["blob","bundle","file","http","https","buffer","opfs","data"]),f=r(),m=t.editor.getActiveLicense(),b={uriResolver:t.editor.getURIResolver()?.toString(),uriResolverAsync:t.editor.getURIResolverAsync?.()?.toString(),buffers:t.editor.cloneBuffers()};try{b.trackingMetadata=t.editor.getTrackingMetadata()}catch{b.trackingMetadata=void 0}const y={block:n,maskColorR:c,maskColorG:u,maskColorB:h,mimeType:p.mimeType,pngCompressionLevel:p.pngCompressionLevel,jpegQuality:p.jpegQuality,webpQuality:p.webpQuality,targetWidth:p.targetWidth,targetHeight:p.targetHeight,exportPdfWithHighCompatibility:p.exportPdfWithHighCompatibility,exportPdfWithUnderlayer:p.exportPdfWithUnderlayer,underlayerSpotColorName:p.underlayerSpotColorName,underlayerOffset:p.underlayerOffset,underlayerRenderRatio:p.underlayerRenderRatio,underlayerMaxError:p.underlayerMaxError,exportPdfWithDeviceCMYK:p.exportPdfWithDeviceCMYK};return new up({...e,license:m}).exportWithColorMask(g,y,{abortSignal:p.abortSignal,inactivityTimeout:f},b)}}(r,{block:this.block,scene:this.scene,editor:this.editor,variable:this.variable},()=>this._unstable_exportInactivityTimeout)),"getInternalCanvas"in t?(this.#a=t.getInternalCanvas(),this.#l=t):this.#a=t,this.#s=new rh(this),this.#g(),"undefined"!=typeof window&&window.Cypress&&(this.config=r,this.legacyAPI=this.#c)}async addPlugin(e){if(e.initialize){const t={engine:this};await e.initialize(t)}}unstable_setVideoExportInactivityTimeout(e){this._unstable_videoExportInactivityTimeout=e}_unstable_videoExportInactivityTimeout=1e4;unstable_setExportInactivityTimeout(e){this._unstable_exportInactivityTimeout=e}_unstable_exportInactivityTimeout=1e4;#f(){if(!this.#l)return;const e=this.#l.getInternalCanvas(),t=e.getBoundingClientRect();if(0===t.width||0===t.height)return;const r="undefined"!=typeof window?window.devicePixelRatio:1,n=t.width*r,o=t.height*r;e.width!==n&&(e.width=n),e.height!==o&&(e.height=o)}#m(){const{width:e,height:t}=this.#a,r="undefined"!=typeof window?window.devicePixelRatio:1,{height:n,width:o,pixelRatio:i}=this.#s.settings.value();if(!ep(o,e,1e-4)||!ep(n,t,1e-4)||!ep(i,r,1e-4)){this.#s.settings.update({height:t,width:e,pixelRatio:r});const n=this.scene.get();if(!ep(i,r,1e-4)&&null!==n&&!1===this.scene.isZoomAutoFitEnabled(n)){const e=this.scene.getZoomLevel();this.scene.setZoomLevel(e*(r/i))}}}#b=[];#y=[];addPostUpdateCallback(e){return this.#b.push(e),()=>{const t=this.#b.indexOf(e);-1!==t&&this.#b.splice(t,1)}}addPreUpdateCallback(e){return this.#y.push(e),()=>{const t=this.#y.indexOf(e);-1!==t&&this.#y.splice(t,1)}}#v;#g(e=!0){this.#w(e),this.#_()}#w(e=!0){let t,r=!1,n=0;if(this.#v)return;const o=()=>{if(this.#v=requestAnimationFrame(o),!r)try{this.#k(e),n=0}catch(e){throw n++,n>=10&&(console.error("Repeated exceptions in update loop. Stopping loop."),t?.(),this.#S()),e}};this.#v=requestAnimationFrame(o)}#_(){if(e=this.#a,!("undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement))return;var e;const t=this.#l??this.#a,r=this.#k.bind(this,!1),n=[qh(t,this.#c,r),this.#d.initialize(t),jh(t,this.#c,this.#e,this.editor,r),Uh(t,this.editor),Zh(t,this.#c,this.#e),hh(this.#a,this.#e,()=>{this.#a.width=this.#a.width}),Xu(t,this.#C)];this.#E=()=>{n.reverse().forEach(e=>e())}}setWheelEventTarget(e){return this.#d.setTarget(e)}#C=(0,mt.default)(function(){this.#k()}.bind(this),100,{leading:!0,trailing:!1});#E;#S(){this.#E?.(),this.#E=void 0,this.#v&&(cancelAnimationFrame(this.#v),this.#v=0)}#k(e=!0){for(const e of this.#y)e();if(e){1===this.block.findByType("scene").length&&this.#x()}this.#f(),this.#m(),this.#e.update();for(const e of this.#b)e()}#x(){if(this.#s.clampCamera){const e={sceneSize:{x:0,y:0},scrollPercentage:{x:0,y:0}};this.#c.execute("cesdk/clampCameraAndRender",{horizontalPaddingInPixels:this.#s.viewportPadding.value().x,verticalPaddingInPixels:this.#s.viewportPadding.value().y}).then(e=>{(0,bt.default)(this.#s.clampResult.value(),e)||this.#s.clampResult.update(e)},()=>{(0,bt.default)(this.#s.clampResult.value(),e)||this.#s.clampResult.update(e)})}else this.#c.execute("ubq/render")}get element(){return this.#l}dispose(){this.#p.forEach(e=>e()),this.#S(),this.asset.dispose(),this.#s.dispose(),this.#a=null,this.#l?.dispose(),this.#l=void 0,this.block=null,this.scene=null,this.variable=null,this.asset=null,this.editor=null,this.event=null,this.#b.length=0,this.#c.dispose(),this.#c=null,this.#e.delete(),this.#e=null}static async init(e,t){let r=function(e,t){if(r(t?.canvas))return t?.canvas;if(r(e))return console.warn("Passing an existing HTMLCanvasElement as a second parameter to CreativeEngine.init() is deprecated. Use the element property on the CreativeEngine instance to access a fully managed canvas to append into the DOM instead. For more information, have a look into our documentation at https://img.ly/docs/cesdk/next/engine/quickstart/#initialization."),e;return;function r(e){return"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas||"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement}}(t,e);const n="a98df430",o="1.77.0-nightly.20260527";if(n||o){const e=["[CreativeEngine]"];o&&e.push(`v${o}`),n&&e.push(`Revision ${n}`),console.log(e.join(" "))}let i;r||(i=function(){customElements.get("cesdk-canvas")||customElements.define("cesdk-canvas",class HTMLCreativeEngineCanvasElement extends HTMLElement{#a;constructor(){super(),this.#a=document.createElement("canvas");const e=document.createElement("style");e.textContent=":host {display: block; width: 100%; height: 100%; contain: content;} canvas {position: absolute; inset: 0; width: 100%; height:100%; display: block; touch-action: none;}",this.attachShadow({mode:"closed"}).append(e,this.#a)}getInternalCanvas(){if(!this.#a)throw new Error("Internal canvas element is undefined");return this.#a}dispose(){this.#a?.remove(),this.#a=void 0}clear(){if(!this.#a)return;const e=this.#a.width;this.#a.width=1,this.#a.width=e}});return document.createElement("cesdk-canvas")}(),r=i.getInternalCanvas());const s=sh(ch(uh,e));if(!function(e){return!0===e?._skipConfigWarnings}(e))for(const t of lh(uh,e))s.logger(t,"Warning");const a=new this(await Ih(r,s),i??r,s);return Object.defineProperty(a,"version",{configurable:!1,writable:!1}),dh(uh,s,a),a}async addDefaultAssetSources({baseURL:e,excludeAssetSourceIds:t=[]}={}){this.#h("addDefaultAssetSources() uses legacy v4 asset source IDs and will be removed in a future version. Please migrate to v5 asset sources using engine.asset.addLocalAssetSourceFromJSONURI().","Warning");const r=e??this.#u;return Vu(this,r,t)}async addDemoAssetSources({baseURL:e,excludeAssetSourceIds:t=[],sceneMode:r="Design",withUploadAssetSources:n=!1}={}){this.#h("addDemoAssetSources() uses legacy v3 demo asset source IDs and will be removed in a future version. Please migrate to v4 asset sources using engine.asset.addLocalAssetSourceFromJSONURI().","Warning");const o=e??this.#u;return Gu(this.asset,this.scene,t,r,n,void 0,o)}getBaseURL(){return this.#u}get _camera(){return this.#s}get _legacyApi(){return this.#c}};var _p=(e=>(e[e.None=0]="None",e[e.Zstd=1]="Zstd",e))(_p||{}),kp=(e=>(e[e.Fastest=0]="Fastest",e[e.Default=1]="Default",e[e.Best=2]="Best",e))(kp||{}),Sp=["scene","stack","camera","page","graphic","audio","text","group","cutout","track","caption","captionTrack"],Cp=["rect","line","ellipse","polygon","star","vector_path"],Ep=["color","gradient/linear","gradient/radial","gradient/conical","image","video","pixelStream"],xp=["adjustments","cross_cut","dot_pattern","duotone_filter","extrude_blur","glow","green_screen","half_tone","linocut","liquid","lut_filter","mirror","outliner","pixelize","posterize","radial_pixel","recolor","sharpie","shifter","tilt_shift","tv_glitch","vignette"],Tp=["uniform","linear","mirrored","radial"],Pp=["slide","pan","fade","blur","grow","zoom","pop","wipe","baseline","crop_zoom","spin","spin_loop","fade_loop","blur_loop","pulsating_loop","breathing_loop","jump_loop","squeeze_loop","sway_loop","scale_loop","typewriter_text","block_swipe_text","spread_text","merge_text","ken_burns"],Ap=[{weight:"thin",label:"Thin"},{weight:"extraLight",label:"Extra Light"},{weight:"light",label:"Light"},{weight:"normal",label:"Regular"},{weight:"medium",label:"Medium"},{weight:"semiBold",label:"Semi Bold"},{weight:"bold",label:"Bold"},{weight:"extraBold",label:"Extra Bold"},{weight:"heavy",label:"Heavy"}],Mp=[{style:"normal",label:""},{style:"italic",label:"Italic"}];function Fp(e,t,r){const n=t?Ap:[Ap[3]],o=r?Mp:[Mp[0]],i=[];for(const{style:t,label:r}of o)for(const{weight:o,label:s}of n){const n=r&&s?`${s} ${r}`:r||s;i.push({uri:e,subFamily:n,weight:o,style:t})}return i}var Ip=function(){try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){return console.error(e),!1}return!1},Rp=1e6;async function Lp(){if("undefined"==typeof window)throw new Error("Window is undefined");const e=["VideoFrame","VideoDecoder","VideoEncoder"].filter(e=>!(e in window));if(e.length>0){const t=e.map(e=>`Missing ${e} in the window global`);throw new Error(`Missing required web video APIs:\n${t.join("\n")}`)}const t={codec:"avc1.4D0034",width:1920,height:1080,avc:{format:"annexb"},framerate:30};if(!(await VideoEncoder.isConfigSupported(t)).supported)throw new Error(`VideoEncoder config ${JSON.stringify(t)} not supported`);const r=new OffscreenCanvas(t.width,t.height),n=r.getContext("webgl2");if(!n)throw new Error("Could not create WebGL2 context");return n.clearColor(1,0,1,1),n.clear(n.COLOR_BUFFER_BIT),new Promise((e,n)=>{setTimeout(()=>{n(new Error("Timed out during video export"))},1e4);const o=new VideoEncoder({output:()=>e(),error:e=>n(new Error(`Could not create a new VideoEncoder: ${e}`))});try{o.configure(t)}catch(e){throw new Error(`Failed to configure a VideoEncoder object with ${JSON.stringify(t)}: ${e}`)}for(let e=0;e<8;++e){const n=new VideoFrame(r,{timestamp:e*(Rp/t.framerate),duration:Rp/t.framerate});o.encode(n,{keyFrame:!0}),n.close()}o.flush().then(()=>{"closed"!==o.state&&o.close()},e=>{n(new Error(`Error during video export: ${e}`))})})}async function Dp(){if("undefined"==typeof window)throw new Error("Window is undefined");const e=["AudioDecoder","AudioEncoder"].filter(e=>!(e in window));if(e.length>0){const t=e.map(e=>`Missing ${e} in the window global`);throw new Error(`Missing required web audio APIs:\n${t.join("\n")}`)}const t={codec:"mp4a.40.02",sampleRate:48e3,numberOfChannels:2,bitrate:128e3};if(!(await AudioEncoder.isConfigSupported(t)).supported)throw new Error(`AudioEncoder config ${JSON.stringify(t)} not supported`);return new Promise((e,r)=>{setTimeout(()=>{r(new Error("Timed out during audio export"))},1e4);const n=new AudioEncoder({output:()=>e(),error:e=>r(new Error(`Could not create a new AudioEncoder with ${JSON.stringify(t)}: ${e}`))});try{n.configure(t)}catch(e){throw new Error(`Failed to configure an AudioEncoder object with ${JSON.stringify(t)}: ${e}`)}const o=1024,i=new Float32Array(o*t.numberOfChannels);for(let e=0;e<o;++e){const t=e/o;i[2*e+0]=Math.sin(880*Math.PI*t),i[2*e+1]=Math.sin(888*Math.PI*t)}for(let e=0;e<10;++e)try{const r=new AudioData({format:"f32",sampleRate:t.sampleRate,numberOfFrames:o,numberOfChannels:t.numberOfChannels,timestamp:e*o/t.sampleRate*Rp,data:i});n.encode(r),r.close()}catch(e){throw new Error(`Failed to encode AudioData in an encoder configured with ${JSON.stringify(t)}: ${e}`)}n.flush().then(()=>{"closed"!==n.state&&n.close()},e=>{r(new Error(`Error during audio export with ${t}: ${e}`))})})}function Op(){if("undefined"==typeof window)throw new Error("Window object is not available. This function should be run in a browser environment");const e=["VideoFrame","VideoDecoder","VideoEncoder","AudioDecoder","AudioEncoder"].filter(e=>!(e in window));if(e.length>0){const t=e.map(e=>`Missing ${e} in the window global`);throw new Error(t.join("\n"))}}function Bp(){try{return Op(),!0}catch{return!1}}async function Up(){await Promise.all([Lp(),Dp()])}async function jp(){try{return await Up(),!0}catch(e){return!1}}var qp=function(){try{const e=!0,t=!0,r="globalThis"in window,n="BigInt"in window,o="allSettled"in Promise,i="matchAll"in String.prototype,s=CSS.supports("contain: content"),a="MediaRecorder"in window&&"pause"in window.MediaRecorder.prototype,l=CSS.supports("color: lab(29.2345% 39.3825 20.0664)");return Ip()&&e&&t&&r&&n&&o&&i&&s&&a&&l}catch{return!1}};export{Pp as ANIMATION_TYPES,Tp as BLUR_TYPES,_p as CompressionFormat,kp as CompressionLevel,Sp as DESIGN_BLOCK_TYPES,xp as EFFECT_TYPES,Ep as FILL_TYPES,Nu as HorizontalContentFillAlignmentValues,dp as LogLevel,Ht as MimeType,Cp as SHAPE_TYPES,zu as VerticalContentFillAlignmentValues,up as WorkerClient,mn as _ColorInternal,dh as _applyFallback,Ju as _combineProperties,Zu as _createDerivedProperty,Qu as _createReactiveProperty,eh as _createTrackedProperty,sh as _initWithDefaults,Ku as _makeSource,th as _mergeSources,ch as _migrateConfigObject,lh as _warnKeys,Up as checkVideoExportSupport,Op as checkVideoSupport,Fp as createVariableFontCombinations,CreativeEngine as default,nh as defaultLogger,fn as downloadFromOPFS,Yd as isCMYKColor,pn as isOPFSSupported,Gd as isRGBAColor,Xd as isSpotColor,ih as normalizeBaseURL,gn as parseOPFSReference,qp as supportsBrowser,Bp as supportsVideo,jp as supportsVideoExport,Ip as supportsWasm};
|