UNPKG

@thorvg/lottie-player

Version:

A web lottie player using ThorVG as a renderer

1 lines 68.9 kB
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["lottie-player"]={})}(this,function(t){"use strict";var e="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,a=Symbol(),i=new WeakMap;let o=class{constructor(t,e,r){if(this._$cssResult$=!0,r!==a)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(n&&void 0===t){const r=void 0!==e&&1===e.length;r&&(t=i.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),r&&i.set(e,t))}return t}toString(){return this.cssText}};const s=n?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const r of t.cssRules)e+=r.cssText;return(t=>new o("string"==typeof t?t:t+"",void 0,a))(e)})(t):t,{is:h,defineProperty:l,getOwnPropertyDescriptor:c,getOwnPropertyNames:u,getOwnPropertySymbols:d,getPrototypeOf:f}=Object,p=globalThis,w=p.trustedTypes,m=w?w.emptyScript:"",v=p.reactiveElementPolyfillSupport,y=(t,e)=>t,g={toAttribute(t,e){switch(e){case Boolean:t=t?m:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let r=t;switch(e){case Boolean:r=null!==t;break;case Number:r=null===t?null:Number(t);break;case Object:case Array:try{r=JSON.parse(t)}catch(t){r=null}}return r}},b=(t,e)=>!h(t,e),$={attribute:!0,type:String,converter:g,reflect:!1,useDefault:!1,hasChanged:b};Symbol.metadata??=Symbol("metadata"),p.litPropertyMetadata??=new WeakMap;let _=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=$){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const r=Symbol(),n=this.getPropertyDescriptor(t,r,e);void 0!==n&&l(this.prototype,t,n)}}static getPropertyDescriptor(t,e,r){const{get:n,set:a}=c(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:n,set(e){const i=n?.call(this);a?.call(this,e),this.requestUpdate(t,i,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??$}static _$Ei(){if(this.hasOwnProperty(y("elementProperties")))return;const t=f(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(y("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(y("properties"))){const t=this.properties,e=[...u(t),...d(t)];for(const r of e)this.createProperty(r,t[r])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,r]of e)this.elementProperties.set(t,r)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const r=this._$Eu(t,e);void 0!==r&&this._$Eh.set(r,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const r=new Set(t.flat(1/0).reverse());for(const t of r)e.unshift(s(t))}else void 0!==t&&e.push(s(t));return e}static _$Eu(t,e){const r=e.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof t?t.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(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const r of e.keys())this.hasOwnProperty(r)&&(t.set(r,this[r]),delete this[r]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((t,e)=>{if(n)t.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const n of e){const e=document.createElement("style"),a=r.litNonce;void 0!==a&&e.setAttribute("nonce",a),e.textContent=n.cssText,t.appendChild(e)}})(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,r){this._$AK(t,r)}_$ET(t,e){const r=this.constructor.elementProperties.get(t),n=this.constructor._$Eu(t,r);if(void 0!==n&&!0===r.reflect){const a=(void 0!==r.converter?.toAttribute?r.converter:g).toAttribute(e,r.type);this._$Em=t,null==a?this.removeAttribute(n):this.setAttribute(n,a),this._$Em=null}}_$AK(t,e){const r=this.constructor,n=r._$Eh.get(t);if(void 0!==n&&this._$Em!==n){const t=r.getPropertyOptions(n),a="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:g;this._$Em=n;const i=a.fromAttribute(e,t.type);this[n]=i??this._$Ej?.get(n)??i,this._$Em=null}}requestUpdate(t,e,r,n=!1,a){if(void 0!==t){const i=this.constructor;if(!1===n&&(a=this[t]),r??=i.getPropertyOptions(t),!((r.hasChanged??b)(a,e)||r.useDefault&&r.reflect&&a===this._$Ej?.get(t)&&!this.hasAttribute(i._$Eu(t,r))))return;this.C(t,e,r)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:r,reflect:n,wrapped:a},i){r&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,i??e??this[t]),!0!==a||void 0!==i)||(this._$AL.has(t)||(this.hasUpdated||r||(e=void 0),this._$AL.set(t,e)),!0===n&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,r]of t){const{wrapped:t}=r,n=this[e];!0!==t||this._$AL.has(e)||void 0===n||this.C(e,void 0,r,n)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}};_.elementStyles=[],_.shadowRootOptions={mode:"open"},_[y("elementProperties")]=new Map,_[y("finalized")]=new Map,v?.({ReactiveElement:_}),(p.reactiveElementVersions??=[]).push("2.1.2");const A={attribute:!0,type:String,converter:g,reflect:!1,hasChanged:b},E=(t=A,e,r)=>{const{kind:n,metadata:a}=r;let i=globalThis.litPropertyMetadata.get(a);if(void 0===i&&globalThis.litPropertyMetadata.set(a,i=new Map),"setter"===n&&((t=Object.create(t)).wrapped=!0),i.set(r.name,t),"accessor"===n){const{name:n}=r;return{set(r){const a=e.get.call(this);e.set.call(this,r),this.requestUpdate(n,a,t,!0,r)},init(e){return void 0!==e&&this.C(n,void 0,t,e),e}}}if("setter"===n){const{name:n}=r;return function(r){const a=this[n];e.call(this,r),this.requestUpdate(n,a,t,!0,r)}}throw Error("Unsupported decorator location: "+n)};function k(t){return(e,r)=>"object"==typeof r?E(t,e,r):((t,e,r)=>{const n=e.hasOwnProperty(r);return e.constructor.createProperty(r,t),n?Object.getOwnPropertyDescriptor(e,r):void 0})(t,e,r)}const S=globalThis,C=t=>t,T=S.trustedTypes,R=T?T.createPolicy("lit-html",{createHTML:t=>t}):void 0,P="$lit$",O=`lit$${Math.random().toFixed(9).slice(2)}$`,U="?"+O,Z=`<${U}>`,x=document,j=()=>x.createComment(""),F=t=>null===t||"object"!=typeof t&&"function"!=typeof t,N=Array.isArray,D="[ \t\n\f\r]",M=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,z=/-->/g,H=/>/g,I=RegExp(`>|${D}(?:([^\\s"'>=/]+)(${D}*=${D}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),L=/'/g,V=/"/g,B=/^(?:script|style|textarea|title)$/i,G=(t,...e)=>({_$litType$:1,strings:t,values:e}),q=Symbol.for("lit-noChange"),W=Symbol.for("lit-nothing"),J=new WeakMap,X=x.createTreeWalker(x,129);function K(t,e){if(!N(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==R?R.createHTML(e):e}const Q=(t,e)=>{const r=t.length-1,n=[];let a,i=2===e?"<svg>":3===e?"<math>":"",o=M;for(let e=0;e<r;e++){const r=t[e];let s,h,l=-1,c=0;for(;c<r.length&&(o.lastIndex=c,h=o.exec(r),null!==h);)c=o.lastIndex,o===M?"!--"===h[1]?o=z:void 0!==h[1]?o=H:void 0!==h[2]?(B.test(h[2])&&(a=RegExp("</"+h[2],"g")),o=I):void 0!==h[3]&&(o=I):o===I?">"===h[0]?(o=a??M,l=-1):void 0===h[1]?l=-2:(l=o.lastIndex-h[2].length,s=h[1],o=void 0===h[3]?I:'"'===h[3]?V:L):o===V||o===L?o=I:o===z||o===H?o=M:(o=I,a=void 0);const u=o===I&&t[e+1].startsWith("/>")?" ":"";i+=o===M?r+Z:l>=0?(n.push(s),r.slice(0,l)+P+r.slice(l)+O+u):r+O+(-2===l?e:u)}return[K(t,i+(t[r]||"<?>")+(2===e?"</svg>":3===e?"</math>":"")),n]};class Y{constructor({strings:t,_$litType$:e},r){let n;this.parts=[];let a=0,i=0;const o=t.length-1,s=this.parts,[h,l]=Q(t,e);if(this.el=Y.createElement(h,r),X.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(n=X.nextNode())&&s.length<o;){if(1===n.nodeType){if(n.hasAttributes())for(const t of n.getAttributeNames())if(t.endsWith(P)){const e=l[i++],r=n.getAttribute(t).split(O),o=/([.?@])?(.*)/.exec(e);s.push({type:1,index:a,name:o[2],strings:r,ctor:"."===o[1]?at:"?"===o[1]?it:"@"===o[1]?ot:nt}),n.removeAttribute(t)}else t.startsWith(O)&&(s.push({type:6,index:a}),n.removeAttribute(t));if(B.test(n.tagName)){const t=n.textContent.split(O),e=t.length-1;if(e>0){n.textContent=T?T.emptyScript:"";for(let r=0;r<e;r++)n.append(t[r],j()),X.nextNode(),s.push({type:2,index:++a});n.append(t[e],j())}}}else if(8===n.nodeType)if(n.data===U)s.push({type:2,index:a});else{let t=-1;for(;-1!==(t=n.data.indexOf(O,t+1));)s.push({type:7,index:a}),t+=O.length-1}a++}}static createElement(t,e){const r=x.createElement("template");return r.innerHTML=t,r}}function tt(t,e,r=t,n){if(e===q)return e;let a=void 0!==n?r._$Co?.[n]:r._$Cl;const i=F(e)?void 0:e._$litDirective$;return a?.constructor!==i&&(a?._$AO?.(!1),void 0===i?a=void 0:(a=new i(t),a._$AT(t,r,n)),void 0!==n?(r._$Co??=[])[n]=a:r._$Cl=a),void 0!==a&&(e=tt(t,a._$AS(t,e.values),a,n)),e}class et{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:r}=this._$AD,n=(t?.creationScope??x).importNode(e,!0);X.currentNode=n;let a=X.nextNode(),i=0,o=0,s=r[0];for(;void 0!==s;){if(i===s.index){let e;2===s.type?e=new rt(a,a.nextSibling,this,t):1===s.type?e=new s.ctor(a,s.name,s.strings,this,t):6===s.type&&(e=new st(a,this,t)),this._$AV.push(e),s=r[++o]}i!==s?.index&&(a=X.nextNode(),i++)}return X.currentNode=x,n}p(t){let e=0;for(const r of this._$AV)void 0!==r&&(void 0!==r.strings?(r._$AI(t,r,e),e+=r.strings.length-2):r._$AI(t[e])),e++}}class rt{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,r,n){this.type=2,this._$AH=W,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,this.options=n,this._$Cv=n?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t?.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=tt(this,t,e),F(t)?t===W||null==t||""===t?(this._$AH!==W&&this._$AR(),this._$AH=W):t!==this._$AH&&t!==q&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):(t=>N(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==W&&F(this._$AH)?this._$AA.nextSibling.data=t:this.T(x.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:r}=t,n="number"==typeof r?this._$AC(t):(void 0===r.el&&(r.el=Y.createElement(K(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===n)this._$AH.p(e);else{const t=new et(n,this),r=t.u(this.options);t.p(e),this.T(r),this._$AH=t}}_$AC(t){let e=J.get(t.strings);return void 0===e&&J.set(t.strings,e=new Y(t)),e}k(t){N(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let r,n=0;for(const a of t)n===e.length?e.push(r=new rt(this.O(j()),this.O(j()),this,this.options)):r=e[n],r._$AI(a),n++;n<e.length&&(this._$AR(r&&r._$AB.nextSibling,n),e.length=n)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){const e=C(t).nextSibling;C(t).remove(),t=e}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class nt{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,r,n,a){this.type=1,this._$AH=W,this._$AN=void 0,this.element=t,this.name=e,this._$AM=n,this.options=a,r.length>2||""!==r[0]||""!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=W}_$AI(t,e=this,r,n){const a=this.strings;let i=!1;if(void 0===a)t=tt(this,t,e,0),i=!F(t)||t!==this._$AH&&t!==q,i&&(this._$AH=t);else{const n=t;let o,s;for(t=a[0],o=0;o<a.length-1;o++)s=tt(this,n[r+o],e,o),s===q&&(s=this._$AH[o]),i||=!F(s)||s!==this._$AH[o],s===W?t=W:t!==W&&(t+=(s??"")+a[o+1]),this._$AH[o]=s}i&&!n&&this.j(t)}j(t){t===W?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class at extends nt{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===W?void 0:t}}class it extends nt{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==W)}}class ot extends nt{constructor(t,e,r,n,a){super(t,e,r,n,a),this.type=5}_$AI(t,e=this){if((t=tt(this,t,e,0)??W)===q)return;const r=this._$AH,n=t===W&&r!==W||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,a=t!==W&&(r===W||n);n&&this.element.removeEventListener(this.name,this,r),a&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class st{constructor(t,e,r){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(t){tt(this,t)}}const ht=S.litHtmlPolyfillSupport;ht?.(Y,rt),(S.litHtmlVersions??=[]).push("3.3.2");const lt=globalThis;class ct extends _{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,e,r)=>{const n=r?.renderBefore??e;let a=n._$litPart$;if(void 0===a){const t=r?.renderBefore??null;n._$litPart$=a=new rt(e.insertBefore(j(),t),t,void 0,r??{})}return a._$AI(t),a})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return q}}ct._$litElement$=!0,ct.finalized=!0,lt.litElementHydrateSupport?.({LitElement:ct});const ut=lt.litElementPolyfillSupport;function dt(t,e,r,n){var a,i=arguments.length,o=i<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,n);else for(var s=t.length-1;s>=0;s--)(a=t[s])&&(o=(i<3?a(o):i>3?a(e,r,o):a(e,r))||o);return i>3&&o&&Object.defineProperty(e,r,o),o}ut?.({LitElement:ct}),(lt.litElementVersions??=[]).push("4.2.2");let ft=null,pt=!1;var wt=function(t){return t.JSON="json",t.LOT="lot",t.JPG="jpg",t.PNG="png",t.SVG="svg",t}({});const mt=t=>new Promise(e=>setTimeout(e,t));let vt="idle";class yt extends ct{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(pt)for(;!ft;)await mt(100);if(ft||(pt=!0,ft=await async function(t={}){var r,n=t,a=!!globalThis.window,i=!!globalThis.WorkerGlobalScope,o=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type;if(o){const{createRequire:t}=await Promise.resolve().then(function(){return $t});var s=t("undefined"==typeof document&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:"undefined"==typeof document?location.href:e&&"SCRIPT"===e.tagName.toUpperCase()&&e.src||new URL("lottie-player.js",document.baseURI).href)}var h,l,c=(t,e)=>{throw e},u="undefined"==typeof document&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:"undefined"==typeof document?location.href:e&&"SCRIPT"===e.tagName.toUpperCase()&&e.src||new URL("lottie-player.js",document.baseURI).href,d="";if(o){var f=s("fs");u.startsWith("file:")&&(d=s("path").dirname(s("url").fileURLToPath(u))+"/"),l=t=>(t=U(t)?new URL(t):t,f.readFileSync(t)),h=async t=>(t=U(t)?new URL(t):t,f.readFileSync(t,void 0)),process.argv.slice(2),c=(t,e)=>{throw process.exitCode=t,e}}else if(a||i){try{d=new URL(".",u).href}catch{}i&&(l=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),h=async t=>{if(U(t))return new Promise((e,r)=>{var n=new XMLHttpRequest;n.open("GET",t,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?e(n.response):r(n.status)},n.onerror=r,n.send(null)});var e=await fetch(t,{credentials:"same-origin"});if(e.ok)return e.arrayBuffer();throw Error(e.status+" : "+e.url)}}var p,w,m,v,y,g,b,$,_,A,E,k,S,C,T,R=function(){}.bind(),P=function(){}.bind(),O=!1,U=t=>t.startsWith("file://"),Z=!1;function x(){var t=rr.buffer;y=new Int8Array(t),b=new Int16Array(t),g=new Uint8Array(t),$=new Uint16Array(t),_=new Int32Array(t),A=new Uint32Array(t),E=new Float32Array(t),k=new Float64Array(t),S=new BigInt64Array(t),C=new BigUint64Array(t)}function j(t){throw n.onAbort?.(t),P(t="Aborted("+t+")"),O=!0,t=new WebAssembly.RuntimeError(t+". Build with -sASSERTIONS for more info."),v?.(t),t}class F{name="ExitStatus";constructor(t){this.message=`Program terminated with exit(${t})`,this.status=t}}var N=t=>{for(;0<t.length;)t.shift()(n)},D=[],M=[],z=()=>{var t=n.preRun.shift();M.push(t)},H=!0,I=new TextDecoder,L=(t,e,r,n)=>{if(r=e+r,n)return r;for(;t[e]&&!(e>=r);)++e;return e},V=(t,e,r)=>t?I.decode(g.subarray(t,L(g,t,e,r))):"",B=t=>{for(var e="";;){var r=g[t++];if(!r)return e;e+=String.fromCharCode(r)}},G={},q={},W={},J=class extends Error{constructor(t){super(t),this.name="BindingError"}},X=t=>{throw new J(t)};function K(t,e,r={}){return function(t,e,r={}){var n=e.name;if(!t)throw new J(`type "${n}" must have a positive integer typeid pointer`);if(q.hasOwnProperty(t)){if(r.Ib)return;throw new J(`Cannot register type '${n}' twice`)}q[t]=e,delete W[t],G.hasOwnProperty(t)&&(e=G[t],delete G[t],e.forEach(t=>t()))}(t,e,r)}var Q=(t,e,r)=>{switch(e){case 1:return r?t=>y[t]:t=>g[t];case 2:return r?t=>b[t>>1]:t=>$[t>>1];case 4:return r?t=>_[t>>2]:t=>A[t>>2];case 8:return r?t=>S[t>>3]:t=>C[t>>3];default:throw new TypeError(`invalid integer width (${e}): ${t}`)}},Y=t=>{throw new J(t.$.ha.ea.name+" instance already deleted")},tt=!1,et=()=>{},rt=t=>globalThis.FinalizationRegistry?(tt=new FinalizationRegistry(t=>{--(t=t.$).count.value,0===t.count.value&&(t.ka?t.oa.Ba(t.ka):t.ha.ea.Ba(t.fa))}),rt=t=>{var e=t.$;return e.ka&&tt.register(t,{$:e},t),t},et=t=>{tt.unregister(t)},rt(t)):(rt=t=>t,t);function nt(){}var at=(t,e)=>Object.defineProperty(e,"name",{value:t}),it={},ot=(t,e,r)=>{if(void 0===t[e].ja){var n=t[e];t[e]=function(...n){if(!t[e].ja.hasOwnProperty(n.length))throw new J(`Function '${r}' called with an invalid number of arguments (${n.length}) - expects one of (${t[e].ja})!`);return t[e].ja[n.length].apply(this,n)},t[e].ja=[],t[e].ja[n.Ja]=n}},st=(t,e,r)=>{if(n.hasOwnProperty(t)){if(void 0===r||void 0!==n[t].ja&&void 0!==n[t].ja[r])throw new J(`Cannot register public name '${t}' twice`);if(ot(n,t,t),n[t].ja.hasOwnProperty(r))throw new J(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`);n[t].ja[r]=e}else n[t]=e,n[t].Ja=r};function ht(t,e,r,n,a,i,o,s){this.name=t,this.constructor=e,this.Ga=r,this.Ba=n,this.ma=a,this.Eb=i,this.Oa=o,this.Ab=s,this.Ob=[]}var lt=(t,e,r)=>{for(;e!==r;){if(!e.Oa)throw new J(`Expected null or instance of ${r.name}, got an instance of ${e.name}`);t=e.Oa(t),e=e.ma}return t},ct=t=>{if(null===t)return"null";var e=typeof t;return"object"===e||"array"===e||"function"===e?t.toString():""+t};function ut(t,e){if(null===e){if(this.Ya)throw new J(`null is not a valid ${this.name}`);return 0}if(!e.$)throw new J(`Cannot pass "${ct(e)}" as a ${this.name}`);if(!e.$.fa)throw new J(`Cannot pass deleted object as a pointer of type ${this.name}`);return lt(e.$.fa,e.$.ha.ea,this.ea)}function dt(t,e){if(null===e){if(this.Ya)throw new J(`null is not a valid ${this.name}`);if(this.Ra){var r=this.Pb();return null!==t&&t.push(this.Ba,r),r}return 0}if(!e||!e.$)throw new J(`Cannot pass "${ct(e)}" as a ${this.name}`);if(!e.$.fa)throw new J(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.Qa&&e.$.ha.Qa)throw new J(`Cannot convert argument of type ${e.$.oa?e.$.oa.name:e.$.ha.name} to parameter type ${this.name}`);if(r=lt(e.$.fa,e.$.ha.ea,this.ea),this.Ra){if(void 0===e.$.ka)throw new J("Passing raw pointer to smart pointer is illegal");switch(this.Rb){case 0:if(e.$.oa!==this)throw new J(`Cannot convert argument of type ${e.$.oa?e.$.oa.name:e.$.ha.name} to parameter type ${this.name}`);r=e.$.ka;break;case 1:r=e.$.ka;break;case 2:if(e.$.oa===this)r=e.$.ka;else{var n=e.clone();r=this.Qb(r,Ft(()=>n.delete())),null!==t&&t.push(this.Ba,r)}break;default:throw new J("Unsupporting sharing policy")}}return r}function ft(t,e){if(null===e){if(this.Ya)throw new J(`null is not a valid ${this.name}`);return 0}if(!e.$)throw new J(`Cannot pass "${ct(e)}" as a ${this.name}`);if(!e.$.fa)throw new J(`Cannot pass deleted object as a pointer of type ${this.name}`);if(e.$.ha.Qa)throw new J(`Cannot convert argument of type ${e.$.ha.name} to parameter type ${this.name}`);return lt(e.$.fa,e.$.ha.ea,this.ea)}function pt(t){return this.la(A[t>>2])}var wt=(t,e,r)=>e===r?t:void 0===r.ma||null===(t=wt(t,e,r.ma))?null:r.Ab(t),mt={},vt=class extends Error{constructor(t){super(t),this.name="InternalError"}},yt=(t,e)=>{if(!e.ha||!e.fa)throw new vt("makeClassHandle requires ptr and ptrType");if(!!e.oa!=!!e.ka)throw new vt("Both smartPtrType and smartPtr must be specified");return e.count={value:1},rt(Object.create(t,{$:{value:e,writable:!0}}))};function gt(t,e,r,n,a,i,o,s,h,l,c){this.name=t,this.ea=e,this.Ya=r,this.Qa=n,this.Ra=a,this.Nb=i,this.Rb=o,this.rb=s,this.Pb=h,this.Qb=l,this.Ba=c,a||void 0!==e.ma?this.pa=dt:(this.pa=n?ut:ft,this.qa=null)}var bt=(t,e,r)=>{if(!n.hasOwnProperty(t))throw new vt("Replacing nonexistent public symbol");void 0!==n[t].ja&&void 0!==r?n[t].ja[r]=e:(n[t]=e,n[t].Ja=r)},_t=(t,e)=>{t=B(t);var r=nr.get(e);if("function"!=typeof r)throw new J(`unknown function pointer with signature ${t}: ${e}`);return r};class At extends Error{}var Et=t=>{t=Ke(t);var e=B(t);return Je(t),e},kt=(t,e)=>{var r=[],n={};throw e.forEach(function t(e){n[e]||q[e]||(W[e]?W[e].forEach(t):(r.push(e),n[e]=!0))}),new At(`${t}: `+r.map(Et).join([", "]))},St=(t,e,r)=>{function n(e){if((e=r(e)).length!==t.length)throw new vt("Mismatched type converter count");for(var n=0;n<t.length;++n)K(t[n],e[n])}t.forEach(t=>W[t]=e);var a=Array(e.length),i=[],o=0;for(let[t,r]of e.entries())q.hasOwnProperty(r)?a[t]=q[r]:(i.push(r),G.hasOwnProperty(r)||(G[r]=[]),G[r].push(()=>{a[t]=q[r],++o===i.length&&n(a)}));0===i.length&&n(a)},Ct=(t,e)=>{for(var r=[],n=0;n<t;n++)r.push(A[e+4*n>>2]);return r},Tt=t=>{for(;t.length;){var e=t.pop();t.pop()(e)}};function Rt(t){for(var e=1;e<t.length;++e)if(null!==t[e]&&void 0===t[e].qa)return!0;return!1}function Pt(t,e,r,n,a,i){var o=e.length;if(2>o)throw new J("argTypes array size mismatch! Must at least get return value and 'this' types!");var s=null!==e[1]&&null!==r,h=Rt(e);r=!e[0].pb;var l=e[0],c=e[1];for(n=[t,X,n,a,Tt,l.la.bind(l),c?.pa.bind(c)],a=2;a<o;++a)n.push((l=e[a]).pa.bind(l));if(!h)for(a=s?1:2;a<e.length;++a)null!==e[a].qa&&n.push(e[a].qa);for(h=Rt(e),a=e.length-2,c=[],l=["fn"],s&&l.push("thisWired"),o=0;o<a;++o)c.push(`arg${o}`),l.push(`arg${o}Wired`);c=c.join(","),l=l.join(","),c=`return function (${c}) {\n`,h&&(c+="var destructors = [];\n");var u=h?"destructors":"null",d="humanName throwBindingError invoker fn runDestructors fromRetWire toClassParamWire".split(" ");for(s&&(c+=`var thisWired = toClassParamWire(${u}, this);\n`),o=0;o<a;++o){var f=`toArg${o}Wire`;c+=`var arg${o}Wired = ${f}(${u}, arg${o});\n`,d.push(f)}if(c+=(r||i?"var rv = ":"")+`invoker(${l});\n`,h)c+="runDestructors(destructors);\n";else for(o=s?1:2;o<e.length;++o)i=1===o?"thisWired":"arg"+(o-2)+"Wired",null!==e[o].qa&&(c+=`${i}_dtor(${i});\n`,d.push(`${i}_dtor`));return r&&(c+="var ret = fromRetWire(rv);\nreturn ret;\n"),e=new Function(d,c+"}\n")(...n),at(t,e)}var Ot=t=>{const e=(t=t.trim()).indexOf("(");return-1===e?t:t.slice(0,e)},Ut=[],Zt=[0,1,,1,null,1,!0,1,!1,1],xt=t=>{9<t&&0===--Zt[t+1]&&(Zt[t]=void 0,Ut.push(t))},jt=t=>{if(!t)throw new J(`Cannot use deleted val. handle = ${t}`);return Zt[t]},Ft=t=>{switch(t){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:const e=Ut.pop()||Zt.length;return Zt[e]=t,Zt[e+1]=1,e}},Nt={name:"emscripten::val",la:t=>{var e=jt(t);return xt(t),e},pa:(t,e)=>Ft(e),za:pt,qa:null},Dt=(t,e)=>{switch(e){case 4:return function(t){return this.la(E[t>>2])};case 8:return function(t){return this.la(k[t>>3])};default:throw new TypeError(`invalid float width (${e}): ${t}`)}},Mt=(t,e,r,n)=>{if(!(0<n))return 0;var a=r;n=r+n-1;for(var i=0;i<t.length;++i){var o=t.codePointAt(i);if(127>=o){if(r>=n)break;e[r++]=o}else if(2047>=o){if(r+1>=n)break;e[r++]=192|o>>6,e[r++]=128|63&o}else if(65535>=o){if(r+2>=n)break;e[r++]=224|o>>12,e[r++]=128|o>>6&63,e[r++]=128|63&o}else{if(r+3>=n)break;e[r++]=240|o>>18,e[r++]=128|o>>12&63,e[r++]=128|o>>6&63,e[r++]=128|63&o,i++}}return e[r]=0,r-a},zt=t=>{for(var e=0,r=0;r<t.length;++r){var n=t.charCodeAt(r);127>=n?e++:2047>=n?e+=2:55296<=n&&57343>=n?(e+=4,++r):e+=3}return e},Ht=new TextDecoder("utf-16le"),It=(t,e,r)=>Ht.decode($.subarray(t>>=1,L($,t,e/2,r))),Lt=(t,e,r)=>{if(r??=2147483647,2>r)return 0;var n=e;r=(r-=2)<2*t.length?r/2:t.length;for(var a=0;a<r;++a)b[e>>1]=t.charCodeAt(a),e+=2;return b[e>>1]=0,e-n},Vt=t=>2*t.length,Bt=(t,e,r)=>{var n="";t>>=2;for(var a=0;!(a>=e/4);a++){var i=A[t+a];if(!i&&!r)break;n+=String.fromCodePoint(i)}return n},Gt=(t,e,r)=>{if(r??=2147483647,4>r)return 0;var n=e;r=n+r-4;for(var a=0;a<t.length;++a){var i=t.codePointAt(a);if(65535<i&&a++,_[e>>2]=i,(e+=4)+4>r)break}return _[e>>2]=0,e-n},qt=t=>{for(var e=0,r=0;r<t.length;++r)65535<t.codePointAt(r)&&r++,e+=4;return e},Wt=0,Jt=[],Xt=(t,e,r)=>{var n=[];return t=t(n,r),n.length&&(A[e>>2]=Ft(n)),t},Kt={},Qt=t=>{var e=Kt[t];return void 0===e?B(t):e},Yt={},te=t=>{w=t,H||0<Wt||(n.onExit?.(t),O=!0),c(t,new F(t))},ee=(t,e)=>{for(var r=0,n=t.length-1;0<=n;n--){var a=t[n];"."===a?t.splice(n,1):".."===a?(t.splice(n,1),r++):r&&(t.splice(n,1),r--)}if(e)for(;r;r--)t.unshift("..");return t},re=t=>{var e="/"===t.charAt(0),r="/"===t.slice(-1);return(t=ee(t.split("/").filter(t=>!!t),!e).join("/"))||e||(t="."),t&&r&&(t+="/"),(e?"/":"")+t},ne=t=>{var e=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(t).slice(1);return t=e[0],e=e[1],t||e?(e&&=e.slice(0,-1),t+e):"."},ae=t=>t&&t.match(/([^\/]+|\/)\/*$/)[1],ie=t=>{(ie=(()=>{if(o){var t=s("crypto");return e=>t.randomFillSync(e)}return t=>crypto.getRandomValues(t)})())(t)},oe=(...t)=>{for(var e="",r=!1,n=t.length-1;-1<=n&&!r;n--){if("string"!=typeof(r=0<=n?t[n]:We.cwd()))throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";e=r+"/"+e,r="/"===r.charAt(0)}return e=ee(e.split("/").filter(t=>!!t),!r).join("/"),(r?"/":"")+e||"."},se=(t,e)=>{function r(t){for(var e=0;e<t.length&&""===t[e];e++);for(var r=t.length-1;0<=r&&""===t[r];r--);return e>r?[]:t.slice(e,r-e+1)}t=oe(t).slice(1),e=oe(e).slice(1),t=r(t.split("/")),e=r(e.split("/"));for(var n=Math.min(t.length,e.length),a=n,i=0;i<n;i++)if(t[i]!==e[i]){a=i;break}for(n=[],i=a;i<t.length;i++)n.push("..");return(n=n.concat(e.slice(a))).join("/")},he=t=>{var e=L(t,0);return I.decode(t.buffer?t.subarray(0,e):new Uint8Array(t.slice(0,e)))},le=[],ce=t=>{var e=Array(zt(t)+1);return t=Mt(t,e,0,e.length),e.length=t,e},ue=[];function de(t,e){ue[t]={input:[],output:[],Ia:e},ke(t,fe)}var fe={open(t){var e=ue[t.node.rdev];if(!e)throw new We.Z(43);t.tty=e,t.seekable=!1},close(t){t.tty.Ia.fsync(t.tty)},fsync(t){t.tty.Ia.fsync(t.tty)},read(t,e,r,n){if(!t.tty||!t.tty.Ia.mb)throw new We.Z(60);for(var a=0,i=0;i<n;i++){try{var o=t.tty.Ia.mb(t.tty)}catch(t){throw new We.Z(29)}if(void 0===o&&0===a)throw new We.Z(6);if(null==o)break;a++,e[r+i]=o}return a&&(t.node.atime=Date.now()),a},write(t,e,r,n){if(!t.tty||!t.tty.Ia.bb)throw new We.Z(60);try{for(var a=0;a<n;a++)t.tty.Ia.bb(t.tty,e[r+a])}catch(t){throw new We.Z(29)}return n&&(t.node.mtime=t.node.ctime=Date.now()),a}},pe={mb(){t:{if(!le.length){var t=null;if(o){var e=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=f.readSync(n,e,0,256)}catch(t){if(!t.toString().includes("EOF"))throw t;r=0}0<r&&(t=e.slice(0,r).toString("utf-8"))}else globalThis.window?.prompt&&null!==(t=window.prompt("Input: "))&&(t+="\n");if(!t){t=null;break t}le=ce(t)}t=le.shift()}return t},bb(t,e){null===e||10===e?(R(he(t.output)),t.output=[]):0!=e&&t.output.push(e)},fsync(t){0<t.output?.length&&(R(he(t.output)),t.output=[])},mc:()=>({Zb:25856,ac:5,Yb:191,$b:35387,Xb:[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]}),nc:()=>0,oc:()=>[24,80]},we={bb(t,e){null===e||10===e?(P(he(t.output)),t.output=[]):0!=e&&t.output.push(e)},fsync(t){0<t.output?.length&&(P(he(t.output)),t.output=[])}},me={va:null,ga:()=>me.createNode(null,"/",16895,0),createNode(t,e,r,n){if(24576==(61440&r)||We.isFIFO(r))throw new We.Z(63);return me.va||(me.va={dir:{node:{sa:me.aa.sa,ua:me.aa.ua,lookup:me.aa.lookup,xa:me.aa.xa,rename:me.aa.rename,unlink:me.aa.unlink,rmdir:me.aa.rmdir,readdir:me.aa.readdir,symlink:me.aa.symlink},stream:{na:me.ba.na}},file:{node:{sa:me.aa.sa,ua:me.aa.ua},stream:{na:me.ba.na,read:me.ba.read,write:me.ba.write,Ha:me.ba.Ha,Ma:me.ba.Ma}},link:{node:{sa:me.aa.sa,ua:me.aa.ua,readlink:me.aa.readlink},stream:{}},fb:{node:{sa:me.aa.sa,ua:me.aa.ua},stream:We.yb}}),Se((r=We.createNode(t,e,r,n)).mode)?(r.aa=me.va.dir.node,r.ba=me.va.dir.stream,r.da={}):We.isFile(r.mode)?(r.aa=me.va.file.node,r.ba=me.va.file.stream,r.ia=0,r.da=null):40960==(61440&r.mode)?(r.aa=me.va.link.node,r.ba=me.va.link.stream):8192==(61440&r.mode)&&(r.aa=me.va.fb.node,r.ba=me.va.fb.stream),r.atime=r.mtime=r.ctime=Date.now(),t&&(t.da[e]=r,t.atime=t.mtime=t.ctime=r.atime),r},lc:t=>t.da?t.da.subarray?t.da.subarray(0,t.ia):new Uint8Array(t.da):new Uint8Array(0),aa:{sa(t){var e={};return e.dev=8192==(61440&t.mode)?t.id:1,e.ino=t.id,e.mode=t.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=t.rdev,e.size=Se(t.mode)?4096:We.isFile(t.mode)?t.ia:40960==(61440&t.mode)?t.link.length:0,e.atime=new Date(t.atime),e.mtime=new Date(t.mtime),e.ctime=new Date(t.ctime),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},ua(t,e){for(var r of["mode","atime","mtime","ctime"])null!=e[r]&&(t[r]=e[r]);void 0!==e.size&&t.ia!=(e=e.size)&&(0==e?(t.da=null,t.ia=0):(r=t.da,t.da=new Uint8Array(e),r&&t.da.set(r.subarray(0,Math.min(e,t.ia))),t.ia=e))},lookup(){throw me.Va||(me.Va=new We.Z(44),me.Va.stack="<generic error, no stack>"),me.Va},xa:(t,e,r,n)=>me.createNode(t,e,r,n),rename(t,e,r){try{var n=Ce(e,r)}catch(t){}if(n){if(Se(t.mode))for(var a in n.da)throw new We.Z(55);Te(n)}delete t.parent.da[t.name],e.da[r]=t,t.name=r,e.ctime=e.mtime=t.parent.ctime=t.parent.mtime=Date.now()},unlink(t,e){delete t.da[e],t.ctime=t.mtime=Date.now()},rmdir(t,e){var r,n=Ce(t,e);for(r in n.da)throw new We.Z(55);delete t.da[e],t.ctime=t.mtime=Date.now()},readdir:t=>[".","..",...Object.keys(t.da)],symlink:(t,e,r)=>((t=me.createNode(t,e,41471,0)).link=r,t),readlink(t){if(40960!=(61440&t.mode))throw new We.Z(28);return t.link}},ba:{read(t,e,r,n,a){var i=t.node.da;if(a>=t.node.ia)return 0;if(8<(t=Math.min(t.node.ia-a,n))&&i.subarray)e.set(i.subarray(a,a+t),r);else for(n=0;n<t;n++)e[r+n]=i[a+n];return t},write(t,e,r,n,a,i){if(e.buffer===y.buffer&&(i=!1),!n)return 0;if((t=t.node).mtime=t.ctime=Date.now(),e.subarray&&(!t.da||t.da.subarray)){if(i)return t.da=e.subarray(r,r+n),t.ia=n;if(0===t.ia&&0===a)return t.da=e.slice(r,r+n),t.ia=n;if(a+n<=t.ia)return t.da.set(e.subarray(r,r+n),a),n}var o=t.da?t.da.length:0;if(o>=(i=a+n)||(i=Math.max(i,o*(1048576>o?2:1.125)>>>0),0!=o&&(i=Math.max(i,256)),o=t.da,t.da=new Uint8Array(i),0<t.ia&&t.da.set(o.subarray(0,t.ia),0)),t.da.subarray&&e.subarray)t.da.set(e.subarray(r,r+n),a);else for(i=0;i<n;i++)t.da[a+i]=e[r+i];return t.ia=Math.max(t.ia,a+n),n},na(t,e,r){if(1===r?e+=t.position:2===r&&We.isFile(t.node.mode)&&(e+=t.node.ia),0>e)throw new We.Z(28);return e},Ha(t,e,r,n,a){if(!We.isFile(t.node.mode))throw new We.Z(43);if(t=t.node.da,2&a||!t||t.buffer!==y.buffer){if(n=!0,j(),!(a=void 0))throw new We.Z(48);t&&((0<r||r+e<t.length)&&(t=t.subarray?t.subarray(r,r+e):Array.prototype.slice.call(t,r,r+e)),y.set(t,a))}else n=!1,a=t.byteOffset;return{fa:a,Tb:n}},Ma:(t,e,r,n)=>(me.ba.write(t,e,0,n,r,!1),0)}},ve=(t,e)=>{var r=0;return t&&(r|=365),e&&(r|=146),r},ye=0,ge=null,be=()=>{if(ye--,n.monitorRunDependencies?.(ye),0==ye&&ge){var t=ge;ge=null,t()}},$e=()=>{ye++,n.monitorRunDependencies?.(ye)},_e=[],Ae=async(t,e,r,n,a,i,o,s)=>{var l=e?oe(re(t+"/"+e)):t;$e();try{var c=r;"string"==typeof r&&(c=await(async t=>(t=await h(t),new Uint8Array(t)))(r)),c=await(async(t,e)=>{for(var r of("undefined"!=typeof Browser&&Ee(),_e))if(r.canHandle(e))return r.handle(t,e);return t})(c,l),s?.(),i||Re(t,e,c,n,a,o)}finally{be()}};function Ee(){var t,e,r;We.Xa=!0,t??=n.stdin,e??=n.stdout,r??=n.stderr,t?We.Aa("/dev","stdin",t):We.symlink("/dev/tty","/dev/stdin"),e?We.Aa("/dev","stdout",null,e):We.symlink("/dev/tty","/dev/stdout"),r?We.Aa("/dev","stderr",null,r):We.symlink("/dev/tty1","/dev/stderr"),We.open("/dev/stdin",0),We.open("/dev/stdout",1),We.open("/dev/stderr",1)}function ke(t,e){We.jb[t]={ba:e}}function Se(t){return 16384==(61440&t)}function Ce(t,e){var r=Se(t.mode)?(r=je(t,"x"))?r:t.aa.lookup?0:2:54;if(r)throw new We.Z(r);for(r=We.ya[Ue(t.id,e)];r;r=r.Fa)if(r.parent.id===t.id&&r.name===e)return r;return We.lookup(t,e)}function Te(t){var e=Ue(t.parent.id,t.name);if(We.ya[e]===t)We.ya[e]=t.Fa;else for(e=We.ya[e];e;){if(e.Fa===t){e.Fa=t.Fa;break}e=e.Fa}}function Re(t,e,r,n,a,i){var o=e;if(t&&(t="string"==typeof t?t:Oe(t),o=e?re(t+"/"+e):t),t=ve(n,a),o=We.create(o,t),r){if("string"==typeof r){for(e=Array(r.length),n=0,a=r.length;n<a;++n)e[n]=r.charCodeAt(n);r=e}We.chmod(o,146|t),e=We.open(o,577),We.write(e,r,0,r.length,0,i),We.close(e),We.chmod(o,t)}}function Pe(t,e={}){if(!t)throw new We.Z(44);e.Pa??(e.Pa=!0),"/"===t.charAt(0)||(t=We.cwd()+"/"+t);var r=0;t:for(;40>r;r++){t=t.split("/").filter(t=>!!t);for(var n=We.root,a="/",i=0;i<t.length;i++){var o=i===t.length-1;if(o&&e.parent)break;if("."!==t[i])if(".."===t[i]){if(a=ne(a),We.Za(n)){t=a+"/"+t.slice(i+1).join("/"),r--;continue t}n=n.parent}else{a=re(a+"/"+t[i]);try{n=Ce(n,t[i])}catch(t){if(44===t?.Da&&o&&e.Lb)return{path:a};throw t}if(!n.ta||o&&!e.Pa||(n=n.ta.root),40960==(61440&n.mode)&&(!o||e.ra)){if(!n.aa.readlink)throw new We.Z(52);"/"===(n=n.aa.readlink(n)).charAt(0)||(n=ne(a)+"/"+n),t=n+"/"+t.slice(i+1).join("/");continue t}}}return{path:a,node:n}}throw new We.Z(32)}function Oe(t){for(var e;;){if(We.Za(t))return t=t.ga.qb,e?"/"!==t[t.length-1]?`${t}/${e}`:t+e:t;e=e?`${t.name}/${e}`:t.name,t=t.parent}}function Ue(t,e){for(var r=0,n=0;n<e.length;n++)r=(r<<5)-r+e.charCodeAt(n)|0;return(t+r>>>0)%We.ya.length}function Ze(t){var e=Ue(t.parent.id,t.name);t.Fa=We.ya[e],We.ya[e]=t}function xe(t){var e=["r","w","rw"][3&t];return 512&t&&(e+="w"),e}function je(t,e){return We.nb?0:!e.includes("r")||292&t.mode?e.includes("w")&&!(146&t.mode)||e.includes("x")&&!(73&t.mode)?2:0:2}function Fe(t,e){if(!Se(t.mode))return 54;try{return Ce(t,e),20}catch(t){}return je(t,"wx")}function Ne(t,e,r){try{var n=Ce(t,e)}catch(t){return t.Da}if(t=je(t,"wx"))return t;if(r){if(!Se(n.mode))return 54;if(We.Za(n)||Oe(n)===We.cwd())return 10}else if(Se(n.mode))return 31;return 0}function De(t,e){if(!t)throw new We.Z(e);return t}function Me(t){if(!(t=We.Hb(t)))throw new We.Z(8);return t}function ze(t,e=-1){if(t=Object.assign(new We.wb,t),-1==e)t:{for(e=0;e<=We.xb;e++)if(!We.streams[e])break t;throw new We.Z(33)}return t.fd=e,We.streams[e]=t}function He(t,e,r){var n=t?.ba.ua;t=n?t:e,n??=e.aa.ua,De(n,63),n(t,r)}function Ie(t){var e=[];for(t=[t];t.length;){var r=t.pop();e.push(r),t.push(...r.La)}return e}function Le(t){var e={Wb:4096,ic:4096,blocks:1e6,Vb:5e5,Ub:5e5,files:We.ab,fc:We.ab-1,jc:42,flags:2,rc:255};return t.aa.tb&&Object.assign(e,t.aa.tb(t.ga.Mb.root)),e}function Ve(t,e,r){return void 0===r&&(r=e,e=438),We.xa(t,8192|e,r)}function Be(t,e,r,n){He(t,e,{mode:4095&r|-4096&e.mode,ctime:Date.now(),kb:n})}function Ge(t,e,r){if(Se(e.mode))throw new We.Z(31);if(!We.isFile(e.mode))throw new We.Z(28);var n=je(e,"w");if(n)throw new We.Z(n);He(t,e,{size:r,timestamp:Date.now()})}function qe(t){if(!(t.Jb||t.Kb||t.link||t.da))if(globalThis.XMLHttpRequest)j("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{t.da=l(t.url)}catch(t){throw new We.Z(29)}}var We={root:null,La:[],jb:{},streams:[],ab:1,ya:null,gb:"/",Xa:!1,nb:!0,Db:null,Sa:0,sb:{},Z:class{name="ErrnoError";constructor(t){this.Da=t}},wb:class{wa={};node=null;get object(){return this.node}set object(t){this.node=t}get flags(){return this.wa.flags}set flags(t){this.wa.flags=t}get position(){return this.wa.position}set position(t){this.wa.position=t}},vb:class{aa={};ba={};ta=null;constructor(t,e,r,n){t||=this,this.parent=t,this.ga=t.ga,this.id=We.ab++,this.name=e,this.mode=r,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return!(365&~this.mode)}set read(t){t?this.mode|=365:this.mode&=-366}get write(){return!(146&~this.mode)}set write(t){t?this.mode|=146:this.mode&=-147}get Kb(){return Se(this.mode)}get Jb(){return 8192==(61440&this.mode)}},createNode:(t,e,r,n)=>(Ze(t=new We.vb(t,e,r,n)),t),Za:t=>t===t.parent,isFile:t=>32768==(61440&t),isFIFO:t=>4096==(61440&t),isSocket:t=>!(49152&~t),xb:4096,Hb:t=>We.streams[t],ec:(t,e=-1)=>(t=ze(t,e),t.ba?.dc?.(t),t),yb:{open(t){t.ba=We.Fb(t.node.rdev).ba,t.ba.open?.(t)},na(){throw new We.Z(70)}},$a:t=>t>>8,pc:t=>255&t,Ea:(t,e)=>t<<8|e,Fb:t=>We.jb[t],ub(t,e){function r(t){return We.Sa--,e(t)}function n(t){if(t){if(!n.Bb)return n.Bb=!0,r(t)}else++o>=i.length&&r(null)}"function"==typeof t&&(e=t,t=!1),We.Sa++,1<We.Sa&&P(`warning: ${We.Sa} FS.syncfs operations in flight at once, probably just doing extra work`);var a,i=Ie(We.root.ga),o=0;for(a of i)a.type.ub?a.type.ub(a,t,n):n(null)},ga(t,e,r){var n="/"===r;if(n&&We.root)throw new We.Z(10);if(!n&&r){var a=Pe(r,{Pa:!1});if(r=a.path,(a=a.node).ta)throw new We.Z(10);if(!Se(a.mode))throw new We.Z(54)}return(t=t.ga(e={type:t,Mb:e,qb:r,La:[]})).ga=e,e.root=t,n?We.root=t:a&&(a.ta=e,a.ga&&a.ga.La.push(e)),t},wc(t){if(!(t=Pe(t,{Pa:!1})).node.ta)throw new We.Z(28);var e=(t=t.node).ta,r=Ie(e);for([,a]of Object.entries(We.ya))for(;a;){var n=a.Fa;r.includes(a.ga)&&Te(a);var a=n}t.ta=null,t.ga.La.splice(t.ga.La.indexOf(e),1)},lookup:(t,e)=>t.aa.lookup(t,e),xa(t,e,r){var n=Pe(t,{parent:!0}).node;if(!(t=ae(t)))throw new We.Z(28);if("."===t||".."===t)throw new We.Z(20);var a=Fe(n,t);if(a)throw new We.Z(a);if(!n.aa.xa)throw new We.Z(63);return n.aa.xa(n,t,e,r)},tb:t=>Le(Pe(t,{ra:!0}).node),uc:t=>Le(t.node),create:(t,e=438)=>We.xa(t,4095&e|32768,0),mkdir:(t,e=511)=>We.xa(t,1023&e|16384,0),qc(t,e){var r,n=t.split("/"),a="";for(r of n)if(r){(a||"/"===t.charAt(0))&&(a+="/"),a+=r;try{We.mkdir(a,e)}catch(t){if(20!=t.Da)throw t}}},symlink(t,e){if(!oe(t))throw new We.Z(44);var r=Pe(e,{parent:!0}).node;if(!r)throw new We.Z(44);var n=Fe(r,e=ae(e));if(n)throw new We.Z(n);if(!r.aa.symlink)throw new We.Z(63);return r.aa.symlink(r,e,t)},rename(t,e){var r=ne(t),n=ne(e),a=ae(t),i=ae(e),o=Pe(t,{parent:!0}),s=o.node;if(o=(o=Pe(e,{parent:!0})).node,!s||!o)throw new We.Z(44);if(s.ga!==o.ga)throw new We.Z(75);var h=Ce(s,a);if("."!==(t=se(t,n)).charAt(0))throw new We.Z(28);if("."!==(t=se(e,r)).charAt(0))throw new We.Z(55);try{var l=Ce(o,i)}catch(t){}if(h!==l){if(a=Ne(s,a,e=Se(h.mode)))throw new We.Z(a);if(a=l?Ne(o,i,e):Fe(o,i))throw new We.Z(a);if(!s.aa.rename)throw new We.Z(63);if(h.ta||l&&l.ta)throw new We.Z(10);if(o!==s&&(a=je(s,"w")))throw new We.Z(a);Te(h);try{s.aa.rename(h,o,i),h.parent=o}catch(t){throw t}finally{Ze(h)}}},rmdir(t){var e=Pe(t,{parent:!0}).node,r=Ce(e,t=ae(t)),n=Ne(e,t,!0);if(n)throw new We.Z(n);if(!e.aa.rmdir)throw new We.Z(63);if(r.ta)throw new We.Z(10);e.aa.rmdir(e,t),Te(r)},readdir:t=>De((t=Pe(t,{ra:!0}).node).aa.readdir,54)(t),unlink(t){var e=Pe(t,{parent:!0}).node;if(!e)throw new We.Z(44);var r=Ce(e,t=ae(t)),n=Ne(e,t,!1);if(n)throw new We.Z(n);if(!e.aa.unlink)throw new We.Z(63);if(r.ta)throw new We.Z(10);e.aa.unlink(e,t),Te(r)},readlink(t){if(!(t=Pe(t).node))throw new We.Z(44);if(!t.aa.readlink)throw new We.Z(28);return t.aa.readlink(t)},stat:(t,e)=>De((t=Pe(t,{ra:!e}).node).aa.sa,63)(t),fstat(t){var e=Me(t);t=e.node;var r=e.ba.sa;return e=r?e:t,r??=t.aa.sa,De(r,63),r(e)},lstat:t=>We.stat(t,!0),chmod(t,e,r){Be(null,t="string"==typeof t?Pe(t,{ra:!r}).node:t,e,r)},lchmod(t,e){We.chmod(t,e,!0)},fchmod(t,e){Be(t=Me(t),t.node,e,!1)},chown(t,e,r,n){He(null,t="string"==typeof t?Pe(t,{ra:!n}).node:t,{timestamp:Date.now(),kb:n})},lchown(t,e,r){We.chown(t,e,r,!0)},fchown(t){He(t=Me(t),t.node,{timestamp:Date.now(),kb:!1})},truncate(t,e){if(0>e)throw new We.Z(28);Ge(null,t="string"==typeof t?Pe(t,{ra:!0}).node:t,e)},kc(t,e){if(t=Me(t),0>e||!(2097155&t.flags))throw new We.Z(28);Ge(t,t.node,e)},xc(t,e,r){De((t=Pe(t,{ra:!0}).node).aa.ua,63)(t,{atime:e,mtime:r})},open(t,e,r=438){if(""===t)throw new We.Z(44);if("string"==typeof e){var a={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===a)throw Error(`Unknown file open mode: ${e}`);e=a}if(r=64&e?4095&r|32768:0,"object"==typeof t)a=t;else{var i=t.endsWith("/");a=(t=Pe(t,{ra:!(131072&e),Lb:!0})).node,t=t.path}var o=!1;if(64&e)if(a){if(128&e)throw new We.Z(20)}else{if(i)throw new We.Z(31);a=We.xa(t,511|r,0),o=!0}if(!a)throw new We.Z(44);if(8192==(61440&a.mode)&&(e&=-513),65536&e&&!Se(a.mode))throw new We.Z(54);if(!o&&(i=a?40960==(61440&a.mode)?32:Se(a.mode)&&("r"!==xe(e)||576&e)?31:je(a,xe(e)):44))throw new We.Z(i);return 512&e&&!o&&We.truncate(a,0),e&=-131713,(i=ze({node:a,path:Oe(a),flags:e,seekable:!0,position:0,ba:a.ba,Sb:[],error:!1})).ba.open&&i.ba.open(i),o&&We.chmod(a,511&r),!n.logReadFiles||1&e||t in We.sb||(We.sb[t]=1),i},close(t){if(null===t.fd)throw new We.Z(8);t.Wa&&(t.Wa=null);try{t.ba.close&&t.ba.close(t)}catch(t){throw t}finally{We.streams[t.fd]=null}t.fd=null},na(t,e,r){if(null===t.fd)throw new We.Z(8);if(!t.seekable||!t.ba.na)throw new We.Z(70);if(0!=r&&1!=r&&2!=r)throw new We.Z(28);return t.position=t.ba.na(t,e,r),t.Sb=[],t.position},read(t,e,r,n,a){if(0>n||0>a)throw new We.Z(28);if(null===t.fd)throw new We.Z(8);if(1==(2097155&t.flags))throw new We.Z(8);if(Se(t.node.mode))throw new We.Z(31);if(!t.ba.read)throw new We.Z(28);var i=void 0!==a;if(i){if(!t.seekable)throw new We.Z(70)}else a=t.position;return e=t.ba.read(t,e,r,n,a),i||(t.position+=e),e},write(t,e,r,n,a,i){if(0>n||0>a)throw new We.Z(28);if(null===t.fd)throw new We.Z(8);if(!(2097155&t.flags))throw new We.Z(8);if(Se(t.node.mode))throw new We.Z(31);if(!t.ba.write)throw new We.Z(28);t.seekable&&1024&t.flags&&We.na(t,0,2);var o=void 0!==a;if(o){if(!t.seekable)throw new We.Z(70)}else a=t.position;return e=t.ba.write(t,e,r,n,a,i),o||(t.position+=e),e},Ha(t,e,r,n,a){if(2&n&&!(2&a)&&2!=(2097155&t.flags))throw new We.Z(2);if(1==(2097155&t.flags))throw new We.Z(2);if(!t.ba.Ha)throw new We.Z(43);if(!e)throw new We.Z(28);return t.ba.Ha(t,e,r,n,a)},Ma:(t,e,r,n,a)=>t.ba.Ma?t.ba.Ma(t,e,r,n,a):0,ob(t,e,r){if(!t.ba.ob)throw new We.Z(59);return t.ba.ob(t,e,r)},readFile(t,e={}){e.flags=e.flags||0,e.encoding=e.encoding||"binary","utf8"!==e.encoding&&"binary"!==e.encoding&&j(`Invalid encoding type "${e.encoding}"`);var r=We.open(t,e.flags);t=We.stat(t).size;var n=new Uint8Array(t);return We.read(r,n,0,t,0),"utf8"===e.encoding&&(n=he(n)),We.close(r),n},writeFile(t,e,r={}){r.flags=r.flags||577,t=We.open(t,r.flags,r.mode),"string"==typeof e&&(e=new Uint8Array(ce(e))),ArrayBuffer.isView(e)?We.write(t,e,0,e.byteLength,void 0,r.bc):j("Unsupported data type"),We.close(t)},cwd:()=>We.gb,chdir(t){if(null===(t=Pe(t,{ra:!0})).node)throw new We.Z(44);if(!Se(t.node.mode))throw new We.Z(54);var e=je(t.node,"x");if(e)throw new We.Z(e);We.gb=t.path},tc(){for(var t of(We.Xa=!1,We.streams))t&&We.close(t)},hc(t,e){try{var r=Pe(t,{ra:!e});t=r.path}catch(t){}var n=!1,a=null;try{r=Pe(t,{parent:!0}),ae(t),r=Pe(t,{ra:!e}),n=!0,a=r.node}catch(t){}return n?a:null},Aa(t,e,r,n){var a;return t=((t,e)=>re(t+"/"+e))("string"==typeof t?t:Oe(t),e),e=ve(!!r,!!n),(a=We.Aa).$a??(a.$a=64),ke(a=We.Ea(We.Aa.$a++,0),{open(t){t.seekable=!1},close(){n?.buffer?.length&&n(10)},read(t,e,n,a){for(var i=0,o=0;o<a;o++){try{var s=r()}catch(t){throw new We.Z(29)}if(void 0===s&&0===i)throw new We.Z(6);if(null==s)break;i++,e[n+o]=s}return i&&(t.node.atime=Date.now()),i},write(t,e,r,a){for(var i=0;i<a;i++)try{n(e[r+i])}catch(t){throw new We.Z(29)}return a&&(t.node.mtime=t.node.ctime=Date.now()),i}}),Ve(t,e,a)}};if((()=>{let t=nt.prototype;Object.assign(t,{isAliasOf:function(t){if(!(this instanceof nt&&t instanceof nt))return!1;var e=this.$.ha.ea,r=this.$.fa;t.$=t.$;var n=t.$.ha.ea;for(t=t.$.fa;e.ma;)r=e.Oa(r),e=e.ma;for(;n.ma;)t=n.Oa(t),n=n.ma;return e===n&&r===t},clone:function(){if(this.$.fa||Y(this),this.$.Na)return this.$.count.value+=1,this;var t=rt,e=Object,r=e.create,n=Object.getPrototypeOf(this),a=this.$;return(t=t(r.call(e,n,{$:{value:{count:a.count,Ka:a.Ka,Na:a.Na,fa:a.fa,ha:a.ha,ka:a.ka,oa:a.oa}}}))).$.count.value+=1,t.$.Ka=!1,t},delete(){if(this.$.fa||Y(this),this.$.Ka&&!this.$.Na)throw new J("Object already scheduled for deletion");et(this);var t=this.$;--t.count.value,0===t.count.value&&(t.ka?t.oa.Ba(t.ka):t.ha.ea.Ba(t.fa)),this.$.Na||(this.$.ka=void 0,this.$.fa=void 0)},isDeleted:function(){return!this.$.fa},deleteLater:function(){if(this.$.fa||Y(this),this.$.Ka&&!this.$.Na)throw new J("Object already scheduled for deletion");return this.$.Ka=!0,this}});const e=Symbol.dispose;e&&(t[e]=t.delete)})(),Object.assign(gt.prototype,{Gb(t){return this.rb&&(t=this.rb(t)),t},ib(t){this.Ba?.(t)},za:pt,la:function(t){function e(){return yt(this.ea.Ga,this.Ra?{ha:this.Nb,fa:r,oa:this,ka:t}:{ha:this,fa:t})}var r=this.Gb(t);if(!r)return this.ib(t),null;var n=((t,e)=>{if(void 0===e)throw new J("ptr should not be undefined");for(;t.ma;)e=t.Oa(e),t=t.ma;return mt[e]})(this.ea,r);if(void 0!==n)return 0===n.$.count.value?(n.$.fa=r,n.$.ka=t,n.clone()):(n=n.clone(),this.ib(t),n);if(n=this.ea.Eb(r),!(n=it[n]))return e.call(this);var a=wt(r,this.ea,(n=this.Qa?n.zb:n.pointerType).ea);return null===a?e.call(this):yt(n.ea.Ga,this.Ra?{ha:n,fa:a,oa:this,ka:t}:{ha:n,fa:a})}}),We.cc=(t,e,r,n,a,i,o,s,h,l)=>{Ae(t,e,r,n,a,s,h,l).then(i).catch(o)},We.sc=Ae,We.ya=Array(4096),We.ga(me,{},"/"),We.mkdir("/tmp"),We.mkdir("/home"),We.mkdir("/home/web_user"),function(){We.mkdir("/dev"),ke(We.Ea(1,3),{read:()=>0,write:(t,e,r,n)=>n,na:()=>0}),Ve("/dev/null",We.Ea(1,3)),de(We.Ea(5,0),pe),de(We.Ea(6,0),we),Ve("/dev/tty",We.Ea(5,0)),Ve("/dev/tty1",We.Ea(6,0));var t=new Uint8Array(1024),e=0,r=()=>(0===e&&(ie(t),e=t.byteLength),t[--e]);We.Aa("/dev","random",r),We.Aa("/dev","urandom",r),We.mkdir("/dev/shm"),We.mkdir("/dev/shm/tmp")}(),function(){We.mkdir("/proc");var t=We.mkdir("/proc/self");We.mkdir("/proc/self/fd"),We.ga({ga(){var e=We.createNode(t,"fd",16895,73);return e.ba={na:me.ba.na},e.aa={lookup(t,e){var r=Me(t=+e);return(t={parent:null,ga:{qb:"fake"},aa:{readlink:()=>r.path},id:t+1}).parent=t},readdir:()=>Array.from(We.streams.entries()).filter(([,t])=>t).map(([t])=>t.toString())},e}},{},"/proc/self/fd")}(),We.Db={MEMFS:me},n.noExitRuntime&&(H=n.noExitRuntime),n.preloadPlugins&&(_e=n.preloadPlugins),n.print&&(R=n.print),n.printErr&&(P=n.printErr),n.wasmBinary&&(p=n.wasmBinary),n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);0<n.preInit.length;)n.preInit.shift()();n.addRunDependency=$e,n.removeRunDependency=be,n.FS_preloadFile=Ae,n.FS_unlink=(...t)=>We.unlink(...t),n.FS_createPath=(...t)=>function(t,e){for(t="string"==typeof t?t:Oe(t),e=e.split("/").reverse();e.length;){var r=e.pop();if(r){var n=re(t+"/"+r);try{We.mkdir(n)}catch(t){if(20!=t.Da)throw t}t=n}}return n}(...t),n.FS_createDevice=(...t)=>We.Aa(...t),n.FS=We,n.FS_createDataFi