@thorvg/lottie-player
Version:
A web lottie player using ThorVG as a renderer
1 lines • 82.2 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["lottie-player"]={})}(this,function(e){"use strict";var t="undefined"!=typeof document?document.currentScript:null;const r=globalThis,n=r.ShadowRoot&&(void 0===r.ShadyCSS||r.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),s=new WeakMap;let o=class{constructor(e,t,r){if(this._$cssResult$=!0,r!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(n&&void 0===e){const r=void 0!==t&&1===t.length;r&&(e=s.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&s.set(t,e))}return e}toString(){return this.cssText}};const a=n?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const r of e.cssRules)t+=r.cssText;return(e=>new o("string"==typeof e?e:e+"",void 0,i))(t)})(e):e,{is:c,defineProperty:l,getOwnPropertyDescriptor:h,getOwnPropertyNames:u,getOwnPropertySymbols:d,getPrototypeOf:f}=Object,b=globalThis,p=b.trustedTypes,v=p?p.emptyScript:"",m=b.reactiveElementPolyfillSupport,w=(e,t)=>e,y={toAttribute(e,t){switch(t){case Boolean:e=e?v:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=null!==e;break;case Number:r=null===e?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch(e){r=null}}return r}},g=(e,t)=>!c(e,t),_={attribute:!0,type:String,converter:y,reflect:!1,useDefault:!1,hasChanged:g};Symbol.metadata??=Symbol("metadata"),b.litPropertyMetadata??=new WeakMap;let $=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=_){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){const r=Symbol(),n=this.getPropertyDescriptor(e,r,t);void 0!==n&&l(this.prototype,e,n)}}static getPropertyDescriptor(e,t,r){const{get:n,set:i}=h(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:n,set(t){const s=n?.call(this);i?.call(this,t),this.requestUpdate(e,s,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??_}static _$Ei(){if(this.hasOwnProperty(w("elementProperties")))return;const e=f(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(w("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(w("properties"))){const e=this.properties,t=[...u(e),...d(e)];for(const r of t)this.createProperty(r,e[r])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,r]of t)this.elementProperties.set(e,r)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const r=this._$Eu(e,t);void 0!==r&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const r=new Set(e.flat(1/0).reverse());for(const e of r)t.unshift(a(e))}else void 0!==e&&t.push(a(e));return t}static _$Eu(e,t){const r=t.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const r of t.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((e,t)=>{if(n)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const n of t){const t=document.createElement("style"),i=r.litNonce;void 0!==i&&t.setAttribute("nonce",i),t.textContent=n.cssText,e.appendChild(t)}})(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,r){this._$AK(e,r)}_$ET(e,t){const r=this.constructor.elementProperties.get(e),n=this.constructor._$Eu(e,r);if(void 0!==n&&!0===r.reflect){const i=(void 0!==r.converter?.toAttribute?r.converter:y).toAttribute(t,r.type);this._$Em=e,null==i?this.removeAttribute(n):this.setAttribute(n,i),this._$Em=null}}_$AK(e,t){const r=this.constructor,n=r._$Eh.get(e);if(void 0!==n&&this._$Em!==n){const e=r.getPropertyOptions(n),i="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:y;this._$Em=n;const s=i.fromAttribute(t,e.type);this[n]=s??this._$Ej?.get(n)??s,this._$Em=null}}requestUpdate(e,t,r,n=!1,i){if(void 0!==e){const s=this.constructor;if(!1===n&&(i=this[e]),r??=s.getPropertyOptions(e),!((r.hasChanged??g)(i,t)||r.useDefault&&r.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(s._$Eu(e,r))))return;this.C(e,t,r)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:r,reflect:n,wrapped:i},s){r&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,s??t??this[e]),!0!==i||void 0!==s)||(this._$AL.has(e)||(this.hasUpdated||r||(t=void 0),this._$AL.set(e,t)),!0===n&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,r]of e){const{wrapped:e}=r,n=this[t];!0!==e||this._$AL.has(t)||void 0===n||this.C(t,void 0,r,n)}}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}};$.elementStyles=[],$.shadowRootOptions={mode:"open"},$[w("elementProperties")]=new Map,$[w("finalized")]=new Map,m?.({ReactiveElement:$}),(b.reactiveElementVersions??=[]).push("2.1.2");const A={attribute:!0,type:String,converter:y,reflect:!1,hasChanged:g},E=(e=A,t,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),"setter"===n&&((e=Object.create(e)).wrapped=!0),s.set(r.name,e),"accessor"===n){const{name:n}=r;return{set(r){const i=t.get.call(this);t.set.call(this,r),this.requestUpdate(n,i,e,!0,r)},init(t){return void 0!==t&&this.C(n,void 0,e,t),t}}}if("setter"===n){const{name:n}=r;return function(r){const i=this[n];t.call(this,r),this.requestUpdate(n,i,e,!0,r)}}throw Error("Unsupported decorator location: "+n)};function S(e){return(t,r)=>"object"==typeof r?E(e,t,r):((e,t,r)=>{const n=t.hasOwnProperty(r);return t.constructor.createProperty(r,e),n?Object.getOwnPropertyDescriptor(t,r):void 0})(e,t,r)}const x=globalThis,k=e=>e,T=x.trustedTypes,P=T?T.createPolicy("lit-html",{createHTML:e=>e}):void 0,C="$lit$",R=`lit$${Math.random().toFixed(9).slice(2)}$`,O="?"+R,U=`<${O}>`,L=document,B=()=>L.createComment(""),F=e=>null===e||"object"!=typeof e&&"function"!=typeof e,M=Array.isArray,D="[ \t\n\f\r]",q=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,N=/-->/g,G=/>/g,j=RegExp(`>|${D}(?:([^\\s"'>=/]+)(${D}*=${D}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),I=/'/g,z=/"/g,V=/^(?:script|style|textarea|title)$/i,H=(e,...t)=>({_$litType$:1,strings:e,values:t}),W=Symbol.for("lit-noChange"),X=Symbol.for("lit-nothing"),J=new WeakMap,K=L.createTreeWalker(L,129);function Y(e,t){if(!M(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==P?P.createHTML(t):t}const Q=(e,t)=>{const r=e.length-1,n=[];let i,s=2===t?"<svg>":3===t?"<math>":"",o=q;for(let t=0;t<r;t++){const r=e[t];let a,c,l=-1,h=0;for(;h<r.length&&(o.lastIndex=h,c=o.exec(r),null!==c);)h=o.lastIndex,o===q?"!--"===c[1]?o=N:void 0!==c[1]?o=G:void 0!==c[2]?(V.test(c[2])&&(i=RegExp("</"+c[2],"g")),o=j):void 0!==c[3]&&(o=j):o===j?">"===c[0]?(o=i??q,l=-1):void 0===c[1]?l=-2:(l=o.lastIndex-c[2].length,a=c[1],o=void 0===c[3]?j:'"'===c[3]?z:I):o===z||o===I?o=j:o===N||o===G?o=q:(o=j,i=void 0);const u=o===j&&e[t+1].startsWith("/>")?" ":"";s+=o===q?r+U:l>=0?(n.push(a),r.slice(0,l)+C+r.slice(l)+R+u):r+R+(-2===l?t:u)}return[Y(e,s+(e[r]||"<?>")+(2===t?"</svg>":3===t?"</math>":"")),n]};class Z{constructor({strings:e,_$litType$:t},r){let n;this.parts=[];let i=0,s=0;const o=e.length-1,a=this.parts,[c,l]=Q(e,t);if(this.el=Z.createElement(c,r),K.currentNode=this.el.content,2===t||3===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(n=K.nextNode())&&a.length<o;){if(1===n.nodeType){if(n.hasAttributes())for(const e of n.getAttributeNames())if(e.endsWith(C)){const t=l[s++],r=n.getAttribute(e).split(R),o=/([.?@])?(.*)/.exec(t);a.push({type:1,index:i,name:o[2],strings:r,ctor:"."===o[1]?ie:"?"===o[1]?se:"@"===o[1]?oe:ne}),n.removeAttribute(e)}else e.startsWith(R)&&(a.push({type:6,index:i}),n.removeAttribute(e));if(V.test(n.tagName)){const e=n.textContent.split(R),t=e.length-1;if(t>0){n.textContent=T?T.emptyScript:"";for(let r=0;r<t;r++)n.append(e[r],B()),K.nextNode(),a.push({type:2,index:++i});n.append(e[t],B())}}}else if(8===n.nodeType)if(n.data===O)a.push({type:2,index:i});else{let e=-1;for(;-1!==(e=n.data.indexOf(R,e+1));)a.push({type:7,index:i}),e+=R.length-1}i++}}static createElement(e,t){const r=L.createElement("template");return r.innerHTML=e,r}}function ee(e,t,r=e,n){if(t===W)return t;let i=void 0!==n?r._$Co?.[n]:r._$Cl;const s=F(t)?void 0:t._$litDirective$;return i?.constructor!==s&&(i?._$AO?.(!1),void 0===s?i=void 0:(i=new s(e),i._$AT(e,r,n)),void 0!==n?(r._$Co??=[])[n]=i:r._$Cl=i),void 0!==i&&(t=ee(e,i._$AS(e,t.values),i,n)),t}class te{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:t},parts:r}=this._$AD,n=(e?.creationScope??L).importNode(t,!0);K.currentNode=n;let i=K.nextNode(),s=0,o=0,a=r[0];for(;void 0!==a;){if(s===a.index){let t;2===a.type?t=new re(i,i.nextSibling,this,e):1===a.type?t=new a.ctor(i,a.name,a.strings,this,e):6===a.type&&(t=new ae(i,this,e)),this._$AV.push(t),a=r[++o]}s!==a?.index&&(i=K.nextNode(),s++)}return K.currentNode=L,n}p(e){let t=0;for(const r of this._$AV)void 0!==r&&(void 0!==r.strings?(r._$AI(e,r,t),t+=r.strings.length-2):r._$AI(e[t])),t++}}class re{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,r,n){this.type=2,this._$AH=X,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=r,this.options=n,this._$Cv=n?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode;const t=this._$AM;return void 0!==t&&11===e?.nodeType&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=ee(this,e,t),F(e)?e===X||null==e||""===e?(this._$AH!==X&&this._$AR(),this._$AH=X):e!==this._$AH&&e!==W&&this._(e):void 0!==e._$litType$?this.$(e):void 0!==e.nodeType?this.T(e):(e=>M(e)||"function"==typeof e?.[Symbol.iterator])(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==X&&F(this._$AH)?this._$AA.nextSibling.data=e:this.T(L.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:r}=e,n="number"==typeof r?this._$AC(e):(void 0===r.el&&(r.el=Z.createElement(Y(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===n)this._$AH.p(t);else{const e=new te(n,this),r=e.u(this.options);e.p(t),this.T(r),this._$AH=e}}_$AC(e){let t=J.get(e.strings);return void 0===t&&J.set(e.strings,t=new Z(e)),t}k(e){M(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let r,n=0;for(const i of e)n===t.length?t.push(r=new re(this.O(B()),this.O(B()),this,this.options)):r=t[n],r._$AI(i),n++;n<t.length&&(this._$AR(r&&r._$AB.nextSibling,n),t.length=n)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){const t=k(e).nextSibling;k(e).remove(),e=t}}setConnected(e){void 0===this._$AM&&(this._$Cv=e,this._$AP?.(e))}}class ne{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,r,n,i){this.type=1,this._$AH=X,this._$AN=void 0,this.element=e,this.name=t,this._$AM=n,this.options=i,r.length>2||""!==r[0]||""!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=X}_$AI(e,t=this,r,n){const i=this.strings;let s=!1;if(void 0===i)e=ee(this,e,t,0),s=!F(e)||e!==this._$AH&&e!==W,s&&(this._$AH=e);else{const n=e;let o,a;for(e=i[0],o=0;o<i.length-1;o++)a=ee(this,n[r+o],t,o),a===W&&(a=this._$AH[o]),s||=!F(a)||a!==this._$AH[o],a===X?e=X:e!==X&&(e+=(a??"")+i[o+1]),this._$AH[o]=a}s&&!n&&this.j(e)}j(e){e===X?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class ie extends ne{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===X?void 0:e}}class se extends ne{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==X)}}class oe extends ne{constructor(e,t,r,n,i){super(e,t,r,n,i),this.type=5}_$AI(e,t=this){if((e=ee(this,e,t,0)??X)===W)return;const r=this._$AH,n=e===X&&r!==X||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,i=e!==X&&(r===X||n);n&&this.element.removeEventListener(this.name,this,r),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}}class ae{constructor(e,t,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){ee(this,e)}}const ce=x.litHtmlPolyfillSupport;ce?.(Z,re),(x.litHtmlVersions??=[]).push("3.3.2");const le=globalThis;class he extends ${constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=((e,t,r)=>{const n=r?.renderBefore??t;let i=n._$litPart$;if(void 0===i){const e=r?.renderBefore??null;n._$litPart$=i=new re(t.insertBefore(B(),e),e,void 0,r??{})}return i._$AI(e),i})(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return W}}he._$litElement$=!0,he.finalized=!0,le.litElementHydrateSupport?.({LitElement:he});const ue=le.litElementPolyfillSupport;function de(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o}ue?.({LitElement:he}),(le.litElementVersions??=[]).push("4.2.2");let fe=null,be=!1;var pe=function(e){return e.JSON="json",e.LOT="lot",e.JPG="jpg",e.PNG="png",e.SVG="svg",e}({});const ve=e=>new Promise(t=>setTimeout(t,e));let me="idle";class we extends he{src;wasmUrl;fileType="json";speed=1;autoPlay=!1;count;loop=!1;direction=1;mode="normal";intermission=1;totalFrame=0;currentFrame=0;currentState="loading";get size(){return Float32Array.from(this.TVG?.size()||[0,0])}get dpr(){return!1===this.config?.enableDevicePixelRatio?1:1+.75*(window.devicePixelRatio-1)}TVG=null;canvas;config;_imageData;_beginTime=Date.now();_counter=1;_timer;_observer;_observable=!1;_assetResolverCallback;_assetResolverData;async _init(){if(be)for(;!fe;)await ve(100);if(fe||(be=!0,fe=await async function(e={}){var r,n=e,i=!!globalThis.window,s=!!globalThis.WorkerGlobalScope,o=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type;if(o){const{createRequire:e}=await Promise.resolve().then(function(){return _e});var a=e("undefined"==typeof document&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:"undefined"==typeof document?location.href:t&&"SCRIPT"===t.tagName.toUpperCase()&&t.src||new URL("lottie-player.js",document.baseURI).href)}var c,l,h=(e,t)=>{throw t},u="undefined"==typeof document&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:"undefined"==typeof document?location.href:t&&"SCRIPT"===t.tagName.toUpperCase()&&t.src||new URL("lottie-player.js",document.baseURI).href,d="";if(o){var f=a("fs");u.startsWith("file:")&&(d=a("path").dirname(a("url").fileURLToPath(u))+"/"),l=e=>(e=O(e)?new URL(e):e,f.readFileSync(e)),c=async e=>(e=O(e)?new URL(e):e,f.readFileSync(e,void 0)),process.argv.slice(2),h=(e,t)=>{throw process.exitCode=e,t}}else if(i||s){try{d=new URL(".",u).href}catch{}s&&(l=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),c=async e=>{if(O(e))return new Promise((t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r(n.status)},n.onerror=r,n.send(null)});var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw Error(t.status+" : "+t.url)}}var b,p,v,m,w,y,g,_,$,A,E,S,x,k,T,P=function(){}.bind(),C=function(){}.bind(),R=!1,O=e=>e.startsWith("file://"),U=!1;function L(){var e=Cr.buffer;w=new Int8Array(e),g=new Int16Array(e),y=new Uint8Array(e),_=new Uint16Array(e),$=new Int32Array(e),A=new Uint32Array(e),E=new Float32Array(e),S=new Float64Array(e),x=new BigInt64Array(e),k=new BigUint64Array(e)}function B(e){throw n.onAbort?.(e),C(e="Aborted("+e+")"),R=!0,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),m?.(e),e}class F{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var M=e=>{for(;0<e.length;)e.shift()(n)},D=[],q=[],N=()=>{var e=n.preRun.shift();q.push(e)},G=!0,j=new TextDecoder,I=(e,t,r,n)=>{if(r=t+r,n)return r;for(;e[t]&&!(t>=r);)++t;return t},z=(e,t,r)=>e?j.decode(y.subarray(e,I(y,e,t,r))):"",V=e=>{for(var t="";;){var r=y[e++];if(!r)return t;t+=String.fromCharCode(r)}},H={},W={},X={},J=class extends Error{constructor(e){super(e),this.name="BindingError"}},K=e=>{throw new J(e)};function Y(e,t,r={}){return function(e,t,r={}){var n=t.name;if(!e)throw new J(`type "${n}" must have a positive integer typeid pointer`);if(W.hasOwnProperty(e)){if(r.Ad)return;throw new J(`Cannot register type '${n}' twice`)}W[e]=t,delete X[e],H.hasOwnProperty(e)&&(t=H[e],delete H[e],t.forEach(e=>e()))}(e,t,r)}var Q=(e,t,r)=>{switch(t){case 1:return r?e=>w[e]:e=>y[e];case 2:return r?e=>g[e>>1]:e=>_[e>>1];case 4:return r?e=>$[e>>2]:e=>A[e>>2];case 8:return r?e=>x[e>>3]:e=>k[e>>3];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Z=e=>{throw new J(e.qb.xb.vb.name+" instance already deleted")},ee=!1,te=()=>{},re=e=>globalThis.FinalizationRegistry?(ee=new FinalizationRegistry(e=>{--(e=e.qb).count.value,0===e.count.value&&(e.Ab?e.Fb.Rb(e.Ab):e.xb.vb.Rb(e.ub))}),re=e=>{var t=e.qb;return t.Ab&&ee.register(e,{qb:t},e),e},te=e=>{ee.unregister(e)},re(e)):(re=e=>e,e);function ne(){}var ie=(e,t)=>Object.defineProperty(t,"name",{value:e}),se={},oe=(e,t,r)=>{if(void 0===e[t].zb){var n=e[t];e[t]=function(...n){if(!e[t].zb.hasOwnProperty(n.length))throw new J(`Function '${r}' called with an invalid number of arguments (${n.length}) - expects one of (${e[t].zb})!`);return e[t].zb[n.length].apply(this,n)},e[t].zb=[],e[t].zb[n.dc]=n}},ae=(e,t,r)=>{if(n.hasOwnProperty(e)){if(void 0===r||void 0!==n[e].zb&&void 0!==n[e].zb[r])throw new J(`Cannot register public name '${e}' twice`);if(oe(n,e,e),n[e].zb.hasOwnProperty(r))throw new J(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`);n[e].zb[r]=t}else n[e]=t,n[e].dc=r};function ce(e,t,r,n,i,s,o,a){this.name=e,this.constructor=t,this.Zb=r,this.Rb=n,this.Cb=i,this.wd=s,this.mc=o,this.sd=a,this.Hd=[]}var le=(e,t,r)=>{for(;t!==r;){if(!t.mc)throw new J(`Expected null or instance of ${r.name}, got an instance of ${t.name}`);e=t.mc(e),t=t.Cb}return e},he=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e};function ue(e,t){if(null===t){if(this.Bc)throw new J(`null is not a valid ${this.name}`);return 0}if(!t.qb)throw new J(`Cannot pass "${he(t)}" as a ${this.name}`);if(!t.qb.ub)throw new J(`Cannot pass deleted object as a pointer of type ${this.name}`);return le(t.qb.ub,t.qb.xb.vb,this.vb)}function de(e,t){if(null===t){if(this.Bc)throw new J(`null is not a valid ${this.name}`);if(this.rc){var r=this.Id();return null!==e&&e.push(this.Rb,r),r}return 0}if(!t||!t.qb)throw new J(`Cannot pass "${he(t)}" as a ${this.name}`);if(!t.qb.ub)throw new J(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.qc&&t.qb.xb.qc)throw new J(`Cannot convert argument of type ${t.qb.Fb?t.qb.Fb.name:t.qb.xb.name} to parameter type ${this.name}`);if(r=le(t.qb.ub,t.qb.xb.vb,this.vb),this.rc){if(void 0===t.qb.Ab)throw new J("Passing raw pointer to smart pointer is illegal");switch(this.Kd){case 0:if(t.qb.Fb!==this)throw new J(`Cannot convert argument of type ${t.qb.Fb?t.qb.Fb.name:t.qb.xb.name} to parameter type ${this.name}`);r=t.qb.Ab;break;case 1:r=t.qb.Ab;break;case 2:if(t.qb.Fb===this)r=t.qb.Ab;else{var n=t.clone();r=this.Jd(r,Ne(()=>n.delete())),null!==e&&e.push(this.Rb,r)}break;default:throw new J("Unsupporting sharing policy")}}return r}function fe(e,t){if(null===t){if(this.Bc)throw new J(`null is not a valid ${this.name}`);return 0}if(!t.qb)throw new J(`Cannot pass "${he(t)}" as a ${this.name}`);if(!t.qb.ub)throw new J(`Cannot pass deleted object as a pointer of type ${this.name}`);if(t.qb.xb.qc)throw new J(`Cannot convert argument of type ${t.qb.xb.name} to parameter type ${this.name}`);return le(t.qb.ub,t.qb.xb.vb,this.vb)}function be(e){return this.Bb(A[e>>2])}var pe=(e,t,r)=>t===r?e:void 0===r.Cb||null===(e=pe(e,t,r.Cb))?null:r.sd(e),ve={},me=class extends Error{constructor(e){super(e),this.name="InternalError"}},we=(e,t)=>{if(!t.xb||!t.ub)throw new me("makeClassHandle requires ptr and ptrType");if(!!t.Fb!=!!t.Ab)throw new me("Both smartPtrType and smartPtr must be specified");return t.count={value:1},re(Object.create(e,{qb:{value:t,writable:!0}}))};function ye(e,t,r,n,i,s,o,a,c,l,h){this.name=e,this.vb=t,this.Bc=r,this.qc=n,this.rc=i,this.Gd=s,this.Kd=o,this.$c=a,this.Id=c,this.Jd=l,this.Rb=h,i||void 0!==t.Cb?this.Gb=de:(this.Gb=n?ue:fe,this.Hb=null)}var ge=(e,t,r)=>{if(!n.hasOwnProperty(e))throw new me("Replacing nonexistent public symbol");void 0!==n[e].zb&&void 0!==r?n[e].zb[r]=t:(n[e]=t,n[e].dc=r)},$e=(e,t)=>{e=V(e);var r=Rr.get(t);if("function"!=typeof r)throw new J(`unknown function pointer with signature ${e}: ${t}`);return r};class Ae extends Error{}var Ee=e=>{e=Sr(e);var t=V(e);return Ar(e),t},Se=(e,t)=>{var r=[],n={};throw t.forEach(function e(t){n[t]||W[t]||(X[t]?X[t].forEach(e):(r.push(t),n[t]=!0))}),new Ae(`${e}: `+r.map(Ee).join([", "]))},xe=(e,t,r)=>{function n(t){if((t=r(t)).length!==e.length)throw new me("Mismatched type converter count");for(var n=0;n<e.length;++n)Y(e[n],t[n])}e.forEach(e=>X[e]=t);var i=Array(t.length),s=[],o=0;for(let[e,r]of t.entries())W.hasOwnProperty(r)?i[e]=W[r]:(s.push(r),H.hasOwnProperty(r)||(H[r]=[]),H[r].push(()=>{i[e]=W[r],++o===s.length&&n(i)}));0===s.length&&n(i)},ke=(e,t)=>{for(var r=[],n=0;n<e;n++)r.push(A[t+4*n>>2]);return r},Te=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Pe(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].Hb)return!0;return!1}function Ce(e,t,r,n,i,s){var o=t.length;if(2>o)throw new J("argTypes array size mismatch! Must at least get return value and 'this' types!");var a=null!==t[1]&&null!==r,c=Pe(t);r=!t[0].Wc;var l=t[0],h=t[1];for(n=[e,K,n,i,Te,l.Bb.bind(l),h?.Gb.bind(h)],i=2;i<o;++i)n.push((l=t[i]).Gb.bind(l));if(!c)for(i=a?1:2;i<t.length;++i)null!==t[i].Hb&&n.push(t[i].Hb);for(c=Pe(t),i=t.length-2,h=[],l=["fn"],a&&l.push("thisWired"),o=0;o<i;++o)h.push(`arg${o}`),l.push(`arg${o}Wired`);h=h.join(","),l=l.join(","),h=`return function (${h}) {\n`,c&&(h+="var destructors = [];\n");var u=c?"destructors":"null",d="humanName throwBindingError invoker fn runDestructors fromRetWire toClassParamWire".split(" ");for(a&&(h+=`var thisWired = toClassParamWire(${u}, this);\n`),o=0;o<i;++o){var f=`toArg${o}Wire`;h+=`var arg${o}Wired = ${f}(${u}, arg${o});\n`,d.push(f)}if(h+=(r||s?"var rv = ":"")+`invoker(${l});\n`,c)h+="runDestructors(destructors);\n";else for(o=a?1:2;o<t.length;++o)s=1===o?"thisWired":"arg"+(o-2)+"Wired",null!==t[o].Hb&&(h+=`${s}_dtor(${s});\n`,d.push(`${s}_dtor`));return r&&(h+="var ret = fromRetWire(rv);\nreturn ret;\n"),t=new Function(d,h+"}\n")(...n),ie(e,t)}var Re,Oe,Ue,Le,Be=e=>{const t=(e=e.trim()).indexOf("(");return-1===t?e:e.slice(0,t)},Fe=[],Me=[0,1,,1,null,1,!0,1,!1,1],De=e=>{9<e&&0===--Me[e+1]&&(Me[e]=void 0,Fe.push(e))},qe=e=>{if(!e)throw new J(`Cannot use deleted val. handle = ${e}`);return Me[e]},Ne=e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:const t=Fe.pop()||Me.length;return Me[t]=e,Me[t+1]=1,t}},Ge={name:"emscripten::val",Bb:e=>{var t=qe(e);return De(e),t},Gb:(e,t)=>Ne(t),Pb:be,Hb:null},je=(e,t)=>{switch(t){case 4:return function(e){return this.Bb(E[e>>2])};case 8:return function(e){return this.Bb(S[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Ie=(e,t,r,n)=>{if(!(0<n))return 0;var i=r;n=r+n-1;for(var s=0;s<e.length;++s){var o=e.codePointAt(s);if(127>=o){if(r>=n)break;t[r++]=o}else if(2047>=o){if(r+1>=n)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(65535>=o){if(r+2>=n)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=n)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o,s++}}return t[r]=0,r-i},ze=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);127>=n?t++:2047>=n?t+=2:55296<=n&&57343>=n?(t+=4,++r):t+=3}return t},Ve=new TextDecoder("utf-16le"),He=(e,t,r)=>Ve.decode(_.subarray(e>>=1,I(_,e,t/2,r))),We=(e,t,r)=>{if(r??=2147483647,2>r)return 0;var n=t;r=(r-=2)<2*e.length?r/2:e.length;for(var i=0;i<r;++i)g[t>>1]=e.charCodeAt(i),t+=2;return g[t>>1]=0,t-n},Xe=e=>2*e.length,Je=(e,t,r)=>{var n="";e>>=2;for(var i=0;!(i>=t/4);i++){var s=A[e+i];if(!s&&!r)break;n+=String.fromCodePoint(s)}return n},Ke=(e,t,r)=>{if(r??=2147483647,4>r)return 0;var n=t;r=n+r-4;for(var i=0;i<e.length;++i){var s=e.codePointAt(i);if(65535<s&&i++,$[t>>2]=s,(t+=4)+4>r)break}return $[t>>2]=0,t-n},Ye=e=>{for(var t=0,r=0;r<e.length;++r)65535<e.codePointAt(r)&&r++,t+=4;return t},Qe=0,Ze=[],et=(e,t,r)=>{var n=[];return e=e(n,r),n.length&&(A[t>>2]=Ne(n)),e},tt={},rt=e=>{var t=tt[e];return void 0===t?V(e):t},nt={},it=e=>{p=e,G||0<Qe||(n.onExit?.(e),R=!0),h(e,new F(e))},st=e=>{var t="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".split(" ");return(e.getSupportedExtensions()||[]).filter(e=>t.includes(e))},ot=1,at=[],ct=[],lt=[],ht=[],ut=[],dt=[],ft=[],bt=[],pt=[1,1,2,2,4,4,4,2,3,4,8],vt=e=>{for(var t=ot++,r=e.length;r<t;r++)e[r]=null;for(;e[t];)t=ot++;return t},mt=(e,t,r,n)=>{for(var i=0;i<e;i++){var s=Re[r](),o=s&&vt(n);s?(s.name=o,n[o]=s):Oe||=1282,$[t+4*i>>2]=o}},wt=["default","low-power","high-performance"],yt=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0],gt=(e,t)=>{for(var r=0,n=e.length-1;0<=n;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},_t=e=>{var t="/"===e.charAt(0),r="/"===e.slice(-1);return(e=gt(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},$t=e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],e||t?(t&&=t.slice(0,-1),e+t):"."},At=e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],Et=e=>{(Et=(()=>{if(o){var e=a("crypto");return t=>e.randomFillSync(t)}return e=>crypto.getRandomValues(e)})())(e)},St=(...e)=>{for(var t="",r=!1,n=e.length-1;-1<=n&&!r;n--){if("string"!=typeof(r=0<=n?e[n]:fr.cwd()))throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";t=r+"/"+t,r="/"===r.charAt(0)}return t=gt(t.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+t||"."},xt=(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;0<=r&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=St(e).slice(1),t=St(t).slice(1),e=r(e.split("/")),t=r(t.split("/"));for(var n=Math.min(e.length,t.length),i=n,s=0;s<n;s++)if(e[s]!==t[s]){i=s;break}for(n=[],s=i;s<e.length;s++)n.push("..");return(n=n.concat(t.slice(i))).join("/")},kt=e=>{var t=I(e,0);return j.decode(e.buffer?e.subarray(0,t):new Uint8Array(e.slice(0,t)))},Tt=[],Pt=e=>{var t=Array(ze(e)+1);return e=Ie(e,t,0,t.length),t.length=e,t},Ct=[];function Rt(e,t){Ct[e]={input:[],output:[],ac:t},zt(e,Ot)}var Ot={open(e){var t=Ct[e.node.rdev];if(!t)throw new fr.pb(43);e.tty=t,e.seekable=!1},close(e){e.tty.ac.fsync(e.tty)},fsync(e){e.tty.ac.fsync(e.tty)},read(e,t,r,n){if(!e.tty||!e.tty.ac.Tc)throw new fr.pb(60);for(var i=0,s=0;s<n;s++){try{var o=e.tty.ac.Tc(e.tty)}catch(e){throw new fr.pb(29)}if(void 0===o&&0===i)throw new fr.pb(6);if(null==o)break;i++,t[r+s]=o}return i&&(e.node.atime=Date.now()),i},write(e,t,r,n){if(!e.tty||!e.tty.ac.Gc)throw new fr.pb(60);try{for(var i=0;i<n;i++)e.tty.ac.Gc(e.tty,t[r+i])}catch(e){throw new fr.pb(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),i}},Ut={Tc(){e:{if(!Tt.length){var e=null;if(o){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=f.readSync(n,t,0,256)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}0<r&&(e=t.slice(0,r).toString("utf-8"))}else globalThis.window?.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n");if(!e){e=null;break e}Tt=Pt(e)}e=Tt.shift()}return e},Gc(e,t){null===t||10===t?(P(kt(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){0<e.output?.length&&(P(kt(e.output)),e.output=[])},ie:()=>({Td:25856,Vd:5,Sd:191,Ud:35387,Rd:[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]}),je:()=>0,ke:()=>[24,80]},Lt={Gc(e,t){null===t||10===t?(C(kt(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){0<e.output?.length&&(C(kt(e.output)),e.output=[])}},Bt={Mb:null,wb:()=>Bt.createNode(null,"/",16895,0),createNode(e,t,r,n){if(24576==(61440&r)||fr.isFIFO(r))throw new fr.pb(63);return Bt.Mb||(Bt.Mb={dir:{node:{Jb:Bt.rb.Jb,Lb:Bt.rb.Lb,lookup:Bt.rb.lookup,Nb:Bt.rb.Nb,rename:Bt.rb.rename,unlink:Bt.rb.unlink,rmdir:Bt.rb.rmdir,readdir:Bt.rb.readdir,symlink:Bt.rb.symlink},stream:{Db:Bt.sb.Db}},file:{node:{Jb:Bt.rb.Jb,Lb:Bt.rb.Lb},stream:{Db:Bt.sb.Db,read:Bt.sb.read,write:Bt.sb.write,$b:Bt.sb.$b,ic:Bt.sb.ic}},link:{node:{Jb:Bt.rb.Jb,Lb:Bt.rb.Lb,readlink:Bt.rb.readlink},stream:{}},Lc:{node:{Jb:Bt.rb.Jb,Lb:Bt.rb.Lb},stream:fr.pd}}),Vt((r=fr.createNode(e,t,r,n)).mode)?(r.rb=Bt.Mb.dir.node,r.sb=Bt.Mb.dir.stream,r.tb={}):fr.isFile(r.mode)?(r.rb=Bt.Mb.file.node,r.sb=Bt.Mb.file.stream,r.yb=0,r.tb=null):40960==(61440&r.mode)?(r.rb=Bt.Mb.link.node,r.sb=Bt.Mb.link.stream):8192==(61440&r.mode)&&(r.rb=Bt.Mb.Lc.node,r.sb=Bt.Mb.Lc.stream),r.atime=r.mtime=r.ctime=Date.now(),e&&(e.tb[t]=r,e.atime=e.mtime=e.ctime=r.atime),r},he:e=>e.tb?e.tb.subarray?e.tb.subarray(0,e.yb):new Uint8Array(e.tb):new Uint8Array(0),rb:{Jb(e){var t={};return t.dev=8192==(61440&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,t.size=Vt(e.mode)?4096:fr.isFile(e.mode)?e.yb:40960==(61440&e.mode)?e.link.length: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},Lb(e,t){for(var r of["mode","atime","mtime","ctime"])null!=t[r]&&(e[r]=t[r]);void 0!==t.size&&e.yb!=(t=t.size)&&(0==t?(e.tb=null,e.yb=0):(r=e.tb,e.tb=new Uint8Array(t),r&&e.tb.set(r.subarray(0,Math.min(t,e.yb))),e.yb=t))},lookup(){throw Bt.yc||(Bt.yc=new fr.pb(44),Bt.yc.stack="<generic error, no stack>"),Bt.yc},Nb:(e,t,r,n)=>Bt.createNode(e,t,r,n),rename(e,t,r){try{var n=Ht(t,r)}catch(e){}if(n){if(Vt(e.mode))for(var i in n.tb)throw new fr.pb(55);Wt(n)}delete e.parent.tb[e.name],t.tb[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.tb[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r,n=Ht(e,t);for(r in n.tb)throw new fr.pb(55);delete e.tb[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.tb)],symlink:(e,t,r)=>((e=Bt.createNode(e,t,41471,0)).link=r,e),readlink(e){if(40960!=(61440&e.mode))throw new fr.pb(28);return e.link}},sb:{read(e,t,r,n,i){var s=e.node.tb;if(i>=e.node.yb)return 0;if(8<(e=Math.min(e.node.yb-i,n))&&s.subarray)t.set(s.subarray(i,i+e),r);else for(n=0;n<e;n++)t[r+n]=s[i+n];return e},write(e,t,r,n,i,s){if(t.buffer===w.buffer&&(s=!1),!n)return 0;if((e=e.node).mtime=e.ctime=Date.now(),t.subarray&&(!e.tb||e.tb.subarray)){if(s)return e.tb=t.subarray(r,r+n),e.yb=n;if(0===e.yb&&0===i)return e.tb=t.slice(r,r+n),e.yb=n;if(i+n<=e.yb)return e.tb.set(t.subarray(r,r+n),i),n}var o=e.tb?e.tb.length:0;if(o>=(s=i+n)||(s=Math.max(s,o*(1048576>o?2:1.125)>>>0),0!=o&&(s=Math.max(s,256)),o=e.tb,e.tb=new Uint8Array(s),0<e.yb&&e.tb.set(o.subarray(0,e.yb),0)),e.tb.subarray&&t.subarray)e.tb.set(t.subarray(r,r+n),i);else for(s=0;s<n;s++)e.tb[i+s]=t[r+s];return e.yb=Math.max(e.yb,i+n),n},Db(e,t,r){if(1===r?t+=e.position:2===r&&fr.isFile(e.node.mode)&&(t+=e.node.yb),0>t)throw new fr.pb(28);return t},$b(e,t,r,n,i){if(!fr.isFile(e.node.mode))throw new fr.pb(43);if(e=e.node.tb,2&i||!e||e.buffer!==w.buffer){if(n=!0,B(),!(i=void 0))throw new fr.pb(48);e&&((0<r||r+t<e.length)&&(e=e.subarray?e.subarray(r,r+t):Array.prototype.slice.call(e,r,r+t)),w.set(e,i))}else n=!1,i=e.byteOffset;return{ub:i,Nd:n}},ic:(e,t,r,n)=>(Bt.sb.write(e,t,0,n,r,!1),0)}},Ft=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},Mt=0,Dt=null,qt=()=>{if(Mt--,n.monitorRunDependencies?.(Mt),0==Mt&&Dt){var e=Dt;Dt=null,e()}},Nt=()=>{Mt++,n.monitorRunDependencies?.(Mt)},Gt=[],jt=async(e,t,r,n,i,s,o,a)=>{var l=t?St(_t(e+"/"+t)):e;Nt();try{var h=r;"string"==typeof r&&(h=await(async e=>(e=await c(e),new Uint8Array(e)))(r)),h=await(async(e,t)=>{for(var r of("undefined"!=typeof Browser&&It(),Gt))if(r.canHandle(t))return r.handle(e,t);return e})(h,l),a?.(),s||Xt(e,t,h,n,i,o)}finally{qt()}};function It(){var e,t,r;fr.Ac=!0,e??=n.stdin,t??=n.stdout,r??=n.stderr,e?fr.Qb("/dev","stdin",e):fr.symlink("/dev/tty","/dev/stdin"),t?fr.Qb("/dev","stdout",null,t):fr.symlink("/dev/tty","/dev/stdout"),r?fr.Qb("/dev","stderr",null,r):fr.symlink("/dev/tty1","/dev/stderr"),fr.open("/dev/stdin",0),fr.open("/dev/stdout",1),fr.open("/dev/stderr",1)}function zt(e,t){fr.Pc[e]={sb:t}}function Vt(e){return 16384==(61440&e)}function Ht(e,t){var r=Vt(e.mode)?(r=er(e,"x"))?r:e.rb.lookup?0:2:54;if(r)throw new fr.pb(r);for(r=fr.Ob[Yt(e.id,t)];r;r=r.Wb)if(r.parent.id===e.id&&r.name===t)return r;return fr.lookup(e,t)}function Wt(e){var t=Yt(e.parent.id,e.name);if(fr.Ob[t]===e)fr.Ob[t]=e.Wb;else for(t=fr.Ob[t];t;){if(t.Wb===e){t.Wb=e.Wb;break}t=t.Wb}}function Xt(e,t,r,n,i,s){var o=t;if(e&&(e="string"==typeof e?e:Kt(e),o=t?_t(e+"/"+t):e),e=Ft(n,i),o=fr.create(o,e),r){if("string"==typeof r){for(t=Array(r.length),n=0,i=r.length;n<i;++n)t[n]=r.charCodeAt(n);r=t}fr.chmod(o,146|e),t=fr.open(o,577),fr.write(t,r,0,r.length,0,s),fr.close(t),fr.chmod(o,e)}}function Jt(e,t={}){if(!e)throw new fr.pb(44);t.pc??(t.pc=!0),"/"===e.charAt(0)||(e=fr.cwd()+"/"+e);var r=0;e:for(;40>r;r++){e=e.split("/").filter(e=>!!e);for(var n=fr.root,i="/",s=0;s<e.length;s++){var o=s===e.length-1;if(o&&t.parent)break;if("."!==e[s])if(".."===e[s]){if(i=$t(i),fr.Cc(n)){e=i+"/"+e.slice(s+1).join("/"),r--;continue e}n=n.parent}else{i=_t(i+"/"+e[s]);try{n=Ht(n,e[s])}catch(e){if(44===e?.Ub&&o&&t.Ed)return{path:i};throw e}if(!n.Kb||o&&!t.pc||(n=n.Kb.root),40960==(61440&n.mode)&&(!o||t.Ib)){if(!n.rb.readlink)throw new fr.pb(52);"/"===(n=n.rb.readlink(n)).charAt(0)||(n=$t(i)+"/"+n),e=n+"/"+e.slice(s+1).join("/");continue e}}}return{path:i,node:n}}throw new fr.pb(32)}function Kt(e){for(var t;;){if(fr.Cc(e))return e=e.wb.Yc,t?"/"!==e[e.length-1]?`${e}/${t}`:e+t:e;t=t?`${e.name}/${t}`:e.name,e=e.parent}}function Yt(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%fr.Ob.length}function Qt(e){var t=Yt(e.parent.id,e.name);e.Wb=fr.Ob[t],fr.Ob[t]=e}function Zt(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t}function er(e,t){return fr.Uc?0:!t.includes("r")||292&e.mode?t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0:2}function tr(e,t){if(!Vt(e.mode))return 54;try{return Ht(e,t),20}catch(e){}return er(e,"wx")}function rr(e,t,r){try{var n=Ht(e,t)}catch(e){return e.Ub}if(e=er(e,"wx"))return e;if(r){if(!Vt(n.mode))return 54;if(fr.Cc(n)||Kt(n)===fr.cwd())return 10}else if(Vt(n.mode))return 31;return 0}function nr(e,t){if(!e)throw new fr.pb(t);return e}function ir(e){if(!(e=fr.zd(e)))throw new fr.pb(8);return e}function sr(e,t=-1){if(e=Object.assign(new fr.md,e),-1==t)e:{for(t=0;t<=fr.od;t++)if(!fr.streams[t])break e;throw new fr.pb(33)}return e.fd=t,fr.streams[t]=e}function or(e,t,r){var n=e?.sb.Lb;e=n?e:t,n??=t.rb.Lb,nr(n,63),n(e,r)}function ar(e){var t=[];for(e=[e];e.length;){var r=e.pop();t.push(r),e.push(...r.hc)}return t}function cr(e){var t={Qd:4096,ee:4096,blocks:1e6,Pd:5e5,Od:5e5,files:fr.Fc,ce:fr.Fc-1,fe:42,flags:2,qe:255};return e.rb.cd&&Object.assign(t,e.rb.cd(e.wb.Fd.root)),t}function lr(e,t,r){return void 0===r&&(r=t,t=438),fr.Nb(e,8192|t,r)}function hr(e,t,r,n){or(e,t,{mode:4095&r|-4096&t.mode,ctime:Date.now(),Rc:n})}function ur(e,t,r){if(Vt(t.mode))throw new fr.pb(31);if(!fr.isFile(t.mode))throw new fr.pb(28);var n=er(t,"w");if(n)throw new fr.pb(n);or(e,t,{size:r,timestamp:Date.now()})}function dr(e){if(!(e.Cd||e.Dd||e.link||e.tb))if(globalThis.XMLHttpRequest)B("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.tb=l(e.url)}catch(e){throw new fr.pb(29)}}var fr={root:null,hc:[],Pc:{},streams:[],Fc:1,Ob:null,Mc:"/",Ac:!1,Uc:!0,vd:null,vc:0,ad:{},pb:class{name="ErrnoError";constructor(e){this.Ub=e}},md:class{Eb={};node=null;get object(){return this.node}set object(e){this.node=e}get flags(){return this.Eb.flags}set flags(e){this.Eb.flags=e}get position(){return this.Eb.position}set position(e){this.Eb.position=e}},ld:class{rb={};sb={};Kb=null;constructor(e,t,r,n){e||=this,this.parent=e,this.wb=e.wb,this.id=fr.Fc++,this.name=t,this.mode=r,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return!(365&~this.mode)}set read(e){e?this.mode|=365:this.mode&=-366}get write(){return!(146&~this.mode)}set write(e){e?this.mode|=146:this.mode&=-147}get Dd(){return Vt(this.mode)}get Cd(){return 8192==(61440&this.mode)}},createNode:(e,t,r,n)=>(Qt(e=new fr.ld(e,t,r,n)),e),Cc:e=>e===e.parent,isFile:e=>32768==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),od:4096,zd:e=>fr.streams[e],$d:(e,t=-1)=>(e=sr(e,t),e.sb?.Zd?.(e),e),pd:{open(e){e.sb=fr.xd(e.node.rdev).sb,e.sb.open?.(e)},Db(){throw new fr.pb(70)}},Dc:e=>e>>8,me:e=>255&e,Vb:(e,t)=>e<<8|t,xd:e=>fr.Pc[e],dd(e,t){function r(e){return fr.vc--,t(e)}function n(e){if(e){if(!n.td)return n.td=!0,r(e)}else++o>=s.length&&r(null)}"function"==typeof e&&(t=e,e=!1),fr.vc++,1<fr.vc&&C(`warning: ${fr.vc} FS.syncfs operations in flight at once, probably just doing extra work`);var i,s=ar(fr.root.wb),o=0;for(i of s)i.type.dd?i.type.dd(i,e,n):n(null)},wb(e,t,r){var n="/"===r;if(n&&fr.root)throw new fr.pb(10);if(!n&&r){var i=Jt(r,{pc:!1});if(r=i.path,(i=i.node).Kb)throw new fr.pb(10);if(!Vt(i.mode))throw new fr.pb(54)}return(e=e.wb(t={type:e,Fd:t,Yc:r,hc:[]})).wb=t,t.root=e,n?fr.root=e:i&&(i.Kb=t,i.wb&&i.wb.hc.push(t)),e},ze(e){if(!(e=Jt(e,{pc:!1})).node.Kb)throw new fr.pb(28);var t=(e=e.node).Kb,r=ar(t);for([,i]of Object.entries(fr.Ob))for(;i;){var n=i.Wb;r.includes(i.wb)&&Wt(i);var i=n}e.Kb=null,e.wb.hc.splice(e.wb.hc.indexOf(t),1)},lookup:(e,t)=>e.rb.lookup(e,t),Nb(e,t,r){var n=Jt(e,{parent:!0}).node;if(!(e=At(e)))throw new fr.pb(28);if("."===e||".."===e)throw new fr.pb(20);var i=tr(n,e);if(i)throw new fr.pb(i);if(!n.rb.Nb)throw new fr.pb(63);return n.rb.Nb(n,e,t,r)},cd:e=>cr(Jt(e,{Ib:!0}).node),xe:e=>cr(e.node),create:(e,t=438)=>fr.Nb(e,4095&t|32768,0),mkdir:(e,t=511)=>fr.Nb(e,1023&t|16384,0),oe(e,t){var r,n=e.split("/"),i="";for(r of n)if(r){(i||"/"===e.charAt(0))&&(i+="/"),i+=r;try{fr.mkdir(i,t)}catch(e){if(20!=e.Ub)throw e}}},symlink(e,t){if(!St(e))throw new fr.pb(44);var r=Jt(t,{parent:!0}).node;if(!r)throw new fr.pb(44);var n=tr(r,t=At(t));if(n)throw new fr.pb(n);if(!r.rb.symlink)throw new fr.pb(63);return r.rb.symlink(r,t,e)},rename(e,t){var r=$t(e),n=$t(t),i=At(e),s=At(t),o=Jt(e,{parent:!0}),a=o.node;if(o=(o=Jt(t,{parent:!0})).node,!a||!o)throw new fr.pb(44);if(a.wb!==o.wb)throw new fr.pb(75);var c=Ht(a,i);if("."!==(e=xt(e,n)).charAt(0))throw new fr.pb(28);if("."!==(e=xt(t,r)).charAt(0))throw new fr.pb(55);try{var l=Ht(o,s)}catch(e){}if(c!==l){if(i=rr(a,i,t=Vt(c.mode)))throw new fr.pb(i);if(i=l?rr(o,s,t):tr(o,s))throw new fr.pb(i);if(!a.rb.rename)throw new fr.pb(63);if(c.Kb||l&&l.Kb)throw new fr.pb(10);if(o!==a&&(i=er(a,"w")))throw new fr.pb(i);Wt(c);try{a.rb.rename(c,o,s),c.parent=o}catch(e){throw e}finally{Qt(c)}}},rmdir(e){var t=Jt(e,{parent:!0}).node,r=Ht(t,e=At(e)),n=rr(t,e,!0);if(n)throw new fr.pb(n);if(!t.rb.rmdir)throw new fr.pb(63);if(r.Kb)throw new fr.pb(10);t.rb.rmdir(t,e),Wt(r)},readdir:e=>nr((e=Jt(e,{Ib:!0}).node).rb.readdir,54)(e),unlink(e){var t=Jt(e,{parent:!0}).node;if(!t)throw new fr.pb(44);var r=Ht(t,e=At(e)),n=rr(t,e,!1);if(n)throw new fr.pb(n);if(!t.rb.unlink)throw new fr.pb(63);if(r.Kb)throw new fr.pb(10);t.rb.unlink(t,e),Wt(r)},readlink(e){if(!(e=Jt(e).node))throw new fr.pb(44);if(!e.rb.readlink)throw new fr.pb(28);return e.rb.readlink(e)},stat:(e,t)=>nr((e=Jt(e,{Ib:!t}).node).rb.Jb,63)(e),fstat(e){var t=ir(e);e=t.node;var r=t.sb.Jb;return t=r?t:e,r??=e.rb.Jb,nr(r,63),r(t)},lstat:e=>fr.stat(e,!0),chmod(e,t,r){hr(null,e="string"==typeof e?Jt(e,{Ib:!r}).node:e,t,r)},lchmod(e,t){fr.chmod(e,t,!0)},fchmod(e,t){hr(e=ir(e),e.node,t,!1)},chown(e,t,r,n){or(null,e="string"==typeof e?Jt(e,{Ib:!n}).node:e,{timestamp:Date.now(),Rc:n})},lchown(e,t,r){fr.chown(e,t,r,!0)},fchown(e){or(e=ir(e),e.node,{timestamp:Date.now(),Rc:!1})},truncate(e,t){if(0>t)throw new fr.pb(28);ur(null,e="string"==typeof e?Jt(e,{Ib:!0}).node:e,t)},ge(e,t){if(e=ir(e),0>t||!(2097155&e.flags))throw new fr.pb(28);ur(e,e.node,t)},Ae(e,t,r){nr((e=Jt(e,{Ib:!0}).node).rb.Lb,63)(e,{atime:t,mtime:r})},open(e,t,r=438){if(""===e)throw new fr.pb(44);if("string"==typeof t){var i={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(void 0===i)throw Error(`Unknown file open mode: ${t}`);t=i}if(r=64&t?4095&r|32768:0,"object"==typeof e)i=e;else{var s=e.endsWith("/");i=(e=Jt(e,{Ib:!(131072&t),Ed:!0})).node,e=e.path}var o=!1;if(64&t)if(i){if(128&t)throw new fr.pb(20)}else{if(s)throw new fr.pb(31);i=fr.Nb(e,511|r,0),o=!0}if(!i)throw new fr.pb(44);if(8192==(61440&i.mode)&&(t&=-513),65536&t&&!Vt(i.mode))throw new fr.pb(54);if(!o&&(s=i?40960==(61440&i.mode)?32:Vt(i.mode)&&("r"!==Zt(t)||576&t)?31:er(i,Zt(t)):44))throw new fr.pb(s);return 512&t&&!o&&fr.truncate(i,0),t&=-131713,(s=sr({node:i,path:Kt(i),flags:t,seekable:!0,position:0,sb:i.sb,Ld:[],error:!1})).sb.open&&s.sb.open(s),o&&fr.chmod(i,511&r),!n.logReadFiles||1&t||e in fr.ad||(fr.ad[e]=1),s},close(e){if(null===e.fd)throw new fr.pb(8);e.zc&&(e.zc=null);try{e.sb.close&&e.sb.close(e)}catch(e){throw e}finally{fr.streams[e.fd]=null}e.fd=null},Db(e,t,r){if(null===e.fd)throw new fr.pb(8);if(!e.seekable||!e.sb.Db)throw new fr.pb(70);if(0!=r&&1!=r&&2!=r)throw new fr.pb(28);return e.position=e.sb.Db(e,t,r),e.Ld=[],e.position},read(e,t,r,n,i){if(0>n||0>i)throw new fr.pb(28);if(null===e.fd)throw new fr.pb(8);if(1==(2097155&e.flags))throw new fr.pb(8);if(Vt(e.node.mode))throw new fr.pb(31);if(!e.sb.read)throw new fr.pb(28);var s=void 0!==i;if(s){if(!e.seekable)throw new fr.pb(70)}else i=e.position;return t=e.sb.read(e,t,r,n,i),s||(e.position+=t),t},write(e,t,r,n,i,s){if(0>n||0>i)throw new fr.pb(28);if(null===e.fd)throw new fr.pb(8);if(!(2097155&e.flags))throw new fr.pb(8);if(Vt(e.node.mode))throw new fr.pb(31);if(!e.sb.write)throw new fr.pb(28);e.seekable&&1024&e.flags&&fr.Db(e,0,2);var o=void 0!==i;if(o){if(!e.seekable)throw new fr.pb(70)}else i=e.position;return t=e.sb.write(e,t,r,n,i,s),o||(e.position+=t),t},$b(e,t,r,n,i){if(2&n&&!(2&i)&&2!=(2097155&e.flags))throw new fr.pb(2);if(1==(2097155&e.flags))throw new fr.pb(2);if(!e.sb.$b)throw new fr.pb(43);if(!t)throw new fr.pb(28);return e.sb.$b(e,t,r,n,i)},ic:(e,t,r,n,i)=>e.sb.ic?e.sb.ic(e,t,r,n,i):0,Vc(e,t,r){if(!e.sb.Vc)throw new fr.pb(59);return e.sb.Vc(e,t,r)},readFile(e,t={}){t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding&&B(`Invalid encoding type "${t.encoding}"`);var r=fr.open(e,t.flags);e=fr.stat(e).size;var n=new Uint8Array(e);return fr.read(r,n,0,e,0),"utf8"===t.encoding&&(n=kt(n)),fr.close(r),n},writeFile(e,t,r={}){r.flags=r.flags||577,e=fr.open(e,r.flags,r.mode),"string"==typeof t&&(t=new Uint8Array(Pt(t))),ArrayBuffer.isView(t)?fr.write(e,t,0,t.byteLength,void 0,r.Wd):B("Unsupported data type"),fr.close(e)},cwd:()=>fr.Mc,chdir(e){if(null===(e=Jt(e,{Ib:!0})).node)throw new fr.pb(44);if(!Vt(e.node.mode))throw new fr.pb(54);var t=er(e.node,"x");if(t)throw new fr.pb(t);fr.Mc=e.path},ue(){for(var e of(fr.Ac=!1,fr.streams))e&&fr.close(e)},de(e,t){try{var r=Jt(e,{Ib:!t});e=r.path}catch(e){}var n=!1,i=null;try{r=Jt(e,{parent:!0}),At(e),r=Jt(e,{Ib:!t}),n=!0,i=r.node}catch(e){}return n?i:null},Qb(e,t,r,n){var i;return e=((e,t)=>_t(e+"/"+t))("string"==typeof e?e:Kt(e),t),t=Ft(!!r,!!n),(i=fr.Qb).Dc??(i.Dc=64),zt(i=fr.Vb(fr.Qb.Dc++,0),{open(e){e.seekable=!1},close(){n?.buffer?.length&&n(10)},read(e,t,n,i){for(var s=0,o=0;o<i;o++){try{var a=r()}catch(e){throw new fr.pb(29)}if(void 0===a&&0===s)throw new fr.pb(6);if(null==a)break;s++,t[n+o]=a}return s&&(e.node.atime=Date.now()),s},write(e,t,r,i){for(var s=0;s<i;s++)try{n(t[r+s])}catch(e){throw new fr.pb(29)}return i&&(e.node.mtime=e.node.ctime=Date.now()),s}}),lr(e,t,i)}},br=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),pr=[],vr=e=>0==(e-=5120)?w:1==e?y:2==e?g:4==e?$:6==e?E:5==e||28922==e||28520==e||30779==e||30782==e?A:_,mr=e=>{var t=Re.rd;if(t){var r=t.lc[e];return"number"==typeof r&&(t.lc[e]=r=Re.getUniformLocation(t,t.hd[e]+(0<r?`[${r}]`:""))),r}Oe||=1282},wr=[],yr=[];(()=>{let e=ne.prototype;Object.assign(e,{isAliasOf:function(e){if(!(this instanceof ne&&e instanceof ne))return!1;var t=this.qb.xb.vb,r=this.qb.ub;e.qb=e.qb;var n=e.qb.xb.vb;for(e=e.qb.ub;t.Cb;)r=t.mc(r),t=t.Cb;for(;n.Cb;)e=n.mc(e),n=n.Cb;return t===n&&r===e},clone:function(){if(this.qb.ub||Z(this),this.qb.jc)return this.qb.count.value+=1,this;var e=re,t=Object,r=t.create,n=Object.getPrototypeOf(this),i=this.qb;return(e=e(r.call(t,n,{qb:{value:{count:i.count,fc:i.fc,jc:i.jc,ub:i.ub,xb:i.xb,Ab:i.Ab,Fb:i.Fb}}}))).qb.count.value+=1,e.qb.fc=!1,e},delete(){if(this.qb.ub||Z(this),this.qb.fc&&!this.qb.jc)throw new J("Object already scheduled for deletion");te(this);var e=this.qb;--e.count.value,0===e.count.value&&(e.Ab?e.Fb.Rb(e.Ab):e.xb.vb.Rb(e.ub)),this.qb.jc||(this.qb.Ab=void 0,this.qb.ub=void 0)},isDeleted:function(){return!this.qb.ub},deleteLater:function(){if(this.qb.ub||Z(this),this.qb.fc&&!this.qb.jc)throw new J("Object already scheduled for deletion");return this.qb.fc=!0,this}});const t=Symbol.dispose;t&&(e[t]=e.delete)})(),Object.assign(ye.prototype,{yd(e){return this.$c&&(e=this.$c(e)),e},Oc(e){this.Rb?.(e)},Pb:be,Bb:function(e){function t(){return we(this.vb.Zb,this.rc?{xb:this.Gd,ub:r,Fb:this,Ab:e}:{xb:this,ub:e})}var r=this.yd(e);if(!r)return this.Oc(e),null;var n=((e,t)=>{if(void 0===t)throw new J("pt