UNPKG

@thorvg/lottie-player

Version:

A web lottie player using ThorVG as a renderer

1 lines 124 kB
const e=globalThis,r=e.ShadowRoot&&(void 0===e.ShadyCSS||e.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,t=Symbol(),n=new WeakMap;let o=class{constructor(e,r,n){if(this._$cssResult$=!0,n!==t)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=r}get styleSheet(){let e=this.o;const t=this.t;if(r&&void 0===e){const r=void 0!==t&&1===t.length;r&&(e=n.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&n.set(t,e))}return e}toString(){return this.cssText}};const a=r?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let r="";for(const t of e.cssRules)r+=t.cssText;return(e=>new o("string"==typeof e?e:e+"",void 0,t))(r)})(e):e,{is:i,defineProperty:s,getOwnPropertyDescriptor:u,getOwnPropertyNames:c,getOwnPropertySymbols:l,getPrototypeOf:d}=Object,f=globalThis,m=f.trustedTypes,h=m?m.emptyScript:"",p=f.reactiveElementPolyfillSupport,g=(e,r)=>e,v={toAttribute(e,r){switch(r){case Boolean:e=e?h:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,r){let t=e;switch(r){case Boolean:t=null!==e;break;case Number:t=null===e?null:Number(e);break;case Object:case Array:try{t=JSON.parse(e)}catch(e){t=null}}return t}},y=(e,r)=>!i(e,r),w={attribute:!0,type:String,converter:v,reflect:!1,hasChanged:y};Symbol.metadata??=Symbol("metadata"),f.litPropertyMetadata??=new WeakMap;class b 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,r=w){if(r.state&&(r.attribute=!1),this._$Ei(),this.elementProperties.set(e,r),!r.noAccessor){const t=Symbol(),n=this.getPropertyDescriptor(e,t,r);void 0!==n&&s(this.prototype,e,n)}}static getPropertyDescriptor(e,r,t){const{get:n,set:o}=u(this.prototype,e)??{get(){return this[r]},set(e){this[r]=e}};return{get(){return n?.call(this)},set(r){const a=n?.call(this);o.call(this,r),this.requestUpdate(e,a,t)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??w}static _$Ei(){if(this.hasOwnProperty(g("elementProperties")))return;const e=d(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(g("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(g("properties"))){const e=this.properties,r=[...c(e),...l(e)];for(const t of r)this.createProperty(t,e[t])}const e=this[Symbol.metadata];if(null!==e){const r=litPropertyMetadata.get(e);if(void 0!==r)for(const[e,t]of r)this.elementProperties.set(e,t)}this._$Eh=new Map;for(const[e,r]of this.elementProperties){const t=this._$Eu(e,r);void 0!==t&&this._$Eh.set(t,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const r=[];if(Array.isArray(e)){const t=new Set(e.flat(1/0).reverse());for(const e of t)r.unshift(a(e))}else void 0!==e&&r.push(a(e));return r}static _$Eu(e,r){const t=r.attribute;return!1===t?void 0:"string"==typeof t?t:"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,r=this.constructor.elementProperties;for(const t of r.keys())this.hasOwnProperty(t)&&(e.set(t,this[t]),delete this[t]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((t,n)=>{if(r)t.adoptedStyleSheets=n.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(const r of n){const n=document.createElement("style"),o=e.litNonce;void 0!==o&&n.setAttribute("nonce",o),n.textContent=r.cssText,t.appendChild(n)}})(t,this.constructor.elementStyles),t}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,r,t){this._$AK(e,t)}_$EC(e,r){const t=this.constructor.elementProperties.get(e),n=this.constructor._$Eu(e,t);if(void 0!==n&&!0===t.reflect){const o=(void 0!==t.converter?.toAttribute?t.converter:v).toAttribute(r,t.type);this._$Em=e,null==o?this.removeAttribute(n):this.setAttribute(n,o),this._$Em=null}}_$AK(e,r){const t=this.constructor,n=t._$Eh.get(e);if(void 0!==n&&this._$Em!==n){const e=t.getPropertyOptions(n),o="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:v;this._$Em=n,this[n]=o.fromAttribute(r,e.type),this._$Em=null}}requestUpdate(e,r,t){if(void 0!==e){if(t??=this.constructor.getPropertyOptions(e),!(t.hasChanged??y)(this[e],r))return;this.P(e,r,t)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(e,r,t){this._$AL.has(e)||this._$AL.set(e,r),!0===t.reflect&&this._$Em!==e&&(this._$Ej??=new Set).add(e)}async _$ET(){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,r]of this._$Ep)this[e]=r;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[r,t]of e)!0!==t.wrapped||this._$AL.has(r)||void 0===this[r]||this.P(r,this[r],t)}let e=!1;const r=this._$AL;try{e=this.shouldUpdate(r),e?(this.willUpdate(r),this._$EO?.forEach((e=>e.hostUpdate?.())),this.update(r)):this._$EU()}catch(r){throw e=!1,this._$EU(),r}e&&this._$AE(r)}willUpdate(e){}_$AE(e){this._$EO?.forEach((e=>e.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&=this._$Ej.forEach((e=>this._$EC(e,this[e]))),this._$EU()}updated(e){}firstUpdated(e){}}b.elementStyles=[],b.shadowRootOptions={mode:"open"},b[g("elementProperties")]=new Map,b[g("finalized")]=new Map,p?.({ReactiveElement:b}),(f.reactiveElementVersions??=[]).push("2.0.4");const _=globalThis,x=_.trustedTypes,E=x?x.createPolicy("lit-html",{createHTML:e=>e}):void 0,S="$lit$",A=`lit$${Math.random().toFixed(9).slice(2)}$`,$="?"+A,P=`<${$}>`,C=document,T=()=>C.createComment(""),k=e=>null===e||"object"!=typeof e&&"function"!=typeof e,B=Array.isArray,F="[ \t\n\f\r]",D=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,L=/-->/g,O=/>/g,R=RegExp(`>|${F}(?:([^\\s"'>=/]+)(${F}*=${F}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),I=/'/g,M=/"/g,U=/^(?:script|style|textarea|title)$/i,V=(e,...r)=>({_$litType$:1,strings:e,values:r}),N=Symbol.for("lit-noChange"),z=Symbol.for("lit-nothing"),j=new WeakMap,G=C.createTreeWalker(C,129);function W(e,r){if(!B(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==E?E.createHTML(r):r}class H{constructor({strings:e,_$litType$:r},t){let n;this.parts=[];let o=0,a=0;const i=e.length-1,s=this.parts,[u,c]=((e,r)=>{const t=e.length-1,n=[];let o,a=2===r?"<svg>":3===r?"<math>":"",i=D;for(let r=0;r<t;r++){const t=e[r];let s,u,c=-1,l=0;for(;l<t.length&&(i.lastIndex=l,u=i.exec(t),null!==u);)l=i.lastIndex,i===D?"!--"===u[1]?i=L:void 0!==u[1]?i=O:void 0!==u[2]?(U.test(u[2])&&(o=RegExp("</"+u[2],"g")),i=R):void 0!==u[3]&&(i=R):i===R?">"===u[0]?(i=o??D,c=-1):void 0===u[1]?c=-2:(c=i.lastIndex-u[2].length,s=u[1],i=void 0===u[3]?R:'"'===u[3]?M:I):i===M||i===I?i=R:i===L||i===O?i=D:(i=R,o=void 0);const d=i===R&&e[r+1].startsWith("/>")?" ":"";a+=i===D?t+P:c>=0?(n.push(s),t.slice(0,c)+S+t.slice(c)+A+d):t+A+(-2===c?r:d)}return[W(e,a+(e[t]||"<?>")+(2===r?"</svg>":3===r?"</math>":"")),n]})(e,r);if(this.el=H.createElement(u,t),G.currentNode=this.el.content,2===r||3===r){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(n=G.nextNode())&&s.length<i;){if(1===n.nodeType){if(n.hasAttributes())for(const e of n.getAttributeNames())if(e.endsWith(S)){const r=c[a++],t=n.getAttribute(e).split(A),i=/([.?@])?(.*)/.exec(r);s.push({type:1,index:o,name:i[2],strings:t,ctor:"."===i[1]?J:"?"===i[1]?K:"@"===i[1]?Y:Z}),n.removeAttribute(e)}else e.startsWith(A)&&(s.push({type:6,index:o}),n.removeAttribute(e));if(U.test(n.tagName)){const e=n.textContent.split(A),r=e.length-1;if(r>0){n.textContent=x?x.emptyScript:"";for(let t=0;t<r;t++)n.append(e[t],T()),G.nextNode(),s.push({type:2,index:++o});n.append(e[r],T())}}}else if(8===n.nodeType)if(n.data===$)s.push({type:2,index:o});else{let e=-1;for(;-1!==(e=n.data.indexOf(A,e+1));)s.push({type:7,index:o}),e+=A.length-1}o++}}static createElement(e,r){const t=C.createElement("template");return t.innerHTML=e,t}}function q(e,r,t=e,n){if(r===N)return r;let o=void 0!==n?t.o?.[n]:t.l;const a=k(r)?void 0:r._$litDirective$;return o?.constructor!==a&&(o?._$AO?.(!1),void 0===a?o=void 0:(o=new a(e),o._$AT(e,t,n)),void 0!==n?(t.o??=[])[n]=o:t.l=o),void 0!==o&&(r=q(e,o._$AS(e,r.values),o,n)),r}class X{constructor(e,r){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=r}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:r},parts:t}=this._$AD,n=(e?.creationScope??C).importNode(r,!0);G.currentNode=n;let o=G.nextNode(),a=0,i=0,s=t[0];for(;void 0!==s;){if(a===s.index){let r;2===s.type?r=new Q(o,o.nextSibling,this,e):1===s.type?r=new s.ctor(o,s.name,s.strings,this,e):6===s.type&&(r=new ee(o,this,e)),this._$AV.push(r),s=t[++i]}a!==s?.index&&(o=G.nextNode(),a++)}return G.currentNode=C,n}p(e){let r=0;for(const t of this._$AV)void 0!==t&&(void 0!==t.strings?(t._$AI(e,t,r),r+=t.strings.length-2):t._$AI(e[r])),r++}}class Q{get _$AU(){return this._$AM?._$AU??this.v}constructor(e,r,t,n){this.type=2,this._$AH=z,this._$AN=void 0,this._$AA=e,this._$AB=r,this._$AM=t,this.options=n,this.v=n?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode;const r=this._$AM;return void 0!==r&&11===e?.nodeType&&(e=r.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,r=this){e=q(this,e,r),k(e)?e===z||null==e||""===e?(this._$AH!==z&&this._$AR(),this._$AH=z):e!==this._$AH&&e!==N&&this._(e):void 0!==e._$litType$?this.$(e):void 0!==e.nodeType?this.T(e):(e=>B(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!==z&&k(this._$AH)?this._$AA.nextSibling.data=e:this.T(C.createTextNode(e)),this._$AH=e}$(e){const{values:r,_$litType$:t}=e,n="number"==typeof t?this._$AC(e):(void 0===t.el&&(t.el=H.createElement(W(t.h,t.h[0]),this.options)),t);if(this._$AH?._$AD===n)this._$AH.p(r);else{const e=new X(n,this),t=e.u(this.options);e.p(r),this.T(t),this._$AH=e}}_$AC(e){let r=j.get(e.strings);return void 0===r&&j.set(e.strings,r=new H(e)),r}k(e){B(this._$AH)||(this._$AH=[],this._$AR());const r=this._$AH;let t,n=0;for(const o of e)n===r.length?r.push(t=new Q(this.O(T()),this.O(T()),this,this.options)):t=r[n],t._$AI(o),n++;n<r.length&&(this._$AR(t&&t._$AB.nextSibling,n),r.length=n)}_$AR(e=this._$AA.nextSibling,r){for(this._$AP?.(!1,!0,r);e&&e!==this._$AB;){const r=e.nextSibling;e.remove(),e=r}}setConnected(e){void 0===this._$AM&&(this.v=e,this._$AP?.(e))}}class Z{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,r,t,n,o){this.type=1,this._$AH=z,this._$AN=void 0,this.element=e,this.name=r,this._$AM=n,this.options=o,t.length>2||""!==t[0]||""!==t[1]?(this._$AH=Array(t.length-1).fill(new String),this.strings=t):this._$AH=z}_$AI(e,r=this,t,n){const o=this.strings;let a=!1;if(void 0===o)e=q(this,e,r,0),a=!k(e)||e!==this._$AH&&e!==N,a&&(this._$AH=e);else{const n=e;let i,s;for(e=o[0],i=0;i<o.length-1;i++)s=q(this,n[t+i],r,i),s===N&&(s=this._$AH[i]),a||=!k(s)||s!==this._$AH[i],s===z?e=z:e!==z&&(e+=(s??"")+o[i+1]),this._$AH[i]=s}a&&!n&&this.j(e)}j(e){e===z?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class J extends Z{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===z?void 0:e}}class K extends Z{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==z)}}class Y extends Z{constructor(e,r,t,n,o){super(e,r,t,n,o),this.type=5}_$AI(e,r=this){if((e=q(this,e,r,0)??z)===N)return;const t=this._$AH,n=e===z&&t!==z||e.capture!==t.capture||e.once!==t.once||e.passive!==t.passive,o=e!==z&&(t===z||n);n&&this.element.removeEventListener(this.name,this,t),o&&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 ee{constructor(e,r,t){this.element=e,this.type=6,this._$AN=void 0,this._$AM=r,this.options=t}get _$AU(){return this._$AM._$AU}_$AI(e){q(this,e)}}const re=_.litHtmlPolyfillSupport;re?.(H,Q),(_.litHtmlVersions??=[]).push("3.2.0");class te extends b{constructor(){super(...arguments),this.renderOptions={host:this},this.o=void 0}createRenderRoot(){const e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this.o=((e,r,t)=>{const n=t?.renderBefore??r;let o=n._$litPart$;if(void 0===o){const e=t?.renderBefore??null;n._$litPart$=o=new Q(r.insertBefore(T(),e),e,void 0,t??{})}return o._$AI(e),o})(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this.o?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this.o?.setConnected(!1)}render(){return N}}te._$litElement$=!0,te.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:te});const ne=globalThis.litElementPolyfillSupport;ne?.({LitElement:te}),(globalThis.litElementVersions??=[]).push("4.1.0");const oe={attribute:!0,type:String,converter:v,reflect:!1,hasChanged:y},ae=(e=oe,r,t)=>{const{kind:n,metadata:o}=t;let a=globalThis.litPropertyMetadata.get(o);if(void 0===a&&globalThis.litPropertyMetadata.set(o,a=new Map),a.set(t.name,e),"accessor"===n){const{name:n}=t;return{set(t){const o=r.get.call(this);r.set.call(this,t),this.requestUpdate(n,o,e)},init(r){return void 0!==r&&this.P(n,void 0,e),r}}}if("setter"===n){const{name:n}=t;return function(t){const o=this[n];r.call(this,t),this.requestUpdate(n,o,e)}}throw Error("Unsupported decorator location: "+n)};function ie(e){return(r,t)=>"object"==typeof t?ae(e,r,t):((e,r,t)=>{const n=r.hasOwnProperty(t);return r.constructor.createProperty(t,n?{...e,wrapped:!0}:e),n?Object.getOwnPropertyDescriptor(r,t):void 0})(e,r,t)}for(var se,ue=[],ce=0;ce<256;++ce)ue.push((ce+256).toString(16).slice(1));var le=new Uint8Array(16);function de(){if(!se&&!(se="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return se(le)}var fe={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function me(e,r,t){if(fe.randomUUID&&!r&&!e)return fe.randomUUID();var n=(e=e||{}).random||(e.rng||de)();return n[6]=15&n[6]|64,n[8]=63&n[8]|128,function(e,r=0){return(ue[e[r+0]]+ue[e[r+1]]+ue[e[r+2]]+ue[e[r+3]]+"-"+ue[e[r+4]]+ue[e[r+5]]+"-"+ue[e[r+6]]+ue[e[r+7]]+"-"+ue[e[r+8]]+ue[e[r+9]]+"-"+ue[e[r+10]]+ue[e[r+11]]+ue[e[r+12]]+ue[e[r+13]]+ue[e[r+14]]+ue[e[r+15]]).toLowerCase()}(n)}var he,pe=(he=import.meta.url,async function(e={}){var r,t,n=e,o=new Promise(((e,n)=>{r=e,t=n})),a="object"==typeof window,i="undefined"!=typeof WorkerGlobalScope,s="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&"renderer"!=process.type;if(s){const{createRequire:e}=await Promise.resolve().then((function(){return Be}));var u=e(import.meta.url)}var c,l,d={...n},f="./this.program",m=(e,r)=>{throw r},h="";if(s){var p=u("fs"),g=u("path");import.meta.url.startsWith("data:")||(h=g.dirname(u("url").fileURLToPath(import.meta.url))+"/"),l=e=>(e=D(e)?new URL(e):e,p.readFileSync(e)),c=async(e,r=!0)=>(e=D(e)?new URL(e):e,p.readFileSync(e,r?void 0:"utf8")),!n.thisProgram&&process.argv.length>1&&(f=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),m=(e,r)=>{throw process.exitCode=e,r}}else(a||i)&&(i?h=self.location.href:"undefined"!=typeof document&&document.currentScript&&(h=document.currentScript.src),he&&(h=he),h=h.startsWith("blob:")?"":h.slice(0,h.replace(/[?#].*/,"").lastIndexOf("/")+1),i&&(l=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),c=async e=>{if(D(e))return new Promise(((r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?r(n.response):t(n.status)},n.onerror=t,n.send(null)}));var r=await fetch(e,{credentials:"same-origin"});if(r.ok)return r.arrayBuffer();throw new Error(r.status+" : "+r.url)});var v=n.print||void 0,y=n.printErr||void 0;Object.assign(n,d),d=null,n.thisProgram&&(f=n.thisProgram);var w,b,_,x,E,S,A,$,P,C,T,k,B=n.wasmBinary,F=!1,D=e=>e.startsWith("file://");function L(){var e=w.buffer;n.HEAP8=_=new Int8Array(e),n.HEAP16=E=new Int16Array(e),n.HEAPU8=x=new Uint8Array(e),n.HEAPU16=S=new Uint16Array(e),n.HEAP32=A=new Int32Array(e),n.HEAPU32=$=new Uint32Array(e),n.HEAPF32=P=new Float32Array(e),n.HEAPF64=k=new Float64Array(e),n.HEAP64=C=new BigInt64Array(e),n.HEAPU64=T=new BigUint64Array(e)}var O,R=0,I=null;function M(e){R++,n.monitorRunDependencies?.(R)}function U(e){if(R--,n.monitorRunDependencies?.(R),0==R&&I){var r=I;I=null,r()}}function V(e){n.onAbort?.(e),y(e="Aborted("+e+")"),F=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw t(r),r}class N{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var z,j=e=>{for(;e.length>0;)e.shift()(n)},G=[],W=[],H=n.noExitRuntime||!0,q=e=>at(e),X=()=>st(),Q="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Z=(e,r=0,t=NaN)=>{for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&Q)return Q.decode(e.subarray(r,o));for(var a="";r<o;){var i=e[r++];if(128&i){var s=63&e[r++];if(192!=(224&i)){var u=63&e[r++];if((i=224==(240&i)?(15&i)<<12|s<<6|u:(7&i)<<18|s<<12|u<<6|63&e[r++])<65536)a+=String.fromCharCode(i);else{var c=i-65536;a+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a},J=(e,r)=>e?Z(x,e,r):"",K=()=>{var e=A[+ge.varargs>>2];return ge.varargs+=4,e},Y=K,ee={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=ee.isAbs(e),t="/"===e.slice(-1);return e=ee.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"),e||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=ee.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.slice(0,-1)),t+n):"."},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>ee.normalize(e.join("/")),join2:(e,r)=>ee.normalize(e+"/"+r)},re=e=>{(re=(()=>{if(s){var e=u("crypto");return r=>e.randomFillSync(r)}return e=>crypto.getRandomValues(e)})())(e)},te={resolve:(...e)=>{for(var r="",t=!1,n=e.length-1;n>=-1&&!t;n--){var o=n>=0?e[n]:pe.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";r=o+"/"+r,t=ee.isAbs(o)}return r=ee.normalizeArray(r.split("/").filter((e=>!!e)),!t).join("/"),(t?"/":"")+r||"."},relative:(e,r)=>{function t(e){for(var r=0;r<e.length&&""===e[r];r++);for(var t=e.length-1;t>=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=te.resolve(e).slice(1),r=te.resolve(r).slice(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s<a;s++)if(n[s]!==o[s]){i=s;break}var u=[];for(s=i;s<n.length;s++)u.push("..");return(u=u.concat(o.slice(i))).join("/")}},ne=[],oe=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r},ae=(e,r,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)break;r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-o},ie=(e,r,t)=>{var n=oe(e)+1,o=new Array(n),a=ae(e,o,0,o.length);return o.length=a,o},se={ttys:[],init(){},shutdown(){},register(e,r){se.ttys[e]={input:[],output:[],ops:r},pe.registerDevice(e,se.stream_ops)},stream_ops:{open(e){var r=se.ttys[e.node.rdev];if(!r)throw new pe.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new pe.ErrnoError(60);for(var a=0,i=0;i<n;i++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new pe.ErrnoError(29)}if(void 0===s&&0===a)throw new pe.ErrnoError(6);if(null==s)break;a++,r[t+i]=s}return a&&(e.node.atime=Date.now()),a},write(e,r,t,n,o){if(!e.tty||!e.tty.ops.put_char)throw new pe.ErrnoError(60);try{for(var a=0;a<n;a++)e.tty.ops.put_char(e.tty,r[t+a])}catch(e){throw new pe.ErrnoError(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),a}},default_tty_ops:{get_char:e=>(()=>{if(!ne.length){var e=null;if(s){var r=Buffer.alloc(256),t=0,n=process.stdin.fd;try{t=p.readSync(n,r,0,256)}catch(e){if(!e.toString().includes("EOF"))throw e;t=0}t>0&&(e=r.slice(0,t).toString("utf-8"))}else"undefined"!=typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n");if(!e)return null;ne=ie(e)}return ne.shift()})(),put_char(e,r){null===r||10===r?(v(Z(e.output)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output?.length>0&&(v(Z(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,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(y(Z(e.output)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output?.length>0&&(y(Z(e.output)),e.output=[])}}},ue=e=>{V()},ce={ops_table:null,mount:e=>ce.createNode(null,"/",16895,0),createNode(e,r,t,n){if(pe.isBlkdev(t)||pe.isFIFO(t))throw new pe.ErrnoError(63);ce.ops_table||={dir:{node:{getattr:ce.node_ops.getattr,setattr:ce.node_ops.setattr,lookup:ce.node_ops.lookup,mknod:ce.node_ops.mknod,rename:ce.node_ops.rename,unlink:ce.node_ops.unlink,rmdir:ce.node_ops.rmdir,readdir:ce.node_ops.readdir,symlink:ce.node_ops.symlink},stream:{llseek:ce.stream_ops.llseek}},file:{node:{getattr:ce.node_ops.getattr,setattr:ce.node_ops.setattr},stream:{llseek:ce.stream_ops.llseek,read:ce.stream_ops.read,write:ce.stream_ops.write,mmap:ce.stream_ops.mmap,msync:ce.stream_ops.msync}},link:{node:{getattr:ce.node_ops.getattr,setattr:ce.node_ops.setattr,readlink:ce.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ce.node_ops.getattr,setattr:ce.node_ops.setattr},stream:pe.chrdev_stream_ops}};var o=pe.createNode(e,r,t,n);return pe.isDir(o.mode)?(o.node_ops=ce.ops_table.dir.node,o.stream_ops=ce.ops_table.dir.stream,o.contents={}):pe.isFile(o.mode)?(o.node_ops=ce.ops_table.file.node,o.stream_ops=ce.ops_table.file.stream,o.usedBytes=0,o.contents=null):pe.isLink(o.mode)?(o.node_ops=ce.ops_table.link.node,o.stream_ops=ce.ops_table.link.stream):pe.isChrdev(o.mode)&&(o.node_ops=ce.ops_table.chrdev.node,o.stream_ops=ce.ops_table.chrdev.stream),o.atime=o.mtime=o.ctime=Date.now(),e&&(e.contents[r]=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,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=pe.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,r.size=pe.isDir(e.mode)?4096:pe.isFile(e.mode)?e.usedBytes:pe.isLink(e.mode)?e.link.length:0,r.atime=new Date(e.atime),r.mtime=new Date(e.mtime),r.ctime=new Date(e.ctime),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){for(const t of["mode","atime","mtime","ctime"])null!=r[t]&&(e[t]=r[t]);void 0!==r.size&&ce.resizeFileStorage(e,r.size)},lookup(e,r){throw ce.doesNotExistError},mknod:(e,r,t,n)=>ce.createNode(e,r,t,n),rename(e,r,t){var n;try{n=pe.lookupNode(r,t)}catch(e){}if(n){if(pe.isDir(e.mode))for(var o in n.contents)throw new pe.ErrnoError(55);pe.hashRemoveNode(n)}delete e.parent.contents[e.name],r.contents[t]=e,e.name=t,r.ctime=r.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,r){delete e.contents[r],e.ctime=e.mtime=Date.now()},rmdir(e,r){var t=pe.lookupNode(e,r);for(var n in t.contents)throw new pe.ErrnoError(55);delete e.contents[r],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.contents)],symlink(e,r,t){var n=ce.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!pe.isLink(e.mode))throw new pe.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s<i;s++)r[t+s]=a[o+s];return i},write(e,r,t,n,o,a){if(r.buffer===_.buffer&&(a=!1),!n)return 0;var i=e.node;if(i.mtime=i.ctime=Date.now(),r.subarray&&(!i.contents||i.contents.subarray)){if(a)return i.contents=r.subarray(t,t+n),i.usedBytes=n,n;if(0===i.usedBytes&&0===o)return i.contents=r.slice(t,t+n),i.usedBytes=n,n;if(o+n<=i.usedBytes)return i.contents.set(r.subarray(t,t+n),o),n}if(ce.expandFileStorage(i,o+n),i.contents.subarray&&r.subarray)i.contents.set(r.subarray(t,t+n),o);else for(var s=0;s<n;s++)i.contents[o+s]=r[t+s];return i.usedBytes=Math.max(i.usedBytes,o+n),n},llseek(e,r,t){var n=r;if(1===t?n+=e.position:2===t&&pe.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new pe.ErrnoError(28);return n},mmap(e,r,t,n,o){if(!pe.isFile(e.node.mode))throw new pe.ErrnoError(43);var a,i,s=e.node.contents;if(2&o||!s||s.buffer!==_.buffer){if(i=!0,!(a=ue()))throw new pe.ErrnoError(48);s&&((t>0||t+r<s.length)&&(s=s.subarray?s.subarray(t,t+r):Array.prototype.slice.call(s,t,t+r)),_.set(s,a))}else i=!1,a=s.byteOffset;return{ptr:a,allocated:i}},msync:(e,r,t,n,o)=>(ce.stream_ops.write(e,r,0,n,t,!1),0)}},le=(e,r,t,n,o,a)=>{pe.createDataFile(e,r,t,n,o,a)},de=n.preloadPlugins||[],fe=(e,r,t,n,o,a,i,s,u,l)=>{var d=r?te.resolve(ee.join2(e,r)):e;function f(t){function c(t){l?.(),s||le(e,r,t,n,o,u),a?.(),U()}((e,r,t,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return de.forEach((a=>{o||a.canHandle(r)&&(a.handle(e,r,t,n),o=!0)})),o})(t,d,c,(()=>{i?.(),U()}))||c(t)}M(),"string"==typeof t?(async e=>{var r=await c(e);return new Uint8Array(r)})(t).then(f,i):f(t)},me=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},pe={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,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.id=pe.nextInode++,this.name=r,this.mode=t,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 pe.isDir(this.mode)}get isDevice(){return pe.isChrdev(this.mode)}},lookupPath(e,r={}){if(!e)throw new pe.ErrnoError(44);r.follow_mount??=!0,ee.isAbs(e)||(e=pe.cwd()+"/"+e);e:for(var t=0;t<40;t++){for(var n=e.split("/").filter((e=>!!e)),o=pe.root,a="/",i=0;i<n.length;i++){var s=i===n.length-1;if(s&&r.parent)break;if("."!==n[i])if(".."!==n[i]){a=ee.join2(a,n[i]);try{o=pe.lookupNode(o,n[i])}catch(e){if(44===e?.errno&&s&&r.noent_okay)return{path:a};throw e}if(!pe.isMountpoint(o)||s&&!r.follow_mount||(o=o.mounted.root),pe.isLink(o.mode)&&(!s||r.follow)){if(!o.node_ops.readlink)throw new pe.ErrnoError(52);var u=o.node_ops.readlink(o);ee.isAbs(u)||(u=ee.dirname(a)+"/"+u),e=u+"/"+n.slice(i+1).join("/");continue e}}else a=ee.dirname(a),o=o.parent}return{path:a,node:o}}throw new pe.ErrnoError(32)},getPath(e){for(var r;;){if(pe.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n<r.length;n++)t=(t<<5)-t+r.charCodeAt(n)|0;return(e+t>>>0)%pe.nameTable.length},hashAddNode(e){var r=pe.hashName(e.parent.id,e.name);e.name_next=pe.nameTable[r],pe.nameTable[r]=e},hashRemoveNode(e){var r=pe.hashName(e.parent.id,e.name);if(pe.nameTable[r]===e)pe.nameTable[r]=e.name_next;else for(var t=pe.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=pe.mayLookup(e);if(t)throw new pe.ErrnoError(t);for(var n=pe.hashName(e.id,r),o=pe.nameTable[n];o;o=o.name_next)if(o.parent.id===e.id&&o.name===r)return o;return pe.lookup(e,r)},createNode(e,r,t,n){var o=new pe.FSNode(e,r,t,n);return pe.hashAddNode(o),o},destroyNode(e){pe.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 r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>pe.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup:e=>pe.isDir(e.mode)?pe.nodePermissions(e,"x")||(e.node_ops.lookup?0:2):54,mayCreate(e,r){if(!pe.isDir(e.mode))return 54;try{return pe.lookupNode(e,r),20}catch(e){}return pe.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=pe.lookupNode(e,r)}catch(e){return e.errno}var o=pe.nodePermissions(e,"wx");if(o)return o;if(t){if(!pe.isDir(n.mode))return 54;if(pe.isRoot(n)||pe.getPath(n)===pe.cwd())return 10}else if(pe.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?pe.isLink(e.mode)?32:pe.isDir(e.mode)&&("r"!==pe.flagsToPermissionString(r)||576&r)?31:pe.nodePermissions(e,pe.flagsToPermissionString(r)):44,checkOpExists(e,r){if(!e)throw new pe.ErrnoError(r);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=pe.MAX_OPEN_FDS;e++)if(!pe.streams[e])return e;throw new pe.ErrnoError(33)},getStreamChecked(e){var r=pe.getStream(e);if(!r)throw new pe.ErrnoError(8);return r},getStream:e=>pe.streams[e],createStream:(e,r=-1)=>(e=Object.assign(new pe.FSStream,e),-1==r&&(r=pe.nextfd()),e.fd=r,pe.streams[r]=e,e),closeStream(e){pe.streams[e]=null},dupStream(e,r=-1){var t=pe.createStream(e,r);return t.stream_ops?.dup?.(t),t},doSetAttr(e,r,t){var n=e?.stream_ops.setattr,o=n?e:r;n??=r.node_ops.setattr,pe.checkOpExists(n,63),n(o,t)},chrdev_stream_ops:{open(e){var r=pe.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new pe.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){pe.devices[e]={stream_ops:r}},getDevice:e=>pe.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push(...n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),pe.syncFSRequests++,pe.syncFSRequests>1&&y(`warning: ${pe.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=pe.getMounts(pe.root.mount),n=0;function o(e){return pe.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach((r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)}))},mount(e,r,t){var n,o="/"===t,a=!t;if(o&&pe.root)throw new pe.ErrnoError(10);if(!o&&!a){var i=pe.lookupPath(t,{follow_mount:!1});if(t=i.path,pe.isMountpoint(n=i.node))throw new pe.ErrnoError(10);if(!pe.isDir(n.mode))throw new pe.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return u.mount=s,s.root=u,o?pe.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount(e){var r=pe.lookupPath(e,{follow_mount:!1});if(!pe.isMountpoint(r.node))throw new pe.ErrnoError(28);var t=r.node,n=t.mounted,o=pe.getMounts(n);Object.keys(pe.nameTable).forEach((e=>{for(var r=pe.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&pe.destroyNode(r),r=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=pe.lookupPath(e,{parent:!0}).node,o=ee.basename(e);if(!o)throw new pe.ErrnoError(28);if("."===o||".."===o)throw new pe.ErrnoError(20);var a=pe.mayCreate(n,o);if(a)throw new pe.ErrnoError(a);if(!n.node_ops.mknod)throw new pe.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},statfs:e=>pe.statfsNode(pe.lookupPath(e,{follow:!0}).node),statfsStream:e=>pe.statfsNode(e.node),statfsNode(e){var r={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:pe.nextInode,ffree:pe.nextInode-1,fsid:42,flags:2,namelen:255};return e.node_ops.statfs&&Object.assign(r,e.node_ops.statfs(e.mount.opts.root)),r},create:(e,r=438)=>(r&=4095,pe.mknod(e,r|=32768,0)),mkdir:(e,r=511)=>(r&=1023,pe.mknod(e,r|=16384,0)),mkdirTree(e,r){var t=e.split("/"),n="";for(var o of t)if(o){(n||ee.isAbs(e))&&(n+="/"),n+=o;try{pe.mkdir(n,r)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,r,t)=>(void 0===t&&(t=r,r=438),pe.mknod(e,r|=8192,t)),symlink(e,r){if(!te.resolve(e))throw new pe.ErrnoError(44);var t=pe.lookupPath(r,{parent:!0}).node;if(!t)throw new pe.ErrnoError(44);var n=ee.basename(r),o=pe.mayCreate(t,n);if(o)throw new pe.ErrnoError(o);if(!t.node_ops.symlink)throw new pe.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,o=ee.dirname(e),a=ee.dirname(r),i=ee.basename(e),s=ee.basename(r);if(t=pe.lookupPath(e,{parent:!0}).node,n=pe.lookupPath(r,{parent:!0}).node,!t||!n)throw new pe.ErrnoError(44);if(t.mount!==n.mount)throw new pe.ErrnoError(75);var u,c=pe.lookupNode(t,i),l=te.relative(e,a);if("."!==l.charAt(0))throw new pe.ErrnoError(28);if("."!==(l=te.relative(r,o)).charAt(0))throw new pe.ErrnoError(55);try{u=pe.lookupNode(n,s)}catch(e){}if(c!==u){var d=pe.isDir(c.mode),f=pe.mayDelete(t,i,d);if(f)throw new pe.ErrnoError(f);if(f=u?pe.mayDelete(n,s,d):pe.mayCreate(n,s))throw new pe.ErrnoError(f);if(!t.node_ops.rename)throw new pe.ErrnoError(63);if(pe.isMountpoint(c)||u&&pe.isMountpoint(u))throw new pe.ErrnoError(10);if(n!==t&&(f=pe.nodePermissions(t,"w")))throw new pe.ErrnoError(f);pe.hashRemoveNode(c);try{t.node_ops.rename(c,n,s),c.parent=n}catch(e){throw e}finally{pe.hashAddNode(c)}}},rmdir(e){var r=pe.lookupPath(e,{parent:!0}).node,t=ee.basename(e),n=pe.lookupNode(r,t),o=pe.mayDelete(r,t,!0);if(o)throw new pe.ErrnoError(o);if(!r.node_ops.rmdir)throw new pe.ErrnoError(63);if(pe.isMountpoint(n))throw new pe.ErrnoError(10);r.node_ops.rmdir(r,t),pe.destroyNode(n)},readdir(e){var r=pe.lookupPath(e,{follow:!0}).node;return pe.checkOpExists(r.node_ops.readdir,54)(r)},unlink(e){var r=pe.lookupPath(e,{parent:!0}).node;if(!r)throw new pe.ErrnoError(44);var t=ee.basename(e),n=pe.lookupNode(r,t),o=pe.mayDelete(r,t,!1);if(o)throw new pe.ErrnoError(o);if(!r.node_ops.unlink)throw new pe.ErrnoError(63);if(pe.isMountpoint(n))throw new pe.ErrnoError(10);r.node_ops.unlink(r,t),pe.destroyNode(n)},readlink(e){var r=pe.lookupPath(e).node;if(!r)throw new pe.ErrnoError(44);if(!r.node_ops.readlink)throw new pe.ErrnoError(28);return r.node_ops.readlink(r)},stat(e,r){var t=pe.lookupPath(e,{follow:!r}).node;return pe.checkOpExists(t.node_ops.getattr,63)(t)},fstat(e){var r=pe.getStreamChecked(e),t=r.node,n=r.stream_ops.getattr,o=n?r:t;return n??=t.node_ops.getattr,pe.checkOpExists(n,63),n(o)},lstat:e=>pe.stat(e,!0),doChmod(e,r,t,n){pe.doSetAttr(e,r,{mode:4095&t|-4096&r.mode,ctime:Date.now(),dontFollow:n})},chmod(e,r,t){var n;n="string"==typeof e?pe.lookupPath(e,{follow:!t}).node:e,pe.doChmod(null,n,r,t)},lchmod(e,r){pe.chmod(e,r,!0)},fchmod(e,r){var t=pe.getStreamChecked(e);pe.doChmod(t,t.node,r,!1)},doChown(e,r,t){pe.doSetAttr(e,r,{timestamp:Date.now(),dontFollow:t})},chown(e,r,t,n){var o;o="string"==typeof e?pe.lookupPath(e,{follow:!n}).node:e,pe.doChown(null,o,n)},lchown(e,r,t){pe.chown(e,r,t,!0)},fchown(e,r,t){var n=pe.getStreamChecked(e);pe.doChown(n,n.node,!1)},doTruncate(e,r,t){if(pe.isDir(r.mode))throw new pe.ErrnoError(31);if(!pe.isFile(r.mode))throw new pe.ErrnoError(28);var n=pe.nodePermissions(r,"w");if(n)throw new pe.ErrnoError(n);pe.doSetAttr(e,r,{size:t,timestamp:Date.now()})},truncate(e,r){if(r<0)throw new pe.ErrnoError(28);var t;t="string"==typeof e?pe.lookupPath(e,{follow:!0}).node:e,pe.doTruncate(null,t,r)},ftruncate(e,r){var t=pe.getStreamChecked(e);if(r<0||!(2097155&t.flags))throw new pe.ErrnoError(28);pe.doTruncate(t,t.node,r)},utime(e,r,t){var n=pe.lookupPath(e,{follow:!0}).node;pe.checkOpExists(n.node_ops.setattr,63)(n,{atime:r,mtime:t})},open(e,r,t=438){if(""===e)throw new pe.ErrnoError(44);var o,a;if(t=64&(r="string"==typeof r?(e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r})(r):r)?4095&t|32768:0,"object"==typeof e)o=e;else{a=e.endsWith("/");var i=pe.lookupPath(e,{follow:!(131072&r),noent_okay:!0});o=i.node,e=i.path}var s=!1;if(64&r)if(o){if(128&r)throw new pe.ErrnoError(20)}else{if(a)throw new pe.ErrnoError(31);o=pe.mknod(e,511|t,0),s=!0}if(!o)throw new pe.ErrnoError(44);if(pe.isChrdev(o.mode)&&(r&=-513),65536&r&&!pe.isDir(o.mode))throw new pe.ErrnoError(54);if(!s){var u=pe.mayOpen(o,r);if(u)throw new pe.ErrnoError(u)}512&r&&!s&&pe.truncate(o,0),r&=-131713;var c=pe.createStream({node:o,path:pe.getPath(o),flags:r,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return c.stream_ops.open&&c.stream_ops.open(c),s&&pe.chmod(o,511&t),!n.logReadFiles||1&r||e in pe.readFiles||(pe.readFiles[e]=1),c},close(e){if(pe.isClosed(e))throw new pe.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{pe.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(pe.isClosed(e))throw new pe.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new pe.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new pe.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,o){if(n<0||o<0)throw new pe.ErrnoError(28);if(pe.isClosed(e))throw new pe.ErrnoError(8);if(1==(2097155&e.flags))throw new pe.ErrnoError(8);if(pe.isDir(e.node.mode))throw new pe.ErrnoError(31);if(!e.stream_ops.read)throw new pe.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new pe.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write(e,r,t,n,o,a){if(n<0||o<0)throw new pe.ErrnoError(28);if(pe.isClosed(e))throw new pe.ErrnoError(8);if(!(2097155&e.flags))throw new pe.ErrnoError(8);if(pe.isDir(e.node.mode))throw new pe.ErrnoError(31);if(!e.stream_ops.write)throw new pe.ErrnoError(28);e.seekable&&1024&e.flags&&pe.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new pe.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},mmap(e,r,t,n,o){if(2&n&&!(2&o)&&2!=(2097155&e.flags))throw new pe.ErrnoError(2);if(1==(2097155&e.flags))throw new pe.ErrnoError(2);if(!e.stream_ops.mmap)throw new pe.ErrnoError(43);if(!r)throw new pe.ErrnoError(28);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new pe.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,n=pe.open(e,r.flags),o=pe.stat(e).size,a=new Uint8Array(o);return pe.read(n,a,0,o,0),"utf8"===r.encoding?t=Z(a):"binary"===r.encoding&&(t=a),pe.close(n),t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=pe.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(oe(r)+1),a=ae(r,o,0,o.length);pe.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");pe.write(n,r,0,r.byteLength,void 0,t.canOwn)}pe.close(n)},cwd:()=>pe.currentPath,chdir(e){var r=pe.lookupPath(e,{follow:!0});if(null===r.node)throw new pe.ErrnoError(44);if(!pe.isDir(r.node.mode))throw new pe.ErrnoError(54);var t=pe.nodePermissions(r.node,"x");if(t)throw new pe.ErrnoError(t);pe.currentPath=r.path},createDefaultDirectories(){pe.mkdir("/tmp"),pe.mkdir("/home"),pe.mkdir("/home/web_user")},createDefaultDevices(){pe.mkdir("/dev"),pe.registerDevice(pe.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n,llseek:()=>0}),pe.mkdev("/dev/null",pe.makedev(1,3)),se.register(pe.makedev(5,0),se.default_tty_ops),se.register(pe.makedev(6,0),se.default_tty1_ops),pe.mkdev("/dev/tty",pe.makedev(5,0)),pe.mkdev("/dev/tty1",pe.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(re(e),r=e.byteLength),e[--r]);pe.createDevice("/dev","random",t),pe.createDevice("/dev","urandom",t),pe.mkdir("/dev/shm"),pe.mkdir("/dev/shm/tmp")},createSpecialDirectories(){pe.mkdir("/proc");var e=pe.mkdir("/proc/self");pe.mkdir("/proc/self/fd"),pe.mount({mount(){var r=pe.createNode(e,"fd",16895,73);return r.stream_ops={llseek:ce.stream_ops.llseek},r.node_ops={lookup(e,r){var t=+r,n=pe.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path},id:t+1};return o.parent=o,o},readdir:()=>Array.from(pe.streams.entries()).filter((([e,r])=>r)).map((([e,r])=>e.toString()))},r}},{},"/proc/self/fd")},createStandardStreams(e,r,t){e?pe.createDevice("/dev","stdin",e):pe.symlink("/dev/tty","/dev/stdin"),r?pe.createDevice("/dev","stdout",null,r):pe.symlink("/dev/tty","/dev/stdout"),t?pe.createDevice("/dev","stderr",null,t):pe.symlink("/dev/tty1","/dev/stderr"),pe.open("/dev/stdin",0),pe.open("/dev/stdout",1),pe.open("/dev/stderr",1)},staticInit(){pe.nameTable=new Array(4096),pe.mount(ce,{},"/"),pe.createDefaultDirectories(),pe.createDefaultDevices(),pe.createSpecialDirectories(),pe.filesystems={MEMFS:ce}},init(e,r,t){pe.initialized=!0,e??=n.stdin,r??=n.stdout,t??=n.stderr,pe.createStandardStreams(e,r,t)},quit(){for(var e of(pe.initialized=!1,pe.streams))e&&pe.close(e)},findObject(e,r){var t=pe.analyzePath(e,r);return t.exists?t.object:null},analyzePath(e,r){try{e=(n=pe.lookupPath(e,{follow:!r})).path}catch(e){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=pe.lookupPath(e,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=ee.basename(e),n=pe.lookupPath(e,{follow:!r}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(e){t.error=e.errno}return t},createPath(e,r,t,n){e="string"==typeof e?e:pe.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var i=ee.join2(e,a);try{pe.mkdir(i)}catch(e){if(20!=e.errno)throw e}e=i}}return i},createFile(e,r,t,n,o){var a=ee.join2("string"==typeof e?e:pe.getPath(e),r),i=me(n,o);return pe.create(a,i)},createDataFile(e,r,t,n,o,a){var i=r;e&&(e="string"==typeof e?e:pe.getPath(e),i=r?ee.join2(e,r):e);var s=me(n,o),u=pe.create(i,s);if(t){if("string"==typeof t){for(var c=new Array(t.length),l=0,d=t.length;l<d;++l)c[l]=t.charCodeAt(l);t=c}pe.chmod(u,146|s);var f=pe.open(u,577);pe.write(f,t,0,t.length,0,a),pe.close(f),pe.chmod(u,s)}},createDevice(e,r,t,n){var o=ee.join2("string"==typeof e?e:pe.getPath(e),r),a=me(!!t,!!n);pe.createDevice.major??=64;var i=pe.makedev(pe.createDevice.major++,0);return pe.registerDevice(i,{open(e){e.seekable=!1},close(e){n?.buffer?.length&&n(10)},read(e,r,n,o,a){for(var i=0,s=0;s<o;s++){var u;try{u=t()}catch(e){throw new pe.ErrnoError(29)}if(void 0===u&&0===i)throw new pe.ErrnoError(6);if(null==u)break;i++,r[n+s]=u}return i&&(e.node.atime=Date.now()),i},write(e,r,t,o,a){for(var i=0;i<o;i++)try{n(r[t+i])}catch(e){throw new pe.ErrnoError(29)}return o&&(e.node.mtime=e.node.ctime=Date.now()),i}}),pe.mkdev(o,a,i)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{e.contents=l(e.url),e.usedBytes=e.contents.length}catch(e){throw new pe.ErrnoError(29)}},createLazyFile(e,r,t,n,o){class a{lengthKnown=!1;chunks=[];get(e){if(!(e>this.length-1||e<0)){var r=e%this.chunkSize;return this.getter(e/this.chunkSize|0)[r]}}setDataGetter(e){this.getter=e}cacheLength(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+t+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),o=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,a=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,i=1048576;o||(i=n);var s=this;s.setDataGetter((e=>{var r=e*i,o=(e+1)*i-1;if(o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+e+"-"+r),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):ie(o.responseText||"")})(r,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!a&&n||(i=n=1,n=this.getter(0).length,i=n,v("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if("undefined"!=typeof XMLHttpRequest){if(!i)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s={isDevice:!1,contents:new a}}else s={isDevice:!1,url:t};var u=pe.createFile(e,r,s,n,o);s.contents?u.contents=s.contents:s.url&&(u.contents=null,u.url=s.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var c={};function l(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s<i;s++)r[t+s]=a[o+s];else for(s=0;s<i;s++)r[t+s]=a.get(o+s);return i}return Object.keys(u.stream_ops).forEach((e=>{var r=u.stream_ops[e];c[e]=(...e)=>(pe.forceLoadFile(u),r(...e))})),c.read=(e,r,t,n,o)=>(pe.forceLoadFile(u),l(e,r,t,n,o)),c.mmap=(e,r,t,n,o)=>{pe.forceLoadFile(u);var a=ue();if(!a)throw new pe.ErrnoError(48);return l(e,_,a,r,t),{ptr:a,allocated:!0}},u.stream_ops=c,u}},ge={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(ee.isAbs(r))return r;var n;if(n=-100===e?pe.cwd():ge.getStreamFromFD(e).path,0==r.length){if(!t)throw new pe.ErrnoError(44);return n}return n+"/"+r},writeStat(e,r){A[e>>2]=r.dev,A[e+4>>2]=r.mode,$[e+8>>2]=r.nlink,A[e+12>>2]=r.uid,A[e+16>>2]=r.gid,A[e+20>>2]=r.rdev,C[e+24>>3]=BigInt(r.size),A[e+32>>2]=4096,A[e+36>>2]=r.blocks;var t=r.atime.getTime(),n=r.mtime.getTime(),o=r.ctime.getTime();return C[e+40>>3]=BigInt(Math.floor(t/1e3)),$[e+48>>2]=t%1e3*1e3*1e3,C[e+56>>3]=BigInt(Math.floor(n/1e3)),$[e+64>>2]=n%1e3*1e3*1e3,C[e+72>>3]=BigInt(Math.floor(o/1e3)),$[e+80>>2]=o%1e3*1e3*1e3,C[e+88>>3]=BigInt(r.ino),0},writeStatFs(e,r){A[e+4>>2]=r.bsize,A[e+40>>2]=r.bsize,A[e+8>>2]=r.blocks,A[e+12>>2]=r.bfree,A[e+16>>2]=r.bavail,A[e+20>>2]=r.files,A[e+24>>2]=r.ffree,A[e+28>>2]=r.fsid,A[e+44>>2]=r.flags,A[e+36>>2]=r.namelen},doMsync(e,r,t,n,o){if(!pe.isFile(r.node.mode))throw new pe.ErrnoError(43);if(2&n)return 0;var a=x.slice(e,e+t);pe.msync(r,a,o,t,n)},getStreamFromFD:e=>pe.getStreamChecked(e),varargs:void 0,getStr:e=>J(e)},ve=e=>{if(null===e)return"null";var r=typeof e;return"object"===r||"array"===r||"function"===r?e.toString():""+e},ye=e=>{for(var r="",t=e;x[t];)r+=z[x[t++]];return r},we={},be={},_e={},xe=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},