-
Notifications
You must be signed in to change notification settings - Fork 7
/
lottie-player.js
4 lines (4 loc) · 85.7 KB
/
lottie-player.js
1
2
3
4
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["lottie-player"]={})}(this,(function(e){"use strict";var t="undefined"!=typeof document?document.currentScript:null;const r=globalThis,n=r.ShadowRoot&&(void 0===r.ShadyCSS||r.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,o=Symbol(),i=new WeakMap;let s=class{constructor(e,t,r){if(this._$cssResult$=!0,r!==o)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(n&&void 0===e){const r=void 0!==t&&1===t.length;r&&(e=i.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&i.set(t,e))}return e}toString(){return this.cssText}};const a=n?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const r of e.cssRules)t+=r.cssText;return(e=>new s("string"==typeof e?e:e+"",void 0,o))(t)})(e):e,{is:l,defineProperty:h,getOwnPropertyDescriptor:c,getOwnPropertyNames:d,getOwnPropertySymbols:u,getPrototypeOf:p}=Object,f=globalThis,m=f.trustedTypes,v=m?m.emptyScript:"",y=f.reactiveElementPolyfillSupport,g=(e,t)=>e,w={toAttribute(e,t){switch(t){case Boolean:e=e?v:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=null!==e;break;case Number:r=null===e?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch(e){r=null}}return r}},_=(e,t)=>!l(e,t),E={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:_};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,t=E){if(t.state&&(t.attribute=!1),this._$Ei(),this.elementProperties.set(e,t),!t.noAccessor){const r=Symbol(),n=this.getPropertyDescriptor(e,r,t);void 0!==n&&h(this.prototype,e,n)}}static getPropertyDescriptor(e,t,r){const{get:n,set:o}=c(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get(){return n?.call(this)},set(t){const i=n?.call(this);o.call(this,t),this.requestUpdate(e,i,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??E}static _$Ei(){if(this.hasOwnProperty(g("elementProperties")))return;const e=p(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,t=[...d(e),...u(e)];for(const r of t)this.createProperty(r,e[r])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,r]of t)this.elementProperties.set(e,r)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const r=this._$Eu(e,t);void 0!==r&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const r=new Set(e.flat(1/0).reverse());for(const e of r)t.unshift(a(e))}else void 0!==e&&t.push(a(e));return t}static _$Eu(e,t){const r=t.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((e=>e(this)))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const r of t.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((e,t)=>{if(n)e.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(const n of t){const t=document.createElement("style"),o=r.litNonce;void 0!==o&&t.setAttribute("nonce",o),t.textContent=n.cssText,e.appendChild(t)}})(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((e=>e.hostConnected?.()))}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach((e=>e.hostDisconnected?.()))}attributeChangedCallback(e,t,r){this._$AK(e,r)}_$EC(e,t){const r=this.constructor.elementProperties.get(e),n=this.constructor._$Eu(e,r);if(void 0!==n&&!0===r.reflect){const o=(void 0!==r.converter?.toAttribute?r.converter:w).toAttribute(t,r.type);this._$Em=e,null==o?this.removeAttribute(n):this.setAttribute(n,o),this._$Em=null}}_$AK(e,t){const r=this.constructor,n=r._$Eh.get(e);if(void 0!==n&&this._$Em!==n){const e=r.getPropertyOptions(n),o="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:w;this._$Em=n,this[n]=o.fromAttribute(t,e.type),this._$Em=null}}requestUpdate(e,t,r){if(void 0!==e){if(r??=this.constructor.getPropertyOptions(e),!(r.hasChanged??_)(this[e],t))return;this.P(e,t,r)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(e,t,r){this._$AL.has(e)||this._$AL.set(e,t),!0===r.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,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,r]of e)!0!==r.wrapped||this._$AL.has(t)||void 0===this[t]||this.P(t,this[t],r)}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach((e=>e.hostUpdate?.())),this.update(t)):this._$EU()}catch(t){throw e=!1,this._$EU(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach((e=>e.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$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,y?.({ReactiveElement:b}),(f.reactiveElementVersions??=[]).push("2.0.4");const $=globalThis,A=$.trustedTypes,P=A?A.createPolicy("lit-html",{createHTML:e=>e}):void 0,S="$lit$",k=`lit$${Math.random().toFixed(9).slice(2)}$`,T="?"+k,C=`<${T}>`,F=document,D=()=>F.createComment(""),R=e=>null===e||"object"!=typeof e&&"function"!=typeof e,U=Array.isArray,M="[ \t\n\f\r]",j=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,O=/-->/g,x=/>/g,N=RegExp(`>|${M}(?:([^\\s"'>=/]+)(${M}*=${M}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),z=/'/g,L=/"/g,I=/^(?:script|style|textarea|title)$/i,H=(e=>(t,...r)=>({_$litType$:e,strings:t,values:r}))(1),B=Symbol.for("lit-noChange"),V=Symbol.for("lit-nothing"),W=new WeakMap,G=F.createTreeWalker(F,129);function q(e,t){if(!U(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==P?P.createHTML(t):t}class X{constructor({strings:e,_$litType$:t},r){let n;this.parts=[];let o=0,i=0;const s=e.length-1,a=this.parts,[l,h]=((e,t)=>{const r=e.length-1,n=[];let o,i=2===t?"<svg>":3===t?"<math>":"",s=j;for(let t=0;t<r;t++){const r=e[t];let a,l,h=-1,c=0;for(;c<r.length&&(s.lastIndex=c,l=s.exec(r),null!==l);)c=s.lastIndex,s===j?"!--"===l[1]?s=O:void 0!==l[1]?s=x:void 0!==l[2]?(I.test(l[2])&&(o=RegExp("</"+l[2],"g")),s=N):void 0!==l[3]&&(s=N):s===N?">"===l[0]?(s=o??j,h=-1):void 0===l[1]?h=-2:(h=s.lastIndex-l[2].length,a=l[1],s=void 0===l[3]?N:'"'===l[3]?L:z):s===L||s===z?s=N:s===O||s===x?s=j:(s=N,o=void 0);const d=s===N&&e[t+1].startsWith("/>")?" ":"";i+=s===j?r+C:h>=0?(n.push(a),r.slice(0,h)+S+r.slice(h)+k+d):r+k+(-2===h?t:d)}return[q(e,i+(e[r]||"<?>")+(2===t?"</svg>":3===t?"</math>":"")),n]})(e,t);if(this.el=X.createElement(l,r),G.currentNode=this.el.content,2===t||3===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(n=G.nextNode())&&a.length<s;){if(1===n.nodeType){if(n.hasAttributes())for(const e of n.getAttributeNames())if(e.endsWith(S)){const t=h[i++],r=n.getAttribute(e).split(k),s=/([.?@])?(.*)/.exec(t);a.push({type:1,index:o,name:s[2],strings:r,ctor:"."===s[1]?Y:"?"===s[1]?ee:"@"===s[1]?te:Q}),n.removeAttribute(e)}else e.startsWith(k)&&(a.push({type:6,index:o}),n.removeAttribute(e));if(I.test(n.tagName)){const e=n.textContent.split(k),t=e.length-1;if(t>0){n.textContent=A?A.emptyScript:"";for(let r=0;r<t;r++)n.append(e[r],D()),G.nextNode(),a.push({type:2,index:++o});n.append(e[t],D())}}}else if(8===n.nodeType)if(n.data===T)a.push({type:2,index:o});else{let e=-1;for(;-1!==(e=n.data.indexOf(k,e+1));)a.push({type:7,index:o}),e+=k.length-1}o++}}static createElement(e,t){const r=F.createElement("template");return r.innerHTML=e,r}}function J(e,t,r=e,n){if(t===B)return t;let o=void 0!==n?r.o?.[n]:r.l;const i=R(t)?void 0:t._$litDirective$;return o?.constructor!==i&&(o?._$AO?.(!1),void 0===i?o=void 0:(o=new i(e),o._$AT(e,r,n)),void 0!==n?(r.o??=[])[n]=o:r.l=o),void 0!==o&&(t=J(e,o._$AS(e,t.values),o,n)),t}class K{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:t},parts:r}=this._$AD,n=(e?.creationScope??F).importNode(t,!0);G.currentNode=n;let o=G.nextNode(),i=0,s=0,a=r[0];for(;void 0!==a;){if(i===a.index){let t;2===a.type?t=new Z(o,o.nextSibling,this,e):1===a.type?t=new a.ctor(o,a.name,a.strings,this,e):6===a.type&&(t=new re(o,this,e)),this._$AV.push(t),a=r[++s]}i!==a?.index&&(o=G.nextNode(),i++)}return G.currentNode=F,n}p(e){let t=0;for(const r of this._$AV)void 0!==r&&(void 0!==r.strings?(r._$AI(e,r,t),t+=r.strings.length-2):r._$AI(e[t])),t++}}class Z{get _$AU(){return this._$AM?._$AU??this.v}constructor(e,t,r,n){this.type=2,this._$AH=V,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=r,this.options=n,this.v=n?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode;const t=this._$AM;return void 0!==t&&11===e?.nodeType&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=J(this,e,t),R(e)?e===V||null==e||""===e?(this._$AH!==V&&this._$AR(),this._$AH=V):e!==this._$AH&&e!==B&&this._(e):void 0!==e._$litType$?this.$(e):void 0!==e.nodeType?this.T(e):(e=>U(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!==V&&R(this._$AH)?this._$AA.nextSibling.data=e:this.T(F.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:r}=e,n="number"==typeof r?this._$AC(e):(void 0===r.el&&(r.el=X.createElement(q(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===n)this._$AH.p(t);else{const e=new K(n,this),r=e.u(this.options);e.p(t),this.T(r),this._$AH=e}}_$AC(e){let t=W.get(e.strings);return void 0===t&&W.set(e.strings,t=new X(e)),t}k(e){U(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let r,n=0;for(const o of e)n===t.length?t.push(r=new Z(this.O(D()),this.O(D()),this,this.options)):r=t[n],r._$AI(o),n++;n<t.length&&(this._$AR(r&&r._$AB.nextSibling,n),t.length=n)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e&&e!==this._$AB;){const t=e.nextSibling;e.remove(),e=t}}setConnected(e){void 0===this._$AM&&(this.v=e,this._$AP?.(e))}}class Q{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,r,n,o){this.type=1,this._$AH=V,this._$AN=void 0,this.element=e,this.name=t,this._$AM=n,this.options=o,r.length>2||""!==r[0]||""!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=V}_$AI(e,t=this,r,n){const o=this.strings;let i=!1;if(void 0===o)e=J(this,e,t,0),i=!R(e)||e!==this._$AH&&e!==B,i&&(this._$AH=e);else{const n=e;let s,a;for(e=o[0],s=0;s<o.length-1;s++)a=J(this,n[r+s],t,s),a===B&&(a=this._$AH[s]),i||=!R(a)||a!==this._$AH[s],a===V?e=V:e!==V&&(e+=(a??"")+o[s+1]),this._$AH[s]=a}i&&!n&&this.j(e)}j(e){e===V?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class Y extends Q{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===V?void 0:e}}class ee extends Q{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==V)}}class te extends Q{constructor(e,t,r,n,o){super(e,t,r,n,o),this.type=5}_$AI(e,t=this){if((e=J(this,e,t,0)??V)===B)return;const r=this._$AH,n=e===V&&r!==V||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,o=e!==V&&(r===V||n);n&&this.element.removeEventListener(this.name,this,r),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 re{constructor(e,t,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){J(this,e)}}const ne=$.litHtmlPolyfillSupport;ne?.(X,Z),($.litHtmlVersions??=[]).push("3.2.0");class oe 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 t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this.o=((e,t,r)=>{const n=r?.renderBefore??t;let o=n._$litPart$;if(void 0===o){const e=r?.renderBefore??null;n._$litPart$=o=new Z(t.insertBefore(D(),e),e,void 0,r??{})}return o._$AI(e),o})(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this.o?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this.o?.setConnected(!1)}render(){return B}}oe._$litElement$=!0,oe.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:oe});const ie=globalThis.litElementPolyfillSupport;ie?.({LitElement:oe}),(globalThis.litElementVersions??=[]).push("4.1.0");const se={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:_},ae=(e=se,t,r)=>{const{kind:n,metadata:o}=r;let i=globalThis.litPropertyMetadata.get(o);if(void 0===i&&globalThis.litPropertyMetadata.set(o,i=new Map),i.set(r.name,e),"accessor"===n){const{name:n}=r;return{set(r){const o=t.get.call(this);t.set.call(this,r),this.requestUpdate(n,o,e)},init(t){return void 0!==t&&this.P(n,void 0,e),t}}}if("setter"===n){const{name:n}=r;return function(r){const o=this[n];t.call(this,r),this.requestUpdate(n,o,e)}}throw Error("Unsupported decorator location: "+n)};function le(e){return(t,r)=>"object"==typeof r?ae(e,t,r):((e,t,r)=>{const n=t.hasOwnProperty(r);return t.constructor.createProperty(r,n?{...e,wrapped:!0}:e),n?Object.getOwnPropertyDescriptor(t,r):void 0})(e,t,r)}for(var he,ce=[],de=0;de<256;++de)ce.push((de+256).toString(16).slice(1));var ue=new Uint8Array(16);function pe(){if(!he&&!(he="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 he(ue)}var fe={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function me(e,t,r){if(fe.randomUUID&&!t&&!e)return fe.randomUUID();var n=(e=e||{}).random||(e.rng||pe)();return n[6]=15&n[6]|64,n[8]=63&n[8]|128,function(e,t=0){return(ce[e[t+0]]+ce[e[t+1]]+ce[e[t+2]]+ce[e[t+3]]+"-"+ce[e[t+4]]+ce[e[t+5]]+"-"+ce[e[t+6]]+ce[e[t+7]]+"-"+ce[e[t+8]]+ce[e[t+9]]+"-"+ce[e[t+10]]+ce[e[t+11]]+ce[e[t+12]]+ce[e[t+13]]+ce[e[t+14]]+ce[e[t+15]]).toLowerCase()}(n)}var ve,ye=(ve="undefined"==typeof document&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:"undefined"==typeof document?location.href:t&&t.src||new URL("lottie-player.js",document.baseURI).href,async function(e={}){var r,n,o=e,i=new Promise(((e,t)=>{r=e,n=t})),s="object"==typeof window,a="function"==typeof importScripts,l="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node;if(l){const{createRequire:e}=await Promise.resolve().then((function(){return Me}));var h=e("undefined"==typeof document&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:"undefined"==typeof document?location.href:t&&t.src||new URL("lottie-player.js",document.baseURI).href)}var c,d,u=Object.assign({},o),p="./this.program",f=(e,t)=>{throw t},m="";if(l){var v=h("fs"),y=h("path");m=h("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:"undefined"==typeof document?location.href:t&&t.src||new URL("lottie-player.js",document.baseURI).href)),d=e=>(e=W(e)?new URL(e):y.normalize(e),v.readFileSync(e)),c=(e,t=!0)=>(e=W(e)?new URL(e):y.normalize(e),new Promise(((r,n)=>{v.readFile(e,t?void 0:"utf8",((e,o)=>{e?n(e):r(t?o.buffer:o)}))}))),!o.thisProgram&&process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),f=(e,t)=>{throw process.exitCode=e,t}}else(s||a)&&(a?m=self.location.href:"undefined"!=typeof document&&document.currentScript&&(m=document.currentScript.src),ve&&(m=ve),m=m.startsWith("blob:")?"":m.substr(0,m.replace(/[?#].*/,"").lastIndexOf("/")+1),a&&(d=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),c=e=>W(e)?new Promise(((t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r(n.status)},n.onerror=r,n.send(null)})):fetch(e,{credentials:"same-origin"}).then((e=>e.ok?e.arrayBuffer():Promise.reject(new Error(e.status+" : "+e.url)))));var g=o.print||console.log.bind(console),w=o.printErr||console.error.bind(console);Object.assign(o,u),u=null,o.arguments&&o.arguments,o.thisProgram&&(p=o.thisProgram);var _,E,b,$,A,P,S,k,T,C,F=o.wasmBinary,D=!1;function R(){var e=_.buffer;o.HEAP8=b=new Int8Array(e),o.HEAP16=A=new Int16Array(e),o.HEAPU8=$=new Uint8Array(e),o.HEAPU16=P=new Uint16Array(e),o.HEAP32=S=new Int32Array(e),o.HEAPU32=k=new Uint32Array(e),o.HEAPF32=T=new Float32Array(e),o.HEAPF64=C=new Float64Array(e)}var U=[],M=[],j=[],O=0,x=null;function N(e){O++,o.monitorRunDependencies?.(O)}function z(e){if(O--,o.monitorRunDependencies?.(O),0==O&&x){var t=x;x=null,t()}}function L(e){o.onAbort?.(e),w(e="Aborted("+e+")"),D=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw n(t),t}var I,H,B,V=e=>e.startsWith("data:application/octet-stream;base64,"),W=e=>e.startsWith("file://");function G(){if(o.locateFile){var e="thorvg-wasm.wasm";return V(e)?e:(r=e,o.locateFile?o.locateFile(r,m):m+r)}var r;return new URL("thorvg-wasm.wasm","undefined"==typeof document&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:"undefined"==typeof document?location.href:t&&t.src||new URL("lottie-player.js",document.baseURI).href).href}function q(e){if(e==I&&F)return new Uint8Array(F);if(d)return d(e);throw"both async and sync fetching of the wasm failed"}function X(e,t,r){return function(e){return F?Promise.resolve().then((()=>q(e))):c(e).then((e=>new Uint8Array(e)),(()=>q(e)))}(e).then((e=>WebAssembly.instantiate(e,t))).then(r,(e=>{w(`failed to asynchronously prepare wasm: ${e}`),L(e)}))}function J(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var K=e=>{for(;e.length>0;)e.shift()(o)},Z=o.noExitRuntime||!0,Q=e=>hr(e),Y=()=>cr(),ee="undefined"!=typeof TextDecoder?new TextDecoder:void 0,te=(e,t,r)=>{for(var n=t+r,o=t;e[o]&&!(o>=n);)++o;if(o-t>16&&e.buffer&&ee)return ee.decode(e.subarray(t,o));for(var i="";t<o;){var s=e[t++];if(128&s){var a=63&e[t++];if(192!=(224&s)){var l=63&e[t++];if((s=224==(240&s)?(15&s)<<12|a<<6|l:(7&s)<<18|a<<12|l<<6|63&e[t++])<65536)i+=String.fromCharCode(s);else{var h=s-65536;i+=String.fromCharCode(55296|h>>10,56320|1023&h)}}else i+=String.fromCharCode((31&s)<<6|a)}else i+=String.fromCharCode(s)}return i},re=(e,t)=>e?te($,e,t):"";function ne(){var e=S[+Ae.varargs>>2];return Ae.varargs+=4,e}var oe=ne,ie={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ie.isAbs(e),r="/"===e.substr(-1);return e=ie.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"),e||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ie.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ie.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:(...e)=>ie.normalize(e.join("/")),join2:(e,t)=>ie.normalize(e+"/"+t)},se=e=>(se=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(l)try{var e=h("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}L("initRandomDevice")})())(e),ae={resolve:(...e)=>{for(var t="",r=!1,n=e.length-1;n>=-1&&!r;n--){var o=n>=0?e[n]:$e.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";t=o+"/"+t,r=ie.isAbs(o)}return t=ie.normalizeArray(t.split("/").filter((e=>!!e)),!r).join("/"),(r?"/":"")+t||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=ae.resolve(e).substr(1),t=ae.resolve(t).substr(1);for(var n=r(e.split("/")),o=r(t.split("/")),i=Math.min(n.length,o.length),s=i,a=0;a<i;a++)if(n[a]!==o[a]){s=a;break}var l=[];for(a=s;a<n.length;a++)l.push("..");return(l=l.concat(o.slice(s))).join("/")}},le=[],he=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n<=127?t++:n<=2047?t+=2:n>=55296&&n<=57343?(t+=4,++r):t+=3}return t},ce=(e,t,r,n)=>{if(!(n>0))return 0;for(var o=r,i=r+n-1,s=0;s<e.length;++s){var a=e.charCodeAt(s);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s)),a<=127){if(r>=i)break;t[r++]=a}else if(a<=2047){if(r+1>=i)break;t[r++]=192|a>>6,t[r++]=128|63&a}else if(a<=65535){if(r+2>=i)break;t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a}else{if(r+3>=i)break;t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a}}return t[r]=0,r-o};function de(e,t,r){var n=he(e)+1,o=new Array(n),i=ce(e,o,0,o.length);return o.length=i,o}var ue,pe,fe,me={ttys:[],init(){},shutdown(){},register(e,t){me.ttys[e]={input:[],output:[],ops:t},$e.registerDevice(e,me.stream_ops)},stream_ops:{open(e){var t=me.ttys[e.node.rdev];if(!t)throw new $e.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,n,o){if(!e.tty||!e.tty.ops.get_char)throw new $e.ErrnoError(60);for(var i=0,s=0;s<n;s++){var a;try{a=e.tty.ops.get_char(e.tty)}catch(e){throw new $e.ErrnoError(29)}if(void 0===a&&0===i)throw new $e.ErrnoError(6);if(null==a)break;i++,t[r+s]=a}return i&&(e.node.timestamp=Date.now()),i},write(e,t,r,n,o){if(!e.tty||!e.tty.ops.put_char)throw new $e.ErrnoError(60);try{for(var i=0;i<n;i++)e.tty.ops.put_char(e.tty,t[r+i])}catch(e){throw new $e.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),i}},default_tty_ops:{get_char:e=>(()=>{if(!le.length){var e=null;if(l){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=v.readSync(n,t,0,256)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}r>0&&(e=t.slice(0,r).toString("utf-8"))}else"undefined"!=typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n");if(!e)return null;le=de(e)}return le.shift()})(),put_char(e,t){null===t||10===t?(g(te(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(g(te(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(w(te(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(w(te(e.output,0)),e.output=[])}}},ye=e=>{L()},ge={ops_table:null,mount:e=>ge.createNode(null,"/",16895,0),createNode(e,t,r,n){if($e.isBlkdev(r)||$e.isFIFO(r))throw new $e.ErrnoError(63);ge.ops_table||={dir:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr,lookup:ge.node_ops.lookup,mknod:ge.node_ops.mknod,rename:ge.node_ops.rename,unlink:ge.node_ops.unlink,rmdir:ge.node_ops.rmdir,readdir:ge.node_ops.readdir,symlink:ge.node_ops.symlink},stream:{llseek:ge.stream_ops.llseek}},file:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr},stream:{llseek:ge.stream_ops.llseek,read:ge.stream_ops.read,write:ge.stream_ops.write,allocate:ge.stream_ops.allocate,mmap:ge.stream_ops.mmap,msync:ge.stream_ops.msync}},link:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr,readlink:ge.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr},stream:$e.chrdev_stream_ops}};var o=$e.createNode(e,t,r,n);return $e.isDir(o.mode)?(o.node_ops=ge.ops_table.dir.node,o.stream_ops=ge.ops_table.dir.stream,o.contents={}):$e.isFile(o.mode)?(o.node_ops=ge.ops_table.file.node,o.stream_ops=ge.ops_table.file.stream,o.usedBytes=0,o.contents=null):$e.isLink(o.mode)?(o.node_ops=ge.ops_table.link.node,o.stream_ops=ge.ops_table.link.stream):$e.isChrdev(o.mode)&&(o.node_ops=ge.ops_table.chrdev.node,o.stream_ops=ge.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[t]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=$e.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,$e.isDir(e.mode)?t.size=4096:$e.isFile(e.mode)?t.size=e.usedBytes:$e.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&ge.resizeFileStorage(e,t.size)},lookup(e,t){throw $e.genericErrors[44]},mknod:(e,t,r,n)=>ge.createNode(e,t,r,n),rename(e,t,r){if($e.isDir(e.mode)){var n;try{n=$e.lookupNode(t,r)}catch(e){}if(n)for(var o in n.contents)throw new $e.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=$e.lookupNode(e,t);for(var n in r.contents)throw new $e.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r of Object.keys(e.contents))t.push(r);return t},symlink(e,t,r){var n=ge.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!$e.isLink(e.mode))throw new $e.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,o){var i=e.node.contents;if(o>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-o,n);if(s>8&&i.subarray)t.set(i.subarray(o,o+s),r);else for(var a=0;a<s;a++)t[r+a]=i[o+a];return s},write(e,t,r,n,o,i){if(t.buffer===b.buffer&&(i=!1),!n)return 0;var s=e.node;if(s.timestamp=Date.now(),t.subarray&&(!s.contents||s.contents.subarray)){if(i)return s.contents=t.subarray(r,r+n),s.usedBytes=n,n;if(0===s.usedBytes&&0===o)return s.contents=t.slice(r,r+n),s.usedBytes=n,n;if(o+n<=s.usedBytes)return s.contents.set(t.subarray(r,r+n),o),n}if(ge.expandFileStorage(s,o+n),s.contents.subarray&&t.subarray)s.contents.set(t.subarray(r,r+n),o);else for(var a=0;a<n;a++)s.contents[o+a]=t[r+a];return s.usedBytes=Math.max(s.usedBytes,o+n),n},llseek(e,t,r){var n=t;if(1===r?n+=e.position:2===r&&$e.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new $e.ErrnoError(28);return n},allocate(e,t,r){ge.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,n,o){if(!$e.isFile(e.node.mode))throw new $e.ErrnoError(43);var i,s,a=e.node.contents;if(2&o||!a||a.buffer!==b.buffer){if(s=!0,!(i=ye()))throw new $e.ErrnoError(48);a&&((r>0||r+t<a.length)&&(a=a.subarray?a.subarray(r,r+t):Array.prototype.slice.call(a,r,r+t)),b.set(a,i))}else s=!1,i=a.byteOffset;return{ptr:i,allocated:s}},msync:(e,t,r,n,o)=>(ge.stream_ops.write(e,t,0,n,r,!1),0)}},we=(e,t,r,n,o,i)=>{$e.createDataFile(e,t,r,n,o,i)},_e=o.preloadPlugins||[],Ee=(e,t,r,n,o,i,s,a,l,h)=>{var d=t?ae.resolve(ie.join2(e,t)):e;function u(r){function c(r){h?.(),a||we(e,t,r,n,o,l),i?.(),z()}((e,t,r,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return _e.forEach((i=>{o||i.canHandle(t)&&(i.handle(e,t,r,n),o=!0)})),o})(r,d,c,(()=>{s?.(),z()}))||c(r)}N(),"string"==typeof r?((e,t,r)=>{var n=`al ${e}`;c(e).then((e=>{t(new Uint8Array(e)),n&&z()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),n&&N()})(r,u,s):u(r)},be=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},$e={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){this.name="ErrnoError",this.errno=e}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.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{constructor(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=$e.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n,this.readMode=365,this.writeMode=146}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 $e.isDir(this.mode)}get isDevice(){return $e.isChrdev(this.mode)}},lookupPath(e,t={}){if(!(e=ae.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new $e.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),n=$e.root,o="/",i=0;i<r.length;i++){var s=i===r.length-1;if(s&&t.parent)break;if(n=$e.lookupNode(n,r[i]),o=ie.join2(o,r[i]),$e.isMountpoint(n)&&(!s||s&&t.follow_mount)&&(n=n.mounted.root),!s||t.follow)for(var a=0;$e.isLink(n.mode);){var l=$e.readlink(o);if(o=ae.resolve(ie.dirname(o),l),n=$e.lookupPath(o,{recurse_count:t.recurse_count+1}).node,a++>40)throw new $e.ErrnoError(32)}}return{path:o,node:n}},getPath(e){for(var t;;){if($e.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%$e.nameTable.length},hashAddNode(e){var t=$e.hashName(e.parent.id,e.name);e.name_next=$e.nameTable[t],$e.nameTable[t]=e},hashRemoveNode(e){var t=$e.hashName(e.parent.id,e.name);if($e.nameTable[t]===e)$e.nameTable[t]=e.name_next;else for(var r=$e.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=$e.mayLookup(e);if(r)throw new $e.ErrnoError(r);for(var n=$e.hashName(e.id,t),o=$e.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===e.id&&i===t)return o}return $e.lookup(e,t)},createNode(e,t,r,n){var o=new $e.FSNode(e,t,r,n);return $e.hashAddNode(o),o},destroyNode(e){$e.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>$e.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!$e.isDir(e.mode))return 54;var t=$e.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{return $e.lookupNode(e,t),20}catch(e){}return $e.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=$e.lookupNode(e,t)}catch(e){return e.errno}var o=$e.nodePermissions(e,"wx");if(o)return o;if(r){if(!$e.isDir(n.mode))return 54;if($e.isRoot(n)||$e.getPath(n)===$e.cwd())return 10}else if($e.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?$e.isLink(e.mode)?32:$e.isDir(e.mode)&&("r"!==$e.flagsToPermissionString(t)||512&t)?31:$e.nodePermissions(e,$e.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=$e.MAX_OPEN_FDS;e++)if(!$e.streams[e])return e;throw new $e.ErrnoError(33)},getStreamChecked(e){var t=$e.getStream(e);if(!t)throw new $e.ErrnoError(8);return t},getStream:e=>$e.streams[e],createStream:(e,t=-1)=>(e=Object.assign(new $e.FSStream,e),-1==t&&(t=$e.nextfd()),e.fd=t,$e.streams[t]=e,e),closeStream(e){$e.streams[e]=null},dupStream(e,t=-1){var r=$e.createStream(e,t);return r.stream_ops?.dup?.(r),r},chrdev_stream_ops:{open(e){var t=$e.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new $e.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){$e.devices[e]={stream_ops:t}},getDevice:e=>$e.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push(...n.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),$e.syncFSRequests++,$e.syncFSRequests>1&&w(`warning: ${$e.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=$e.getMounts($e.root.mount),n=0;function o(e){return $e.syncFSRequests--,t(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,o(e));++n>=r.length&&o(null)}r.forEach((t=>{if(!t.type.syncfs)return i(null);t.type.syncfs(t,e,i)}))},mount(e,t,r){var n,o="/"===r,i=!r;if(o&&$e.root)throw new $e.ErrnoError(10);if(!o&&!i){var s=$e.lookupPath(r,{follow_mount:!1});if(r=s.path,n=s.node,$e.isMountpoint(n))throw new $e.ErrnoError(10);if(!$e.isDir(n.mode))throw new $e.ErrnoError(54)}var a={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(a);return l.mount=a,a.root=l,o?$e.root=l:n&&(n.mounted=a,n.mount&&n.mount.mounts.push(a)),l},unmount(e){var t=$e.lookupPath(e,{follow_mount:!1});if(!$e.isMountpoint(t.node))throw new $e.ErrnoError(28);var r=t.node,n=r.mounted,o=$e.getMounts(n);Object.keys($e.nameTable).forEach((e=>{for(var t=$e.nameTable[e];t;){var r=t.name_next;o.includes(t.mount)&&$e.destroyNode(t),t=r}})),r.mounted=null;var i=r.mount.mounts.indexOf(n);r.mount.mounts.splice(i,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=$e.lookupPath(e,{parent:!0}).node,o=ie.basename(e);if(!o||"."===o||".."===o)throw new $e.ErrnoError(28);var i=$e.mayCreate(n,o);if(i)throw new $e.ErrnoError(i);if(!n.node_ops.mknod)throw new $e.ErrnoError(63);return n.node_ops.mknod(n,o,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,$e.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,$e.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),n="",o=0;o<r.length;++o)if(r[o]){n+="/"+r[o];try{$e.mkdir(n,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,$e.mknod(e,t,r)),symlink(e,t){if(!ae.resolve(e))throw new $e.ErrnoError(44);var r=$e.lookupPath(t,{parent:!0}).node;if(!r)throw new $e.ErrnoError(44);var n=ie.basename(t),o=$e.mayCreate(r,n);if(o)throw new $e.ErrnoError(o);if(!r.node_ops.symlink)throw new $e.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,o=ie.dirname(e),i=ie.dirname(t),s=ie.basename(e),a=ie.basename(t);if(r=$e.lookupPath(e,{parent:!0}).node,n=$e.lookupPath(t,{parent:!0}).node,!r||!n)throw new $e.ErrnoError(44);if(r.mount!==n.mount)throw new $e.ErrnoError(75);var l,h=$e.lookupNode(r,s),c=ae.relative(e,i);if("."!==c.charAt(0))throw new $e.ErrnoError(28);if("."!==(c=ae.relative(t,o)).charAt(0))throw new $e.ErrnoError(55);try{l=$e.lookupNode(n,a)}catch(e){}if(h!==l){var d=$e.isDir(h.mode),u=$e.mayDelete(r,s,d);if(u)throw new $e.ErrnoError(u);if(u=l?$e.mayDelete(n,a,d):$e.mayCreate(n,a))throw new $e.ErrnoError(u);if(!r.node_ops.rename)throw new $e.ErrnoError(63);if($e.isMountpoint(h)||l&&$e.isMountpoint(l))throw new $e.ErrnoError(10);if(n!==r&&(u=$e.nodePermissions(r,"w")))throw new $e.ErrnoError(u);$e.hashRemoveNode(h);try{r.node_ops.rename(h,n,a),h.parent=n}catch(e){throw e}finally{$e.hashAddNode(h)}}},rmdir(e){var t=$e.lookupPath(e,{parent:!0}).node,r=ie.basename(e),n=$e.lookupNode(t,r),o=$e.mayDelete(t,r,!0);if(o)throw new $e.ErrnoError(o);if(!t.node_ops.rmdir)throw new $e.ErrnoError(63);if($e.isMountpoint(n))throw new $e.ErrnoError(10);t.node_ops.rmdir(t,r),$e.destroyNode(n)},readdir(e){var t=$e.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new $e.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=$e.lookupPath(e,{parent:!0}).node;if(!t)throw new $e.ErrnoError(44);var r=ie.basename(e),n=$e.lookupNode(t,r),o=$e.mayDelete(t,r,!1);if(o)throw new $e.ErrnoError(o);if(!t.node_ops.unlink)throw new $e.ErrnoError(63);if($e.isMountpoint(n))throw new $e.ErrnoError(10);t.node_ops.unlink(t,r),$e.destroyNode(n)},readlink(e){var t=$e.lookupPath(e).node;if(!t)throw new $e.ErrnoError(44);if(!t.node_ops.readlink)throw new $e.ErrnoError(28);return ae.resolve($e.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=$e.lookupPath(e,{follow:!t}).node;if(!r)throw new $e.ErrnoError(44);if(!r.node_ops.getattr)throw new $e.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>$e.stat(e,!0),chmod(e,t,r){var n;if(!(n="string"==typeof e?$e.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new $e.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod(e,t){$e.chmod(e,t,!0)},fchmod(e,t){var r=$e.getStreamChecked(e);$e.chmod(r.node,t)},chown(e,t,r,n){var o;if(!(o="string"==typeof e?$e.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new $e.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(e,t,r){$e.chown(e,t,r,!0)},fchown(e,t,r){var n=$e.getStreamChecked(e);$e.chown(n.node,t,r)},truncate(e,t){if(t<0)throw new $e.ErrnoError(28);var r;if(!(r="string"==typeof e?$e.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new $e.ErrnoError(63);if($e.isDir(r.mode))throw new $e.ErrnoError(31);if(!$e.isFile(r.mode))throw new $e.ErrnoError(28);var n=$e.nodePermissions(r,"w");if(n)throw new $e.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=$e.getStreamChecked(e);if(!(2097155&r.flags))throw new $e.ErrnoError(28);$e.truncate(r.node,t)},utime(e,t,r){var n=$e.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new $e.ErrnoError(44);var n;if(r=64&(t="string"==typeof t?(e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t})(t):t)?4095&(r=void 0===r?438:r)|32768:0,"object"==typeof e)n=e;else{e=ie.normalize(e);try{n=$e.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var i=!1;if(64&t)if(n){if(128&t)throw new $e.ErrnoError(20)}else n=$e.mknod(e,r,0),i=!0;if(!n)throw new $e.ErrnoError(44);if($e.isChrdev(n.mode)&&(t&=-513),65536&t&&!$e.isDir(n.mode))throw new $e.ErrnoError(54);if(!i){var s=$e.mayOpen(n,t);if(s)throw new $e.ErrnoError(s)}512&t&&!i&&$e.truncate(n,0),t&=-131713;var a=$e.createStream({node:n,path:$e.getPath(n),flags:t,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!o.logReadFiles||1&t||($e.readFiles||($e.readFiles={}),e in $e.readFiles||($e.readFiles[e]=1)),a},close(e){if($e.isClosed(e))throw new $e.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{$e.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if($e.isClosed(e))throw new $e.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new $e.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new $e.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,o){if(n<0||o<0)throw new $e.ErrnoError(28);if($e.isClosed(e))throw new $e.ErrnoError(8);if(1==(2097155&e.flags))throw new $e.ErrnoError(8);if($e.isDir(e.node.mode))throw new $e.ErrnoError(31);if(!e.stream_ops.read)throw new $e.ErrnoError(28);var i=void 0!==o;if(i){if(!e.seekable)throw new $e.ErrnoError(70)}else o=e.position;var s=e.stream_ops.read(e,t,r,n,o);return i||(e.position+=s),s},write(e,t,r,n,o,i){if(n<0||o<0)throw new $e.ErrnoError(28);if($e.isClosed(e))throw new $e.ErrnoError(8);if(!(2097155&e.flags))throw new $e.ErrnoError(8);if($e.isDir(e.node.mode))throw new $e.ErrnoError(31);if(!e.stream_ops.write)throw new $e.ErrnoError(28);e.seekable&&1024&e.flags&&$e.llseek(e,0,2);var s=void 0!==o;if(s){if(!e.seekable)throw new $e.ErrnoError(70)}else o=e.position;var a=e.stream_ops.write(e,t,r,n,o,i);return s||(e.position+=a),a},allocate(e,t,r){if($e.isClosed(e))throw new $e.ErrnoError(8);if(t<0||r<=0)throw new $e.ErrnoError(28);if(!(2097155&e.flags))throw new $e.ErrnoError(8);if(!$e.isFile(e.node.mode)&&!$e.isDir(e.node.mode))throw new $e.ErrnoError(43);if(!e.stream_ops.allocate)throw new $e.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,n,o){if(2&n&&!(2&o)&&2!=(2097155&e.flags))throw new $e.ErrnoError(2);if(1==(2097155&e.flags))throw new $e.ErrnoError(2);if(!e.stream_ops.mmap)throw new $e.ErrnoError(43);if(!t)throw new $e.ErrnoError(28);return e.stream_ops.mmap(e,t,r,n,o)},msync:(e,t,r,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,o):0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new $e.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,n=$e.open(e,t.flags),o=$e.stat(e).size,i=new Uint8Array(o);return $e.read(n,i,0,o,0),"utf8"===t.encoding?r=te(i,0):"binary"===t.encoding&&(r=i),$e.close(n),r},writeFile(e,t,r={}){r.flags=r.flags||577;var n=$e.open(e,r.flags,r.mode);if("string"==typeof t){var o=new Uint8Array(he(t)+1),i=ce(t,o,0,o.length);$e.write(n,o,0,i,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");$e.write(n,t,0,t.byteLength,void 0,r.canOwn)}$e.close(n)},cwd:()=>$e.currentPath,chdir(e){var t=$e.lookupPath(e,{follow:!0});if(null===t.node)throw new $e.ErrnoError(44);if(!$e.isDir(t.node.mode))throw new $e.ErrnoError(54);var r=$e.nodePermissions(t.node,"x");if(r)throw new $e.ErrnoError(r);$e.currentPath=t.path},createDefaultDirectories(){$e.mkdir("/tmp"),$e.mkdir("/home"),$e.mkdir("/home/web_user")},createDefaultDevices(){$e.mkdir("/dev"),$e.registerDevice($e.makedev(1,3),{read:()=>0,write:(e,t,r,n,o)=>n}),$e.mkdev("/dev/null",$e.makedev(1,3)),me.register($e.makedev(5,0),me.default_tty_ops),me.register($e.makedev(6,0),me.default_tty1_ops),$e.mkdev("/dev/tty",$e.makedev(5,0)),$e.mkdev("/dev/tty1",$e.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=se(e).byteLength),e[--t]);$e.createDevice("/dev","random",r),$e.createDevice("/dev","urandom",r),$e.mkdir("/dev/shm"),$e.mkdir("/dev/shm/tmp")},createSpecialDirectories(){$e.mkdir("/proc");var e=$e.mkdir("/proc/self");$e.mkdir("/proc/self/fd"),$e.mount({mount(){var t=$e.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,n=$e.getStreamChecked(r),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},t}},{},"/proc/self/fd")},createStandardStreams(e,t,r){e?$e.createDevice("/dev","stdin",e):$e.symlink("/dev/tty","/dev/stdin"),t?$e.createDevice("/dev","stdout",null,t):$e.symlink("/dev/tty","/dev/stdout"),r?$e.createDevice("/dev","stderr",null,r):$e.symlink("/dev/tty1","/dev/stderr"),$e.open("/dev/stdin",0),$e.open("/dev/stdout",1),$e.open("/dev/stderr",1)},staticInit(){[44].forEach((e=>{$e.genericErrors[e]=new $e.ErrnoError(e),$e.genericErrors[e].stack="<generic error, no stack>"})),$e.nameTable=new Array(4096),$e.mount(ge,{},"/"),$e.createDefaultDirectories(),$e.createDefaultDevices(),$e.createSpecialDirectories(),$e.filesystems={MEMFS:ge}},init(e,t,r){$e.initialized=!0,e??=o.stdin,t??=o.stdout,r??=o.stderr,$e.createStandardStreams(e,t,r)},quit(){$e.initialized=!1;for(var e=0;e<$e.streams.length;e++){var t=$e.streams[e];t&&$e.close(t)}},findObject(e,t){var r=$e.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{e=(n=$e.lookupPath(e,{follow:!t})).path}catch(e){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=$e.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=ie.basename(e),n=$e.lookupPath(e,{follow:!t}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot="/"===n.path}catch(e){r.error=e.errno}return r},createPath(e,t,r,n){e="string"==typeof e?e:$e.getPath(e);for(var o=t.split("/").reverse();o.length;){var i=o.pop();if(i){var s=ie.join2(e,i);try{$e.mkdir(s)}catch(e){}e=s}}return s},createFile(e,t,r,n,o){var i=ie.join2("string"==typeof e?e:$e.getPath(e),t),s=be(n,o);return $e.create(i,s)},createDataFile(e,t,r,n,o,i){var s=t;e&&(e="string"==typeof e?e:$e.getPath(e),s=t?ie.join2(e,t):e);var a=be(n,o),l=$e.create(s,a);if(r){if("string"==typeof r){for(var h=new Array(r.length),c=0,d=r.length;c<d;++c)h[c]=r.charCodeAt(c);r=h}$e.chmod(l,146|a);var u=$e.open(l,577);$e.write(u,r,0,r.length,0,i),$e.close(u),$e.chmod(l,a)}},createDevice(e,t,r,n){var o=ie.join2("string"==typeof e?e:$e.getPath(e),t),i=be(!!r,!!n);$e.createDevice.major||($e.createDevice.major=64);var s=$e.makedev($e.createDevice.major++,0);return $e.registerDevice(s,{open(e){e.seekable=!1},close(e){n?.buffer?.length&&n(10)},read(e,t,n,o,i){for(var s=0,a=0;a<o;a++){var l;try{l=r()}catch(e){throw new $e.ErrnoError(29)}if(void 0===l&&0===s)throw new $e.ErrnoError(6);if(null==l)break;s++,t[n+a]=l}return s&&(e.node.timestamp=Date.now()),s},write(e,t,r,o,i){for(var s=0;s<o;s++)try{n(t[r+s])}catch(e){throw new $e.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),s}}),$e.mkdev(o,i,s)},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=d(e.url),e.usedBytes=e.contents.length}catch(e){throw new $e.ErrnoError(29)}},createLazyFile(e,t,r,n,o){class i{constructor(){this.lengthKnown=!1,this.chunks=[]}get(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}}setDataGetter(e){this.getter=e}cacheLength(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,i=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,s=1048576;o||(s=n);var a=this;a.setDataGetter((e=>{var t=e*s,o=(e+1)*s-1;if(o=Math.min(o,n-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",r,!1),n!==s&&o.setRequestHeader("Range","bytes="+e+"-"+t),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+r+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):de(o.responseText||"")})(t,o)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!i&&n||(s=n=1,n=this.getter(0).length,s=n,g("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=s,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if("undefined"!=typeof XMLHttpRequest){if(!a)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 i}}else s={isDevice:!1,url:r};var l=$e.createFile(e,t,s,n,o);s.contents?l.contents=s.contents:s.url&&(l.contents=null,l.url=s.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var h={};function c(e,t,r,n,o){var i=e.node.contents;if(o>=i.length)return 0;var s=Math.min(i.length-o,n);if(i.slice)for(var a=0;a<s;a++)t[r+a]=i[o+a];else for(a=0;a<s;a++)t[r+a]=i.get(o+a);return s}return Object.keys(l.stream_ops).forEach((e=>{var t=l.stream_ops[e];h[e]=(...e)=>($e.forceLoadFile(l),t(...e))})),h.read=(e,t,r,n,o)=>($e.forceLoadFile(l),c(e,t,r,n,o)),h.mmap=(e,t,r,n,o)=>{$e.forceLoadFile(l);var i=ye();if(!i)throw new $e.ErrnoError(48);return c(e,b,i,t,r),{ptr:i,allocated:!0}},l.stream_ops=h,l}},Ae={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ie.isAbs(t))return t;var n;if(n=-100===e?$e.cwd():Ae.getStreamFromFD(e).path,0==t.length){if(!r)throw new $e.ErrnoError(44);return n}return ie.join2(n,t)},doStat(e,t,r){var n=e(t);S[r>>2]=n.dev,S[r+4>>2]=n.mode,k[r+8>>2]=n.nlink,S[r+12>>2]=n.uid,S[r+16>>2]=n.gid,S[r+20>>2]=n.rdev,B=[n.size>>>0,(H=n.size,+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],S[r+24>>2]=B[0],S[r+28>>2]=B[1],S[r+32>>2]=4096,S[r+36>>2]=n.blocks;var o=n.atime.getTime(),i=n.mtime.getTime(),s=n.ctime.getTime();return B=[Math.floor(o/1e3)>>>0,(H=Math.floor(o/1e3),+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],S[r+40>>2]=B[0],S[r+44>>2]=B[1],k[r+48>>2]=o%1e3*1e3*1e3,B=[Math.floor(i/1e3)>>>0,(H=Math.floor(i/1e3),+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],S[r+56>>2]=B[0],S[r+60>>2]=B[1],k[r+64>>2]=i%1e3*1e3*1e3,B=[Math.floor(s/1e3)>>>0,(H=Math.floor(s/1e3),+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],S[r+72>>2]=B[0],S[r+76>>2]=B[1],k[r+80>>2]=s%1e3*1e3*1e3,B=[n.ino>>>0,(H=n.ino,+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],S[r+88>>2]=B[0],S[r+92>>2]=B[1],0},doMsync(e,t,r,n,o){if(!$e.isFile(t.node.mode))throw new $e.ErrnoError(43);if(2&n)return 0;var i=$.slice(e,e+r);$e.msync(t,i,o,r,n)},getStreamFromFD:e=>$e.getStreamChecked(e),varargs:void 0,getStr:e=>re(e)},Pe=e=>{for(var t="",r=e;$[r];)t+=ue[$[r++]];return t},Se={},ke={},Te={},Ce=e=>{throw new pe(e)},Fe=e=>{throw new fe(e)},De=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&Fe("Mismatched type converter count");for(var o=0;o<e.length;++o)Re(e[o],n[o])}e.forEach((e=>Te[e]=t));var o=new Array(t.length),i=[],s=0;t.forEach(((e,t)=>{ke.hasOwnProperty(e)?o[t]=ke[e]:(i.push(e),Se.hasOwnProperty(e)||(Se[e]=[]),Se[e].push((()=>{o[t]=ke[e],++s===i.length&&n(o)})))})),0===i.length&&n(o)};function Re(e,t,r={}){return function(e,t,r={}){var n=t.name;if(e||Ce(`type "${n}" must have a positive integer typeid pointer`),ke.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Ce(`Cannot register type '${n}' twice`)}if(ke[e]=t,delete Te[e],Se.hasOwnProperty(e)){var o=Se[e];delete Se[e],o.forEach((e=>e()))}}(e,t,r)}var Ue,je=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Oe=e=>{Ce(e.$$.ptrType.registeredClass.name+" instance already deleted")},xe=!1,Ne=e=>{},ze=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},Le=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=Le(e,t,r.baseClass);return null===n?null:r.downcast(n)},Ie={},He=()=>Object.keys(qe).length,Be=()=>{var e=[];for(var t in qe)qe.hasOwnProperty(t)&&e.push(qe[t]);return e},Ve=[],We=()=>{for(;Ve.length;){var e=Ve.pop();e.$$.deleteScheduled=!1,e.delete()}},Ge=e=>{Ue=e,Ve.length&&Ue&&Ue(We)},qe={},Xe=(e,t)=>(t=((e,t)=>{for(void 0===t&&Ce("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t})(e,t),qe[t]),Je=(e,t)=>(t.ptrType&&t.ptr||Fe("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Fe("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Ze(Object.create(e,{$$:{value:t,writable:!0}})));function Ke(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=Xe(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?Je(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Je(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i,s=this.registeredClass.getActualType(t),a=Ie[s];if(!a)return o.call(this);i=this.isConst?a.constPointerType:a.pointerType;var l=Le(t,this.registeredClass,i.registeredClass);return null===l?o.call(this):this.isSmartPointer?Je(i.registeredClass.instancePrototype,{ptrType:i,ptr:l,smartPtrType:this,smartPtr:e}):Je(i.registeredClass.instancePrototype,{ptrType:i,ptr:l})}var Ze=e=>"undefined"==typeof FinalizationRegistry?(Ze=e=>e,e):(xe=new FinalizationRegistry((e=>{ze(e.$$)})),Ze=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};xe.register(e,r,e)}return e},Ne=e=>xe.unregister(e),Ze(e));function Qe(){}var Ye=(e,t)=>Object.defineProperty(t,"name",{value:e}),et=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(...n){return e[t].overloadTable.hasOwnProperty(n.length)||Ce(`Function '${r}' called with an invalid number of arguments (${n.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[n.length].apply(this,n)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},tt=(e,t,r)=>{o.hasOwnProperty(e)?((void 0===r||void 0!==o[e].overloadTable&&void 0!==o[e].overloadTable[r])&&Ce(`Cannot register public name '${e}' twice`),et(o,e,e),o.hasOwnProperty(r)&&Ce(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),o[e].overloadTable[r]=t):(o[e]=t,void 0!==r&&(o[e].numArguments=r))};function rt(e,t,r,n,o,i,s,a){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=o,this.getActualType=i,this.upcast=s,this.downcast=a,this.pureVirtualFunctions=[]}var nt=(e,t,r)=>{for(;t!==r;)t.upcast||Ce(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function ot(e,t){if(null===t)return this.isReference&&Ce(`null is not a valid ${this.name}`),0;t.$$||Ce(`Cannot pass "${Tt(t)}" as a ${this.name}`),t.$$.ptr||Ce(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return nt(t.$$.ptr,r,this.registeredClass)}function it(e,t){var r;if(null===t)return this.isReference&&Ce(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t&&t.$$||Ce(`Cannot pass "${Tt(t)}" as a ${this.name}`),t.$$.ptr||Ce(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&Ce(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(r=nt(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Ce("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:Ce(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var o=t.clone();r=this.rawShare(r,St.toHandle((()=>o.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:Ce("Unsupporting sharing policy")}return r}function st(e,t){if(null===t)return this.isReference&&Ce(`null is not a valid ${this.name}`),0;t.$$||Ce(`Cannot pass "${Tt(t)}" as a ${this.name}`),t.$$.ptr||Ce(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&Ce(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return nt(t.$$.ptr,r,this.registeredClass)}function at(e){return this.fromWireType(k[e>>2])}function lt(e,t,r,n,o,i,s,a,l,h,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=o,this.pointeeType=i,this.sharingPolicy=s,this.rawGetPointee=a,this.rawConstructor=l,this.rawShare=h,this.rawDestructor=c,o||void 0!==t.baseClass?this.toWireType=it:n?(this.toWireType=ot,this.destructorFunction=null):(this.toWireType=st,this.destructorFunction=null)}var ht,ct,dt=(e,t,r)=>{o.hasOwnProperty(e)||Fe("Replacing nonexistent public symbol"),void 0!==o[e].overloadTable&&void 0!==r?o[e].overloadTable[r]=t:(o[e]=t,o[e].argCount=r)},ut=e=>ht.get(e),pt=(e,t,r=[])=>e.includes("j")?((e,t,r)=>(e=e.replace(/p/g,"i"),(0,o["dynCall_"+e])(t,...r)))(e,t,r):ut(t)(...r),ft=(e,t)=>{var r,n,o=(e=Pe(e)).includes("j")?(r=e,n=t,(...e)=>pt(r,n,e)):ut(t);return"function"!=typeof o&&Ce(`unknown function pointer with signature ${e}: ${t}`),o},mt=e=>{var t=sr(e),r=Pe(t);return or(t),r},vt=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){n[t]||ke[t]||(Te[t]?Te[t].forEach(e):(r.push(t),n[t]=!0))})),new ct(`${e}: `+r.map(mt).join([", "]))},yt=(e,t)=>{for(var r=[],n=0;n<e;n++)r.push(k[t+4*n>>2]);return r},gt=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function wt(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].destructorFunction)return!0;return!1}function _t(e,t,r,n,o,i){var s=t.length;s<2&&Ce("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==r,l=wt(t),h="void"!==t[0].name,c=[e,Ce,n,o,gt,t[0],t[1]],d=0;d<s-2;++d)c.push(t[d+2]);if(!l)for(d=a?1:2;d<t.length;++d)null!==t[d].destructorFunction&&c.push(t[d].destructorFunction);let[u,p]=function(e,t,r,n){var o=wt(e),i=e.length-2,s=[],a=["fn"];t&&a.push("thisWired");for(var l=0;l<i;++l)s.push(`arg${l}`),a.push(`arg${l}Wired`);s=s.join(","),a=a.join(",");var h=`\n return function (${s}) {\n if (arguments.length !== ${i}) {\n throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ${i}');\n }`;o&&(h+="var destructors = [];\n");var c=o?"destructors":"null",d=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(t&&(h+=`var thisWired = classParam['toWireType'](${c}, this);\n`),l=0;l<i;++l)h+=`var arg${l}Wired = argType${l}['toWireType'](${c}, arg${l});\n`,d.push(`argType${l}`);if(h+=(r||n?"var rv = ":"")+`invoker(${a});\n`,o)h+="runDestructors(destructors);\n";else for(l=t?1:2;l<e.length;++l){var u=1===l?"thisWired":"arg"+(l-2)+"Wired";null!==e[l].destructorFunction&&(h+=`${u}_dtor(${u});\n`,d.push(`${u}_dtor`))}return r&&(h+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),[d,h+="}\n"]}(t,a,h,i);u.push(p);var f=function(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=Ye(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,o=e.apply(n,t);return o instanceof Object?o:n}(Function,u)(...c);return Ye(e,f)}var Et,bt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},$t=[],At=[],Pt=()=>At.length/2-5-$t.length,St={toValue:e=>(e||Ce("Cannot use deleted val. handle = "+e),At[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const t=$t.pop()||At.length;return At[t]=e,At[t+1]=1,t}}}},kt={name:"emscripten::val",fromWireType:e=>{var t=St.toValue(e);return(e=>{e>9&&0==--At[e+1]&&(At[e]=void 0,$t.push(e))})(e),t},toWireType:(e,t)=>St.toHandle(t),argPackAdvance:8,readValueFromPointer:at,destructorFunction:null},Tt=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},Ct=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(T[e>>2])};case 8:return function(e){return this.fromWireType(C[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Ft=(e,t,r)=>{switch(t){case 1:return r?e=>b[e]:e=>$[e];case 2:return r?e=>A[e>>1]:e=>P[e>>1];case 4:return r?e=>S[e>>2]:e=>k[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Dt=(e,t,r)=>ce(e,$,t,r),Rt="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Ut=(e,t)=>{for(var r=e,n=r>>1,o=n+t/2;!(n>=o)&&P[n];)++n;if((r=n<<1)-e>32&&Rt)return Rt.decode($.subarray(e,r));for(var i="",s=0;!(s>=t/2);++s){var a=A[e+2*s>>1];if(0==a)break;i+=String.fromCharCode(a)}return i},Mt=(e,t,r)=>{if(r??=2147483647,r<2)return 0;for(var n=t,o=(r-=2)<2*e.length?r/2:e.length,i=0;i<o;++i){var s=e.charCodeAt(i);A[t>>1]=s,t+=2}return A[t>>1]=0,t-n},jt=e=>2*e.length,Ot=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var o=S[e+4*r>>2];if(0==o)break;if(++r,o>=65536){var i=o-65536;n+=String.fromCharCode(55296|i>>10,56320|1023&i)}else n+=String.fromCharCode(o)}return n},xt=(e,t,r)=>{if(r??=2147483647,r<4)return 0;for(var n=t,o=n+r-4,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),S[t>>2]=s,(t+=4)+4>o)break}return S[t>>2]=0,t-n},Nt=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n>=55296&&n<=57343&&++r,t+=4}return t},zt={},Lt=e=>{if(e instanceof J||"unwind"==e)return E;f(1,e)},It=0,Ht=()=>Z||It>0,Bt=e=>{E=e,Ht()||(o.onExit?.(e),D=!0),f(e,new J(e))},Vt=(e,t)=>{E=e,Bt(e)},Wt=e=>{if(!D)try{e(),(()=>{if(!Ht())try{Vt(E)}catch(e){Lt(e)}})()}catch(e){Lt(e)}};Et=()=>performance.now();var Gt,qt,Xt,Jt=e=>{var t=(e-_.buffer.byteLength+65535)/65536;try{return _.grow(t),R(),1}catch(e){}},Kt={},Zt=()=>{if(!Zt.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:p||"./this.program"};for(var t in Kt)void 0===Kt[t]?delete e[t]:e[t]=Kt[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);Zt.strings=r}return Zt.strings},Qt=$e.createPath,Yt=$e.createLazyFile,er=$e.createDevice;$e.createPreloadedFile=Ee,$e.staticInit(),o.FS_createPath=$e.createPath,o.FS_createDataFile=$e.createDataFile,o.FS_createPreloadedFile=$e.createPreloadedFile,o.FS_unlink=$e.unlink,o.FS_createLazyFile=$e.createLazyFile,o.FS_createDevice=$e.createDevice,(()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);ue=e})(),pe=o.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},fe=o.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Object.assign(Qe.prototype,{isAliasOf(e){if(!(this instanceof Qe))return!1;if(!(e instanceof Qe))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return t===n&&r===o},clone(){if(this.$$.ptr||Oe(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=Ze(Object.create(Object.getPrototypeOf(this),{$$:{value:je(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Oe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ce("Object already scheduled for deletion"),Ne(this),ze(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Oe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ce("Object already scheduled for deletion"),Ve.push(this),1===Ve.length&&Ue&&Ue(We),this.$$.deleteScheduled=!0,this}}),o.getInheritedInstanceCount=He,o.getLiveInheritedInstances=Be,o.flushPendingDeletes=We,o.setDelayFunction=Ge,Object.assign(lt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor?.(e)},argPackAdvance:8,readValueFromPointer:at,fromWireType:Ke}),ct=o.UnboundTypeError=(Gt=Error,(Xt=Ye(qt="UnboundTypeError",(function(e){this.name=qt,this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(Gt.prototype),Xt.prototype.constructor=Xt,Xt.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},Xt),At.push(0,1,void 0,1,null,1,!0,1,!1,1),o.count_emval_handles=Pt;var tr,rr={c:(e,t,r,n)=>{L(`Assertion failed: ${re(e)}, at: `+[t?re(t):"unknown filename",r,n?re(n):"unknown function"])},q:function(e,t,r){Ae.varargs=r;try{var n=Ae.getStreamFromFD(e);switch(t){case 0:if((o=ne())<0)return-28;for(;$e.streams[o];)o++;return $e.dupStream(n,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=ne();return n.flags|=o,0;case 12:return o=oe(),A[o+0>>1]=2,0}return-28}catch(e){if(void 0===$e||"ErrnoError"!==e.name)throw e;return-e.errno}},L:function(e,t,r){Ae.varargs=r;try{var n=Ae.getStreamFromFD(e);switch(t){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var o=n.tty.ops.ioctl_tcgets(n),i=oe();S[i>>2]=o.c_iflag||0,S[i+4>>2]=o.c_oflag||0,S[i+8>>2]=o.c_cflag||0,S[i+12>>2]=o.c_lflag||0;for(var s=0;s<32;s++)b[i+s+17]=o.c_cc[s]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){i=oe();var a=S[i>>2],l=S[i+4>>2],h=S[i+8>>2],c=S[i+12>>2],d=[];for(s=0;s<32;s++)d.push(b[i+s+17]);return n.tty.ops.ioctl_tcsets(n.tty,t,{c_iflag:a,c_oflag:l,c_cflag:h,c_lflag:c,c_cc:d})}return 0;case 21519:return n.tty?(i=oe(),S[i>>2]=0,0):-59;case 21520:return n.tty?-28:-59;case 21531:return i=oe(),$e.ioctl(n,t,i);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var u=n.tty.ops.ioctl_tiocgwinsz(n.tty);i=oe(),A[i>>1]=u[0],A[i+2>>1]=u[1]}return 0;default:return-28}}catch(e){if(void 0===$e||"ErrnoError"!==e.name)throw e;return-e.errno}},M:function(e,t,r,n){Ae.varargs=n;try{t=Ae.getStr(t),t=Ae.calculateAt(e,t);var o=n?ne():0;return $e.open(t,r,o).fd}catch(e){if(void 0===$e||"ErrnoError"!==e.name)throw e;return-e.errno}},N:()=>{L("")},x:(e,t,r,n,o)=>{},t:(e,t,r,n)=>{Re(e,{name:t=Pe(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:8,readValueFromPointer:function(e){return this.fromWireType($[e])},destructorFunction:null})},I:(e,t,r,n,o,i,s,a,l,h,c,d,u)=>{c=Pe(c),i=ft(o,i),a&&=ft(s,a),h&&=ft(l,h),u=ft(d,u);var p=(e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?`_${e}`:e})(c);tt(p,(function(){vt(`Cannot construct ${c} due to unbound types`,[n])})),De([e,t,r],n?[n]:[],(t=>{var r,o;t=t[0],o=n?(r=t.registeredClass).instancePrototype:Qe.prototype;var s=Ye(c,(function(...e){if(Object.getPrototypeOf(this)!==l)throw new pe("Use 'new' to construct "+c);if(void 0===d.constructor_body)throw new pe(c+" has no accessible constructor");var t=d.constructor_body[e.length];if(void 0===t)throw new pe(`Tried to invoke ctor of ${c} with invalid number of parameters (${e.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return t.apply(this,e)})),l=Object.create(o,{constructor:{value:s}});s.prototype=l;var d=new rt(c,s,l,u,r,i,a,h);d.baseClass&&(d.baseClass.__derivedClasses??=[],d.baseClass.__derivedClasses.push(d));var f=new lt(c,d,!0,!1,!1),m=new lt(c+"*",d,!1,!1,!1),v=new lt(c+" const*",d,!1,!0,!1);return Ie[e]={pointerType:m,constPointerType:v},dt(p,s),[f,m,v]}))},y:(e,t,r,n,o,i)=>{var s=yt(t,r);o=ft(n,o),De([],[e],(e=>{var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new pe(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{vt(`Cannot construct ${e.name} due to unbound types`,s)},De([],s,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=_t(r,n,null,o,i),[]))),[]}))},i:(e,t,r,n,o,i,s,a,l)=>{var h=yt(r,n);t=Pe(t),t=bt(t),i=ft(o,i),De([],[e],(e=>{var n=`${(e=e[0]).name}.${t}`;function o(){vt(`Cannot call ${n} due to unbound types`,h)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,d=c[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(o.argCount=r-2,o.className=e.name,c[t]=o):(et(c,t,n),c[t].overloadTable[r-2]=o),De([],h,(o=>{var a=_t(n,o,e,i,s,l);return void 0===c[t].overloadTable?(a.argCount=r-2,c[t]=a):c[t].overloadTable[r-2]=a,[]})),[]}))},O:e=>Re(e,kt),r:(e,t,r)=>{Re(e,{name:t=Pe(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:8,readValueFromPointer:Ct(t,r),destructorFunction:null})},s:(e,t,r,n,o,i,s)=>{var a=yt(t,r);e=Pe(e),e=bt(e),o=ft(n,o),tt(e,(function(){vt(`Cannot call ${e} due to unbound types`,a)}),t-1),De([],a,(r=>{var n=[r[0],null].concat(r.slice(1));return dt(e,_t(e,n,null,o,i,s),t-1),[]}))},j:(e,t,r,n,o)=>{t=Pe(t);var i=e=>e;if(0===n){var s=32-8*r;i=e=>e<<s>>>s}var a=t.includes("unsigned");Re(e,{name:t,fromWireType:i,toWireType:a?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:Ft(t,r,0!==n),destructorFunction:null})},g:(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function o(e){var t=k[e>>2],r=k[e+4>>2];return new n(b.buffer,r,t)}Re(e,{name:r=Pe(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},o:(e,t)=>{var r="std::string"===(t=Pe(t));Re(e,{name:t,fromWireType(e){var t,n=k[e>>2],o=e+4;if(r)for(var i=o,s=0;s<=n;++s){var a=o+s;if(s==n||0==$[a]){var l=re(i,a-i);void 0===t?t=l:(t+=String.fromCharCode(0),t+=l),i=a+1}}else{var h=new Array(n);for(s=0;s<n;++s)h[s]=String.fromCharCode($[o+s]);t=h.join("")}return or(e),t},toWireType(e,t){var n;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var o="string"==typeof t;o||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||Ce("Cannot pass non-string to std::string"),n=r&&o?he(t):t.length;var i=ir(4+n+1),s=i+4;if(k[i>>2]=n,r&&o)Dt(t,s,n+1);else if(o)for(var a=0;a<n;++a){var l=t.charCodeAt(a);l>255&&(or(s),Ce("String has UTF-16 code units that do not fit in 8 bits")),$[s+a]=l}else for(a=0;a<n;++a)$[s+a]=t[a];return null!==e&&e.push(or,i),i},argPackAdvance:8,readValueFromPointer:at,destructorFunction(e){or(e)}})},n:(e,t,r)=>{var n,o,i,s;r=Pe(r),2===t?(n=Ut,o=Mt,s=jt,i=e=>P[e>>1]):4===t&&(n=Ot,o=xt,s=Nt,i=e=>k[e>>2]),Re(e,{name:r,fromWireType:e=>{for(var r,o=k[e>>2],s=e+4,a=0;a<=o;++a){var l=e+4+a*t;if(a==o||0==i(l)){var h=n(s,l-s);void 0===r?r=h:(r+=String.fromCharCode(0),r+=h),s=l+t}}return or(e),r},toWireType:(e,n)=>{"string"!=typeof n&&Ce(`Cannot pass non-string to C++ string type ${r}`);var i=s(n),a=ir(4+i+t);return k[a>>2]=i/t,o(n,a+4,i+t),null!==e&&e.push(or,a),a},argPackAdvance:8,readValueFromPointer:at,destructorFunction(e){or(e)}})},u:(e,t)=>{Re(e,{isVoid:!0,name:t=Pe(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},H:(e,t,r)=>$.copyWithin(e,t,t+r),B:()=>{Z=!1,It=0},z:()=>{throw 1/0},k:(e,t)=>{var r,n,o;n="_emval_take_value",void 0===(o=ke[r=e])&&Ce(`${n} has unknown type ${mt(r)}`);var i=(e=o).readValueFromPointer(t);return St.toHandle(i)},C:(e,t)=>{if(zt[e]&&(clearTimeout(zt[e].id),delete zt[e]),!t)return 0;var r=setTimeout((()=>{delete zt[e],Wt((()=>ar(e,Et())))}),t);return zt[e]={id:r,timeout_ms:t},0},D:(e,t,r,n)=>{var o=(new Date).getFullYear(),i=new Date(o,0,1),s=new Date(o,6,1),a=i.getTimezoneOffset(),l=s.getTimezoneOffset(),h=Math.max(a,l);k[e>>2]=60*h,S[t>>2]=Number(a!=l);var c=e=>{var t=e>=0?"-":"+",r=Math.abs(e);return`UTC${t}${String(Math.floor(r/60)).padStart(2,"0")}${String(r%60).padStart(2,"0")}`},d=c(a),u=c(l);l<a?(Dt(d,r,17),Dt(u,n,17)):(Dt(d,n,17),Dt(u,r,17))},G:e=>{var t,r,n=$.length,o=2147483648;if((e>>>=0)>o)return!1;for(var i=1;i<=4;i*=2){var s=n*(1+.2/i);s=Math.min(s,e+100663296);var a=Math.min(o,(t=Math.max(e,s),r=65536,Math.ceil(t/r)*r));if(Jt(a))return!0}return!1},E:(e,t)=>{var r=0;return Zt().forEach(((n,o)=>{var i=t+r;k[e+4*o>>2]=i,((e,t)=>{for(var r=0;r<e.length;++r)b[t++]=e.charCodeAt(r);b[t]=0})(n,i),r+=n.length+1})),0},F:(e,t)=>{var r=Zt();k[e>>2]=r.length;var n=0;return r.forEach((e=>n+=e.length+1)),k[t>>2]=n,0},p:function(e){try{var t=Ae.getStreamFromFD(e);return $e.close(t),0}catch(e){if(void 0===$e||"ErrnoError"!==e.name)throw e;return e.errno}},K:function(e,t,r,n){try{var o=((e,t,r,n)=>{for(var o=0,i=0;i<r;i++){var s=k[t>>2],a=k[t+4>>2];t+=8;var l=$e.read(e,b,s,a,n);if(l<0)return-1;if(o+=l,l<a)break}return o})(Ae.getStreamFromFD(e),t,r);return k[n>>2]=o,0}catch(e){if(void 0===$e||"ErrnoError"!==e.name)throw e;return e.errno}},w:function(e,t,r,n,o){var i,s,a=(s=r)+2097152>>>0<4194305-!!(i=t)?(i>>>0)+4294967296*s:NaN;try{if(isNaN(a))return 61;var l=Ae.getStreamFromFD(e);return $e.llseek(l,a,n),B=[l.position>>>0,(H=l.position,+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],S[o>>2]=B[0],S[o+4>>2]=B[1],l.getdents&&0===a&&0===n&&(l.getdents=null),0}catch(e){if(void 0===$e||"ErrnoError"!==e.name)throw e;return e.errno}},J:function(e,t,r,n){try{var o=((e,t,r,n)=>{for(var o=0,i=0;i<r;i++){var s=k[t>>2],a=k[t+4>>2];t+=8;var l=$e.write(e,b,s,a,n);if(l<0)return-1;if(o+=l,l<a)break}return o})(Ae.getStreamFromFD(e),t,r);return k[n>>2]=o,0}catch(e){if(void 0===$e||"ErrnoError"!==e.name)throw e;return e.errno}},h:function(e,t){var r=Y();try{return ut(e)(t)}catch(e){if(Q(r),e!==e+0)throw e;lr(1,0)}},f:function(e,t,r){var n=Y();try{return ut(e)(t,r)}catch(e){if(Q(n),e!==e+0)throw e;lr(1,0)}},d:function(e,t,r,n){var o=Y();try{return ut(e)(t,r,n)}catch(e){if(Q(o),e!==e+0)throw e;lr(1,0)}},m:function(e,t,r,n,o,i){var s=Y();try{return ut(e)(t,r,n,o,i)}catch(e){if(Q(s),e!==e+0)throw e;lr(1,0)}},a:function(e,t){var r=Y();try{ut(e)(t)}catch(e){if(Q(r),e!==e+0)throw e;lr(1,0)}},b:function(e,t,r){var n=Y();try{ut(e)(t,r)}catch(e){if(Q(n),e!==e+0)throw e;lr(1,0)}},e:function(e,t,r,n){var o=Y();try{ut(e)(t,r,n)}catch(e){if(Q(o),e!==e+0)throw e;lr(1,0)}},l:function(e,t,r,n,o){var i=Y();try{ut(e)(t,r,n,o)}catch(e){if(Q(i),e!==e+0)throw e;lr(1,0)}},v:function(e,t,r,n,o,i){var s=Y();try{dr(e,t,r,n,o,i)}catch(e){if(Q(s),e!==e+0)throw e;lr(1,0)}},A:Bt},nr=function(){var e,t,r,i,s={a:rr};function a(e,t){var r;return nr=e.exports,_=nr.P,R(),ht=nr.U,r=nr.Q,M.unshift(r),z(),nr}if(N(),o.instantiateWasm)try{return o.instantiateWasm(s,a)}catch(e){w(`Module.instantiateWasm callback failed with error: ${e}`),n(e)}return I||(I=G()),(e=F,t=I,r=s,i=function(e){a(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||V(t)||W(t)||l||"function"!=typeof fetch?X(t,r,i):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(i,(function(e){return w(`wasm streaming compile failed: ${e}`),w("falling back to ArrayBuffer instantiation"),X(t,r,i)}))))).catch(n),{}}(),or=e=>(or=nr.R)(e),ir=e=>(ir=nr.S)(e),sr=e=>(sr=nr.T)(e),ar=(e,t)=>(ar=nr.V)(e,t),lr=(e,t)=>(lr=nr.W)(e,t),hr=e=>(hr=nr.X)(e),cr=()=>(cr=nr.Y)(),dr=o.dynCall_viiij=(e,t,r,n,i,s)=>(dr=o.dynCall_viiij=nr.Z)(e,t,r,n,i,s);function ur(){function e(){tr||(tr=!0,o.calledRun=!0,D||(o.noFSInit||$e.initialized||$e.init(),$e.ignorePermissions=!1,K(M),r(o),o.onRuntimeInitialized?.(),function(){if(o.postRun)for("function"==typeof o.postRun&&(o.postRun=[o.postRun]);o.postRun.length;)e=o.postRun.shift(),j.unshift(e);var e;K(j)}()))}O>0||(function(){if(o.preRun)for("function"==typeof o.preRun&&(o.preRun=[o.preRun]);o.preRun.length;)e=o.preRun.shift(),U.unshift(e);var e;K(U)}(),O>0||(o.setStatus?(o.setStatus("Running..."),setTimeout((()=>{setTimeout((()=>o.setStatus("")),1),e()}),1)):e()))}if(o.dynCall_jiji=(e,t,r,n,i)=>(o.dynCall_jiji=nr._)(e,t,r,n,i),o.dynCall_viijii=(e,t,r,n,i,s,a)=>(o.dynCall_viijii=nr.$)(e,t,r,n,i,s,a),o.dynCall_iiiiij=(e,t,r,n,i,s,a)=>(o.dynCall_iiiiij=nr.aa)(e,t,r,n,i,s,a),o.dynCall_iiiiijj=(e,t,r,n,i,s,a,l,h)=>(o.dynCall_iiiiijj=nr.ba)(e,t,r,n,i,s,a,l,h),o.dynCall_iiiiiijj=(e,t,r,n,i,s,a,l,h,c)=>(o.dynCall_iiiiiijj=nr.ca)(e,t,r,n,i,s,a,l,h,c),o.addRunDependency=N,o.removeRunDependency=z,o.FS_createPreloadedFile=Ee,o.FS_unlink=e=>$e.unlink(e),o.FS_createPath=Qt,o.FS_createDevice=er,o.FS=$e,o.FS_createDataFile=we,o.FS_createLazyFile=Yt,x=function e(){tr||ur(),tr||(x=e)},o.preInit)for("function"==typeof o.preInit&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();return ur(),i});const ge="1.0.0";function we(e,t,r,n){var o,i=arguments.length,s=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(i<3?o(s):i>3?o(t,r,s):o(t,r))||s);return i>3&&s&&Object.defineProperty(t,r,s),s}let _e;var Ee,be,$e,Ae,Pe,Se,ke;(async()=>{_e=await ye({locateFile:(e,t)=>e.endsWith(".wasm")?"./thorvg-wasm.wasm":t+e})})(),e.Renderer=void 0,(Ee=e.Renderer||(e.Renderer={})).SW="sw",Ee.WG="wg",e.InitStatus=void 0,(be=e.InitStatus||(e.InitStatus={})).IDLE="idle",be.REQUESTED="requested",be.INITIALIZED="initialized",e.ExportableType=void 0,($e=e.ExportableType||(e.ExportableType={})).GIF="gif",$e.TVG="tvg",$e.PNG="png",e.MimeType=void 0,(Ae=e.MimeType||(e.MimeType={})).JSON="json",Ae.JPG="jpg",Ae.PNG="png",Ae.SVG="svg",Ae.TVG="tvg",e.PlayerState=void 0,(Pe=e.PlayerState||(e.PlayerState={})).Destroyed="destroyed",Pe.Error="error",Pe.Loading="loading",Pe.Paused="paused",Pe.Playing="playing",Pe.Stopped="stopped",Pe.Frozen="frozen",e.PlayMode=void 0,(Se=e.PlayMode||(e.PlayMode={})).Bounce="bounce",Se.Normal="normal",e.PlayerEvent=void 0,(ke=e.PlayerEvent||(e.PlayerEvent={})).Complete="complete",ke.Destroyed="destroyed",ke.Error="error",ke.Frame="frame",ke.Freeze="freeze",ke.Load="load",ke.Loop="loop",ke.Pause="pause",ke.Play="play",ke.Ready="ready",ke.Stop="stop";const Te=async e=>{try{e=JSON.parse(e)}catch(t){const r=await(async e=>{if("string"!=typeof e)throw new Error("The url value must be a string");try{const t=new URL(e),r=await fetch(t.toString());return await r.json()}catch(e){throw new Error("An error occurred while trying to load the Lottie file from URL")}})(e);e=JSON.stringify(r)}return e},Ce=async(e,t)=>{const r=new TextEncoder;let n=e;switch(typeof n){case"object":return n instanceof ArrayBuffer?new Uint8Array(n):(n=JSON.stringify(n),r.encode(n));case"string":if("json"===t)return n=await Te(n),r.encode(n);const e=await(async e=>(await fetch(e)).arrayBuffer())(n);return new Uint8Array(e);default:throw new Error("Invalid src type")}},Fe=e=>new Promise((t=>setTimeout(t,e))),De=(e,t)=>{const r=document.createElement("a");r.setAttribute("href",URL.createObjectURL(t)),r.setAttribute("download",e),document.body.appendChild(r),r.click(),document.body.removeChild(r)};let Re="idle";class Ue extends oe{src;mimeType="json";renderConfig;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])}_TVG;_canvas;_imageData;_beginTime=Date.now();_counter=1;_timer;_observer;_observable=!1;async _init(){if(!_e)return;if(!this._timer)return;clearInterval(this._timer),this._timer=void 0;const e=this.renderConfig?.renderer||"sw";await(async e=>{if("sw"!==e){for(;"requested"===Re;)await Fe(100);"initialized"!==Re&&(Re="requested",await _e.init(),Re="initialized")}})(e),this._TVG=new _e.TvgLottieAnimation(e,`#${this._canvas.id}`),this.src&&this.load(this.src,this.mimeType)}_viewport(){const{left:e,right:t,top:r,bottom:n}=this.getBoundingClientRect(),o=window.innerWidth,i=window.innerHeight;let s=0,a=0,l=this._canvas.width,h=this._canvas.height;e<0&&(s=Math.abs(e),l-=s),r<0&&(a=Math.abs(r),h-=a),t>o&&(l-=t-o),n>i&&(h-=n-i),this._TVG.viewport(s,a,l,h)}_observerCallback(e){const t=e[0],r=t.target;r._observable=t.isIntersecting,t.isIntersecting?"frozen"===r.currentState&&r.play():"playing"===r.currentState&&(r.freeze(),r.dispatchEvent(new CustomEvent("freeze")))}firstUpdated(e){this._canvas=this.querySelector(".thorvg"),this._canvas.id=`thorvg-${me().replaceAll("-","").substring(0,6)}`,this._canvas.width=this._canvas.offsetWidth,this._canvas.height=this._canvas.offsetHeight,this._observer=new IntersectionObserver(this._observerCallback),this._observer.observe(this),this._TVG?this.src&&this.load(this.src,this.mimeType):this._timer=setInterval(this._init.bind(this),100)}createRenderRoot(){return this.style.display="block",this}async _animLoop(){this._TVG&&await this._update()&&(this._render(),window.requestAnimationFrame(this._animLoop.bind(this)))}_loadBytes(e,t=""){if(!this._TVG.load(e,this.mimeType,this._canvas.width,this._canvas.height,t))throw new Error("Unable to load an image. Error: ",this._TVG.error());this._render(),this.dispatchEvent(new CustomEvent("load")),this.autoPlay&&this.play()}_flush(){this._canvas.getContext("2d").putImageData(this._imageData,0,0)}_render(){if(this.renderConfig?.enableDevicePixelRatio){const e=1+.75*(window.devicePixelRatio-1),{width:t,height:r}=this._canvas.getBoundingClientRect();this._canvas.width=t*e,this._canvas.height=r*e}this._TVG.resize(this._canvas.width,this._canvas.height),this._viewport();if(!this._TVG.update())return;if("wg"===this.renderConfig?.renderer)return void this._TVG.render();const e=this._TVG.render(),t=new Uint8ClampedArray(e.buffer,e.byteOffset,e.byteLength);t.length<1||(this._imageData=new ImageData(t,this._canvas.width,this._canvas.height),this._flush())}async _update(){if("playing"!==this.currentState)return!1;const e=this._TVG.duration(),t=Date.now()/1e3;if(this.currentFrame=(t-this._beginTime)/e*this.totalFrame*this.speed,-1===this.direction&&(this.currentFrame=this.totalFrame-this.currentFrame),1===this.direction&&this.currentFrame>=this.totalFrame||-1===this.direction&&this.currentFrame<=0){const e=this.count?"bounce"===this.mode?2*this.count:this.count:0;if(this.loop||e&&this._counter<e)return"bounce"===this.mode&&(this.direction=1===this.direction?-1:1,this.currentFrame=1===this.direction?0:this.totalFrame),this.count&&(this._counter+=1),await Fe(this.intermission),this.play(),!0;this.dispatchEvent(new CustomEvent("complete")),this.currentState="stopped"}return this.dispatchEvent(new CustomEvent("frame",{detail:{frame:this.currentFrame}})),this._TVG.frame(this.currentFrame)}_frame(e){this.pause(),this.currentFrame=e,this._TVG.frame(e)}async load(e,t="json"){try{await this._init();const r=await Ce(e,t);this.dispatchEvent(new CustomEvent("ready")),this.mimeType=t,await this._loadBytes(r)}catch(e){this.currentState="error",this.dispatchEvent(new CustomEvent("error"))}}play(){if("json"===this.mimeType&&(this.totalFrame=this._TVG.totalFrame(),!(this.totalFrame<1)&&(this._beginTime=Date.now()/1e3,"playing"!==this.currentState)))return this._observable?(this.currentState="playing",void window.requestAnimationFrame(this._animLoop.bind(this))):void(this.currentState="frozen")}pause(){this.currentState="paused",this.dispatchEvent(new CustomEvent("pause"))}stop(){this.currentState="stopped",this.currentFrame=0,this._counter=1,this.seek(0),this.dispatchEvent(new CustomEvent("stop"))}freeze(){this.currentState="frozen",this.dispatchEvent(new CustomEvent("freeze"))}async seek(e){this._frame(e),await this._update(),this._render()}resize(e,t){this._canvas.width=e,this._canvas.height=t,"playing"!==this.currentState&&this._render()}destroy(){this._TVG&&(this._TVG.delete(),this._TVG=null,this.currentState="destroyed",this._observer&&(this._observer.disconnect(),this._observer=void 0),this.dispatchEvent(new CustomEvent("destroyed")),this.remove())}term(){_e.term(),_e=null}setLooping(e){this._TVG&&(this.loop=e)}setDirection(e){this._TVG&&(this.direction=e)}setSpeed(e){this._TVG&&(this.speed=e)}setBgColor(e){this._TVG&&(this._canvas.style.backgroundColor=e)}save(e){if(!this._TVG)return;const t=`output.${e}`;if("png"===e)return void this._canvas.toBlob((e=>{e&&De("output.png",e)}),"image/png");if(!this._TVG.save(e))throw new Error("Unable to save. Error: ",this._TVG.error());const r=_e.FS.readFile(t);if("gif"===e&&r.length<6)throw new Error("Unable to save the GIF data. The generated file size is invalid.");if("tvg"===e&&r.length<33)throw new Error("Unable to save the TVG data. The generated file size is invalid.");const n=new Blob([r],{type:"application/octet-stream"});De(t,n)}getVersion(){return{THORVG_VERSION:ge}}render(){return H`
<canvas class="thorvg" style="width: 100%; height: 100%;" />
`}}we([le({type:String})],Ue.prototype,"src",void 0),we([le({type:e.MimeType})],Ue.prototype,"mimeType",void 0),we([le({type:Object})],Ue.prototype,"renderConfig",void 0),we([le({type:Number})],Ue.prototype,"speed",void 0),we([le({type:Boolean})],Ue.prototype,"autoPlay",void 0),we([le({type:Number})],Ue.prototype,"count",void 0),we([le({type:Boolean})],Ue.prototype,"loop",void 0),we([le({type:Number})],Ue.prototype,"direction",void 0),we([le()],Ue.prototype,"mode",void 0),we([le()],Ue.prototype,"intermission",void 0),we([le({type:Number})],Ue.prototype,"totalFrame",void 0),we([le({type:Number})],Ue.prototype,"currentFrame",void 0),we([le({type:Number})],Ue.prototype,"currentState",void 0),we([le({type:Float32Array})],Ue.prototype,"size",null),Ue=we([(e=>(t,r)=>{void 0!==r?r.addInitializer((()=>{customElements.define(e,t)})):customElements.define(e,t)})("lottie-player")],Ue);var Me=Object.freeze({__proto__:null});e.LottiePlayer=Ue}));
//# sourceMappingURL=lottie-player.js.map