@lottiefiles/dotlottie-web 0.29.0 → 0.29.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/animation-frame-manager.ts","../src/constants.ts","../package.json","../src/core/dotlottie-player.js","../src/core/dotlottie-wasm-loader.ts","../src/event-manager.ts","../src/utils.ts","../src/dotlottie.ts","../src/worker/dotlottie.worker.js","../src/worker/worker-manager.ts","../src/worker/dotlottie.ts"],"names":["WebAnimationFrameStrategy","callback","id","NodeAnimationFrameStrategy","__publicField","_id","AnimationFrameManager","IS_BROWSER","package_default","createDotLottiePlayerModule","_scriptDir","moduleArg","k","aa","ba","readyPromise","a","b","ca","da","t","ea","w","x","fa","ha","y","A","B","C","E","F","ja","ka","la","ma","na","oa","pa","G","qa","H","ra","sa","I","ta","ua","va","wa","c","d","xa","e","ya","za","J","f","l","Aa","Ba","Ca","Da","Ea","Fa","Ga","K","L","M","Ha","Ia","P","h","n","O","Ja","Q","R","Ka","La","Ma","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Va","Xa","Wa","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","m","p","kb","S","lb","mb","T","nb","pb","ob","U","qb","rb","sb","tb","u","v","g","q","r","z","ub","vb","V","wb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Rb","Qb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","mc","D","Na","xb","ia","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","W","X","Y","Z","nc","oc","pc","qc","dotlottie_player_default","DotLottieWasmLoader","url","initialError","backupUrl","backupError","EventManager","type","listener","listeners","event","isHexColor","color","hexStringToRGBAInt","colorHex","hex","createCoreMode","mode","module","createCoreFit","fit","createCoreAlign","align","coreAlign","createCoreSegment","segment","coresegment","_DotLottie","config","error","src","load","response","contentType","data","width","height","loaded","layout","manifest","manifestJson","buffer","clampedBuffer","imageData","nextFrame","ok","frame","speed","loop","useFrameInterpolation","dpr","clientHeight","clientWidth","startFrame","endFrame","animationId","marker","markers","result","i","themeId","themeData","stateMachineId","started","stopped","rect","scaleX","scaleY","devicePixelRatio","listenersVector","stateMachineData","name","value","DotLottie","dotlottie_worker_default","WorkerManager","workerName","blob","workerId","message","transfer","worker","getCanvasSize","canvas","generateUniqueId","_DotLottieWorker","rpcResponse","offscreen","instanceId","start","end","renderConfig","backgroundColor","method","params","rpcRequest","resolve","reject","onMessage","DotLottieWorker"],"mappings":"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","sourcesContent":["/* eslint-disable max-classes-per-file */\n\ninterface AnimationFrameStrategy {\n cancelAnimationFrame(id: number): void;\n requestAnimationFrame(callback: (time: number) => void): number;\n}\n\nclass WebAnimationFrameStrategy implements AnimationFrameStrategy {\n public requestAnimationFrame(callback: (time: number) => void): number {\n return requestAnimationFrame(callback);\n }\n\n public cancelAnimationFrame(id: number): void {\n cancelAnimationFrame(id);\n }\n}\n\nclass NodeAnimationFrameStrategy implements AnimationFrameStrategy {\n private _lastHandleId: number = 0;\n\n private _lastImmediate: NodeJS.Immediate | null = null;\n\n public requestAnimationFrame(callback: (time: number) => void): number {\n if (this._lastHandleId >= Number.MAX_SAFE_INTEGER) {\n this._lastHandleId = 0;\n }\n\n this._lastHandleId += 1;\n\n this._lastImmediate = setImmediate(() => {\n callback(Date.now());\n });\n\n return this._lastHandleId;\n }\n\n public cancelAnimationFrame(_id: number): void {\n if (this._lastImmediate) {\n clearImmediate(this._lastImmediate);\n }\n }\n}\n\nexport class AnimationFrameManager {\n private readonly _strategy: AnimationFrameStrategy;\n\n public constructor() {\n this._strategy =\n typeof requestAnimationFrame === 'function' ? new WebAnimationFrameStrategy() : new NodeAnimationFrameStrategy();\n }\n\n public requestAnimationFrame(callback: (time: number) => void): number {\n return this._strategy.requestAnimationFrame(callback);\n }\n\n public cancelAnimationFrame(id: number): void {\n this._strategy.cancelAnimationFrame(id);\n }\n}\n","export const IS_BROWSER = typeof window !== 'undefined' && typeof window.document !== 'undefined';\nexport const MS_TO_SEC_FACTOR = 1000;\nexport const DEFAULT_BG_COLOR = '#00000000';\n","{\n \"name\": \"@lottiefiles/dotlottie-web\",\n \"version\": \"0.29.0\",\n \"type\": \"module\",\n \"description\": \"Lottie and DotLottie player for the web\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/LottieFiles/dotlottie-web.git\",\n \"directory\": \"packages/web\"\n },\n \"homepage\": \"https://github.com/LottieFiles/dotlottie-web#readme\",\n \"bugs\": \"https://github.com/LottieFiles/dotlottie-web/issues\",\n \"author\": \"LottieFiles\",\n \"contributors\": [\n \"Abdelrahman Ashraf <a.theashraf@gmail.com>\"\n ],\n \"license\": \"MIT\",\n \"main\": \"dist/index.cjs\",\n \"module\": \"dist/index.js\",\n \"types\": \"dist/index.d.ts\",\n \"files\": [\n \"dist\"\n ],\n \"keywords\": [\n \"dotlottie\",\n \"lottie\",\n \"player\",\n \"animation\",\n \"web\",\n \"canvas\",\n \"javascript\",\n \"thorvg\"\n ],\n \"scripts\": {\n \"build\": \"tsup\",\n \"dev\": \"tsup --watch\",\n \"lint\": \"eslint --fix .\",\n \"stats:eslint\": \"cross-env TIMING=1 eslint .\",\n \"stats:ts\": \"tsc -p tsconfig.build.json --extendedDiagnostics\",\n \"test\": \"vitest run --browser.headless\",\n \"test:coverage\": \"vitest run --browser.headless --coverage\",\n \"test:watch\": \"vitest\",\n \"type-check\": \"tsc --noEmit\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.10.5\",\n \"@vitest/browser\": \"^1.2.2 \",\n \"@vitest/coverage-istanbul\": \"^1.2.2\",\n \"cross-env\": \"7.0.3\",\n \"tsup\": \"8.1.0\",\n \"typescript\": \"5.0.4\",\n \"vitest\": \"^1.2.2\",\n \"webdriverio\": \"^8.32.0\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n }\n}\n","var createDotLottiePlayerModule = (() => {\n var _scriptDir = typeof document != 'undefined' ? document.currentScript?.src : undefined;\n\n return function (moduleArg = {}) {\n var k = moduleArg,\n aa,\n ba,\n readyPromise = new Promise((a, b) => {\n aa = a;\n ba = b;\n }),\n ca = Object.assign({}, k),\n da = './this.program',\n t = '';\n 'undefined' != typeof document && document.currentScript && (t = document.currentScript.src);\n _scriptDir && (t = _scriptDir);\n t.startsWith('blob:') ? (t = '') : (t = t.substr(0, t.replace(/[?#].*/, '').lastIndexOf('/') + 1));\n var ea = k.print || console.log.bind(console),\n w = k.printErr || console.error.bind(console);\n Object.assign(k, ca);\n ca = null;\n k.thisProgram && (da = k.thisProgram);\n var x;\n k.wasmBinary && (x = k.wasmBinary);\n var fa,\n ha = !1,\n y,\n A,\n B,\n C,\n E,\n F,\n ja,\n ka;\n function la() {\n var a = fa.buffer;\n k.HEAP8 = y = new Int8Array(a);\n k.HEAP16 = B = new Int16Array(a);\n k.HEAPU8 = A = new Uint8Array(a);\n k.HEAPU16 = C = new Uint16Array(a);\n k.HEAP32 = E = new Int32Array(a);\n k.HEAPU32 = F = new Uint32Array(a);\n k.HEAPF32 = ja = new Float32Array(a);\n k.HEAPF64 = ka = new Float64Array(a);\n }\n var ma = [],\n na = [],\n oa = [];\n function pa() {\n var a = k.preRun.shift();\n ma.unshift(a);\n }\n var G = 0,\n qa = null,\n H = null;\n function ra(a) {\n k.onAbort?.(a);\n a = 'Aborted(' + a + ')';\n w(a);\n ha = !0;\n a = new WebAssembly.RuntimeError(a + '. Build with -sASSERTIONS for more info.');\n ba(a);\n throw a;\n }\n var sa = (a) => a.startsWith('data:application/octet-stream;base64,'),\n I;\n I = 'DotLottiePlayer.wasm';\n if (!sa(I)) {\n var ta = I;\n I = k.locateFile ? k.locateFile(ta, t) : t + ta;\n }\n function ua(a) {\n if (a == I && x) return new Uint8Array(x);\n throw 'both async and sync fetching of the wasm failed';\n }\n function va(a) {\n return x || 'function' != typeof fetch\n ? Promise.resolve().then(() => ua(a))\n : fetch(a, { credentials: 'same-origin' })\n .then((b) => {\n if (!b.ok) throw `failed to load wasm binary file at '${a}'`;\n return b.arrayBuffer();\n })\n .catch(() => ua(a));\n }\n function wa(a, b, c) {\n return va(a)\n .then((d) => WebAssembly.instantiate(d, b))\n .then(c, (d) => {\n w(`failed to asynchronously prepare wasm: ${d}`);\n ra(d);\n });\n }\n function xa(a, b) {\n var c = I;\n return x || 'function' != typeof WebAssembly.instantiateStreaming || sa(c) || 'function' != typeof fetch\n ? wa(c, a, b)\n : fetch(c, { credentials: 'same-origin' }).then((d) =>\n WebAssembly.instantiateStreaming(d, a).then(b, function (e) {\n w(`wasm streaming compile failed: ${e}`);\n w('falling back to ArrayBuffer instantiation');\n return wa(c, a, b);\n }),\n );\n }\n var ya = (a) => {\n for (; 0 < a.length; ) a.shift()(k);\n },\n za = 'undefined' != typeof TextDecoder ? new TextDecoder('utf8') : void 0,\n J = (a, b, c) => {\n var d = b + c;\n for (c = b; a[c] && !(c >= d); ) ++c;\n if (16 < c - b && a.buffer && za) return za.decode(a.subarray(b, c));\n for (d = ''; b < c; ) {\n var e = a[b++];\n if (e & 128) {\n var f = a[b++] & 63;\n if (192 == (e & 224)) d += String.fromCharCode(((e & 31) << 6) | f);\n else {\n var l = a[b++] & 63;\n e =\n 224 == (e & 240)\n ? ((e & 15) << 12) | (f << 6) | l\n : ((e & 7) << 18) | (f << 12) | (l << 6) | (a[b++] & 63);\n 65536 > e\n ? (d += String.fromCharCode(e))\n : ((e -= 65536), (d += String.fromCharCode(55296 | (e >> 10), 56320 | (e & 1023))));\n }\n } else d += String.fromCharCode(e);\n }\n return d;\n };\n class Aa {\n constructor(a) {\n this.ya = a - 24;\n }\n }\n var Ba = 0,\n Ca = 0,\n Da = (a) => {\n for (var b = 0, c = 0; c < a.length; ++c) {\n var d = a.charCodeAt(c);\n 127 >= d ? b++ : 2047 >= d ? (b += 2) : 55296 <= d && 57343 >= d ? ((b += 4), ++c) : (b += 3);\n }\n return b;\n },\n Ea = (a, b, c, d) => {\n if (0 < d) {\n d = c + d - 1;\n for (var e = 0; e < a.length; ++e) {\n var f = a.charCodeAt(e);\n if (55296 <= f && 57343 >= f) {\n var l = a.charCodeAt(++e);\n f = (65536 + ((f & 1023) << 10)) | (l & 1023);\n }\n if (127 >= f) {\n if (c >= d) break;\n b[c++] = f;\n } else {\n if (2047 >= f) {\n if (c + 1 >= d) break;\n b[c++] = 192 | (f >> 6);\n } else {\n if (65535 >= f) {\n if (c + 2 >= d) break;\n b[c++] = 224 | (f >> 12);\n } else {\n if (c + 3 >= d) break;\n b[c++] = 240 | (f >> 18);\n b[c++] = 128 | ((f >> 12) & 63);\n }\n b[c++] = 128 | ((f >> 6) & 63);\n }\n b[c++] = 128 | (f & 63);\n }\n }\n b[c] = 0;\n }\n },\n Fa = {},\n Ga = (a) => {\n for (; a.length; ) {\n var b = a.pop();\n a.pop()(b);\n }\n };\n function K(a) {\n return this.fromWireType(F[a >> 2]);\n }\n var L = {},\n M = {},\n Ha = {},\n Ia,\n P = (a, b, c) => {\n function d(h) {\n h = c(h);\n if (h.length !== a.length) throw new Ia('Mismatched type converter count');\n for (var n = 0; n < a.length; ++n) O(a[n], h[n]);\n }\n a.forEach(function (h) {\n Ha[h] = b;\n });\n var e = Array(b.length),\n f = [],\n l = 0;\n b.forEach((h, n) => {\n M.hasOwnProperty(h)\n ? (e[n] = M[h])\n : (f.push(h),\n L.hasOwnProperty(h) || (L[h] = []),\n L[h].push(() => {\n e[n] = M[h];\n ++l;\n l === f.length && d(e);\n }));\n });\n 0 === f.length && d(e);\n },\n Ja,\n Q = (a) => {\n for (var b = ''; A[a]; ) b += Ja[A[a++]];\n return b;\n },\n R;\n function Ka(a, b, c = {}) {\n var d = b.name;\n if (!a) throw new R(`type \"${d}\" must have a positive integer typeid pointer`);\n if (M.hasOwnProperty(a)) {\n if (c.ib) return;\n throw new R(`Cannot register type '${d}' twice`);\n }\n M[a] = b;\n delete Ha[a];\n L.hasOwnProperty(a) && ((b = L[a]), delete L[a], b.forEach((e) => e()));\n }\n function O(a, b, c = {}) {\n if (!('argPackAdvance' in b)) throw new TypeError('registerType registeredInstance requires argPackAdvance');\n return Ka(a, b, c);\n }\n var La = (a) => {\n throw new R(a.ma.za.xa.name + ' instance already deleted');\n },\n Ma = !1,\n Oa = () => {},\n Pa = (a, b, c) => {\n if (b === c) return a;\n if (void 0 === c.Ca) return null;\n a = Pa(a, b, c.Ca);\n return null === a ? null : c.ab(a);\n },\n Qa = {},\n Ra = [],\n Sa = () => {\n for (; Ra.length; ) {\n var a = Ra.pop();\n a.ma.Ka = !1;\n a['delete']();\n }\n },\n Ta,\n Ua = {},\n Va = (a, b) => {\n if (void 0 === b) throw new R('ptr should not be undefined');\n for (; a.Ca; ) (b = a.Na(b)), (a = a.Ca);\n return Ua[b];\n },\n Xa = (a, b) => {\n if (!b.za || !b.ya) throw new Ia('makeClassHandle requires ptr and ptrType');\n if (!!b.Da !== !!b.Aa) throw new Ia('Both smartPtrType and smartPtr must be specified');\n b.count = { value: 1 };\n return Wa(Object.create(a, { ma: { value: b, writable: !0 } }));\n },\n Wa = (a) => {\n if ('undefined' === typeof FinalizationRegistry) return (Wa = (b) => b), a;\n Ma = new FinalizationRegistry((b) => {\n b = b.ma;\n --b.count.value;\n 0 === b.count.value && (b.Aa ? b.Da.Fa(b.Aa) : b.za.xa.Fa(b.ya));\n });\n Wa = (b) => {\n var c = b.ma;\n c.Aa && Ma.register(b, { ma: c }, b);\n return b;\n };\n Oa = (b) => {\n Ma.unregister(b);\n };\n return Wa(a);\n };\n function Ya() {}\n var Za = (a, b) => Object.defineProperty(b, 'name', { value: a }),\n $a = (a, b, c) => {\n if (void 0 === a[b].Ba) {\n var d = a[b];\n a[b] = function (...e) {\n if (!a[b].Ba.hasOwnProperty(e.length))\n throw new R(\n `Function '${c}' called with an invalid number of arguments (${e.length}) - expects one of (${a[b].Ba})!`,\n );\n return a[b].Ba[e.length].apply(this, e);\n };\n a[b].Ba = [];\n a[b].Ba[d.Oa] = d;\n }\n },\n ab = (a, b, c) => {\n if (k.hasOwnProperty(a)) {\n if (void 0 === c || (void 0 !== k[a].Ba && void 0 !== k[a].Ba[c]))\n throw new R(`Cannot register public name '${a}' twice`);\n $a(k, a, a);\n if (k.hasOwnProperty(c))\n throw new R(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`);\n k[a].Ba[c] = b;\n } else (k[a] = b), void 0 !== c && (k[a].vb = c);\n },\n bb = (a) => {\n if (void 0 === a) return '_unknown';\n a = a.replace(/[^a-zA-Z0-9_]/g, '$');\n var b = a.charCodeAt(0);\n return 48 <= b && 57 >= b ? `_${a}` : a;\n };\n function cb(a, b, c, d, e, f, l, h) {\n this.name = a;\n this.constructor = b;\n this.La = c;\n this.Fa = d;\n this.Ca = e;\n this.cb = f;\n this.Na = l;\n this.ab = h;\n this.kb = [];\n }\n var db = (a, b, c) => {\n for (; b !== c; ) {\n if (!b.Na) throw new R(`Expected null or instance of ${c.name}, got an instance of ${b.name}`);\n a = b.Na(a);\n b = b.Ca;\n }\n return a;\n };\n function eb(a, b) {\n if (null === b) {\n if (this.Ta) throw new R(`null is not a valid ${this.name}`);\n return 0;\n }\n if (!b.ma) throw new R(`Cannot pass \"${fb(b)}\" as a ${this.name}`);\n if (!b.ma.ya) throw new R(`Cannot pass deleted object as a pointer of type ${this.name}`);\n return db(b.ma.ya, b.ma.za.xa, this.xa);\n }\n function gb(a, b) {\n if (null === b) {\n if (this.Ta) throw new R(`null is not a valid ${this.name}`);\n if (this.Qa) {\n var c = this.Ua();\n null !== a && a.push(this.Fa, c);\n return c;\n }\n return 0;\n }\n if (!b || !b.ma) throw new R(`Cannot pass \"${fb(b)}\" as a ${this.name}`);\n if (!b.ma.ya) throw new R(`Cannot pass deleted object as a pointer of type ${this.name}`);\n if (!this.Pa && b.ma.za.Pa)\n throw new R(\n `Cannot convert argument of type ${b.ma.Da ? b.ma.Da.name : b.ma.za.name} to parameter type ${this.name}`,\n );\n c = db(b.ma.ya, b.ma.za.xa, this.xa);\n if (this.Qa) {\n if (void 0 === b.ma.Aa) throw new R('Passing raw pointer to smart pointer is illegal');\n switch (this.pb) {\n case 0:\n if (b.ma.Da === this) c = b.ma.Aa;\n else\n throw new R(\n `Cannot convert argument of type ${b.ma.Da ? b.ma.Da.name : b.ma.za.name} to parameter type ${\n this.name\n }`,\n );\n break;\n case 1:\n c = b.ma.Aa;\n break;\n case 2:\n if (b.ma.Da === this) c = b.ma.Aa;\n else {\n var d = b.clone();\n c = this.lb(\n c,\n hb(() => d['delete']()),\n );\n null !== a && a.push(this.Fa, c);\n }\n break;\n default:\n throw new R('Unsupporting sharing policy');\n }\n }\n return c;\n }\n function ib(a, b) {\n if (null === b) {\n if (this.Ta) throw new R(`null is not a valid ${this.name}`);\n return 0;\n }\n if (!b.ma) throw new R(`Cannot pass \"${fb(b)}\" as a ${this.name}`);\n if (!b.ma.ya) throw new R(`Cannot pass deleted object as a pointer of type ${this.name}`);\n if (b.ma.za.Pa) throw new R(`Cannot convert argument of type ${b.ma.za.name} to parameter type ${this.name}`);\n return db(b.ma.ya, b.ma.za.xa, this.xa);\n }\n function jb(a, b, c, d, e, f, l, h, n, m, p) {\n this.name = a;\n this.xa = b;\n this.Ta = c;\n this.Pa = d;\n this.Qa = e;\n this.jb = f;\n this.pb = l;\n this.Za = h;\n this.Ua = n;\n this.lb = m;\n this.Fa = p;\n e || void 0 !== b.Ca ? (this.toWireType = gb) : ((this.toWireType = d ? eb : ib), (this.Ea = null));\n }\n var kb = (a, b, c) => {\n if (!k.hasOwnProperty(a)) throw new Ia('Replacing nonexistent public symbol');\n void 0 !== k[a].Ba && void 0 !== c ? (k[a].Ba[c] = b) : ((k[a] = b), (k[a].Oa = c));\n },\n S,\n lb = (a, b, c = []) => {\n a.includes('j') ? ((a = a.replace(/p/g, 'i')), (b = (0, k['dynCall_' + a])(b, ...c))) : (b = S.get(b)(...c));\n return b;\n },\n mb =\n (a, b) =>\n (...c) =>\n lb(a, b, c),\n T = (a, b) => {\n a = Q(a);\n var c = a.includes('j') ? mb(a, b) : S.get(b);\n if ('function' != typeof c) throw new R(`unknown function pointer with signature ${a}: ${b}`);\n return c;\n },\n nb,\n pb = (a) => {\n a = ob(a);\n var b = Q(a);\n U(a);\n return b;\n },\n qb = (a, b) => {\n function c(f) {\n e[f] || M[f] || (Ha[f] ? Ha[f].forEach(c) : (d.push(f), (e[f] = !0)));\n }\n var d = [],\n e = {};\n b.forEach(c);\n throw new nb(`${a}: ` + d.map(pb).join([', ']));\n },\n rb = (a, b) => {\n for (var c = [], d = 0; d < a; d++) c.push(F[(b + 4 * d) >> 2]);\n return c;\n };\n function sb(a) {\n for (var b = 1; b < a.length; ++b) if (null !== a[b] && void 0 === a[b].Ea) return !0;\n return !1;\n }\n function tb(a, b, c, d, e) {\n var f = b.length;\n if (2 > f) throw new R(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");\n var l = null !== b[1] && null !== c,\n h = sb(b),\n n = 'void' !== b[0].name,\n m = f - 2,\n p = Array(m),\n u = [],\n v = [];\n return Za(a, function (...g) {\n if (g.length !== m) throw new R(`function ${a} called with ${g.length} arguments, expected ${m}`);\n v.length = 0;\n u.length = l ? 2 : 1;\n u[0] = e;\n if (l) {\n var q = b[1].toWireType(v, this);\n u[1] = q;\n }\n for (var r = 0; r < m; ++r) (p[r] = b[r + 2].toWireType(v, g[r])), u.push(p[r]);\n g = d(...u);\n if (h) Ga(v);\n else\n for (r = l ? 1 : 2; r < b.length; r++) {\n var z = 1 === r ? q : p[r - 2];\n null !== b[r].Ea && b[r].Ea(z);\n }\n q = n ? b[0].fromWireType(g) : void 0;\n return q;\n });\n }\n var ub = (a) => {\n a = a.trim();\n const b = a.indexOf('(');\n return -1 !== b ? a.substr(0, b) : a;\n },\n vb = [],\n V = [],\n wb = (a) => {\n 9 < a && 0 === --V[a + 1] && ((V[a] = void 0), vb.push(a));\n },\n yb = (a) => {\n if (!a) throw new R('Cannot use deleted val. handle = ' + a);\n return V[a];\n },\n hb = (a) => {\n switch (a) {\n case void 0:\n return 2;\n case null:\n return 4;\n case !0:\n return 6;\n case !1:\n return 8;\n default:\n const b = vb.pop() || V.length;\n V[b] = a;\n V[b + 1] = 1;\n return b;\n }\n },\n zb = {\n name: 'emscripten::val',\n fromWireType: (a) => {\n var b = yb(a);\n wb(a);\n return b;\n },\n toWireType: (a, b) => hb(b),\n argPackAdvance: 8,\n readValueFromPointer: K,\n Ea: null,\n },\n Ab = (a, b, c) => {\n switch (b) {\n case 1:\n return c\n ? function (d) {\n return this.fromWireType(y[d]);\n }\n : function (d) {\n return this.fromWireType(A[d]);\n };\n case 2:\n return c\n ? function (d) {\n return this.fromWireType(B[d >> 1]);\n }\n : function (d) {\n return this.fromWireType(C[d >> 1]);\n };\n case 4:\n return c\n ? function (d) {\n return this.fromWireType(E[d >> 2]);\n }\n : function (d) {\n return this.fromWireType(F[d >> 2]);\n };\n default:\n throw new TypeError(`invalid integer width (${b}): ${a}`);\n }\n },\n Bb = (a, b) => {\n var c = M[a];\n if (void 0 === c) throw ((a = `${b} has unknown type ${pb(a)}`), new R(a));\n return c;\n },\n fb = (a) => {\n if (null === a) return 'null';\n var b = typeof a;\n return 'object' === b || 'array' === b || 'function' === b ? a.toString() : '' + a;\n },\n Cb = (a, b) => {\n switch (b) {\n case 4:\n return function (c) {\n return this.fromWireType(ja[c >> 2]);\n };\n case 8:\n return function (c) {\n return this.fromWireType(ka[c >> 3]);\n };\n default:\n throw new TypeError(`invalid float width (${b}): ${a}`);\n }\n },\n Db = (a, b, c) => {\n switch (b) {\n case 1:\n return c ? (d) => y[d] : (d) => A[d];\n case 2:\n return c ? (d) => B[d >> 1] : (d) => C[d >> 1];\n case 4:\n return c ? (d) => E[d >> 2] : (d) => F[d >> 2];\n default:\n throw new TypeError(`invalid integer width (${b}): ${a}`);\n }\n },\n Eb = 'undefined' != typeof TextDecoder ? new TextDecoder('utf-16le') : void 0,\n Fb = (a, b) => {\n var c = a >> 1;\n for (var d = c + b / 2; !(c >= d) && C[c]; ) ++c;\n c <<= 1;\n if (32 < c - a && Eb) return Eb.decode(A.subarray(a, c));\n c = '';\n for (d = 0; !(d >= b / 2); ++d) {\n var e = B[(a + 2 * d) >> 1];\n if (0 == e) break;\n c += String.fromCharCode(e);\n }\n return c;\n },\n Gb = (a, b, c) => {\n c ??= 2147483647;\n if (2 > c) return 0;\n c -= 2;\n var d = b;\n c = c < 2 * a.length ? c / 2 : a.length;\n for (var e = 0; e < c; ++e) (B[b >> 1] = a.charCodeAt(e)), (b += 2);\n B[b >> 1] = 0;\n return b - d;\n },\n Hb = (a) => 2 * a.length,\n Ib = (a, b) => {\n for (var c = 0, d = ''; !(c >= b / 4); ) {\n var e = E[(a + 4 * c) >> 2];\n if (0 == e) break;\n ++c;\n 65536 <= e\n ? ((e -= 65536), (d += String.fromCharCode(55296 | (e >> 10), 56320 | (e & 1023))))\n : (d += String.fromCharCode(e));\n }\n return d;\n },\n Jb = (a, b, c) => {\n c ??= 2147483647;\n if (4 > c) return 0;\n var d = b;\n c = d + c - 4;\n for (var e = 0; e < a.length; ++e) {\n var f = a.charCodeAt(e);\n if (55296 <= f && 57343 >= f) {\n var l = a.charCodeAt(++e);\n f = (65536 + ((f & 1023) << 10)) | (l & 1023);\n }\n E[b >> 2] = f;\n b += 4;\n if (b + 4 > c) break;\n }\n E[b >> 2] = 0;\n return b - d;\n },\n Kb = (a) => {\n for (var b = 0, c = 0; c < a.length; ++c) {\n var d = a.charCodeAt(c);\n 55296 <= d && 57343 >= d && ++c;\n b += 4;\n }\n return b;\n },\n Lb = [],\n Mb = (a) => {\n var b = Lb.length;\n Lb.push(a);\n return b;\n },\n Nb = (a, b) => {\n for (var c = Array(a), d = 0; d < a; ++d) c[d] = Bb(F[(b + 4 * d) >> 2], 'parameter ' + d);\n return c;\n },\n Ob = Reflect.construct,\n Pb = {},\n Rb = () => {\n if (!Qb) {\n var a = {\n USER: 'web_user',\n LOGNAME: 'web_user',\n PATH: '/',\n PWD: '/',\n HOME: '/home/web_user',\n LANG:\n (('object' == typeof navigator && navigator.languages && navigator.languages[0]) || 'C').replace(\n '-',\n '_',\n ) + '.UTF-8',\n _: da || './this.program',\n },\n b;\n for (b in Pb) void 0 === Pb[b] ? delete a[b] : (a[b] = Pb[b]);\n var c = [];\n for (b in a) c.push(`${b}=${a[b]}`);\n Qb = c;\n }\n return Qb;\n },\n Qb,\n Sb = [null, [], []],\n Tb = () => {\n if ('object' == typeof crypto && 'function' == typeof crypto.getRandomValues)\n return (a) => crypto.getRandomValues(a);\n ra('initRandomDevice');\n },\n Ub = (a) => (Ub = Tb())(a),\n Vb = (a) => 0 === a % 4 && (0 !== a % 100 || 0 === a % 400),\n Wb = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n Xb = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n function Yb(a) {\n var b = Array(Da(a) + 1);\n Ea(a, b, 0, b.length);\n return b;\n }\n var Zb = (a, b, c, d) => {\n function e(g, q, r) {\n for (g = 'number' == typeof g ? g.toString() : g || ''; g.length < q; ) g = r[0] + g;\n return g;\n }\n function f(g, q) {\n return e(g, q, '0');\n }\n function l(g, q) {\n function r(N) {\n return 0 > N ? -1 : 0 < N ? 1 : 0;\n }\n var z;\n 0 === (z = r(g.getFullYear() - q.getFullYear())) &&\n 0 === (z = r(g.getMonth() - q.getMonth())) &&\n (z = r(g.getDate() - q.getDate()));\n return z;\n }\n function h(g) {\n switch (g.getDay()) {\n case 0:\n return new Date(g.getFullYear() - 1, 11, 29);\n case 1:\n return g;\n case 2:\n return new Date(g.getFullYear(), 0, 3);\n case 3:\n return new Date(g.getFullYear(), 0, 2);\n case 4:\n return new Date(g.getFullYear(), 0, 1);\n case 5:\n return new Date(g.getFullYear() - 1, 11, 31);\n case 6:\n return new Date(g.getFullYear() - 1, 11, 30);\n }\n }\n function n(g) {\n var q = g.Ia;\n for (g = new Date(new Date(g.Ja + 1900, 0, 1).getTime()); 0 < q; ) {\n var r = g.getMonth(),\n z = (Vb(g.getFullYear()) ? Wb : Xb)[r];\n if (q > z - g.getDate())\n (q -= z - g.getDate() + 1),\n g.setDate(1),\n 11 > r ? g.setMonth(r + 1) : (g.setMonth(0), g.setFullYear(g.getFullYear() + 1));\n else {\n g.setDate(g.getDate() + q);\n break;\n }\n }\n r = new Date(g.getFullYear() + 1, 0, 4);\n q = h(new Date(g.getFullYear(), 0, 4));\n r = h(r);\n return 0 >= l(q, g) ? (0 >= l(r, g) ? g.getFullYear() + 1 : g.getFullYear()) : g.getFullYear() - 1;\n }\n var m = F[(d + 40) >> 2];\n d = {\n sb: E[d >> 2],\n rb: E[(d + 4) >> 2],\n Ra: E[(d + 8) >> 2],\n Va: E[(d + 12) >> 2],\n Sa: E[(d + 16) >> 2],\n Ja: E[(d + 20) >> 2],\n Ga: E[(d + 24) >> 2],\n Ia: E[(d + 28) >> 2],\n wb: E[(d + 32) >> 2],\n qb: E[(d + 36) >> 2],\n tb: m ? (m ? J(A, m) : '') : '',\n };\n c = c ? J(A, c) : '';\n m = {\n '%c': '%a %b %d %H:%M:%S %Y',\n '%D': '%m/%d/%y',\n '%F': '%Y-%m-%d',\n '%h': '%b',\n '%r': '%I:%M:%S %p',\n '%R': '%H:%M',\n '%T': '%H:%M:%S',\n '%x': '%m/%d/%y',\n '%X': '%H:%M:%S',\n '%Ec': '%c',\n '%EC': '%C',\n '%Ex': '%m/%d/%y',\n '%EX': '%H:%M:%S',\n '%Ey': '%y',\n '%EY': '%Y',\n '%Od': '%d',\n '%Oe': '%e',\n '%OH': '%H',\n '%OI': '%I',\n '%Om': '%m',\n '%OM': '%M',\n '%OS': '%S',\n '%Ou': '%u',\n '%OU': '%U',\n '%OV': '%V',\n '%Ow': '%w',\n '%OW': '%W',\n '%Oy': '%y',\n };\n for (var p in m) c = c.replace(new RegExp(p, 'g'), m[p]);\n var u = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday'.split(' '),\n v = 'January February March April May June July August September October November December'.split(' ');\n m = {\n '%a': (g) => u[g.Ga].substring(0, 3),\n '%A': (g) => u[g.Ga],\n '%b': (g) => v[g.Sa].substring(0, 3),\n '%B': (g) => v[g.Sa],\n '%C': (g) => f(((g.Ja + 1900) / 100) | 0, 2),\n '%d': (g) => f(g.Va, 2),\n '%e': (g) => e(g.Va, 2, ' '),\n '%g': (g) => n(g).toString().substring(2),\n '%G': n,\n '%H': (g) => f(g.Ra, 2),\n '%I': (g) => {\n g = g.Ra;\n 0 == g ? (g = 12) : 12 < g && (g -= 12);\n return f(g, 2);\n },\n '%j': (g) => {\n for (var q = 0, r = 0; r <= g.Sa - 1; q += (Vb(g.Ja + 1900) ? Wb : Xb)[r++]);\n return f(g.Va + q, 3);\n },\n '%m': (g) => f(g.Sa + 1, 2),\n '%M': (g) => f(g.rb, 2),\n '%n': () => '\\n',\n '%p': (g) => (0 <= g.Ra && 12 > g.Ra ? 'AM' : 'PM'),\n '%S': (g) => f(g.sb, 2),\n '%t': () => '\\t',\n '%u': (g) => g.Ga || 7,\n '%U': (g) => f(Math.floor((g.Ia + 7 - g.Ga) / 7), 2),\n '%V': (g) => {\n var q = Math.floor((g.Ia + 7 - ((g.Ga + 6) % 7)) / 7);\n 2 >= (g.Ga + 371 - g.Ia - 2) % 7 && q++;\n if (q) 53 == q && ((r = (g.Ga + 371 - g.Ia) % 7), 4 == r || (3 == r && Vb(g.Ja)) || (q = 1));\n else {\n q = 52;\n var r = (g.Ga + 7 - g.Ia - 1) % 7;\n (4 == r || (5 == r && Vb((g.Ja % 400) - 1))) && q++;\n }\n return f(q, 2);\n },\n '%w': (g) => g.Ga,\n '%W': (g) => f(Math.floor((g.Ia + 7 - ((g.Ga + 6) % 7)) / 7), 2),\n '%y': (g) => (g.Ja + 1900).toString().substring(2),\n '%Y': (g) => g.Ja + 1900,\n '%z': (g) => {\n g = g.qb;\n var q = 0 <= g;\n g = Math.abs(g) / 60;\n return (q ? '+' : '-') + String('0000' + ((g / 60) * 100 + (g % 60))).slice(-4);\n },\n '%Z': (g) => g.tb,\n '%%': () => '%',\n };\n c = c.replace(/%%/g, '\\x00\\x00');\n for (p in m) c.includes(p) && (c = c.replace(new RegExp(p, 'g'), m[p](d)));\n c = c.replace(/\\0\\0/g, '%');\n p = Yb(c);\n if (p.length > b) return 0;\n y.set(p, a);\n return p.length - 1;\n };\n Ia = k.InternalError = class extends Error {\n constructor(a) {\n super(a);\n this.name = 'InternalError';\n }\n };\n for (var $b = Array(256), ac = 0; 256 > ac; ++ac) $b[ac] = String.fromCharCode(ac);\n Ja = $b;\n R = k.BindingError = class extends Error {\n constructor(a) {\n super(a);\n this.name = 'BindingError';\n }\n };\n Object.assign(Ya.prototype, {\n isAliasOf: function (a) {\n if (!(this instanceof Ya && a instanceof Ya)) return !1;\n var b = this.ma.za.xa,\n c = this.ma.ya;\n a.ma = a.ma;\n var d = a.ma.za.xa;\n for (a = a.ma.ya; b.Ca; ) (c = b.Na(c)), (b = b.Ca);\n for (; d.Ca; ) (a = d.Na(a)), (d = d.Ca);\n return b === d && c === a;\n },\n clone: function () {\n this.ma.ya || La(this);\n if (this.ma.Ma) return (this.ma.count.value += 1), this;\n var a = Wa,\n b = Object,\n c = b.create,\n d = Object.getPrototypeOf(this),\n e = this.ma;\n a = a(\n c.call(b, d, {\n ma: { value: { count: e.count, Ka: e.Ka, Ma: e.Ma, ya: e.ya, za: e.za, Aa: e.Aa, Da: e.Da } },\n }),\n );\n a.ma.count.value += 1;\n a.ma.Ka = !1;\n return a;\n },\n ['delete']() {\n this.ma.ya || La(this);\n if (this.ma.Ka && !this.ma.Ma) throw new R('Object already scheduled for deletion');\n Oa(this);\n var a = this.ma;\n --a.count.value;\n 0 === a.count.value && (a.Aa ? a.Da.Fa(a.Aa) : a.za.xa.Fa(a.ya));\n this.ma.Ma || ((this.ma.Aa = void 0), (this.ma.ya = void 0));\n },\n isDeleted: function () {\n return !this.ma.ya;\n },\n deleteLater: function () {\n this.ma.ya || La(this);\n if (this.ma.Ka && !this.ma.Ma) throw new R('Object already scheduled for deletion');\n Ra.push(this);\n 1 === Ra.length && Ta && Ta(Sa);\n this.ma.Ka = !0;\n return this;\n },\n });\n k.getInheritedInstanceCount = () => Object.keys(Ua).length;\n k.getLiveInheritedInstances = () => {\n var a = [],\n b;\n for (b in Ua) Ua.hasOwnProperty(b) && a.push(Ua[b]);\n return a;\n };\n k.flushPendingDeletes = Sa;\n k.setDelayFunction = (a) => {\n Ta = a;\n Ra.length && Ta && Ta(Sa);\n };\n Object.assign(jb.prototype, {\n eb(a) {\n this.Za && (a = this.Za(a));\n return a;\n },\n Xa(a) {\n this.Fa?.(a);\n },\n argPackAdvance: 8,\n readValueFromPointer: K,\n fromWireType: function (a) {\n function b() {\n return this.Qa\n ? Xa(this.xa.La, { za: this.jb, ya: c, Da: this, Aa: a })\n : Xa(this.xa.La, { za: this, ya: a });\n }\n var c = this.eb(a);\n if (!c) return this.Xa(a), null;\n var d = Va(this.xa, c);\n if (void 0 !== d) {\n if (0 === d.ma.count.value) return (d.ma.ya = c), (d.ma.Aa = a), d.clone();\n d = d.clone();\n this.Xa(a);\n return d;\n }\n d = this.xa.cb(c);\n d = Qa[d];\n if (!d) return b.call(this);\n d = this.Pa ? d.$a : d.pointerType;\n var e = Pa(c, this.xa, d.xa);\n return null === e\n ? b.call(this)\n : this.Qa\n ? Xa(d.xa.La, { za: d, ya: e, Da: this, Aa: a })\n : Xa(d.xa.La, { za: d, ya: e });\n },\n });\n nb = k.UnboundTypeError = ((a, b) => {\n var c = Za(b, function (d) {\n this.name = b;\n this.message = d;\n d = Error(d).stack;\n void 0 !== d && (this.stack = this.toString() + '\\n' + d.replace(/^Error(:[^\\n]*)?\\n/, ''));\n });\n c.prototype = Object.create(a.prototype);\n c.prototype.constructor = c;\n c.prototype.toString = function () {\n return void 0 === this.message ? this.name : `${this.name}: ${this.message}`;\n };\n return c;\n })(Error, 'UnboundTypeError');\n V.push(0, 1, void 0, 1, null, 1, !0, 1, !1, 1);\n k.count_emval_handles = () => V.length / 2 - 5 - vb.length;\n var mc = {\n c: (a, b, c, d) => {\n ra(\n `Assertion failed: ${a ? J(A, a) : ''}, at: ` +\n [b ? (b ? J(A, b) : '') : 'unknown filename', c, d ? (d ? J(A, d) : '') : 'unknown function'],\n );\n },\n m: (a, b, c) => {\n var d = new Aa(a);\n F[(d.ya + 16) >> 2] = 0;\n F[(d.ya + 4) >> 2] = b;\n F[(d.ya + 8) >> 2] = c;\n Ba = a;\n Ca++;\n throw Ba;\n },\n B: function () {\n return 0;\n },\n P: () => {},\n M: () => {},\n R: function () {\n return 0;\n },\n N: () => {},\n A: function () {},\n O: () => {},\n v: (a) => {\n var b = Fa[a];\n delete Fa[a];\n var c = b.Ua,\n d = b.Fa,\n e = b.Ya,\n f = e.map((l) => l.hb).concat(e.map((l) => l.nb));\n P([a], f, (l) => {\n var h = {};\n e.forEach((n, m) => {\n var p = l[m],\n u = n.fb,\n v = n.gb,\n g = l[m + e.length],\n q = n.mb,\n r = n.ob;\n h[n.bb] = {\n read: (z) => p.fromWireType(u(v, z)),\n write: (z, N) => {\n var D = [];\n q(r, z, g.toWireType(D, N));\n Ga(D);\n },\n };\n });\n return [\n {\n name: b.name,\n fromWireType: (n) => {\n var m = {},\n p;\n for (p in h) m[p] = h[p].read(n);\n d(n);\n return m;\n },\n toWireType: (n, m) => {\n for (var p in h) if (!(p in m)) throw new TypeError(`Missing field: \"${p}\"`);\n var u = c();\n for (p in h) h[p].write(u, m[p]);\n null !== n && n.push(d, u);\n return u;\n },\n argPackAdvance: 8,\n readValueFromPointer: K,\n Ea: d,\n },\n ];\n });\n },\n I: () => {},\n Y: (a, b, c, d) => {\n b = Q(b);\n O(a, {\n name: b,\n fromWireType: function (e) {\n return !!e;\n },\n toWireType: function (e, f) {\n return f ? c : d;\n },\n argPackAdvance: 8,\n readValueFromPointer: function (e) {\n return this.fromWireType(A[e]);\n },\n Ea: null,\n });\n },\n r: (a, b, c, d, e, f, l, h, n, m, p, u, v) => {\n p = Q(p);\n f = T(e, f);\n h &&= T(l, h);\n m &&= T(n, m);\n v = T(u, v);\n var g = bb(p);\n ab(g, function () {\n qb(`Cannot construct ${p} due to unbound types`, [d]);\n });\n P([a, b, c], d ? [d] : [], (q) => {\n q = q[0];\n if (d) {\n var r = q.xa;\n var z = r.La;\n } else z = Ya.prototype;\n q = Za(p, function (...Na) {\n if (Object.getPrototypeOf(this) !== N) throw new R(\"Use 'new' to construct \" + p);\n if (void 0 === D.Ha) throw new R(p + ' has no accessible constructor');\n var xb = D.Ha[Na.length];\n if (void 0 === xb)\n throw new R(\n `Tried to invoke ctor of ${p} with invalid number of parameters (${\n Na.length\n }) - expected (${Object.keys(D.Ha).toString()}) parameters instead!`,\n );\n return xb.apply(this, Na);\n });\n var N = Object.create(z, { constructor: { value: q } });\n q.prototype = N;\n var D = new cb(p, q, N, v, r, f, h, m);\n if (D.Ca) {\n var ia;\n (ia = D.Ca).Wa ?? (ia.Wa = []);\n D.Ca.Wa.push(D);\n }\n r = new jb(p, D, !0, !1, !1);\n ia = new jb(p + '*', D, !1, !1, !1);\n z = new jb(p + ' const*', D, !1, !0, !1);\n Qa[a] = { pointerType: ia, $a: z };\n kb(g, q);\n return [r, ia, z];\n });\n },\n q: (a, b, c, d, e, f) => {\n var l = rb(b, c);\n e = T(d, e);\n P([], [a], (h) => {\n h = h[0];\n var n = `constructor ${h.name}`;\n void 0 === h.xa.Ha && (h.xa.Ha = []);\n if (void 0 !== h.xa.Ha[b - 1])\n throw new R(\n `Cannot register multiple constructors with identical number of parameters (${b - 1}) for class '${\n h.name\n }'! Overload resolution is currently only performed using the parameter count, not actual type info!`,\n );\n h.xa.Ha[b - 1] = () => {\n qb(`Cannot construct ${h.name} due to unbound types`, l);\n };\n P([], l, (m) => {\n m.splice(1, 0, null);\n h.xa.Ha[b - 1] = tb(n, m, null, e, f);\n return [];\n });\n return [];\n });\n },\n f: (a, b, c, d, e, f, l, h) => {\n var n = rb(c, d);\n b = Q(b);\n b = ub(b);\n f = T(e, f);\n P([], [a], (m) => {\n function p() {\n qb(`Cannot call ${u} due to unbound types`, n);\n }\n m = m[0];\n var u = `${m.name}.${b}`;\n b.startsWith('@@') && (b = Symbol[b.substring(2)]);\n h && m.xa.kb.push(b);\n var v = m.xa.La,\n g = v[b];\n void 0 === g || (void 0 === g.Ba && g.className !== m.name && g.Oa === c - 2)\n ? ((p.Oa = c - 2), (p.className = m.name), (v[b] = p))\n : ($a(v, b, u), (v[b].Ba[c - 2] = p));\n P([], n, (q) => {\n q = tb(u, q, m, f, l);\n void 0 === v[b].Ba ? ((q.Oa = c - 2), (v[b] = q)) : (v[b].Ba[c - 2] = q);\n return [];\n });\n return [];\n });\n },\n X: (a) => O(a, zb),\n x: (a, b, c, d) => {\n function e() {}\n b = Q(b);\n e.values = {};\n O(a, {\n name: b,\n constructor: e,\n fromWireType: function (f) {\n return this.constructor.values[f];\n },\n toWireType: (f, l) => l.value,\n argPackAdvance: 8,\n readValueFromPointer: Ab(b, c, d),\n Ea: null,\n });\n ab(b, e);\n },\n k: (a, b, c) => {\n var d = Bb(a, 'enum');\n b = Q(b);\n a = d.constructor;\n d = Object.create(d.constructor.prototype, {\n value: { value: c },\n constructor: { value: Za(`${d.name}_${b}`, function () {}) },\n });\n a.values[c] = d;\n a[b] = d;\n },\n C: (a, b, c) => {\n b = Q(b);\n O(a, {\n name: b,\n fromWireType: (d) => d,\n toWireType: (d, e) => e,\n argPackAdvance: 8,\n readValueFromPointer: Cb(b, c),\n Ea: null,\n });\n },\n E: (a, b, c, d, e, f) => {\n var l = rb(b, c);\n a = Q(a);\n a = ub(a);\n e = T(d, e);\n ab(\n a,\n function () {\n qb(`Cannot call ${a} due to unbound types`, l);\n },\n b - 1,\n );\n P([], l, (h) => {\n kb(a, tb(a, [h[0], null].concat(h.slice(1)), null, e, f), b - 1);\n return [];\n });\n },\n l: (a, b, c, d, e) => {\n b = Q(b);\n -1 === e && (e = 4294967295);\n e = (h) => h;\n if (0 === d) {\n var f = 32 - 8 * c;\n e = (h) => (h << f) >>> f;\n }\n var l = b.includes('unsigned')\n ? function (h, n) {\n return n >>> 0;\n }\n : function (h, n) {\n return n;\n };\n O(a, {\n name: b,\n fromWireType: e,\n toWireType: l,\n argPackAdvance: 8,\n readValueFromPointer: Db(b, c, 0 !== d),\n Ea: null,\n });\n },\n g: (a, b, c) => {\n function d(f) {\n return new e(y.buffer, F[(f + 4) >> 2], F[f >> 2]);\n }\n var e = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array][\n b\n ];\n c = Q(c);\n O(a, { name: c, fromWireType: d, argPackAdvance: 8, readValueFromPointer: d }, { ib: !0 });\n },\n w: (a) => {\n O(a, zb);\n },\n ca: (a, b, c, d, e, f, l, h, n, m, p, u) => {\n c = Q(c);\n f = T(e, f);\n h = T(l, h);\n m = T(n, m);\n u = T(p, u);\n P([a], [b], (v) => {\n v = v[0];\n return [new jb(c, v.xa, !1, !1, !0, v, d, f, h, m, u)];\n });\n },\n D: (a, b) => {\n b = Q(b);\n var c = 'std::string' === b;\n O(a, {\n name: b,\n fromWireType: function (d) {\n var e = F[d >> 2],\n f = d + 4;\n if (c)\n for (var l = f, h = 0; h <= e; ++h) {\n var n = f + h;\n if (h == e || 0 == A[n]) {\n l = l ? J(A, l, n - l) : '';\n if (void 0 === m) var m = l;\n else (m += String.fromCharCode(0)), (m += l);\n l = n + 1;\n }\n }\n else {\n m = Array(e);\n for (h = 0; h < e; ++h) m[h] = String.fromCharCode(A[f + h]);\n m = m.join('');\n }\n U(d);\n return m;\n },\n toWireType: function (d, e) {\n e instanceof ArrayBuffer && (e = new Uint8Array(e));\n var f = 'string' == typeof e;\n if (!(f || e instanceof Uint8Array || e instanceof Uint8ClampedArray || e instanceof Int8Array))\n throw new R('Cannot pass non-string to std::string');\n var l = c && f ? Da(e) : e.length;\n var h = bc(4 + l + 1),\n n = h + 4;\n F[h >> 2] = l;\n if (c && f) Ea(e, A, n, l + 1);\n else if (f)\n for (f = 0; f < l; ++f) {\n var m = e.charCodeAt(f);\n if (255 < m) throw (U(n), new R('String has UTF-16 code units that do not fit in 8 bits'));\n A[n + f] = m;\n }\n else for (f = 0; f < l; ++f) A[n + f] = e[f];\n null !== d && d.push(U, h);\n return h;\n },\n argPackAdvance: 8,\n readValueFromPointer: K,\n Ea(d) {\n U(d);\n },\n });\n },\n u: (a, b, c) => {\n c = Q(c);\n if (2 === b) {\n var d = Fb;\n var e = Gb;\n var f = Hb;\n var l = (h) => C[h >> 1];\n } else 4 === b && ((d = Ib), (e = Jb), (f = Kb), (l = (h) => F[h >> 2]));\n O(a, {\n name: c,\n fromWireType: (h) => {\n for (var n = F[h >> 2], m, p = h + 4, u = 0; u <= n; ++u) {\n var v = h + 4 + u * b;\n if (u == n || 0 == l(v))\n (p = d(p, v - p)), void 0 === m ? (m = p) : ((m += String.fromCharCode(0)), (m += p)), (p = v + b);\n }\n U(h);\n return m;\n },\n toWireType: (h, n) => {\n if ('string' != typeof n) throw new R(`Cannot pass non-string to C++ string type ${c}`);\n var m = f(n),\n p = bc(4 + m + b);\n F[p >> 2] = m / b;\n e(n, p + 4, m + b);\n null !== h && h.push(U, p);\n return p;\n },\n argPackAdvance: 8,\n readValueFromPointer: K,\n Ea(h) {\n U(h);\n },\n });\n },\n s: (a, b, c, d, e, f) => {\n Fa[a] = { name: Q(b), Ua: T(c, d), Fa: T(e, f), Ya: [] };\n },\n j: (a, b, c, d, e, f, l, h, n, m) => {\n Fa[a].Ya.push({ bb: Q(b), hb: c, fb: T(d, e), gb: f, nb: l, mb: T(h, n), ob: m });\n },\n Z: (a, b) => {\n b = Q(b);\n O(a, { ub: !0, name: b, argPackAdvance: 0, fromWireType: () => {}, toWireType: () => {} });\n },\n J: () => {\n throw Infinity;\n },\n aa: (a, b, c, d) => {\n a = Lb[a];\n b = yb(b);\n return a(null, b, c, d);\n },\n F: wb,\n $: (a, b, c) => {\n var d = Nb(a, b),\n e = d.shift();\n a--;\n var f = Array(a);\n b = `methodCaller<(${d.map((l) => l.name).join(', ')}) => ${e.name}>`;\n return Mb(\n Za(b, (l, h, n, m) => {\n for (var p = 0, u = 0; u < a; ++u) (f[u] = d[u].readValueFromPointer(m + p)), (p += d[u].argPackAdvance);\n h = 1 === c ? Ob(h, f) : h.apply(l, f);\n l = [];\n h = e.toWireType(l, h);\n l.length && (F[n >> 2] = hb(l));\n return h;\n }),\n );\n },\n ba: (a) => {\n 9 < a && (V[a + 1] += 1);\n },\n _: (a) => {\n var b = yb(a);\n Ga(b);\n wb(a);\n },\n o: (a, b) => {\n a = Bb(a, '_emval_take_value');\n a = a.readValueFromPointer(b);\n return hb(a);\n },\n W: () => {\n ra('');\n },\n V: () => performance.now(),\n L: (a) => {\n var b = A.length;\n a >>>= 0;\n if (2147483648 < a) return !1;\n for (var c = 1; 4 >= c; c *= 2) {\n var d = b * (1 + 0.2 / c);\n d = Math.min(d, a + 100663296);\n var e = Math;\n d = Math.max(a, d);\n a: {\n e =\n (e.min.call(e, 2147483648, d + ((65536 - (d % 65536)) % 65536)) - fa.buffer.byteLength + 65535) / 65536;\n try {\n fa.grow(e);\n la();\n var f = 1;\n break a;\n } catch (l) {}\n f = void 0;\n }\n if (f) return !0;\n }\n return !1;\n },\n S: (a, b) => {\n var c = 0;\n Rb().forEach((d, e) => {\n var f = b + c;\n e = F[(a + 4 * e) >> 2] = f;\n for (f = 0; f < d.length; ++f) y[e++] = d.charCodeAt(f);\n y[e] = 0;\n c += d.length + 1;\n });\n return 0;\n },\n T: (a, b) => {\n var c = Rb();\n F[a >> 2] = c.length;\n var d = 0;\n c.forEach((e) => (d += e.length + 1));\n F[b >> 2] = d;\n return 0;\n },\n t: () => 52,\n z: () => 52,\n H: function () {\n return 70;\n },\n Q: (a, b, c, d) => {\n for (var e = 0, f = 0; f < c; f++) {\n var l = F[b >> 2],\n h = F[(b + 4) >> 2];\n b += 8;\n for (var n = 0; n < h; n++) {\n var m = A[l + n],\n p = Sb[a];\n 0 === m || 10 === m ? ((1 === a ? ea : w)(J(p, 0)), (p.length = 0)) : p.push(m);\n }\n e += h;\n }\n F[d >> 2] = e;\n return 0;\n },\n U: (a, b) => {\n Ub(A.subarray(a, a + b));\n return 0;\n },\n i: cc,\n d: dc,\n e: ec,\n p: fc,\n y: gc,\n b: hc,\n a: ic,\n h: jc,\n n: kc,\n G: lc,\n K: (a, b, c, d) => Zb(a, b, c, d),\n },\n W = (function () {\n function a(c) {\n W = c.exports;\n fa = W.da;\n la();\n S = W.ha;\n na.unshift(W.ea);\n G--;\n k.monitorRunDependencies?.(G);\n 0 == G && (null !== qa && (clearInterval(qa), (qa = null)), H && ((c = H), (H = null), c()));\n return W;\n }\n var b = { a: mc };\n G++;\n k.monitorRunDependencies?.(G);\n if (k.instantiateWasm)\n try {\n return k.instantiateWasm(b, a);\n } catch (c) {\n w(`Module.instantiateWasm callback failed with error: ${c}`), ba(c);\n }\n xa(b, function (c) {\n a(c.instance);\n }).catch(ba);\n return {};\n })(),\n bc = (a) => (bc = W.fa)(a),\n ob = (a) => (ob = W.ga)(a),\n U = (a) => (U = W.ia)(a),\n X = (a, b) => (X = W.ja)(a, b),\n Y = (a) => (Y = W.ka)(a),\n Z = () => (Z = W.la)();\n k.dynCall_iijj = (a, b, c, d, e, f) => (k.dynCall_iijj = W.na)(a, b, c, d, e, f);\n k.dynCall_vijj = (a, b, c, d, e, f) => (k.dynCall_vijj = W.oa)(a, b, c, d, e, f);\n k.dynCall_jiii = (a, b, c, d) => (k.dynCall_jiii = W.pa)(a, b, c, d);\n k.dynCall_jii = (a, b, c) => (k.dynCall_jii = W.qa)(a, b, c);\n var nc = (k.dynCall_viiij = (a, b, c, d, e, f) => (nc = k.dynCall_viiij = W.ra)(a, b, c, d, e, f));\n k.dynCall_jiji = (a, b, c, d, e) => (k.dynCall_jiji = W.sa)(a, b, c, d, e);\n k.dynCall_viijii = (a, b, c, d, e, f, l) => (k.dynCall_viijii = W.ta)(a, b, c, d, e, f, l);\n k.dynCall_iiiiij = (a, b, c, d, e, f, l) => (k.dynCall_iiiiij = W.ua)(a, b, c, d, e, f, l);\n k.dynCall_iiiiijj = (a, b, c, d, e, f, l, h, n) => (k.dynCall_iiiiijj = W.va)(a, b, c, d, e, f, l, h, n);\n k.dynCall_iiiiiijj = (a, b, c, d, e, f, l, h, n, m) => (k.dynCall_iiiiiijj = W.wa)(a, b, c, d, e, f, l, h, n, m);\n function hc(a, b) {\n var c = Z();\n try {\n S.get(a)(b);\n } catch (d) {\n Y(c);\n if (d !== d + 0) throw d;\n X(1, 0);\n }\n }\n function ic(a, b, c) {\n var d = Z();\n try {\n S.get(a)(b, c);\n } catch (e) {\n Y(d);\n if (e !== e + 0) throw e;\n X(1, 0);\n }\n }\n function ec(a, b, c, d) {\n var e = Z();\n try {\n return S.get(a)(b, c, d);\n } catch (f) {\n Y(e);\n if (f !== f + 0) throw f;\n X(1, 0);\n }\n }\n function dc(a, b, c) {\n var d = Z();\n try {\n return S.get(a)(b, c);\n } catch (e) {\n Y(d);\n if (e !== e + 0) throw e;\n X(1, 0);\n }\n }\n function cc(a, b) {\n var c = Z();\n try {\n return S.get(a)(b);\n } catch (d) {\n Y(c);\n if (d !== d + 0) throw d;\n X(1, 0);\n }\n }\n function fc(a, b, c, d, e, f) {\n var l = Z();\n try {\n return S.get(a)(b, c, d, e, f);\n } catch (h) {\n Y(l);\n if (h !== h + 0) throw h;\n X(1, 0);\n }\n }\n function kc(a, b, c, d, e) {\n var f = Z();\n try {\n S.get(a)(b, c, d, e);\n } catch (l) {\n Y(f);\n if (l !== l + 0) throw l;\n X(1, 0);\n }\n }\n function jc(a, b, c, d) {\n var e = Z();\n try {\n S.get(a)(b, c, d);\n } catch (f) {\n Y(e);\n if (f !== f + 0) throw f;\n X(1, 0);\n }\n }\n function gc(a) {\n var b = Z();\n try {\n S.get(a)();\n } catch (c) {\n Y(b);\n if (c !== c + 0) throw c;\n X(1, 0);\n }\n }\n function lc(a, b, c, d, e, f) {\n var l = Z();\n try {\n nc(a, b, c, d, e, f);\n } catch (h) {\n Y(l);\n if (h !== h + 0) throw h;\n X(1, 0);\n }\n }\n var oc;\n H = function pc() {\n oc || qc();\n oc || (H = pc);\n };\n function qc() {\n function a() {\n if (!oc && ((oc = !0), (k.calledRun = !0), !ha)) {\n ya(na);\n aa(k);\n if (k.onRuntimeInitialized) k.onRuntimeInitialized();\n if (k.postRun)\n for ('function' == typeof k.postRun && (k.postRun = [k.postRun]); k.postRun.length; ) {\n var b = k.postRun.shift();\n oa.unshift(b);\n }\n ya(oa);\n }\n }\n if (!(0 < G)) {\n if (k.preRun) for ('function' == typeof k.preRun && (k.preRun = [k.preRun]); k.preRun.length; ) pa();\n ya(ma);\n 0 < G ||\n (k.setStatus\n ? (k.setStatus('Running...'),\n setTimeout(function () {\n setTimeout(function () {\n k.setStatus('');\n }, 1);\n a();\n }, 1))\n : a());\n }\n }\n if (k.preInit)\n for ('function' == typeof k.preInit && (k.preInit = [k.preInit]); 0 < k.preInit.length; ) k.preInit.pop()();\n qc();\n\n return readyPromise;\n };\n})();\nexport default createDotLottiePlayerModule;\n","import pkg from '../../package.json';\n\nimport createDotLottiePlayerModule from './dotlottie-player';\nimport type { MainModule } from './dotlottie-player.types';\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class DotLottieWasmLoader {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n private static _ModulePromise: Promise<MainModule> | null = null;\n\n // URL for the WASM file, constructed using package information\n private static _wasmURL = `https://cdn.jsdelivr.net/npm/${pkg.name}@${pkg.version}/dist/dotlottie-player.wasm`;\n\n private constructor() {\n throw new Error('RendererLoader is a static class and cannot be instantiated.');\n }\n\n private static async _tryLoad(url: string): Promise<MainModule> {\n const module = await createDotLottiePlayerModule({ locateFile: () => url });\n\n return module;\n }\n\n /**\n * Tries to load the WASM module from the primary URL, falling back to a backup URL if necessary.\n * Throws an error if both URLs fail to load the module.\n * @returns Promise<Module> - A promise that resolves to the loaded module.\n */\n private static async _loadWithBackup(): Promise<MainModule> {\n if (!this._ModulePromise) {\n this._ModulePromise = this._tryLoad(this._wasmURL).catch(async (initialError): Promise<MainModule> => {\n const backupUrl = `https://unpkg.com/${pkg.name}@${pkg.version}/dist/dotlottie-player.wasm`;\n\n console.warn(`Primary WASM load failed from ${this._wasmURL}. Error: ${(initialError as Error).message}`);\n console.warn(`Attempting to load WASM from backup URL: ${backupUrl}`);\n\n try {\n return await this._tryLoad(backupUrl);\n } catch (backupError) {\n console.error(`Primary WASM URL failed: ${(initialError as Error).message}`);\n console.error(`Backup WASM URL failed: ${(backupError as Error).message}`);\n throw new Error('WASM loading failed from all sources.');\n }\n });\n }\n\n return this._ModulePromise;\n }\n\n /**\n * Public method to load the WebAssembly module.\n * Utilizes a primary and backup URL for robustness.\n * @returns Promise<Module> - A promise that resolves to the loaded module.\n */\n public static async load(): Promise<MainModule> {\n return this._loadWithBackup();\n }\n\n /**\n * Sets a new URL for the WASM file and invalidates the current module promise.\n *\n * @param string - The new URL for the WASM file.\n */\n public static setWasmUrl(url: string): void {\n this._wasmURL = url;\n // Invalidate current module promise\n this._ModulePromise = null;\n }\n}\n","/**\n * Represents the different types of events that can be dispatched.\n */\nexport type EventType =\n | 'complete'\n | 'frame'\n | 'load'\n | 'loadError'\n | 'loop'\n | 'pause'\n | 'play'\n | 'stop'\n | 'destroy'\n | 'freeze'\n | 'unfreeze'\n | 'render'\n | 'ready';\n\n/**\n * Maps an event type string to its respective event interface.\n */\ntype EventByType<T> = T extends 'complete'\n ? CompleteEvent\n : T extends 'frame'\n ? FrameEvent\n : T extends 'load'\n ? LoadEvent\n : T extends 'loadError'\n ? LoadErrorEvent\n : T extends 'loop'\n ? LoopEvent\n : T extends 'pause'\n ? PauseEvent\n : T extends 'play'\n ? PlayEvent\n : T extends 'stop'\n ? StopEvent\n : T extends 'destroy'\n ? DestroyEvent\n : T extends 'freeze'\n ? FreezeEvent\n : T extends 'unfreeze'\n ? UnfreezeEvent\n : T extends 'render'\n ? RenderEvent\n : T extends 'ready'\n ? ReadyEvent\n : never;\n\n/**\n * Base interface for all events.\n */\nexport interface BaseEvent {\n type: EventType;\n}\n\nexport interface RenderEvent extends BaseEvent {\n currentFrame: number;\n type: 'render';\n}\n\nexport interface FreezeEvent extends BaseEvent {\n type: 'freeze';\n}\n\nexport interface UnfreezeEvent extends BaseEvent {\n type: 'unfreeze';\n}\n\n/*\n * Event fired when a destroy action occurs.\n */\nexport interface DestroyEvent extends BaseEvent {\n type: 'destroy';\n}\n\n/**\n * Event fired when a loop action occurs.\n */\nexport interface LoopEvent extends BaseEvent {\n loopCount: number;\n type: 'loop';\n}\n\n/**\n * Event fired during frame changes.\n */\nexport interface FrameEvent extends BaseEvent {\n currentFrame: number;\n type: 'frame';\n}\n\n/**\n * Event fired when a load action occurs.\n */\nexport interface LoadEvent extends BaseEvent {\n type: 'load';\n}\n\n/**\n * Event fired when a loading error occurs.\n */\nexport interface LoadErrorEvent extends BaseEvent {\n error: Error;\n type: 'loadError';\n}\n\n/**\n * Event fired when a completion action occurs.\n */\nexport interface CompleteEvent extends BaseEvent {\n type: 'complete';\n}\n\n/**\n * Event fired when a pause action occurs.\n */\nexport interface PauseEvent extends BaseEvent {\n type: 'pause';\n}\n\n/**\n * Event fired when a play action occurs.\n */\nexport interface PlayEvent extends BaseEvent {\n type: 'play';\n}\n\n/**\n * Event fired when a stop action occurs.\n */\nexport interface StopEvent extends BaseEvent {\n type: 'stop';\n}\n\n/**\n * Event fired when a WASM module is initialized and ready.\n */\nexport interface ReadyEvent extends BaseEvent {\n type: 'ready';\n}\n\n/**\n * Type representing all possible event types.\n */\nexport type Event =\n | LoopEvent\n | FrameEvent\n | LoadEvent\n | LoadErrorEvent\n | CompleteEvent\n | PauseEvent\n | PlayEvent\n | StopEvent\n | DestroyEvent\n | FreezeEvent\n | UnfreezeEvent\n | RenderEvent\n | ReadyEvent;\n\nexport interface EventListener<T extends EventType> {\n (event: EventByType<T>): void;\n}\n\n/**\n * Manages registration and dispatching of event listeners.\n */\nexport class EventManager {\n private readonly _eventListeners: Map<EventType, Set<EventListener<EventType>>> = new Map();\n\n public addEventListener<T extends EventType>(type: T, listener: EventListener<T>): void {\n let listeners = this._eventListeners.get(type);\n\n if (!listeners) {\n listeners = new Set<EventListener<T>>();\n this._eventListeners.set(type, listeners);\n }\n\n listeners.add(listener);\n }\n\n public removeEventListener<T extends EventType>(type: T, listener?: EventListener<T>): void {\n const listeners = this._eventListeners.get(type);\n\n if (!listeners) return;\n\n if (listener) {\n listeners.delete(listener);\n\n if (listeners.size === 0) {\n this._eventListeners.delete(type);\n }\n } else {\n this._eventListeners.delete(type);\n }\n }\n\n public dispatch<T extends EventType>(event: EventByType<T>): void {\n const listeners = this._eventListeners.get(event.type);\n\n listeners?.forEach((listener) => listener(event));\n }\n\n public removeAllEventListeners(): void {\n this._eventListeners.clear();\n }\n}\n","export function isHexColor(color: string): boolean {\n return /^#([\\da-f]{6}|[\\da-f]{8})$/iu.test(color);\n}\n\nexport function hexStringToRGBAInt(colorHex: string): number {\n if (!isHexColor(colorHex)) {\n return 0;\n }\n\n let hex = colorHex.replace('#', '');\n\n // Add alpha if it's not included\n hex = hex.length === 6 ? `${hex}ff` : hex;\n\n return parseInt(hex, 16);\n}\n","import { AnimationFrameManager } from './animation-frame-manager';\nimport { IS_BROWSER } from './constants';\nimport type { DotLottiePlayer, MainModule, Mode as CoreMode, VectorFloat, Marker, Fit as CoreFit } from './core';\nimport { DotLottieWasmLoader } from './core';\nimport type { EventListener, EventType } from './event-manager';\nimport { EventManager } from './event-manager';\nimport type { Mode, Fit, Data, Config, Layout, Manifest, RenderConfig } from './types';\nimport { hexStringToRGBAInt } from './utils';\n\nconst createCoreMode = (mode: Mode, module: MainModule): CoreMode => {\n if (mode === 'reverse') {\n return module.Mode.Reverse;\n } else if (mode === 'bounce') {\n return module.Mode.Bounce;\n } else if (mode === 'reverse-bounce') {\n return module.Mode.ReverseBounce;\n } else {\n return module.Mode.Forward;\n }\n};\n\nconst createCoreFit = (fit: Fit, module: MainModule): CoreFit => {\n if (fit === 'contain') {\n return module.Fit.Contain;\n } else if (fit === 'cover') {\n return module.Fit.Cover;\n } else if (fit === 'fill') {\n return module.Fit.Fill;\n } else if (fit === 'fit-height') {\n return module.Fit.FitHeight;\n } else if (fit === 'fit-width') {\n return module.Fit.FitWidth;\n } else {\n return module.Fit.None;\n }\n};\n\nconst createCoreAlign = (align: [number, number], module: MainModule): VectorFloat => {\n const coreAlign = new module.VectorFloat();\n\n coreAlign.push_back(align[0]);\n coreAlign.push_back(align[1]);\n\n return coreAlign;\n};\n\nconst createCoreSegment = (segment: number[], module: MainModule): VectorFloat => {\n const coresegment = new module.VectorFloat();\n\n if (segment.length !== 2) return coresegment;\n\n coresegment.push_back(segment[0] as number);\n coresegment.push_back(segment[1] as number);\n\n return coresegment;\n};\n\nexport class DotLottie {\n private readonly _canvas: HTMLCanvasElement | OffscreenCanvas;\n\n private _context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D | null = null;\n\n private readonly _eventManager: EventManager;\n\n private _animationFrameId: number | null = null;\n\n private readonly _frameManager: AnimationFrameManager;\n\n private _dotLottieCore: DotLottiePlayer | null = null;\n\n private static _wasmModule: MainModule | null = null;\n\n private _renderConfig: RenderConfig = {};\n\n private _isFrozen: boolean = false;\n\n private _backgroundColor: string | null = null;\n\n public constructor(config: Config) {\n this._canvas = config.canvas;\n this._context = this._canvas.getContext('2d');\n\n this._eventManager = new EventManager();\n this._frameManager = new AnimationFrameManager();\n this._renderConfig = config.renderConfig ?? {};\n\n DotLottieWasmLoader.load()\n .then((module) => {\n DotLottie._wasmModule = module;\n\n this._dotLottieCore = new module.DotLottiePlayer({\n autoplay: config.autoplay ?? false,\n backgroundColor: 0,\n loopAnimation: config.loop ?? false,\n mode: createCoreMode(config.mode ?? 'forward', module),\n segment: createCoreSegment(config.segment ?? [], module),\n speed: config.speed ?? 1,\n useFrameInterpolation: config.useFrameInterpolation ?? true,\n marker: config.marker ?? '',\n layout: config.layout\n ? {\n align: createCoreAlign(config.layout.align, module),\n fit: createCoreFit(config.layout.fit, module),\n }\n : module.createDefaultLayout(),\n });\n\n this._eventManager.dispatch({ type: 'ready' });\n\n if (config.data) {\n this._loadFromData(config.data);\n } else if (config.src) {\n this._loadFromSrc(config.src);\n }\n\n if (config.backgroundColor) {\n this.setBackgroundColor(config.backgroundColor);\n }\n })\n .catch((error) => {\n this._eventManager.dispatch({\n type: 'loadError',\n error: new Error(`Failed to load wasm module: ${error}`),\n });\n });\n }\n\n private _loadFromSrc(src: string): void {\n async function load(): Promise<string | ArrayBuffer> {\n const response = await fetch(src);\n\n if (!response.ok) {\n throw new Error(\n `Failed to fetch the animation data from URL: ${src}. ${response.status}: ${response.statusText}`,\n );\n }\n\n const contentType = (response.headers.get('content-type') ?? '').trim();\n\n let data: string | ArrayBuffer;\n\n if (['application/json', 'text/plain'].some((type) => contentType.startsWith(type))) {\n data = await response.text();\n } else {\n data = await response.arrayBuffer();\n }\n\n return data;\n }\n\n load()\n .then((data) => {\n this._loadFromData(data);\n })\n .catch((error) => {\n this._eventManager.dispatch({\n type: 'loadError',\n error: new Error(`Failed to load animation data from URL: ${src}. ${error}`),\n });\n });\n }\n\n private _loadFromData(data: Data): void {\n if (this._dotLottieCore === null) return;\n\n const width = this._canvas.width;\n const height = this._canvas.height;\n\n let loaded = false;\n\n if (typeof data === 'string') {\n loaded = this._dotLottieCore.loadAnimationData(data, width, height);\n } else if (data instanceof ArrayBuffer) {\n loaded = this._dotLottieCore.loadDotLottieData(data, width, height);\n } else if (typeof data === 'object') {\n loaded = this._dotLottieCore.loadAnimationData(JSON.stringify(data), width, height);\n } else {\n this._eventManager.dispatch({\n type: 'loadError',\n error: new Error('Unsupported data type for animation data. Expected a string or ArrayBuffer.'),\n });\n\n return;\n }\n\n if (loaded) {\n this._eventManager.dispatch({ type: 'load' });\n\n if (IS_BROWSER) {\n this.resize();\n }\n\n this._eventManager.dispatch({\n type: 'frame',\n currentFrame: this._dotLottieCore.currentFrame(),\n });\n\n this._render();\n\n if (this._dotLottieCore.config().autoplay) {\n this._dotLottieCore.play();\n if (this._dotLottieCore.isPlaying()) {\n this._eventManager.dispatch({ type: 'play' });\n this._animationFrameId = this._frameManager.requestAnimationFrame(this._draw.bind(this));\n } else {\n console.error('something went wrong, the animation was suppose to autoplay');\n }\n }\n } else {\n this._eventManager.dispatch({\n type: 'loadError',\n error: new Error('Failed to load animation data'),\n });\n }\n }\n\n public get activeAnimationId(): string | undefined {\n return this._dotLottieCore?.activeAnimationId();\n }\n\n public get activeThemeId(): string | undefined {\n return this._dotLottieCore?.activeThemeId();\n }\n\n public get layout(): Layout | undefined {\n const layout = this._dotLottieCore?.config().layout;\n\n if (layout) {\n return {\n align: [layout.align.get(0) as number, layout.align.get(1) as number],\n fit: ((): Fit => {\n switch (layout.fit) {\n case DotLottie._wasmModule?.Fit.Contain:\n return 'contain';\n\n case DotLottie._wasmModule?.Fit.Cover:\n return 'cover';\n\n case DotLottie._wasmModule?.Fit.Fill:\n return 'fill';\n\n case DotLottie._wasmModule?.Fit.FitHeight:\n return 'fit-height';\n\n case DotLottie._wasmModule?.Fit.FitWidth:\n return 'fit-width';\n\n case DotLottie._wasmModule?.Fit.None:\n return 'none';\n\n default:\n return 'contain';\n }\n })(),\n };\n }\n\n return undefined;\n }\n\n public get marker(): string | undefined {\n const marker = this._dotLottieCore?.config().marker as string | undefined;\n\n return marker;\n }\n\n public get manifest(): Manifest | null {\n try {\n const manifest = this._dotLottieCore?.manifestString();\n\n if (this._dotLottieCore === null || !manifest) return null;\n\n const manifestJson = JSON.parse(manifest);\n\n if (Object.keys(manifestJson).length === 0) return null;\n\n return manifestJson as Manifest;\n } catch (_err) {\n return null;\n }\n }\n\n public get renderConfig(): RenderConfig {\n return this._renderConfig;\n }\n\n public get segment(): [number, number] | undefined {\n const segment = this._dotLottieCore?.config().segment;\n\n if (segment && segment.size() === 2) {\n return [segment.get(0) as number, segment.get(1) as number];\n }\n\n return undefined;\n }\n\n public get loop(): boolean {\n return this._dotLottieCore?.config().loopAnimation ?? false;\n }\n\n public get mode(): Mode {\n const mode = this._dotLottieCore?.config().mode;\n\n if (mode === DotLottie._wasmModule?.Mode.Reverse) {\n return 'reverse';\n } else if (mode === DotLottie._wasmModule?.Mode.Bounce) {\n return 'bounce';\n } else if (mode === DotLottie._wasmModule?.Mode.ReverseBounce) {\n return 'reverse-bounce';\n } else {\n return 'forward';\n }\n }\n\n public get isFrozen(): boolean {\n return this._isFrozen;\n }\n\n public get backgroundColor(): string {\n return this._backgroundColor ?? '';\n }\n\n public get autoplay(): boolean {\n return this._dotLottieCore?.config().autoplay ?? false;\n }\n\n public get useFrameInterpolation(): boolean {\n return this._dotLottieCore?.config().useFrameInterpolation ?? false;\n }\n\n public get speed(): number {\n return this._dotLottieCore?.config().speed ?? 0;\n }\n\n public get isReady(): boolean {\n return this._dotLottieCore !== null;\n }\n\n public get isLoaded(): boolean {\n return this._dotLottieCore?.isLoaded() ?? false;\n }\n\n public get isPlaying(): boolean {\n return this._dotLottieCore?.isPlaying() ?? false;\n }\n\n public get isPaused(): boolean {\n return this._dotLottieCore?.isPaused() ?? false;\n }\n\n public get isStopped(): boolean {\n return this._dotLottieCore?.isStopped() ?? false;\n }\n\n public get currentFrame(): number {\n return this._dotLottieCore?.currentFrame() ?? 0;\n }\n\n public get loopCount(): number {\n return this._dotLottieCore?.loopCount() ?? 0;\n }\n\n public get totalFrames(): number {\n return this._dotLottieCore?.totalFrames() ?? 0;\n }\n\n public get duration(): number {\n return this._dotLottieCore?.duration() ?? 0;\n }\n\n public get segmentDuration(): number {\n return this._dotLottieCore?.segmentDuration() ?? 0;\n }\n\n public get canvas(): HTMLCanvasElement | OffscreenCanvas {\n return this._canvas;\n }\n\n public load(config: Omit<Config, 'canvas'>): void {\n if (this._dotLottieCore === null || DotLottie._wasmModule === null) return;\n\n this._dotLottieCore.setConfig({\n autoplay: config.autoplay ?? false,\n backgroundColor: 0,\n loopAnimation: config.loop ?? false,\n mode: createCoreMode(config.mode ?? 'forward', DotLottie._wasmModule),\n segment: createCoreSegment(config.segment ?? [], DotLottie._wasmModule),\n speed: config.speed ?? 1,\n useFrameInterpolation: config.useFrameInterpolation ?? true,\n marker: config.marker ?? '',\n layout: config.layout\n ? {\n align: createCoreAlign(config.layout.align, DotLottie._wasmModule),\n fit: createCoreFit(config.layout.fit, DotLottie._wasmModule),\n }\n : DotLottie._wasmModule.createDefaultLayout(),\n });\n\n if (config.data) {\n this._loadFromData(config.data);\n } else if (config.src) {\n this._loadFromSrc(config.src);\n }\n\n this.setBackgroundColor(config.backgroundColor ?? '');\n }\n\n private _render(): boolean {\n if (this._dotLottieCore === null || this._context === null) return false;\n\n const rendered = this._dotLottieCore.render();\n\n if (rendered) {\n const buffer = this._dotLottieCore.buffer() as Uint8Array;\n const clampedBuffer = new Uint8ClampedArray(buffer, 0, this._canvas.width * this._canvas.height * 4);\n\n let imageData = null;\n\n /* \n In Node.js, the ImageData constructor is not available. \n You can use createImageData function in the canvas context to create ImageData object.\n */\n if (typeof ImageData === 'undefined') {\n imageData = this._context.createImageData(this._canvas.width, this._canvas.height);\n imageData.data.set(clampedBuffer);\n } else {\n imageData = new ImageData(clampedBuffer, this._canvas.width, this._canvas.height);\n }\n\n this._context.putImageData(imageData, 0, 0);\n\n this._eventManager.dispatch({\n type: 'render',\n currentFrame: this._dotLottieCore.currentFrame(),\n });\n\n return true;\n }\n\n return false;\n }\n\n private _draw(): void {\n if (this._dotLottieCore === null || this._context === null || !this._dotLottieCore.isPlaying()) return;\n\n const nextFrame = this._dotLottieCore.requestFrame();\n\n const updated = this._dotLottieCore.setFrame(nextFrame);\n\n if (updated) {\n this._eventManager.dispatch({\n type: 'frame',\n currentFrame: this._dotLottieCore.currentFrame(),\n });\n\n const rendered = this._render();\n\n if (rendered) {\n // handle loop or complete\n if (this._dotLottieCore.isComplete()) {\n if (this._dotLottieCore.config().loopAnimation) {\n this._eventManager.dispatch({\n type: 'loop',\n loopCount: this._dotLottieCore.loopCount(),\n });\n } else {\n this._eventManager.dispatch({ type: 'complete' });\n }\n }\n }\n }\n\n this._animationFrameId = this._frameManager.requestAnimationFrame(this._draw.bind(this));\n }\n\n public play(): void {\n if (this._dotLottieCore === null) return;\n\n const ok = this._dotLottieCore.play();\n\n this._isFrozen = false;\n\n if (ok) {\n this._eventManager.dispatch({ type: 'play' });\n this._animationFrameId = this._frameManager.requestAnimationFrame(this._draw.bind(this));\n }\n }\n\n public pause(): void {\n if (this._dotLottieCore === null) return;\n\n const ok = this._dotLottieCore.pause();\n\n if (ok) {\n this._eventManager.dispatch({ type: 'pause' });\n }\n }\n\n public stop(): void {\n if (this._dotLottieCore === null) return;\n\n const ok = this._dotLottieCore.stop();\n\n if (ok) {\n this._eventManager.dispatch({ type: 'frame', currentFrame: this._dotLottieCore.currentFrame() });\n\n this._render();\n\n this._eventManager.dispatch({ type: 'stop' });\n }\n }\n\n public setFrame(frame: number): void {\n if (this._dotLottieCore === null) return;\n\n if (frame < 0 || frame > this._dotLottieCore.totalFrames()) return;\n\n const ok = this._dotLottieCore.seek(frame);\n\n if (ok) {\n this._eventManager.dispatch({ type: 'frame', currentFrame: this._dotLottieCore.currentFrame() });\n\n this._render();\n }\n }\n\n public setSpeed(speed: number): void {\n if (this._dotLottieCore === null) return;\n\n this._dotLottieCore.setConfig({\n ...this._dotLottieCore.config(),\n speed,\n });\n }\n\n public setBackgroundColor(color: string): void {\n if (this._dotLottieCore === null) return;\n\n if (IS_BROWSER && this._canvas instanceof HTMLCanvasElement) {\n this._canvas.style.backgroundColor = color;\n } else {\n this._dotLottieCore.setConfig({\n ...this._dotLottieCore.config(),\n backgroundColor: hexStringToRGBAInt(color),\n });\n }\n\n this._backgroundColor = color;\n }\n\n public setLoop(loop: boolean): void {\n if (this._dotLottieCore === null) return;\n\n this._dotLottieCore.setConfig({\n ...this._dotLottieCore.config(),\n loopAnimation: loop,\n });\n }\n\n public setUseFrameInterpolation(useFrameInterpolation: boolean): void {\n if (this._dotLottieCore === null) return;\n\n this._dotLottieCore.setConfig({\n ...this._dotLottieCore.config(),\n useFrameInterpolation,\n });\n }\n\n public addEventListener<T extends EventType>(type: T, listener: EventListener<T>): void {\n this._eventManager.addEventListener(type, listener);\n }\n\n public removeEventListener<T extends EventType>(type: T, listener?: EventListener<T>): void {\n this._eventManager.removeEventListener(type, listener);\n }\n\n public destroy(): void {\n this._dotLottieCore?.delete();\n this._dotLottieCore = null;\n this._context = null;\n\n this._eventManager.dispatch({\n type: 'destroy',\n });\n\n this._eventManager.removeAllEventListeners();\n this._cleanupStateMachineListeners();\n }\n\n public freeze(): void {\n if (this._animationFrameId === null) return;\n\n this._frameManager.cancelAnimationFrame(this._animationFrameId);\n this._animationFrameId = null;\n\n this._isFrozen = true;\n\n this._eventManager.dispatch({ type: 'freeze' });\n }\n\n public unfreeze(): void {\n if (this._animationFrameId !== null) return;\n\n this._animationFrameId = this._frameManager.requestAnimationFrame(this._draw.bind(this));\n\n this._isFrozen = false;\n\n this._eventManager.dispatch({ type: 'unfreeze' });\n }\n\n public resize(): void {\n if (IS_BROWSER && this._canvas instanceof HTMLCanvasElement) {\n const dpr = this._renderConfig.devicePixelRatio || window.devicePixelRatio || 1;\n\n const { height: clientHeight, width: clientWidth } = this._canvas.getBoundingClientRect();\n\n this._canvas.width = clientWidth * dpr;\n this._canvas.height = clientHeight * dpr;\n }\n\n const ok = this._dotLottieCore?.resize(this._canvas.width, this._canvas.height);\n\n if (ok) {\n this._render();\n }\n }\n\n public setSegment(startFrame: number, endFrame: number): void {\n if (this._dotLottieCore === null || DotLottie._wasmModule === null) return;\n\n this._dotLottieCore.setConfig({\n ...this._dotLottieCore.config(),\n segment: createCoreSegment([startFrame, endFrame], DotLottie._wasmModule),\n });\n }\n\n public setMode(mode: Mode): void {\n if (this._dotLottieCore === null || DotLottie._wasmModule === null) return;\n\n this._dotLottieCore.setConfig({\n ...this._dotLottieCore.config(),\n mode: createCoreMode(mode, DotLottie._wasmModule),\n });\n }\n\n public setRenderConfig(config: RenderConfig): void {\n this._renderConfig = config;\n }\n\n public loadAnimation(animationId: string): void {\n if (this._dotLottieCore === null || this._dotLottieCore.activeAnimationId() === animationId) return;\n\n const loaded = this._dotLottieCore.loadAnimation(animationId, this._canvas.width, this._canvas.height);\n\n if (loaded) {\n this._eventManager.dispatch({ type: 'load' });\n this.resize();\n } else {\n this._eventManager.dispatch({\n type: 'loadError',\n error: new Error(`Failed to animation :${animationId}`),\n });\n }\n }\n\n public setMarker(marker: string): void {\n if (this._dotLottieCore === null) return;\n\n this._dotLottieCore.setConfig({\n ...this._dotLottieCore.config(),\n marker,\n });\n }\n\n public markers(): Marker[] {\n const markers = this._dotLottieCore?.markers();\n\n if (markers) {\n const result: Marker[] = [];\n\n for (let i = 0; i < markers.size(); i += 1) {\n const marker = markers.get(i) as Marker;\n\n result.push({\n name: marker.name,\n time: marker.time,\n duration: marker.duration,\n });\n }\n\n return result;\n }\n\n return [];\n }\n\n public loadTheme(themeId: string): boolean {\n if (this._dotLottieCore === null) return false;\n\n const loaded = this._dotLottieCore.loadTheme(themeId);\n\n this._render();\n\n return loaded;\n }\n\n public loadThemeData(themeData: string): boolean {\n if (this._dotLottieCore === null) return false;\n\n const loaded = this._dotLottieCore.loadThemeData(themeData);\n\n this._render();\n\n return loaded;\n }\n\n public setLayout(layout: Layout): void {\n if (this._dotLottieCore === null || DotLottie._wasmModule === null) return;\n\n this._dotLottieCore.setConfig({\n ...this._dotLottieCore.config(),\n layout: {\n align: createCoreAlign(layout.align, DotLottie._wasmModule),\n fit: createCoreFit(layout.fit, DotLottie._wasmModule),\n },\n });\n }\n\n public setViewport(x: number, y: number, width: number, height: number): boolean {\n if (this._dotLottieCore === null) return false;\n\n return this._dotLottieCore.setViewport(x, y, width, height);\n }\n\n public static setWasmUrl(url: string): void {\n DotLottieWasmLoader.setWasmUrl(url);\n }\n\n public loadStateMachine(stateMachineId: string): boolean {\n return this._dotLottieCore?.loadStateMachine(stateMachineId) ?? false;\n }\n\n public startStateMachine(): boolean {\n const started = this._dotLottieCore?.startStateMachine() ?? false;\n\n if (started) {\n this._setupStateMachineListeners();\n }\n\n return started;\n }\n\n public stopStateMachine(): boolean {\n const stopped = this._dotLottieCore?.stopStateMachine() ?? false;\n\n if (stopped) {\n this._cleanupStateMachineListeners();\n }\n\n return stopped;\n }\n\n private _getPointerPosition(event: PointerEvent): { x: number; y: number } {\n const rect = (this._canvas as HTMLCanvasElement).getBoundingClientRect();\n const scaleX = this._canvas.width / rect.width;\n const scaleY = this._canvas.height / rect.height;\n\n const devicePixelRatio = this._renderConfig.devicePixelRatio || window.devicePixelRatio || 1;\n const x = ((event.clientX - rect.left) * scaleX) / devicePixelRatio;\n const y = ((event.clientY - rect.top) * scaleY) / devicePixelRatio;\n\n return {\n x,\n y,\n };\n }\n\n private _onPointerUp(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerUp: ${x} ${y}`);\n }\n\n private _onPointerDown(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerDown: ${x} ${y}`);\n }\n\n private _onPointerMove(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerMove: ${x} ${y}`);\n }\n\n private _onPointerEnter(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerEnter: ${x} ${y}`);\n }\n\n private _onPointerLeave(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerExit: ${x} ${y}`);\n }\n\n private _onComplete(): void {\n this.postStateMachineEvent('OnComplete');\n }\n\n /**\n * @experimental\n * @param event - The event to be posted to the state machine\n * @returns boolean - true if the event was posted successfully, false otherwise\n */\n public postStateMachineEvent(event: string): boolean {\n return this._dotLottieCore?.postEventPayload(event) ?? false;\n }\n\n public getStateMachineListeners(): string[] {\n if (!this._dotLottieCore) return [];\n\n const listenersVector = this._dotLottieCore.stateMachineFrameworkSetup();\n\n const listeners = [];\n\n for (let i = 0; i < listenersVector.size(); i += 1) {\n listeners.push(listenersVector.get(i) as string);\n }\n\n return listeners;\n }\n\n private _setupStateMachineListeners(): void {\n if (IS_BROWSER && this._canvas instanceof HTMLCanvasElement && this._dotLottieCore !== null && this.isLoaded) {\n const listeners = this.getStateMachineListeners();\n\n if (listeners.includes('PointerUp')) {\n this._canvas.addEventListener('pointerup', this._onPointerUp.bind(this));\n }\n\n if (listeners.includes('PointerDown')) {\n this._canvas.addEventListener('pointerdown', this._onPointerDown.bind(this));\n }\n\n if (listeners.includes('PointerMove')) {\n this._canvas.addEventListener('pointermove', this._onPointerMove.bind(this));\n }\n\n if (listeners.includes('PointerEnter')) {\n this._canvas.addEventListener('pointerenter', this._onPointerEnter.bind(this));\n }\n\n if (listeners.includes('PointerExit')) {\n this._canvas.addEventListener('pointerleave', this._onPointerLeave.bind(this));\n }\n\n if (listeners.includes('Complete')) {\n this.addEventListener('complete', this._onComplete.bind(this));\n }\n }\n }\n\n private _cleanupStateMachineListeners(): void {\n if (IS_BROWSER && this._canvas instanceof HTMLCanvasElement) {\n this._canvas.removeEventListener('pointerup', this._onPointerUp.bind(this));\n this._canvas.removeEventListener('pointerdown', this._onPointerDown.bind(this));\n this._canvas.removeEventListener('pointermove', this._onPointerMove.bind(this));\n this._canvas.removeEventListener('pointerenter', this._onPointerEnter.bind(this));\n this._canvas.removeEventListener('pointerleave', this._onPointerLeave.bind(this));\n this.removeEventListener('complete', this._onComplete.bind(this));\n }\n }\n\n public loadStateMachineData(stateMachineData: string): boolean {\n return this._dotLottieCore?.loadStateMachineData(stateMachineData) ?? false;\n }\n\n public animationSize(): { height: number; width: number } {\n const width = this._dotLottieCore?.animationSize().get(0) ?? 0;\n const height = this._dotLottieCore?.animationSize().get(1) ?? 0;\n\n return {\n width,\n height,\n };\n }\n\n public setStateMachineBooleanContext(name: string, value: boolean): boolean {\n return this._dotLottieCore?.setStateMachineBooleanContext(name, value) ?? false;\n }\n\n public setStateMachineNumericContext(name: string, value: number): boolean {\n return this._dotLottieCore?.setStateMachineNumericContext(name, value) ?? false;\n }\n\n public setStateMachineStringContext(name: string, value: string): boolean {\n return this._dotLottieCore?.setStateMachineStringContext(name, value) ?? false;\n }\n}\n","/**\n * This is a worker script for dotlottie.\n * Do not modify this file directly.\n * As it's generated by the build process.\n */\n \nvar Pn=Object.defineProperty;var An=(s,n,a)=>n in s?Pn(s,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[n]=a;var I=(s,n,a)=>An(s,typeof n!=\"symbol\"?n+\"\":n,a);var Ke=class{requestAnimationFrame(n){return requestAnimationFrame(n)}cancelAnimationFrame(n){cancelAnimationFrame(n);}},Xe=class{constructor(){I(this,\"_lastHandleId\",0);I(this,\"_lastImmediate\",null);}requestAnimationFrame(n){return this._lastHandleId>=Number.MAX_SAFE_INTEGER&&(this._lastHandleId=0),this._lastHandleId+=1,this._lastImmediate=setImmediate(()=>{n(Date.now());}),this._lastHandleId}cancelAnimationFrame(n){this._lastImmediate&&clearImmediate(this._lastImmediate);}},Ie=class{constructor(){I(this,\"_strategy\");this._strategy=typeof requestAnimationFrame==\"function\"?new Ke:new Xe;}requestAnimationFrame(n){return this._strategy.requestAnimationFrame(n)}cancelAnimationFrame(n){this._strategy.cancelAnimationFrame(n);}};var te=typeof window<\"u\"&&typeof window.document<\"u\";var me={name:\"@lottiefiles/dotlottie-web\",version:\"0.29.0\",type:\"module\",description:\"Lottie and DotLottie player for the web\",repository:{type:\"git\",url:\"git+https://github.com/LottieFiles/dotlottie-web.git\",directory:\"packages/web\"},homepage:\"https://github.com/LottieFiles/dotlottie-web#readme\",bugs:\"https://github.com/LottieFiles/dotlottie-web/issues\",author:\"LottieFiles\",contributors:[\"Abdelrahman Ashraf <a.theashraf@gmail.com>\"],license:\"MIT\",main:\"dist/index.cjs\",module:\"dist/index.js\",types:\"dist/index.d.ts\",files:[\"dist\"],keywords:[\"dotlottie\",\"lottie\",\"player\",\"animation\",\"web\",\"canvas\",\"javascript\",\"thorvg\"],scripts:{build:\"tsup\",dev:\"tsup --watch\",lint:\"eslint --fix .\",\"stats:eslint\":\"cross-env TIMING=1 eslint .\",\"stats:ts\":\"tsc -p tsconfig.build.json --extendedDiagnostics\",test:\"vitest run --browser.headless\",\"test:coverage\":\"vitest run --browser.headless --coverage\",\"test:watch\":\"vitest\",\"type-check\":\"tsc --noEmit\"},devDependencies:{\"@types/node\":\"^20.10.5\",\"@vitest/browser\":\"^1.2.2 \",\"@vitest/coverage-istanbul\":\"^1.2.2\",\"cross-env\":\"7.0.3\",tsup:\"8.1.0\",typescript:\"5.0.4\",vitest:\"^1.2.2\",webdriverio:\"^8.32.0\"},publishConfig:{access:\"public\"}};var Sn=(()=>{var s=typeof document<\"u\"?document.currentScript?.src:void 0;return function(n={}){var a=n,d,w,T=new Promise((e,t)=>{d=e,w=t;}),W=Object.assign({},a),Y=\"./this.program\",j=\"\";typeof document<\"u\"&&document.currentScript&&(j=document.currentScript.src),s&&(j=s),j.startsWith(\"blob:\")?j=\"\":j=j.substr(0,j.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1);var Wt=a.print||console.log.bind(console),Q=a.printErr||console.error.bind(console);Object.assign(a,W),W=null,a.thisProgram&&(Y=a.thisProgram);var ne;a.wasmBinary&&(ne=a.wasmBinary);var ve,tt=!1,G,L,Z,re,A,b,nt,rt;function at(){var e=ve.buffer;a.HEAP8=G=new Int8Array(e),a.HEAP16=Z=new Int16Array(e),a.HEAPU8=L=new Uint8Array(e),a.HEAPU16=re=new Uint16Array(e),a.HEAP32=A=new Int32Array(e),a.HEAPU32=b=new Uint32Array(e),a.HEAPF32=nt=new Float32Array(e),a.HEAPF64=rt=new Float64Array(e);}var ot=[],it=[],st=[];function jt(){var e=a.preRun.shift();ot.unshift(e);}var N=0,ae=null;function ye(e){throw a.onAbort?.(e),e=\"Aborted(\"+e+\")\",Q(e),tt=!0,e=new WebAssembly.RuntimeError(e+\". Build with -sASSERTIONS for more info.\"),w(e),e}var lt=e=>e.startsWith(\"data:application/octet-stream;base64,\"),q;if(q=\"DotLottiePlayer.wasm\",!lt(q)){var dt=q;q=a.locateFile?a.locateFile(dt,j):j+dt;}function ct(e){if(e==q&&ne)return new Uint8Array(ne);throw \"both async and sync fetching of the wasm failed\"}function Bt(e){return ne||typeof fetch!=\"function\"?Promise.resolve().then(()=>ct(e)):fetch(e,{credentials:\"same-origin\"}).then(t=>{if(!t.ok)throw `failed to load wasm binary file at '${e}'`;return t.arrayBuffer()}).catch(()=>ct(e))}function ut(e,t,r){return Bt(e).then(o=>WebAssembly.instantiate(o,t)).then(r,o=>{Q(`failed to asynchronously prepare wasm: ${o}`),ye(o);})}function Ut(e,t){var r=q;return ne||typeof WebAssembly.instantiateStreaming!=\"function\"||lt(r)||typeof fetch!=\"function\"?ut(r,e,t):fetch(r,{credentials:\"same-origin\"}).then(o=>WebAssembly.instantiateStreaming(o,e).then(t,function(i){return Q(`wasm streaming compile failed: ${i}`),Q(\"falling back to ArrayBuffer instantiation\"),ut(r,e,t)}))}var Ae=e=>{for(;0<e.length;)e.shift()(a);},ht=typeof TextDecoder<\"u\"?new TextDecoder(\"utf8\"):void 0,J=(e,t,r)=>{var o=t+r;for(r=t;e[r]&&!(r>=o);)++r;if(16<r-t&&e.buffer&&ht)return ht.decode(e.subarray(t,r));for(o=\"\";t<r;){var i=e[t++];if(i&128){var l=e[t++]&63;if((i&224)==192)o+=String.fromCharCode((i&31)<<6|l);else {var h=e[t++]&63;i=(i&240)==224?(i&15)<<12|l<<6|h:(i&7)<<18|l<<12|h<<6|e[t++]&63,65536>i?o+=String.fromCharCode(i):(i-=65536,o+=String.fromCharCode(55296|i>>10,56320|i&1023));}}else o+=String.fromCharCode(i);}return o};class Ht{constructor(t){this.ya=t-24;}}var pt=0,mt=e=>{for(var t=0,r=0;r<e.length;++r){var o=e.charCodeAt(r);127>=o?t++:2047>=o?t+=2:55296<=o&&57343>=o?(t+=4,++r):t+=3;}return t},ft=(e,t,r,o)=>{if(0<o){o=r+o-1;for(var i=0;i<e.length;++i){var l=e.charCodeAt(i);if(55296<=l&&57343>=l){var h=e.charCodeAt(++i);l=65536+((l&1023)<<10)|h&1023;}if(127>=l){if(r>=o)break;t[r++]=l;}else {if(2047>=l){if(r+1>=o)break;t[r++]=192|l>>6;}else {if(65535>=l){if(r+2>=o)break;t[r++]=224|l>>12;}else {if(r+3>=o)break;t[r++]=240|l>>18,t[r++]=128|l>>12&63;}t[r++]=128|l>>6&63;}t[r++]=128|l&63;}}t[r]=0;}},ge={},Te=e=>{for(;e.length;){var t=e.pop();e.pop()(t);}};function oe(e){return this.fromWireType(b[e>>2])}var ee={},K={},we={},ie,H=(e,t,r)=>{function o(u){if(u=r(u),u.length!==e.length)throw new ie(\"Mismatched type converter count\");for(var m=0;m<e.length;++m)k(e[m],u[m]);}e.forEach(function(u){we[u]=t;});var i=Array(t.length),l=[],h=0;t.forEach((u,m)=>{K.hasOwnProperty(u)?i[m]=K[u]:(l.push(u),ee.hasOwnProperty(u)||(ee[u]=[]),ee[u].push(()=>{i[m]=K[u],++h,h===l.length&&o(i);}));}),l.length===0&&o(i);},vt,P=e=>{for(var t=\"\";L[e];)t+=vt[L[e++]];return t},g;function Yt(e,t,r={}){var o=t.name;if(!e)throw new g(`type \"${o}\" must have a positive integer typeid pointer`);if(K.hasOwnProperty(e)){if(r.ib)return;throw new g(`Cannot register type '${o}' twice`)}K[e]=t,delete we[e],ee.hasOwnProperty(e)&&(t=ee[e],delete ee[e],t.forEach(i=>i()));}function k(e,t,r={}){if(!(\"argPackAdvance\"in t))throw new TypeError(\"registerType registeredInstance requires argPackAdvance\");return Yt(e,t,r)}var Se=e=>{throw new g(e.ma.za.xa.name+\" instance already deleted\")},Re=!1,yt=()=>{},gt=(e,t,r)=>t===r?e:r.Ca===void 0?null:(e=gt(e,t,r.Ca),e===null?null:r.ab(e)),wt={},se=[],$e=()=>{for(;se.length;){var e=se.pop();e.ma.Ka=!1,e.delete();}},le,de={},Gt=(e,t)=>{if(t===void 0)throw new g(\"ptr should not be undefined\");for(;e.Ca;)t=e.Na(t),e=e.Ca;return de[t]},_e=(e,t)=>{if(!t.za||!t.ya)throw new ie(\"makeClassHandle requires ptr and ptrType\");if(!!t.Da!=!!t.Aa)throw new ie(\"Both smartPtrType and smartPtr must be specified\");return t.count={value:1},ce(Object.create(e,{ma:{value:t,writable:!0}}))},ce=e=>typeof FinalizationRegistry>\"u\"?(ce=t=>t,e):(Re=new FinalizationRegistry(t=>{t=t.ma,--t.count.value,t.count.value===0&&(t.Aa?t.Da.Fa(t.Aa):t.za.xa.Fa(t.ya));}),ce=t=>{var r=t.ma;return r.Aa&&Re.register(t,{ma:r},t),t},yt=t=>{Re.unregister(t);},ce(e));function Ee(){}var ue=(e,t)=>Object.defineProperty(t,\"name\",{value:e}),_t=(e,t,r)=>{if(e[t].Ba===void 0){var o=e[t];e[t]=function(...i){if(!e[t].Ba.hasOwnProperty(i.length))throw new g(`Function '${r}' called with an invalid number of arguments (${i.length}) - expects one of (${e[t].Ba})!`);return e[t].Ba[i.length].apply(this,i)},e[t].Ba=[],e[t].Ba[o.Oa]=o;}},ke=(e,t,r)=>{if(a.hasOwnProperty(e)){if(r===void 0||a[e].Ba!==void 0&&a[e].Ba[r]!==void 0)throw new g(`Cannot register public name '${e}' twice`);if(_t(a,e,e),a.hasOwnProperty(r))throw new g(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`);a[e].Ba[r]=t;}else a[e]=t,r!==void 0&&(a[e].vb=r);},Nt=e=>{if(e===void 0)return \"_unknown\";e=e.replace(/[^a-zA-Z0-9_]/g,\"$\");var t=e.charCodeAt(0);return 48<=t&&57>=t?`_${e}`:e};function Jt(e,t,r,o,i,l,h,u){this.name=e,this.constructor=t,this.La=r,this.Fa=o,this.Ca=i,this.cb=l,this.Na=h,this.ab=u,this.kb=[];}var De=(e,t,r)=>{for(;t!==r;){if(!t.Na)throw new g(`Expected null or instance of ${r.name}, got an instance of ${t.name}`);e=t.Na(e),t=t.Ca;}return e};function Kt(e,t){if(t===null){if(this.Ta)throw new g(`null is not a valid ${this.name}`);return 0}if(!t.ma)throw new g(`Cannot pass \"${He(t)}\" as a ${this.name}`);if(!t.ma.ya)throw new g(`Cannot pass deleted object as a pointer of type ${this.name}`);return De(t.ma.ya,t.ma.za.xa,this.xa)}function Xt(e,t){if(t===null){if(this.Ta)throw new g(`null is not a valid ${this.name}`);if(this.Qa){var r=this.Ua();return e!==null&&e.push(this.Fa,r),r}return 0}if(!t||!t.ma)throw new g(`Cannot pass \"${He(t)}\" as a ${this.name}`);if(!t.ma.ya)throw new g(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.Pa&&t.ma.za.Pa)throw new g(`Cannot convert argument of type ${t.ma.Da?t.ma.Da.name:t.ma.za.name} to parameter type ${this.name}`);if(r=De(t.ma.ya,t.ma.za.xa,this.xa),this.Qa){if(t.ma.Aa===void 0)throw new g(\"Passing raw pointer to smart pointer is illegal\");switch(this.pb){case 0:if(t.ma.Da===this)r=t.ma.Aa;else throw new g(`Cannot convert argument of type ${t.ma.Da?t.ma.Da.name:t.ma.za.name} to parameter type ${this.name}`);break;case 1:r=t.ma.Aa;break;case 2:if(t.ma.Da===this)r=t.ma.Aa;else {var o=t.clone();r=this.lb(r,Me(()=>o.delete())),e!==null&&e.push(this.Fa,r);}break;default:throw new g(\"Unsupporting sharing policy\")}}return r}function Qt(e,t){if(t===null){if(this.Ta)throw new g(`null is not a valid ${this.name}`);return 0}if(!t.ma)throw new g(`Cannot pass \"${He(t)}\" as a ${this.name}`);if(!t.ma.ya)throw new g(`Cannot pass deleted object as a pointer of type ${this.name}`);if(t.ma.za.Pa)throw new g(`Cannot convert argument of type ${t.ma.za.name} to parameter type ${this.name}`);return De(t.ma.ya,t.ma.za.xa,this.xa)}function he(e,t,r,o,i,l,h,u,m,p,f){this.name=e,this.xa=t,this.Ta=r,this.Pa=o,this.Qa=i,this.jb=l,this.pb=h,this.Za=u,this.Ua=m,this.lb=p,this.Fa=f,i||t.Ca!==void 0?this.toWireType=Xt:(this.toWireType=o?Kt:Qt,this.Ea=null);}var Et=(e,t,r)=>{if(!a.hasOwnProperty(e))throw new ie(\"Replacing nonexistent public symbol\");a[e].Ba!==void 0&&r!==void 0?a[e].Ba[r]=t:(a[e]=t,a[e].Oa=r);},$,Zt=(e,t,r=[])=>(e.includes(\"j\")?(e=e.replace(/p/g,\"i\"),t=(0, a[\"dynCall_\"+e])(t,...r)):t=$.get(t)(...r),t),qt=(e,t)=>(...r)=>Zt(e,t,r),S=(e,t)=>{e=P(e);var r=e.includes(\"j\")?qt(e,t):$.get(t);if(typeof r!=\"function\")throw new g(`unknown function pointer with signature ${e}: ${t}`);return r},Ct,Mt=e=>{e=St(e);var t=P(e);return U(e),t},Ce=(e,t)=>{function r(l){i[l]||K[l]||(we[l]?we[l].forEach(r):(o.push(l),i[l]=!0));}var o=[],i={};throw t.forEach(r),new Ct(`${e}: `+o.map(Mt).join([\", \"]))},ze=(e,t)=>{for(var r=[],o=0;o<e;o++)r.push(b[t+4*o>>2]);return r};function en(e){for(var t=1;t<e.length;++t)if(e[t]!==null&&e[t].Ea===void 0)return !0;return !1}function Oe(e,t,r,o,i){var l=t.length;if(2>l)throw new g(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");var h=t[1]!==null&&r!==null,u=en(t),m=t[0].name!==\"void\",p=l-2,f=Array(p),_=[],C=[];return ue(e,function(...c){if(c.length!==p)throw new g(`function ${e} called with ${c.length} arguments, expected ${p}`);if(C.length=0,_.length=h?2:1,_[0]=i,h){var v=t[1].toWireType(C,this);_[1]=v;}for(var y=0;y<p;++y)f[y]=t[y+2].toWireType(C,c[y]),_.push(f[y]);if(c=o(..._),u)Te(C);else for(y=h?1:2;y<t.length;y++){var x=y===1?v:f[y-2];t[y].Ea!==null&&t[y].Ea(x);}return v=m?t[0].fromWireType(c):void 0,v})}var bt=e=>{e=e.trim();let t=e.indexOf(\"(\");return t!==-1?e.substr(0,t):e},We=[],B=[],je=e=>{9<e&&--B[e+1]===0&&(B[e]=void 0,We.push(e));},Be=e=>{if(!e)throw new g(\"Cannot use deleted val. handle = \"+e);return B[e]},Me=e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:let t=We.pop()||B.length;return B[t]=e,B[t+1]=1,t}},Lt={name:\"emscripten::val\",fromWireType:e=>{var t=Be(e);return je(e),t},toWireType:(e,t)=>Me(t),argPackAdvance:8,readValueFromPointer:oe,Ea:null},tn=(e,t,r)=>{switch(t){case 1:return r?function(o){return this.fromWireType(G[o])}:function(o){return this.fromWireType(L[o])};case 2:return r?function(o){return this.fromWireType(Z[o>>1])}:function(o){return this.fromWireType(re[o>>1])};case 4:return r?function(o){return this.fromWireType(A[o>>2])}:function(o){return this.fromWireType(b[o>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Ue=(e,t)=>{var r=K[e];if(r===void 0)throw e=`${t} has unknown type ${Mt(e)}`,new g(e);return r},He=e=>{if(e===null)return \"null\";var t=typeof e;return t===\"object\"||t===\"array\"||t===\"function\"?e.toString():\"\"+e},nn=(e,t)=>{switch(t){case 4:return function(r){return this.fromWireType(nt[r>>2])};case 8:return function(r){return this.fromWireType(rt[r>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},rn=(e,t,r)=>{switch(t){case 1:return r?o=>G[o]:o=>L[o];case 2:return r?o=>Z[o>>1]:o=>re[o>>1];case 4:return r?o=>A[o>>2]:o=>b[o>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Ft=typeof TextDecoder<\"u\"?new TextDecoder(\"utf-16le\"):void 0,an=(e,t)=>{for(var r=e>>1,o=r+t/2;!(r>=o)&&re[r];)++r;if(r<<=1,32<r-e&&Ft)return Ft.decode(L.subarray(e,r));for(r=\"\",o=0;!(o>=t/2);++o){var i=Z[e+2*o>>1];if(i==0)break;r+=String.fromCharCode(i);}return r},on=(e,t,r)=>{if(r??(r=2147483647),2>r)return 0;r-=2;var o=t;r=r<2*e.length?r/2:e.length;for(var i=0;i<r;++i)Z[t>>1]=e.charCodeAt(i),t+=2;return Z[t>>1]=0,t-o},sn=e=>2*e.length,ln=(e,t)=>{for(var r=0,o=\"\";!(r>=t/4);){var i=A[e+4*r>>2];if(i==0)break;++r,65536<=i?(i-=65536,o+=String.fromCharCode(55296|i>>10,56320|i&1023)):o+=String.fromCharCode(i);}return o},dn=(e,t,r)=>{if(r??(r=2147483647),4>r)return 0;var o=t;r=o+r-4;for(var i=0;i<e.length;++i){var l=e.charCodeAt(i);if(55296<=l&&57343>=l){var h=e.charCodeAt(++i);l=65536+((l&1023)<<10)|h&1023;}if(A[t>>2]=l,t+=4,t+4>r)break}return A[t>>2]=0,t-o},cn=e=>{for(var t=0,r=0;r<e.length;++r){var o=e.charCodeAt(r);55296<=o&&57343>=o&&++r,t+=4;}return t},Ve=[],un=e=>{var t=Ve.length;return Ve.push(e),t},hn=(e,t)=>{for(var r=Array(e),o=0;o<e;++o)r[o]=Ue(b[t+4*o>>2],\"parameter \"+o);return r},pn=Reflect.construct,Ye={},It=()=>{if(!Ge){var e={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:Y||\"./this.program\"},t;for(t in Ye)Ye[t]===void 0?delete e[t]:e[t]=Ye[t];var r=[];for(t in e)r.push(`${t}=${e[t]}`);Ge=r;}return Ge},Ge,mn=[null,[],[]],fn=()=>{if(typeof crypto==\"object\"&&typeof crypto.getRandomValues==\"function\")return e=>crypto.getRandomValues(e);ye(\"initRandomDevice\");},xt=e=>(xt=fn())(e),be=e=>e%4===0&&(e%100!==0||e%400===0),Pt=[31,29,31,30,31,30,31,31,30,31,30,31],At=[31,28,31,30,31,30,31,31,30,31,30,31];function vn(e){var t=Array(mt(e)+1);return ft(e,t,0,t.length),t}var yn=(e,t,r,o)=>{function i(c,v,y){for(c=typeof c==\"number\"?c.toString():c||\"\";c.length<v;)c=y[0]+c;return c}function l(c,v){return i(c,v,\"0\")}function h(c,v){function y(V){return 0>V?-1:0<V?1:0}var x;return (x=y(c.getFullYear()-v.getFullYear()))===0&&(x=y(c.getMonth()-v.getMonth()))===0&&(x=y(c.getDate()-v.getDate())),x}function u(c){switch(c.getDay()){case 0:return new Date(c.getFullYear()-1,11,29);case 1:return c;case 2:return new Date(c.getFullYear(),0,3);case 3:return new Date(c.getFullYear(),0,2);case 4:return new Date(c.getFullYear(),0,1);case 5:return new Date(c.getFullYear()-1,11,31);case 6:return new Date(c.getFullYear()-1,11,30)}}function m(c){var v=c.Ia;for(c=new Date(new Date(c.Ja+1900,0,1).getTime());0<v;){var y=c.getMonth(),x=(be(c.getFullYear())?Pt:At)[y];if(v>x-c.getDate())v-=x-c.getDate()+1,c.setDate(1),11>y?c.setMonth(y+1):(c.setMonth(0),c.setFullYear(c.getFullYear()+1));else {c.setDate(c.getDate()+v);break}}return y=new Date(c.getFullYear()+1,0,4),v=u(new Date(c.getFullYear(),0,4)),y=u(y),0>=h(v,c)?0>=h(y,c)?c.getFullYear()+1:c.getFullYear():c.getFullYear()-1}var p=b[o+40>>2];o={sb:A[o>>2],rb:A[o+4>>2],Ra:A[o+8>>2],Va:A[o+12>>2],Sa:A[o+16>>2],Ja:A[o+20>>2],Ga:A[o+24>>2],Ia:A[o+28>>2],wb:A[o+32>>2],qb:A[o+36>>2],tb:p&&p?J(L,p):\"\"},r=r?J(L,r):\"\",p={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var f in p)r=r.replace(new RegExp(f,\"g\"),p[f]);var _=\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),C=\"January February March April May June July August September October November December\".split(\" \");p={\"%a\":c=>_[c.Ga].substring(0,3),\"%A\":c=>_[c.Ga],\"%b\":c=>C[c.Sa].substring(0,3),\"%B\":c=>C[c.Sa],\"%C\":c=>l((c.Ja+1900)/100|0,2),\"%d\":c=>l(c.Va,2),\"%e\":c=>i(c.Va,2,\" \"),\"%g\":c=>m(c).toString().substring(2),\"%G\":m,\"%H\":c=>l(c.Ra,2),\"%I\":c=>(c=c.Ra,c==0?c=12:12<c&&(c-=12),l(c,2)),\"%j\":c=>{for(var v=0,y=0;y<=c.Sa-1;v+=(be(c.Ja+1900)?Pt:At)[y++]);return l(c.Va+v,3)},\"%m\":c=>l(c.Sa+1,2),\"%M\":c=>l(c.rb,2),\"%n\":()=>`\n`,\"%p\":c=>0<=c.Ra&&12>c.Ra?\"AM\":\"PM\",\"%S\":c=>l(c.sb,2),\"%t\":()=>\"\t\",\"%u\":c=>c.Ga||7,\"%U\":c=>l(Math.floor((c.Ia+7-c.Ga)/7),2),\"%V\":c=>{var v=Math.floor((c.Ia+7-(c.Ga+6)%7)/7);if(2>=(c.Ga+371-c.Ia-2)%7&&v++,v)v==53&&(y=(c.Ga+371-c.Ia)%7,y==4||y==3&&be(c.Ja)||(v=1));else {v=52;var y=(c.Ga+7-c.Ia-1)%7;(y==4||y==5&&be(c.Ja%400-1))&&v++;}return l(v,2)},\"%w\":c=>c.Ga,\"%W\":c=>l(Math.floor((c.Ia+7-(c.Ga+6)%7)/7),2),\"%y\":c=>(c.Ja+1900).toString().substring(2),\"%Y\":c=>c.Ja+1900,\"%z\":c=>{c=c.qb;var v=0<=c;return c=Math.abs(c)/60,(v?\"+\":\"-\")+(\"0000\"+(c/60*100+c%60)).slice(-4)},\"%Z\":c=>c.tb,\"%%\":()=>\"%\"},r=r.replace(/%%/g,\"\\0\\0\");for(f in p)r.includes(f)&&(r=r.replace(new RegExp(f,\"g\"),p[f](o)));return r=r.replace(/\\0\\0/g,\"%\"),f=vn(r),f.length>t?0:(G.set(f,e),f.length-1)};ie=a.InternalError=class extends Error{constructor(e){super(e),this.name=\"InternalError\";}};for(var Tt=Array(256),Le=0;256>Le;++Le)Tt[Le]=String.fromCharCode(Le);vt=Tt,g=a.BindingError=class extends Error{constructor(e){super(e),this.name=\"BindingError\";}},Object.assign(Ee.prototype,{isAliasOf:function(e){if(!(this instanceof Ee&&e instanceof Ee))return !1;var t=this.ma.za.xa,r=this.ma.ya;e.ma=e.ma;var o=e.ma.za.xa;for(e=e.ma.ya;t.Ca;)r=t.Na(r),t=t.Ca;for(;o.Ca;)e=o.Na(e),o=o.Ca;return t===o&&r===e},clone:function(){if(this.ma.ya||Se(this),this.ma.Ma)return this.ma.count.value+=1,this;var e=ce,t=Object,r=t.create,o=Object.getPrototypeOf(this),i=this.ma;return e=e(r.call(t,o,{ma:{value:{count:i.count,Ka:i.Ka,Ma:i.Ma,ya:i.ya,za:i.za,Aa:i.Aa,Da:i.Da}}})),e.ma.count.value+=1,e.ma.Ka=!1,e},delete(){if(this.ma.ya||Se(this),this.ma.Ka&&!this.ma.Ma)throw new g(\"Object already scheduled for deletion\");yt(this);var e=this.ma;--e.count.value,e.count.value===0&&(e.Aa?e.Da.Fa(e.Aa):e.za.xa.Fa(e.ya)),this.ma.Ma||(this.ma.Aa=void 0,this.ma.ya=void 0);},isDeleted:function(){return !this.ma.ya},deleteLater:function(){if(this.ma.ya||Se(this),this.ma.Ka&&!this.ma.Ma)throw new g(\"Object already scheduled for deletion\");return se.push(this),se.length===1&&le&&le($e),this.ma.Ka=!0,this}}),a.getInheritedInstanceCount=()=>Object.keys(de).length,a.getLiveInheritedInstances=()=>{var e=[],t;for(t in de)de.hasOwnProperty(t)&&e.push(de[t]);return e},a.flushPendingDeletes=$e,a.setDelayFunction=e=>{le=e,se.length&&le&&le($e);},Object.assign(he.prototype,{eb(e){return this.Za&&(e=this.Za(e)),e},Xa(e){this.Fa?.(e);},argPackAdvance:8,readValueFromPointer:oe,fromWireType:function(e){function t(){return this.Qa?_e(this.xa.La,{za:this.jb,ya:r,Da:this,Aa:e}):_e(this.xa.La,{za:this,ya:e})}var r=this.eb(e);if(!r)return this.Xa(e),null;var o=Gt(this.xa,r);if(o!==void 0)return o.ma.count.value===0?(o.ma.ya=r,o.ma.Aa=e,o.clone()):(o=o.clone(),this.Xa(e),o);if(o=this.xa.cb(r),o=wt[o],!o)return t.call(this);o=this.Pa?o.$a:o.pointerType;var i=gt(r,this.xa,o.xa);return i===null?t.call(this):this.Qa?_e(o.xa.La,{za:o,ya:i,Da:this,Aa:e}):_e(o.xa.La,{za:o,ya:i})}}),Ct=a.UnboundTypeError=((e,t)=>{var r=ue(t,function(o){this.name=t,this.message=o,o=Error(o).stack,o!==void 0&&(this.stack=this.toString()+`\n`+o.replace(/^Error(:[^\\n]*)?\\n/,\"\"));});return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},r})(Error,\"UnboundTypeError\"),B.push(0,1,void 0,1,null,1,!0,1,!1,1),a.count_emval_handles=()=>B.length/2-5-We.length;var gn={c:(e,t,r,o)=>{ye(`Assertion failed: ${e?J(L,e):\"\"}, at: `+[t?t?J(L,t):\"\":\"unknown filename\",r,o?o?J(L,o):\"\":\"unknown function\"]);},m:(e,t,r)=>{var o=new Ht(e);throw b[o.ya+16>>2]=0,b[o.ya+4>>2]=t,b[o.ya+8>>2]=r,pt=e,pt},B:function(){return 0},P:()=>{},M:()=>{},R:function(){return 0},N:()=>{},A:function(){},O:()=>{},v:e=>{var t=ge[e];delete ge[e];var r=t.Ua,o=t.Fa,i=t.Ya,l=i.map(h=>h.hb).concat(i.map(h=>h.nb));H([e],l,h=>{var u={};return i.forEach((m,p)=>{var f=h[p],_=m.fb,C=m.gb,c=h[p+i.length],v=m.mb,y=m.ob;u[m.bb]={read:x=>f.fromWireType(_(C,x)),write:(x,V)=>{var R=[];v(y,x,c.toWireType(R,V)),Te(R);}};}),[{name:t.name,fromWireType:m=>{var p={},f;for(f in u)p[f]=u[f].read(m);return o(m),p},toWireType:(m,p)=>{for(var f in u)if(!(f in p))throw new TypeError(`Missing field: \"${f}\"`);var _=r();for(f in u)u[f].write(_,p[f]);return m!==null&&m.push(o,_),_},argPackAdvance:8,readValueFromPointer:oe,Ea:o}]});},I:()=>{},Y:(e,t,r,o)=>{t=P(t),k(e,{name:t,fromWireType:function(i){return !!i},toWireType:function(i,l){return l?r:o},argPackAdvance:8,readValueFromPointer:function(i){return this.fromWireType(L[i])},Ea:null});},r:(e,t,r,o,i,l,h,u,m,p,f,_,C)=>{f=P(f),l=S(i,l),u&&(u=S(h,u)),p&&(p=S(m,p)),C=S(_,C);var c=Nt(f);ke(c,function(){Ce(`Cannot construct ${f} due to unbound types`,[o]);}),H([e,t,r],o?[o]:[],v=>{if(v=v[0],o)var y=v.xa,x=y.La;else x=Ee.prototype;v=ue(f,function(...Je){if(Object.getPrototypeOf(this)!==V)throw new g(\"Use 'new' to construct \"+f);if(R.Ha===void 0)throw new g(f+\" has no accessible constructor\");var kt=R.Ha[Je.length];if(kt===void 0)throw new g(`Tried to invoke ctor of ${f} with invalid number of parameters (${Je.length}) - expected (${Object.keys(R.Ha).toString()}) parameters instead!`);return kt.apply(this,Je)});var V=Object.create(x,{constructor:{value:v}});v.prototype=V;var R=new Jt(f,v,V,C,y,l,u,p);if(R.Ca){var pe;(pe=R.Ca).Wa??(pe.Wa=[]),R.Ca.Wa.push(R);}return y=new he(f,R,!0,!1,!1),pe=new he(f+\"*\",R,!1,!1,!1),x=new he(f+\" const*\",R,!1,!0,!1),wt[e]={pointerType:pe,$a:x},Et(c,v),[y,pe,x]});},q:(e,t,r,o,i,l)=>{var h=ze(t,r);i=S(o,i),H([],[e],u=>{u=u[0];var m=`constructor ${u.name}`;if(u.xa.Ha===void 0&&(u.xa.Ha=[]),u.xa.Ha[t-1]!==void 0)throw new g(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${u.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return u.xa.Ha[t-1]=()=>{Ce(`Cannot construct ${u.name} due to unbound types`,h);},H([],h,p=>(p.splice(1,0,null),u.xa.Ha[t-1]=Oe(m,p,null,i,l),[])),[]});},f:(e,t,r,o,i,l,h,u)=>{var m=ze(r,o);t=P(t),t=bt(t),l=S(i,l),H([],[e],p=>{function f(){Ce(`Cannot call ${_} due to unbound types`,m);}p=p[0];var _=`${p.name}.${t}`;t.startsWith(\"@@\")&&(t=Symbol[t.substring(2)]),u&&p.xa.kb.push(t);var C=p.xa.La,c=C[t];return c===void 0||c.Ba===void 0&&c.className!==p.name&&c.Oa===r-2?(f.Oa=r-2,f.className=p.name,C[t]=f):(_t(C,t,_),C[t].Ba[r-2]=f),H([],m,v=>(v=Oe(_,v,p,l,h),C[t].Ba===void 0?(v.Oa=r-2,C[t]=v):C[t].Ba[r-2]=v,[])),[]});},X:e=>k(e,Lt),x:(e,t,r,o)=>{function i(){}t=P(t),i.values={},k(e,{name:t,constructor:i,fromWireType:function(l){return this.constructor.values[l]},toWireType:(l,h)=>h.value,argPackAdvance:8,readValueFromPointer:tn(t,r,o),Ea:null}),ke(t,i);},k:(e,t,r)=>{var o=Ue(e,\"enum\");t=P(t),e=o.constructor,o=Object.create(o.constructor.prototype,{value:{value:r},constructor:{value:ue(`${o.name}_${t}`,function(){})}}),e.values[r]=o,e[t]=o;},C:(e,t,r)=>{t=P(t),k(e,{name:t,fromWireType:o=>o,toWireType:(o,i)=>i,argPackAdvance:8,readValueFromPointer:nn(t,r),Ea:null});},E:(e,t,r,o,i,l)=>{var h=ze(t,r);e=P(e),e=bt(e),i=S(o,i),ke(e,function(){Ce(`Cannot call ${e} due to unbound types`,h);},t-1),H([],h,u=>(Et(e,Oe(e,[u[0],null].concat(u.slice(1)),null,i,l),t-1),[]));},l:(e,t,r,o,i)=>{if(t=P(t),i===-1&&(i=4294967295),i=u=>u,o===0){var l=32-8*r;i=u=>u<<l>>>l;}var h=t.includes(\"unsigned\")?function(u,m){return m>>>0}:function(u,m){return m};k(e,{name:t,fromWireType:i,toWireType:h,argPackAdvance:8,readValueFromPointer:rn(t,r,o!==0),Ea:null});},g:(e,t,r)=>{function o(l){return new i(G.buffer,b[l+4>>2],b[l>>2])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];r=P(r),k(e,{name:r,fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ib:!0});},w:e=>{k(e,Lt);},ca:(e,t,r,o,i,l,h,u,m,p,f,_)=>{r=P(r),l=S(i,l),u=S(h,u),p=S(m,p),_=S(f,_),H([e],[t],C=>(C=C[0],[new he(r,C.xa,!1,!1,!0,C,o,l,u,p,_)]));},D:(e,t)=>{t=P(t);var r=t===\"std::string\";k(e,{name:t,fromWireType:function(o){var i=b[o>>2],l=o+4;if(r)for(var h=l,u=0;u<=i;++u){var m=l+u;if(u==i||L[m]==0){if(h=h?J(L,h,m-h):\"\",p===void 0)var p=h;else p+=\"\\0\",p+=h;h=m+1;}}else {for(p=Array(i),u=0;u<i;++u)p[u]=String.fromCharCode(L[l+u]);p=p.join(\"\");}return U(o),p},toWireType:function(o,i){i instanceof ArrayBuffer&&(i=new Uint8Array(i));var l=typeof i==\"string\";if(!(l||i instanceof Uint8Array||i instanceof Uint8ClampedArray||i instanceof Int8Array))throw new g(\"Cannot pass non-string to std::string\");var h=r&&l?mt(i):i.length,u=Ne(4+h+1),m=u+4;if(b[u>>2]=h,r&&l)ft(i,L,m,h+1);else if(l)for(l=0;l<h;++l){var p=i.charCodeAt(l);if(255<p)throw U(m),new g(\"String has UTF-16 code units that do not fit in 8 bits\");L[m+l]=p;}else for(l=0;l<h;++l)L[m+l]=i[l];return o!==null&&o.push(U,u),u},argPackAdvance:8,readValueFromPointer:oe,Ea(o){U(o);}});},u:(e,t,r)=>{if(r=P(r),t===2)var o=an,i=on,l=sn,h=u=>re[u>>1];else t===4&&(o=ln,i=dn,l=cn,h=u=>b[u>>2]);k(e,{name:r,fromWireType:u=>{for(var m=b[u>>2],p,f=u+4,_=0;_<=m;++_){var C=u+4+_*t;(_==m||h(C)==0)&&(f=o(f,C-f),p===void 0?p=f:(p+=\"\\0\",p+=f),f=C+t);}return U(u),p},toWireType:(u,m)=>{if(typeof m!=\"string\")throw new g(`Cannot pass non-string to C++ string type ${r}`);var p=l(m),f=Ne(4+p+t);return b[f>>2]=p/t,i(m,f+4,p+t),u!==null&&u.push(U,f),f},argPackAdvance:8,readValueFromPointer:oe,Ea(u){U(u);}});},s:(e,t,r,o,i,l)=>{ge[e]={name:P(t),Ua:S(r,o),Fa:S(i,l),Ya:[]};},j:(e,t,r,o,i,l,h,u,m,p)=>{ge[e].Ya.push({bb:P(t),hb:r,fb:S(o,i),gb:l,nb:h,mb:S(u,m),ob:p});},Z:(e,t)=>{t=P(t),k(e,{ub:!0,name:t,argPackAdvance:0,fromWireType:()=>{},toWireType:()=>{}});},J:()=>{throw 1/0},aa:(e,t,r,o)=>(e=Ve[e],t=Be(t),e(null,t,r,o)),F:je,$:(e,t,r)=>{var o=hn(e,t),i=o.shift();e--;var l=Array(e);return t=`methodCaller<(${o.map(h=>h.name).join(\", \")}) => ${i.name}>`,un(ue(t,(h,u,m,p)=>{for(var f=0,_=0;_<e;++_)l[_]=o[_].readValueFromPointer(p+f),f+=o[_].argPackAdvance;return u=r===1?pn(u,l):u.apply(h,l),h=[],u=i.toWireType(h,u),h.length&&(b[m>>2]=Me(h)),u}))},ba:e=>{9<e&&(B[e+1]+=1);},_:e=>{var t=Be(e);Te(t),je(e);},o:(e,t)=>(e=Ue(e,\"_emval_take_value\"),e=e.readValueFromPointer(t),Me(e)),W:()=>{ye(\"\");},V:()=>performance.now(),L:e=>{var t=L.length;if(e>>>=0,2147483648<e)return !1;for(var r=1;4>=r;r*=2){var o=t*(1+.2/r);o=Math.min(o,e+100663296);var i=Math;o=Math.max(e,o);e:{i=(i.min.call(i,2147483648,o+(65536-o%65536)%65536)-ve.buffer.byteLength+65535)/65536;try{ve.grow(i),at();var l=1;break e}catch{}l=void 0;}if(l)return !0}return !1},S:(e,t)=>{var r=0;return It().forEach((o,i)=>{var l=t+r;for(i=b[e+4*i>>2]=l,l=0;l<o.length;++l)G[i++]=o.charCodeAt(l);G[i]=0,r+=o.length+1;}),0},T:(e,t)=>{var r=It();b[e>>2]=r.length;var o=0;return r.forEach(i=>o+=i.length+1),b[t>>2]=o,0},t:()=>52,z:()=>52,H:function(){return 70},Q:(e,t,r,o)=>{for(var i=0,l=0;l<r;l++){var h=b[t>>2],u=b[t+4>>2];t+=8;for(var m=0;m<u;m++){var p=L[h+m],f=mn[e];p===0||p===10?((e===1?Wt:Q)(J(f,0)),f.length=0):f.push(p);}i+=u;}return b[o>>2]=i,0},U:(e,t)=>(xt(L.subarray(e,e+t)),0),i:Mn,d:Cn,e:En,p:bn,y:In,b:wn,a:_n,h:Fn,n:Ln,G:xn,K:(e,t,r,o)=>yn(e,t,r,o)},F=function(){function e(r){return F=r.exports,ve=F.da,at(),$=F.ha,it.unshift(F.ea),N--,a.monitorRunDependencies?.(N),N==0&&(ae&&(r=ae,ae=null,r())),F}var t={a:gn};if(N++,a.monitorRunDependencies?.(N),a.instantiateWasm)try{return a.instantiateWasm(t,e)}catch(r){Q(`Module.instantiateWasm callback failed with error: ${r}`),w(r);}return Ut(t,function(r){e(r.instance);}).catch(w),{}}(),Ne=e=>(Ne=F.fa)(e),St=e=>(St=F.ga)(e),U=e=>(U=F.ia)(e),D=(e,t)=>(D=F.ja)(e,t),z=e=>(z=F.ka)(e),O=()=>(O=F.la)();a.dynCall_iijj=(e,t,r,o,i,l)=>(a.dynCall_iijj=F.na)(e,t,r,o,i,l),a.dynCall_vijj=(e,t,r,o,i,l)=>(a.dynCall_vijj=F.oa)(e,t,r,o,i,l),a.dynCall_jiii=(e,t,r,o)=>(a.dynCall_jiii=F.pa)(e,t,r,o),a.dynCall_jii=(e,t,r)=>(a.dynCall_jii=F.qa)(e,t,r);var Rt=a.dynCall_viiij=(e,t,r,o,i,l)=>(Rt=a.dynCall_viiij=F.ra)(e,t,r,o,i,l);a.dynCall_jiji=(e,t,r,o,i)=>(a.dynCall_jiji=F.sa)(e,t,r,o,i),a.dynCall_viijii=(e,t,r,o,i,l,h)=>(a.dynCall_viijii=F.ta)(e,t,r,o,i,l,h),a.dynCall_iiiiij=(e,t,r,o,i,l,h)=>(a.dynCall_iiiiij=F.ua)(e,t,r,o,i,l,h),a.dynCall_iiiiijj=(e,t,r,o,i,l,h,u,m)=>(a.dynCall_iiiiijj=F.va)(e,t,r,o,i,l,h,u,m),a.dynCall_iiiiiijj=(e,t,r,o,i,l,h,u,m,p)=>(a.dynCall_iiiiiijj=F.wa)(e,t,r,o,i,l,h,u,m,p);function wn(e,t){var r=O();try{$.get(e)(t);}catch(o){if(z(r),o!==o+0)throw o;D(1,0);}}function _n(e,t,r){var o=O();try{$.get(e)(t,r);}catch(i){if(z(o),i!==i+0)throw i;D(1,0);}}function En(e,t,r,o){var i=O();try{return $.get(e)(t,r,o)}catch(l){if(z(i),l!==l+0)throw l;D(1,0);}}function Cn(e,t,r){var o=O();try{return $.get(e)(t,r)}catch(i){if(z(o),i!==i+0)throw i;D(1,0);}}function Mn(e,t){var r=O();try{return $.get(e)(t)}catch(o){if(z(r),o!==o+0)throw o;D(1,0);}}function bn(e,t,r,o,i,l){var h=O();try{return $.get(e)(t,r,o,i,l)}catch(u){if(z(h),u!==u+0)throw u;D(1,0);}}function Ln(e,t,r,o,i){var l=O();try{$.get(e)(t,r,o,i);}catch(h){if(z(l),h!==h+0)throw h;D(1,0);}}function Fn(e,t,r,o){var i=O();try{$.get(e)(t,r,o);}catch(l){if(z(i),l!==l+0)throw l;D(1,0);}}function In(e){var t=O();try{$.get(e)();}catch(r){if(z(t),r!==r+0)throw r;D(1,0);}}function xn(e,t,r,o,i,l){var h=O();try{Rt(e,t,r,o,i,l);}catch(u){if(z(h),u!==u+0)throw u;D(1,0);}}var Fe;ae=function e(){Fe||$t(),Fe||(ae=e);};function $t(){function e(){if(!Fe&&(Fe=!0,a.calledRun=!0,!tt)){if(Ae(it),d(a),a.onRuntimeInitialized&&a.onRuntimeInitialized(),a.postRun)for(typeof a.postRun==\"function\"&&(a.postRun=[a.postRun]);a.postRun.length;){var t=a.postRun.shift();st.unshift(t);}Ae(st);}}if(!(0<N)){if(a.preRun)for(typeof a.preRun==\"function\"&&(a.preRun=[a.preRun]);a.preRun.length;)jt();Ae(ot),0<N||(a.setStatus?(a.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){a.setStatus(\"\");},1),e();},1)):e());}}if(a.preInit)for(typeof a.preInit==\"function\"&&(a.preInit=[a.preInit]);0<a.preInit.length;)a.preInit.pop()();return $t(),T}})(),Dt=Sn;var X=class{constructor(){throw new Error(\"RendererLoader is a static class and cannot be instantiated.\")}static async _tryLoad(n){return await Dt({locateFile:()=>n})}static async _loadWithBackup(){return this._ModulePromise||(this._ModulePromise=this._tryLoad(this._wasmURL).catch(async n=>{let a=`https://unpkg.com/${me.name}@${me.version}/dist/dotlottie-player.wasm`;console.warn(`Primary WASM load failed from ${this._wasmURL}. Error: ${n.message}`),console.warn(`Attempting to load WASM from backup URL: ${a}`);try{return await this._tryLoad(a)}catch(d){throw console.error(`Primary WASM URL failed: ${n.message}`),console.error(`Backup WASM URL failed: ${d.message}`),new Error(\"WASM loading failed from all sources.\")}})),this._ModulePromise}static async load(){return this._loadWithBackup()}static setWasmUrl(n){this._wasmURL=n,this._ModulePromise=null;}};I(X,\"_ModulePromise\",null),I(X,\"_wasmURL\",`https://cdn.jsdelivr.net/npm/${me.name}@${me.version}/dist/dotlottie-player.wasm`);var xe=class{constructor(){I(this,\"_eventListeners\",new Map);}addEventListener(n,a){let d=this._eventListeners.get(n);d||(d=new Set,this._eventListeners.set(n,d)),d.add(a);}removeEventListener(n,a){let d=this._eventListeners.get(n);d&&(a?(d.delete(a),d.size===0&&this._eventListeners.delete(n)):this._eventListeners.delete(n));}dispatch(n){this._eventListeners.get(n.type)?.forEach(d=>d(n));}removeAllEventListeners(){this._eventListeners.clear();}};function Rn(s){return /^#([\\da-f]{6}|[\\da-f]{8})$/iu.test(s)}function zt(s){if(!Rn(s))return 0;let n=s.replace(\"#\",\"\");return n=n.length===6?`${n}ff`:n,parseInt(n,16)}var Qe=(s,n)=>s===\"reverse\"?n.Mode.Reverse:s===\"bounce\"?n.Mode.Bounce:s===\"reverse-bounce\"?n.Mode.ReverseBounce:n.Mode.Forward,Ze=(s,n)=>s===\"contain\"?n.Fit.Contain:s===\"cover\"?n.Fit.Cover:s===\"fill\"?n.Fit.Fill:s===\"fit-height\"?n.Fit.FitHeight:s===\"fit-width\"?n.Fit.FitWidth:n.Fit.None,qe=(s,n)=>{let a=new n.VectorFloat;return a.push_back(s[0]),a.push_back(s[1]),a},et=(s,n)=>{let a=new n.VectorFloat;return s.length!==2||(a.push_back(s[0]),a.push_back(s[1])),a},M=class M{constructor(n){I(this,\"_canvas\");I(this,\"_context\",null);I(this,\"_eventManager\");I(this,\"_animationFrameId\",null);I(this,\"_frameManager\");I(this,\"_dotLottieCore\",null);I(this,\"_renderConfig\",{});I(this,\"_isFrozen\",!1);I(this,\"_backgroundColor\",null);this._canvas=n.canvas,this._context=this._canvas.getContext(\"2d\"),this._eventManager=new xe,this._frameManager=new Ie,this._renderConfig=n.renderConfig??{},X.load().then(a=>{M._wasmModule=a,this._dotLottieCore=new a.DotLottiePlayer({autoplay:n.autoplay??!1,backgroundColor:0,loopAnimation:n.loop??!1,mode:Qe(n.mode??\"forward\",a),segment:et(n.segment??[],a),speed:n.speed??1,useFrameInterpolation:n.useFrameInterpolation??!0,marker:n.marker??\"\",layout:n.layout?{align:qe(n.layout.align,a),fit:Ze(n.layout.fit,a)}:a.createDefaultLayout()}),this._eventManager.dispatch({type:\"ready\"}),n.data?this._loadFromData(n.data):n.src&&this._loadFromSrc(n.src),n.backgroundColor&&this.setBackgroundColor(n.backgroundColor);}).catch(a=>{this._eventManager.dispatch({type:\"loadError\",error:new Error(`Failed to load wasm module: ${a}`)});});}_loadFromSrc(n){async function a(){let d=await fetch(n);if(!d.ok)throw new Error(`Failed to fetch the animation data from URL: ${n}. ${d.status}: ${d.statusText}`);let w=(d.headers.get(\"content-type\")??\"\").trim(),T;return [\"application/json\",\"text/plain\"].some(W=>w.startsWith(W))?T=await d.text():T=await d.arrayBuffer(),T}a().then(d=>{this._loadFromData(d);}).catch(d=>{this._eventManager.dispatch({type:\"loadError\",error:new Error(`Failed to load animation data from URL: ${n}. ${d}`)});});}_loadFromData(n){if(this._dotLottieCore===null)return;let a=this._canvas.width,d=this._canvas.height,w=!1;if(typeof n==\"string\")w=this._dotLottieCore.loadAnimationData(n,a,d);else if(n instanceof ArrayBuffer)w=this._dotLottieCore.loadDotLottieData(n,a,d);else if(typeof n==\"object\")w=this._dotLottieCore.loadAnimationData(JSON.stringify(n),a,d);else {this._eventManager.dispatch({type:\"loadError\",error:new Error(\"Unsupported data type for animation data. Expected a string or ArrayBuffer.\")});return}w?(this._eventManager.dispatch({type:\"load\"}),te&&this.resize(),this._eventManager.dispatch({type:\"frame\",currentFrame:this._dotLottieCore.currentFrame()}),this._render(),this._dotLottieCore.config().autoplay&&(this._dotLottieCore.play(),this._dotLottieCore.isPlaying()?(this._eventManager.dispatch({type:\"play\"}),this._animationFrameId=this._frameManager.requestAnimationFrame(this._draw.bind(this))):console.error(\"something went wrong, the animation was suppose to autoplay\"))):this._eventManager.dispatch({type:\"loadError\",error:new Error(\"Failed to load animation data\")});}get activeAnimationId(){return this._dotLottieCore?.activeAnimationId()}get activeThemeId(){return this._dotLottieCore?.activeThemeId()}get layout(){let n=this._dotLottieCore?.config().layout;if(n)return {align:[n.align.get(0),n.align.get(1)],fit:(()=>{switch(n.fit){case M._wasmModule?.Fit.Contain:return \"contain\";case M._wasmModule?.Fit.Cover:return \"cover\";case M._wasmModule?.Fit.Fill:return \"fill\";case M._wasmModule?.Fit.FitHeight:return \"fit-height\";case M._wasmModule?.Fit.FitWidth:return \"fit-width\";case M._wasmModule?.Fit.None:return \"none\";default:return \"contain\"}})()}}get marker(){return this._dotLottieCore?.config().marker}get manifest(){try{let n=this._dotLottieCore?.manifestString();if(this._dotLottieCore===null||!n)return null;let a=JSON.parse(n);return Object.keys(a).length===0?null:a}catch{return null}}get renderConfig(){return this._renderConfig}get segment(){let n=this._dotLottieCore?.config().segment;if(n&&n.size()===2)return [n.get(0),n.get(1)]}get loop(){return this._dotLottieCore?.config().loopAnimation??!1}get mode(){let n=this._dotLottieCore?.config().mode;return n===M._wasmModule?.Mode.Reverse?\"reverse\":n===M._wasmModule?.Mode.Bounce?\"bounce\":n===M._wasmModule?.Mode.ReverseBounce?\"reverse-bounce\":\"forward\"}get isFrozen(){return this._isFrozen}get backgroundColor(){return this._backgroundColor??\"\"}get autoplay(){return this._dotLottieCore?.config().autoplay??!1}get useFrameInterpolation(){return this._dotLottieCore?.config().useFrameInterpolation??!1}get speed(){return this._dotLottieCore?.config().speed??0}get isReady(){return this._dotLottieCore!==null}get isLoaded(){return this._dotLottieCore?.isLoaded()??!1}get isPlaying(){return this._dotLottieCore?.isPlaying()??!1}get isPaused(){return this._dotLottieCore?.isPaused()??!1}get isStopped(){return this._dotLottieCore?.isStopped()??!1}get currentFrame(){return this._dotLottieCore?.currentFrame()??0}get loopCount(){return this._dotLottieCore?.loopCount()??0}get totalFrames(){return this._dotLottieCore?.totalFrames()??0}get duration(){return this._dotLottieCore?.duration()??0}get segmentDuration(){return this._dotLottieCore?.segmentDuration()??0}get canvas(){return this._canvas}load(n){this._dotLottieCore===null||M._wasmModule===null||(this._dotLottieCore.setConfig({autoplay:n.autoplay??!1,backgroundColor:0,loopAnimation:n.loop??!1,mode:Qe(n.mode??\"forward\",M._wasmModule),segment:et(n.segment??[],M._wasmModule),speed:n.speed??1,useFrameInterpolation:n.useFrameInterpolation??!0,marker:n.marker??\"\",layout:n.layout?{align:qe(n.layout.align,M._wasmModule),fit:Ze(n.layout.fit,M._wasmModule)}:M._wasmModule.createDefaultLayout()}),n.data?this._loadFromData(n.data):n.src&&this._loadFromSrc(n.src),this.setBackgroundColor(n.backgroundColor??\"\"));}_render(){if(this._dotLottieCore===null||this._context===null)return !1;if(this._dotLottieCore.render()){let a=this._dotLottieCore.buffer(),d=new Uint8ClampedArray(a,0,this._canvas.width*this._canvas.height*4),w=null;return typeof ImageData>\"u\"?(w=this._context.createImageData(this._canvas.width,this._canvas.height),w.data.set(d)):w=new ImageData(d,this._canvas.width,this._canvas.height),this._context.putImageData(w,0,0),this._eventManager.dispatch({type:\"render\",currentFrame:this._dotLottieCore.currentFrame()}),!0}return !1}_draw(){if(this._dotLottieCore===null||this._context===null||!this._dotLottieCore.isPlaying())return;let n=this._dotLottieCore.requestFrame();this._dotLottieCore.setFrame(n)&&(this._eventManager.dispatch({type:\"frame\",currentFrame:this._dotLottieCore.currentFrame()}),this._render()&&this._dotLottieCore.isComplete()&&(this._dotLottieCore.config().loopAnimation?this._eventManager.dispatch({type:\"loop\",loopCount:this._dotLottieCore.loopCount()}):this._eventManager.dispatch({type:\"complete\"}))),this._animationFrameId=this._frameManager.requestAnimationFrame(this._draw.bind(this));}play(){if(this._dotLottieCore===null)return;let n=this._dotLottieCore.play();this._isFrozen=!1,n&&(this._eventManager.dispatch({type:\"play\"}),this._animationFrameId=this._frameManager.requestAnimationFrame(this._draw.bind(this)));}pause(){if(this._dotLottieCore===null)return;this._dotLottieCore.pause()&&this._eventManager.dispatch({type:\"pause\"});}stop(){if(this._dotLottieCore===null)return;this._dotLottieCore.stop()&&(this._eventManager.dispatch({type:\"frame\",currentFrame:this._dotLottieCore.currentFrame()}),this._render(),this._eventManager.dispatch({type:\"stop\"}));}setFrame(n){if(this._dotLottieCore===null||n<0||n>this._dotLottieCore.totalFrames())return;this._dotLottieCore.seek(n)&&(this._eventManager.dispatch({type:\"frame\",currentFrame:this._dotLottieCore.currentFrame()}),this._render());}setSpeed(n){this._dotLottieCore!==null&&this._dotLottieCore.setConfig({...this._dotLottieCore.config(),speed:n});}setBackgroundColor(n){this._dotLottieCore!==null&&(te&&this._canvas instanceof HTMLCanvasElement?this._canvas.style.backgroundColor=n:this._dotLottieCore.setConfig({...this._dotLottieCore.config(),backgroundColor:zt(n)}),this._backgroundColor=n);}setLoop(n){this._dotLottieCore!==null&&this._dotLottieCore.setConfig({...this._dotLottieCore.config(),loopAnimation:n});}setUseFrameInterpolation(n){this._dotLottieCore!==null&&this._dotLottieCore.setConfig({...this._dotLottieCore.config(),useFrameInterpolation:n});}addEventListener(n,a){this._eventManager.addEventListener(n,a);}removeEventListener(n,a){this._eventManager.removeEventListener(n,a);}destroy(){this._dotLottieCore?.delete(),this._dotLottieCore=null,this._context=null,this._eventManager.dispatch({type:\"destroy\"}),this._eventManager.removeAllEventListeners(),this._cleanupStateMachineListeners();}freeze(){this._animationFrameId!==null&&(this._frameManager.cancelAnimationFrame(this._animationFrameId),this._animationFrameId=null,this._isFrozen=!0,this._eventManager.dispatch({type:\"freeze\"}));}unfreeze(){this._animationFrameId===null&&(this._animationFrameId=this._frameManager.requestAnimationFrame(this._draw.bind(this)),this._isFrozen=!1,this._eventManager.dispatch({type:\"unfreeze\"}));}resize(){if(te&&this._canvas instanceof HTMLCanvasElement){let a=this._renderConfig.devicePixelRatio||window.devicePixelRatio||1,{height:d,width:w}=this._canvas.getBoundingClientRect();this._canvas.width=w*a,this._canvas.height=d*a;}this._dotLottieCore?.resize(this._canvas.width,this._canvas.height)&&this._render();}setSegment(n,a){this._dotLottieCore===null||M._wasmModule===null||this._dotLottieCore.setConfig({...this._dotLottieCore.config(),segment:et([n,a],M._wasmModule)});}setMode(n){this._dotLottieCore===null||M._wasmModule===null||this._dotLottieCore.setConfig({...this._dotLottieCore.config(),mode:Qe(n,M._wasmModule)});}setRenderConfig(n){this._renderConfig=n;}loadAnimation(n){if(this._dotLottieCore===null||this._dotLottieCore.activeAnimationId()===n)return;this._dotLottieCore.loadAnimation(n,this._canvas.width,this._canvas.height)?(this._eventManager.dispatch({type:\"load\"}),this.resize()):this._eventManager.dispatch({type:\"loadError\",error:new Error(`Failed to animation :${n}`)});}setMarker(n){this._dotLottieCore!==null&&this._dotLottieCore.setConfig({...this._dotLottieCore.config(),marker:n});}markers(){let n=this._dotLottieCore?.markers();if(n){let a=[];for(let d=0;d<n.size();d+=1){let w=n.get(d);a.push({name:w.name,time:w.time,duration:w.duration});}return a}return []}loadTheme(n){if(this._dotLottieCore===null)return !1;let a=this._dotLottieCore.loadTheme(n);return this._render(),a}loadThemeData(n){if(this._dotLottieCore===null)return !1;let a=this._dotLottieCore.loadThemeData(n);return this._render(),a}setLayout(n){this._dotLottieCore===null||M._wasmModule===null||this._dotLottieCore.setConfig({...this._dotLottieCore.config(),layout:{align:qe(n.align,M._wasmModule),fit:Ze(n.fit,M._wasmModule)}});}setViewport(n,a,d,w){return this._dotLottieCore===null?!1:this._dotLottieCore.setViewport(n,a,d,w)}static setWasmUrl(n){X.setWasmUrl(n);}loadStateMachine(n){return this._dotLottieCore?.loadStateMachine(n)??!1}startStateMachine(){let n=this._dotLottieCore?.startStateMachine()??!1;return n&&this._setupStateMachineListeners(),n}stopStateMachine(){let n=this._dotLottieCore?.stopStateMachine()??!1;return n&&this._cleanupStateMachineListeners(),n}_getPointerPosition(n){let a=this._canvas.getBoundingClientRect(),d=this._canvas.width/a.width,w=this._canvas.height/a.height,T=this._renderConfig.devicePixelRatio||window.devicePixelRatio||1,W=(n.clientX-a.left)*d/T,Y=(n.clientY-a.top)*w/T;return {x:W,y:Y}}_onPointerUp(n){let{x:a,y:d}=this._getPointerPosition(n);this.postStateMachineEvent(`OnPointerUp: ${a} ${d}`);}_onPointerDown(n){let{x:a,y:d}=this._getPointerPosition(n);this.postStateMachineEvent(`OnPointerDown: ${a} ${d}`);}_onPointerMove(n){let{x:a,y:d}=this._getPointerPosition(n);this.postStateMachineEvent(`OnPointerMove: ${a} ${d}`);}_onPointerEnter(n){let{x:a,y:d}=this._getPointerPosition(n);this.postStateMachineEvent(`OnPointerEnter: ${a} ${d}`);}_onPointerLeave(n){let{x:a,y:d}=this._getPointerPosition(n);this.postStateMachineEvent(`OnPointerExit: ${a} ${d}`);}_onComplete(){this.postStateMachineEvent(\"OnComplete\");}postStateMachineEvent(n){return this._dotLottieCore?.postEventPayload(n)??!1}getStateMachineListeners(){if(!this._dotLottieCore)return [];let n=this._dotLottieCore.stateMachineFrameworkSetup(),a=[];for(let d=0;d<n.size();d+=1)a.push(n.get(d));return a}_setupStateMachineListeners(){if(te&&this._canvas instanceof HTMLCanvasElement&&this._dotLottieCore!==null&&this.isLoaded){let n=this.getStateMachineListeners();n.includes(\"PointerUp\")&&this._canvas.addEventListener(\"pointerup\",this._onPointerUp.bind(this)),n.includes(\"PointerDown\")&&this._canvas.addEventListener(\"pointerdown\",this._onPointerDown.bind(this)),n.includes(\"PointerMove\")&&this._canvas.addEventListener(\"pointermove\",this._onPointerMove.bind(this)),n.includes(\"PointerEnter\")&&this._canvas.addEventListener(\"pointerenter\",this._onPointerEnter.bind(this)),n.includes(\"PointerExit\")&&this._canvas.addEventListener(\"pointerleave\",this._onPointerLeave.bind(this)),n.includes(\"Complete\")&&this.addEventListener(\"complete\",this._onComplete.bind(this));}}_cleanupStateMachineListeners(){te&&this._canvas instanceof HTMLCanvasElement&&(this._canvas.removeEventListener(\"pointerup\",this._onPointerUp.bind(this)),this._canvas.removeEventListener(\"pointerdown\",this._onPointerDown.bind(this)),this._canvas.removeEventListener(\"pointermove\",this._onPointerMove.bind(this)),this._canvas.removeEventListener(\"pointerenter\",this._onPointerEnter.bind(this)),this._canvas.removeEventListener(\"pointerleave\",this._onPointerLeave.bind(this)),this.removeEventListener(\"complete\",this._onComplete.bind(this)));}loadStateMachineData(n){return this._dotLottieCore?.loadStateMachineData(n)??!1}animationSize(){let n=this._dotLottieCore?.animationSize().get(0)??0,a=this._dotLottieCore?.animationSize().get(1)??0;return {width:n,height:a}}setStateMachineBooleanContext(n,a){return this._dotLottieCore?.setStateMachineBooleanContext(n,a)??!1}setStateMachineNumericContext(n,a){return this._dotLottieCore?.setStateMachineNumericContext(n,a)??!1}setStateMachineStringContext(n,a){return this._dotLottieCore?.setStateMachineStringContext(n,a)??!1}};I(M,\"_wasmModule\",null);var fe=M;var E=new Map,$n={ready:s=>n=>{let a={id:\"\",method:\"onReady\",result:{instanceId:s,event:n}};self.postMessage(a);},complete:s=>n=>{let a={id:\"\",method:\"onComplete\",result:{instanceId:s,event:n}};self.postMessage(a);},load:s=>n=>{let d={id:\"\",method:\"onLoad\",result:{instanceId:s,event:n}};self.postMessage(d);},loadError:s=>n=>{let d={id:\"\",method:\"onLoadError\",result:{instanceId:s,event:n}};self.postMessage(d);},loop:s=>n=>{let d={id:\"\",method:\"onLoop\",result:{instanceId:s,event:n}};self.postMessage(d);},play:s=>n=>{let d={id:\"\",method:\"onPlay\",result:{instanceId:s,event:n}};self.postMessage(d);},pause:s=>n=>{let d={id:\"\",method:\"onPause\",result:{instanceId:s,event:n}};self.postMessage(d);},stop:s=>n=>{let d={id:\"\",method:\"onStop\",result:{instanceId:s,event:n}};self.postMessage(d);},frame:s=>n=>{let d={id:\"\",method:\"onFrame\",result:{instanceId:s,event:n}};self.postMessage(d);},render:s=>n=>{let d={id:\"\",method:\"onRender\",result:{instanceId:s,event:n}};self.postMessage(d);},freeze:s=>n=>{let d={id:\"\",method:\"onFreeze\",result:{instanceId:s,event:n}};self.postMessage(d);},unfreeze:s=>n=>{let d={id:\"\",method:\"onUnfreeze\",result:{instanceId:s,event:n}};self.postMessage(d);},destroy:s=>n=>{let d={id:\"\",method:\"onDestroy\",result:{instanceId:s,event:n}};self.postMessage(d);}},Ot={getDotLottieInstanceState(s){let n=s.params.instanceId,a=E.get(n);if(!a)throw new Error(`Instance with id ${n} does not exist.`);return {state:{isLoaded:a.isLoaded,isPaused:a.isPaused,isPlaying:a.isPlaying,isStopped:a.isStopped,isFrozen:a.isFrozen,loop:a.loop,mode:a.mode,speed:a.speed,currentFrame:a.currentFrame,totalFrames:a.totalFrames,duration:a.duration,useFrameInterpolation:a.useFrameInterpolation,renderConfig:a.renderConfig,marker:a.marker,backgroundColor:a.backgroundColor,markers:a.markers(),activeAnimationId:a.activeAnimationId,activeThemeId:a.activeThemeId,autoplay:a.autoplay,segment:a.segment,layout:a.layout,segmentDuration:a.segmentDuration,isReady:a.isReady,manifest:a.manifest}}},setLayout(s){let n=s.params.instanceId,a=s.params.layout,d=E.get(n);if(!d)throw new Error(`Instance with id ${n} does not exist.`);return d.setLayout(a),{success:!0}},getStateMachineListeners(s){let n=s.params.instanceId,a=E.get(n);if(!a)throw new Error(`Instance with id ${n} does not exist.`);return a.getStateMachineListeners()},postStateMachineEvent(s){let n=s.params.instanceId,a=s.params.event,d=E.get(n);if(!d)throw new Error(`Instance with id ${n} does not exist.`);return d.postStateMachineEvent(a)},startStateMachine(s){let n=s.params.instanceId,a=E.get(n);if(!a)throw new Error(`Instance with id ${n} does not exist.`);return a.startStateMachine()},stopStateMachine(s){let n=s.params.instanceId,a=E.get(n);if(!a)throw new Error(`Instance with id ${n} does not exist.`);return a.stopStateMachine()},loadStateMachine(s){let n=s.params.instanceId,a=s.params.stateMachineId,d=E.get(n);if(!d)throw new Error(`Instance with id ${n} does not exist.`);return d.loadStateMachine(a)},loadStateMachineData(s){let n=s.params.instanceId,a=s.params.stateMachineData,d=E.get(n);if(!d)throw new Error(`Instance with id ${n} does not exist.`);return d.loadStateMachineData(a)},create:s=>{let n=s.params.instanceId,a=s.params.config,d=s.params.width,w=s.params.height;if(E.has(n))throw new Error(`Instance with id ${n} already exists.`);let T=new fe(a);return T.canvas.height=w,T.canvas.width=d,E.set(n,T),[\"complete\",\"frame\",\"load\",\"loadError\",\"loop\",\"pause\",\"play\",\"stop\",\"destroy\",\"freeze\",\"unfreeze\",\"render\",\"ready\"].forEach(Y=>{T.addEventListener(Y,$n[Y](n));}),{instanceId:n}},destroy:s=>{let n=s.params.instanceId,a=E.get(n);a&&(a.destroy(),E.delete(n));},freeze:s=>{let n=s.params.instanceId,a=E.get(n);if(!a)throw new Error(`Instance with id ${n} does not exist.`);a.freeze();},load:s=>{let n=s.params.instanceId,a=s.params.config,d=E.get(n);if(!d)throw new Error(`Instance with id ${n} does not exist.`);d.load(a);},loadAnimation:s=>{let n=s.params.instanceId,a=s.params.animationId,d=E.get(n);if(!d)throw new Error(`Instance with id ${n} does not exist.`);d.loadAnimation(a);},loadTheme:s=>{let n=s.params.instanceId,a=s.params.themeId,d=E.get(n);if(!d)throw new Error(`Instance with id ${n} does not exist.`);return d.loadTheme(a)},loadThemeData:s=>{let n=s.params.instanceId,a=s.params.themeData,d=E.get(n);if(!d)throw new Error(`Instance with id ${n} does not exist.`);return d.loadThemeData(a)},pause:s=>{let n=s.params.instanceId,a=E.get(n);if(!a)throw new Error(`Instance with id ${n} does not exist.`);return a.pause()},play:s=>{let n=s.params.instanceId,a=E.get(n);if(!a)throw new Error(`Instance with id ${n} does not exist.`);return a.play()},resize:s=>{let n=s.params.instanceId,a=s.params.width,d=s.params.height,w=E.get(n);if(!w)throw new Error(`Instance with id ${n} does not exist.`);return w.canvas.height=d,w.canvas.width=a,w.resize(),{success:!0}},setBackgroundColor:s=>{let n=s.params.instanceId,a=s.params.backgroundColor,d=E.get(n);if(!d)throw new Error(`Instance with id ${n} does not exist.`);d.setBackgroundColor(a);},setFrame:s=>{let n=s.params.instanceId,a=s.params.frame,d=E.get(n);if(!d)throw new Error(`Instance with id ${n} does not exist.`);d.setFrame(a);},setMode:s=>{let n=s.params.instanceId,a=s.params.mode,d=E.get(n);if(!d)throw new Error(`Instance with id ${n} does not exist.`);d.setMode(a);},setRenderConfig:s=>{let n=s.params.instanceId,a=s.params.renderConfig,d=E.get(n);if(!d)throw new Error(`Instance with id ${n} does not exist.`);d.setRenderConfig(a);},setSegment:s=>{let n=s.params.instanceId,a=s.params.segment,d=E.get(n);if(!d)throw new Error(`Instance with id ${n} does not exist.`);d.setSegment(a[0],a[1]);},setSpeed:s=>{let n=s.params.instanceId,a=s.params.speed,d=E.get(n);if(!d)throw new Error(`Instance with id ${n} does not exist.`);d.setSpeed(a);},setUseFrameInterpolation:s=>{let n=s.params.instanceId,a=s.params.useFrameInterpolation,d=E.get(n);if(!d)throw new Error(`Instance with id ${n} does not exist.`);d.setUseFrameInterpolation(a);},setWasmUrl:s=>{fe.setWasmUrl(s.params.url);},stop:s=>{let n=s.params.instanceId,a=E.get(n);if(!a)throw new Error(`Instance with id ${n} does not exist.`);a.stop();},unfreeze:s=>{let n=s.params.instanceId,a=E.get(n);if(!a)throw new Error(`Instance with id ${n} does not exist.`);a.unfreeze();},setViewport(s){let n=s.params.instanceId,a=s.params.x,d=s.params.y,w=s.params.width,T=s.params.height,W=E.get(n);if(!W)throw new Error(`Instance with id ${n} does not exist.`);return W.setViewport(a,d,w,T)},setMarker(s){let n=s.params.instanceId,a=s.params.marker,d=E.get(n);if(!d)throw new Error(`Instance with id ${n} does not exist.`);return d.setMarker(a),{success:!0}},setLoop(s){let n=s.params.instanceId,a=s.params.loop,d=E.get(n);if(!d)throw new Error(`Instance with id ${n} does not exist.`);return d.setLoop(a),{success:!0}}};function kn(s){let n=s.method;if(typeof Ot[n]==\"function\")return Ot[n](s);throw new Error(`Method ${n} is not implemented in commands.`)}self.onmessage=s=>{try{let n=kn(s.data),a={id:s.data.id,method:s.data.method,result:n};self.postMessage(a);}catch(n){let a={id:s.data.id,method:s.data.method,error:n.message};self.postMessage(a);}};var Dn=\"\",lr=Dn;\n\nexport { lr as default };\n","// This file would be inlined as a string, checkout the tsup config in the root of the project\nimport workerString from './dotlottie.worker.js';\nimport type { MethodParamsMap, RpcRequest } from './types.js';\n\nexport class WorkerManager {\n private readonly _workers: Map<string, Worker> = new Map();\n\n private readonly _animationWorkerMap: Map<string, string> = new Map();\n\n private _createWorker(workerName: string): Worker {\n const blob = new Blob([workerString], { type: 'application/javascript' });\n\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n return new Worker(URL.createObjectURL(blob), { type: 'module', name: workerName });\n }\n\n public getWorker(workerId: string): Worker {\n if (!this._workers.has(workerId)) {\n this._workers.set(workerId, this._createWorker(workerId));\n }\n\n return this._workers.get(workerId) as Worker;\n }\n\n public assignAnimationToWorker(animationId: string, workerId: string): void {\n this._animationWorkerMap.set(animationId, workerId);\n }\n\n public unassignAnimationFromWorker(animationId: string): void {\n this._animationWorkerMap.delete(animationId);\n }\n\n public sendMessage(workerId: string, message: RpcRequest<keyof MethodParamsMap>, transfer?: Transferable[]): void {\n this.getWorker(workerId).postMessage(message, transfer || []);\n }\n\n public terminateWorker(workerId: string): void {\n const worker = this._workers.get(workerId);\n\n if (worker) {\n worker.terminate();\n this._workers.delete(workerId);\n }\n }\n}\n","import { IS_BROWSER } from '../constants';\nimport type { Marker } from '../core';\nimport type { EventType, EventListener, FrameEvent } from '../event-manager';\nimport { EventManager } from '../event-manager';\nimport type { Config, Layout, Manifest, Mode, RenderConfig } from '../types';\n\nimport type { MethodParamsMap, MethodResultMap, RpcRequest, RpcResponse } from './types';\nimport { WorkerManager } from './worker-manager';\n\nfunction getCanvasSize(canvas: HTMLCanvasElement | OffscreenCanvas): { height: number; width: number } {\n if (canvas instanceof OffscreenCanvas) {\n return { width: canvas.width, height: canvas.height };\n }\n\n const { height, width } = canvas.getBoundingClientRect();\n\n return { width: width * window.devicePixelRatio, height: height * window.devicePixelRatio };\n}\n\nfunction generateUniqueId(): string {\n return Date.now().toString(36) + Math.random().toString(36).substr(2, 9);\n}\n\nexport interface DotLottieInstanceState {\n activeAnimationId: string | undefined;\n activeThemeId: string | undefined;\n autoplay: boolean;\n backgroundColor: string;\n currentFrame: number;\n duration: number;\n isFrozen: boolean;\n isLoaded: boolean;\n isPaused: boolean;\n isPlaying: boolean;\n isReady: boolean;\n isStopped: boolean;\n layout: Layout | undefined;\n loop: boolean;\n manifest: Manifest | null;\n marker: string | undefined;\n markers: Marker[];\n mode: Mode;\n renderConfig: RenderConfig;\n segment: [number, number] | undefined;\n segmentDuration: number;\n speed: number;\n totalFrames: number;\n useFrameInterpolation: boolean;\n}\n\nexport class DotLottieWorker {\n private static readonly _workerManager = new WorkerManager();\n\n private readonly _eventManager = new EventManager();\n\n private readonly _id: string;\n\n private readonly _worker: Worker;\n\n private readonly _canvas: HTMLCanvasElement;\n\n private _dotLottieInstanceState: DotLottieInstanceState = {\n markers: [],\n autoplay: false,\n backgroundColor: '',\n currentFrame: 0,\n duration: 0,\n loop: false,\n mode: 'forward',\n segment: [0, 0],\n segmentDuration: 0,\n speed: 1,\n totalFrames: 0,\n isLoaded: false,\n isPlaying: false,\n isPaused: false,\n isStopped: true,\n isFrozen: false,\n useFrameInterpolation: false,\n renderConfig: {\n devicePixelRatio: window.devicePixelRatio,\n },\n activeAnimationId: '',\n activeThemeId: '',\n layout: undefined,\n marker: undefined,\n isReady: false,\n manifest: null,\n };\n\n private static _wasmUrl: string = '';\n\n private _created: boolean = false;\n\n public constructor(config: Config & { workerId?: string }) {\n this._canvas = config.canvas;\n\n this._id = `dotlottie-${generateUniqueId()}`;\n const workerId = config.workerId || 'defaultWorker';\n\n // creates or gets the worker\n this._worker = DotLottieWorker._workerManager.getWorker(workerId);\n\n DotLottieWorker._workerManager.assignAnimationToWorker(this._id, workerId);\n\n if (DotLottieWorker._wasmUrl) {\n this._sendMessage('setWasmUrl', { url: DotLottieWorker._wasmUrl });\n }\n\n this._create(config);\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n this._worker.addEventListener('message', this._handleWorkerEvent.bind(this));\n }\n\n private async _handleWorkerEvent(event: MessageEvent): Promise<void> {\n const rpcResponse: RpcResponse<\n | 'onComplete'\n | 'onLoad'\n | 'onDestroy'\n | 'onUnfreeze'\n | 'onFrame'\n | 'onRender'\n | 'onFreeze'\n | 'onPause'\n | 'onPlay'\n | 'onStop'\n | 'onLoadError'\n | 'onReady'\n > = event.data;\n\n if (!rpcResponse.id) {\n if (rpcResponse.method === 'onLoad' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onComplete' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onDestroy' && rpcResponse.result.instanceId === this._id) {\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onUnfreeze' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._dotLottieInstanceState.isFrozen = false;\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onFrame' && rpcResponse.result.instanceId === this._id) {\n this._dotLottieInstanceState.currentFrame = (rpcResponse.result.event as FrameEvent).currentFrame;\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onRender' && rpcResponse.result.instanceId === this._id) {\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onFreeze' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onPause' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onPlay' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onStop' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onLoadError' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onReady' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n }\n }\n\n private async _create(config: Config): Promise<void> {\n let offscreen: OffscreenCanvas;\n\n if (this._canvas instanceof HTMLCanvasElement) {\n offscreen = this._canvas.transferControlToOffscreen();\n } else {\n offscreen = this._canvas;\n }\n\n const { instanceId } = await this._sendMessage(\n 'create',\n {\n instanceId: this._id,\n config: {\n ...config,\n // @ts-ignore\n canvas: offscreen,\n },\n ...getCanvasSize(this._canvas),\n },\n [offscreen],\n );\n\n if (instanceId !== this._id) {\n throw new Error('Instance ID mismatch');\n }\n\n this._created = true;\n\n await this._updateDotLottieInstanceState();\n }\n\n public get isLoaded(): boolean {\n return this._dotLottieInstanceState.isLoaded;\n }\n\n public get isPlaying(): boolean {\n return this._dotLottieInstanceState.isPlaying;\n }\n\n public get isPaused(): boolean {\n return this._dotLottieInstanceState.isPaused;\n }\n\n public get isStopped(): boolean {\n return this._dotLottieInstanceState.isStopped;\n }\n\n public get currentFrame(): number {\n return this._dotLottieInstanceState.currentFrame;\n }\n\n public get isFrozen(): boolean {\n return this._dotLottieInstanceState.isFrozen;\n }\n\n public get segmentDuration(): number {\n return this._dotLottieInstanceState.segmentDuration;\n }\n\n public get totalFrames(): number {\n return this._dotLottieInstanceState.totalFrames;\n }\n\n public get segment(): [number, number] | undefined {\n return this._dotLottieInstanceState.segment;\n }\n\n public get speed(): number {\n return this._dotLottieInstanceState.speed;\n }\n\n public get duration(): number {\n return this._dotLottieInstanceState.duration;\n }\n\n public get isReady(): boolean {\n return this._dotLottieInstanceState.isReady;\n }\n\n public get mode(): Mode {\n return this._dotLottieInstanceState.mode;\n }\n\n public get canvas(): HTMLCanvasElement | null {\n return this._canvas;\n }\n\n public get autoplay(): boolean {\n return this._dotLottieInstanceState.autoplay;\n }\n\n public get backgroundColor(): string {\n return this._dotLottieInstanceState.backgroundColor;\n }\n\n public get loop(): boolean {\n return this._dotLottieInstanceState.loop;\n }\n\n public get useFrameInterpolation(): boolean {\n return this._dotLottieInstanceState.useFrameInterpolation;\n }\n\n public get renderConfig(): RenderConfig {\n return this._dotLottieInstanceState.renderConfig;\n }\n\n public get manifest(): Manifest | null {\n return this._dotLottieInstanceState.manifest;\n }\n\n public get activeAnimationId(): string | undefined {\n return this._dotLottieInstanceState.activeAnimationId;\n }\n\n public get marker(): string | undefined {\n return this._dotLottieInstanceState.marker;\n }\n\n public get activeThemeId(): string | undefined {\n return this._dotLottieInstanceState.activeThemeId;\n }\n\n public get layout(): Layout | undefined {\n return this._dotLottieInstanceState.layout;\n }\n\n public async play(): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('play', { instanceId: this._id });\n await this._updateDotLottieInstanceState();\n }\n\n public async pause(): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('pause', { instanceId: this._id });\n await this._updateDotLottieInstanceState();\n }\n\n public async stop(): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('stop', { instanceId: this._id });\n await this._updateDotLottieInstanceState();\n }\n\n public async setSpeed(speed: number): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setSpeed', { instanceId: this._id, speed });\n await this._updateDotLottieInstanceState();\n }\n\n public async setMode(mode: Mode): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setMode', { instanceId: this._id, mode });\n await this._updateDotLottieInstanceState();\n }\n\n public async setFrame(frame: number): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setFrame', { frame, instanceId: this._id });\n await this._updateDotLottieInstanceState();\n }\n\n public async setSegment(start: number, end: number): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setSegment', { instanceId: this._id, segment: [start, end] });\n await this._updateDotLottieInstanceState();\n }\n\n public async setRenderConfig(renderConfig: RenderConfig): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setRenderConfig', { instanceId: this._id, renderConfig });\n await this._updateDotLottieInstanceState();\n }\n\n public async setUseFrameInterpolation(useFrameInterpolation: boolean): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setUseFrameInterpolation', { instanceId: this._id, useFrameInterpolation });\n await this._updateDotLottieInstanceState();\n }\n\n public async loadTheme(themeId: string): Promise<boolean> {\n if (!this._created) return false;\n\n const result = this._sendMessage('loadTheme', { instanceId: this._id, themeId });\n\n await this._updateDotLottieInstanceState();\n\n return result;\n }\n\n public async load(config: Omit<Config, 'canvas'>): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('load', { config, instanceId: this._id });\n await this._updateDotLottieInstanceState();\n }\n\n public async setLoop(loop: boolean): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setLoop', { instanceId: this._id, loop });\n await this._updateDotLottieInstanceState();\n }\n\n public async resize(): Promise<void> {\n if (!this._created) return;\n\n const { height, width } = getCanvasSize(this._canvas);\n\n this._canvas.width = width;\n this._canvas.height = height;\n\n await this._sendMessage('resize', { height, instanceId: this._id, width });\n await this._updateDotLottieInstanceState();\n }\n\n public async destroy(): Promise<void> {\n if (!this._created) return;\n\n this._created = false;\n\n await this._sendMessage('destroy', { instanceId: this._id });\n\n this._cleanupStateMachineListeners();\n\n DotLottieWorker._workerManager.unassignAnimationFromWorker(this._id);\n this._eventManager.removeAllEventListeners();\n }\n\n public async freeze(): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('freeze', { instanceId: this._id });\n await this._updateDotLottieInstanceState();\n }\n\n public async unfreeze(): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('unfreeze', { instanceId: this._id });\n await this._updateDotLottieInstanceState();\n }\n\n public async setBackgroundColor(backgroundColor: string): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setBackgroundColor', { instanceId: this._id, backgroundColor });\n await this._updateDotLottieInstanceState();\n }\n\n public async loadAnimation(animationId: string): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('loadAnimation', { animationId, instanceId: this._id });\n await this._updateDotLottieInstanceState();\n }\n\n public async setLayout(layout: Layout): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setLayout', { instanceId: this._id, layout });\n await this._updateDotLottieInstanceState();\n }\n\n private async _updateDotLottieInstanceState(): Promise<void> {\n if (!this._created) return;\n\n const result = await this._sendMessage('getDotLottieInstanceState', { instanceId: this._id });\n\n this._dotLottieInstanceState = result.state;\n }\n\n public markers(): Marker[] {\n return this._dotLottieInstanceState.markers;\n }\n\n public async setMarker(marker: string): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setMarker', { instanceId: this._id, marker });\n await this._updateDotLottieInstanceState();\n }\n\n public async loadThemeData(themeData: string): Promise<boolean> {\n if (!this._created) return false;\n\n const loaded = await this._sendMessage('loadThemeData', { instanceId: this._id, themeData });\n\n await this._updateDotLottieInstanceState();\n\n return loaded;\n }\n\n public async setViewport(x: number, y: number, width: number, height: number): Promise<boolean> {\n if (!this._created) return false;\n\n return this._sendMessage('setViewport', { x, y, width, height, instanceId: this._id });\n }\n\n private async _sendMessage<T extends keyof MethodParamsMap>(\n method: T,\n params: MethodParamsMap[T],\n transfer?: Transferable[],\n ): Promise<MethodResultMap[T]> {\n const rpcRequest: RpcRequest<T> = {\n id: `dotlottie-request-${generateUniqueId()}`,\n method,\n params,\n };\n\n this._worker.postMessage(rpcRequest, transfer || []);\n\n return new Promise((resolve, reject) => {\n const onMessage = (event: MessageEvent): void => {\n const rpcResponse: RpcResponse<T> = event.data;\n\n // Check if the response corresponds to the request\n if (rpcResponse.id === rpcRequest.id) {\n this._worker.removeEventListener('message', onMessage);\n\n if (rpcResponse.error) {\n reject(new Error(`Failed to execute method ${method}: ${rpcResponse.error}`));\n } else {\n resolve(rpcResponse.result);\n }\n }\n };\n\n this._worker.addEventListener('message', onMessage);\n });\n }\n\n public addEventListener<T extends EventType>(type: T, listener: EventListener<T>): void {\n this._eventManager.addEventListener(type, listener);\n }\n\n public removeEventListener<T extends EventType>(type: T, listener?: EventListener<T>): void {\n this._eventManager.removeEventListener(type, listener);\n }\n\n public static setWasmUrl(url: string): void {\n DotLottieWorker._wasmUrl = url;\n }\n\n public async loadStateMachine(stateMachineId: string): Promise<boolean> {\n if (!this._created) return false;\n\n const result = await this._sendMessage('loadStateMachine', { instanceId: this._id, stateMachineId });\n\n await this._updateDotLottieInstanceState();\n\n return result;\n }\n\n public async loadStateMachineData(stateMachineData: string): Promise<boolean> {\n if (!this._created) return false;\n\n const result = await this._sendMessage('loadStateMachineData', { instanceId: this._id, stateMachineData });\n\n await this._updateDotLottieInstanceState();\n\n return result;\n }\n\n public async startStateMachine(): Promise<boolean> {\n if (!this._created) return false;\n\n this._setupStateMachineListeners();\n\n const result = await this._sendMessage('startStateMachine', { instanceId: this._id });\n\n await this._updateDotLottieInstanceState();\n\n return result;\n }\n\n public async stopStateMachine(): Promise<boolean> {\n if (!this._created) return false;\n\n this._cleanupStateMachineListeners();\n\n return this._sendMessage('stopStateMachine', { instanceId: this._id });\n }\n\n public async postStateMachineEvent(event: string): Promise<boolean> {\n if (!this._created) return false;\n\n return this._sendMessage('postStateMachineEvent', { event, instanceId: this._id });\n }\n\n public async getStateMachineListeners(): Promise<string[]> {\n if (!this._created) return [];\n\n return this._sendMessage('getStateMachineListeners', { instanceId: this._id });\n }\n\n private _getPointerPosition(event: PointerEvent): { x: number; y: number } {\n const rect = (this._canvas as HTMLCanvasElement).getBoundingClientRect();\n const scaleX = this._canvas.width / rect.width;\n const scaleY = this._canvas.height / rect.height;\n\n const devicePixelRatio = this._dotLottieInstanceState.renderConfig.devicePixelRatio || window.devicePixelRatio || 1;\n const x = ((event.clientX - rect.left) * scaleX) / devicePixelRatio;\n const y = ((event.clientY - rect.top) * scaleY) / devicePixelRatio;\n\n return {\n x,\n y,\n };\n }\n\n private _onPointerUp(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerUp: ${x} ${y}`);\n }\n\n private _onPointerDown(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerDown: ${x} ${y}`);\n }\n\n private _onPointerMove(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerMove: ${x} ${y}`);\n }\n\n private _onPointerEnter(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerEnter: ${x} ${y}`);\n }\n\n private _onPointerLeave(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerExit: ${x} ${y}`);\n }\n\n private _onComplete(): void {\n this.postStateMachineEvent('OnComplete');\n }\n\n private async _setupStateMachineListeners(): Promise<void> {\n if (IS_BROWSER && this._canvas instanceof HTMLCanvasElement && this.isLoaded) {\n const listeners = await this._sendMessage('getStateMachineListeners', { instanceId: this._id });\n\n if (listeners.includes('PointerUp')) {\n this._canvas.addEventListener('pointerup', this._onPointerUp.bind(this));\n }\n\n if (listeners.includes('PointerDown')) {\n this._canvas.addEventListener('pointerdown', this._onPointerDown.bind(this));\n }\n\n if (listeners.includes('PointerMove')) {\n this._canvas.addEventListener('pointermove', this._onPointerMove.bind(this));\n }\n\n if (listeners.includes('PointerEnter')) {\n this._canvas.addEventListener('pointerenter', this._onPointerEnter.bind(this));\n }\n\n if (listeners.includes('PointerExit')) {\n this._canvas.addEventListener('pointerleave', this._onPointerLeave.bind(this));\n }\n\n if (listeners.includes('Complete')) {\n this.addEventListener('complete', this._onComplete.bind(this));\n }\n }\n }\n\n private _cleanupStateMachineListeners(): void {\n if (IS_BROWSER && this._canvas instanceof HTMLCanvasElement) {\n this._canvas.removeEventListener('pointerup', this._onPointerUp.bind(this));\n this._canvas.removeEventListener('pointerdown', this._onPointerDown.bind(this));\n this._canvas.removeEventListener('pointermove', this._onPointerMove.bind(this));\n this._canvas.removeEventListener('pointerenter', this._onPointerEnter.bind(this));\n this._canvas.removeEventListener('pointerleave', this._onPointerLeave.bind(this));\n this.removeEventListener('complete', this._onComplete.bind(this));\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/animation-frame-manager.ts","../src/constants.ts","../package.json","../src/core/dotlottie-player.js","../src/core/dotlottie-wasm-loader.ts","../src/event-manager.ts","../src/utils.ts","../src/dotlottie.ts","../src/worker/dotlottie.worker.js","../src/worker/worker-manager.ts","../src/worker/dotlottie.ts"],"names":["WebAnimationFrameStrategy","callback","id","NodeAnimationFrameStrategy","__publicField","_id","AnimationFrameManager","IS_BROWSER","ZIP_SIGNATURE","LOTTIE_JSON_MANDATORY_FIELDS","package_default","createDotLottiePlayerModule","_scriptDir","moduleArg","k","aa","ba","readyPromise","a","b","ca","da","t","ea","w","x","fa","ha","y","A","B","C","E","F","ja","ka","la","ma","na","oa","pa","qa","H","ra","sa","I","ta","ua","va","wa","c","d","xa","e","ya","za","J","f","l","Aa","Ba","Ca","Da","Ea","Fa","Ga","K","L","M","Ha","Ia","P","h","n","O","Ja","Q","R","Ka","La","Ma","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Va","Xa","Wa","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","m","p","kb","S","lb","mb","T","nb","pb","ob","U","qb","rb","sb","tb","u","v","g","q","r","z","ub","vb","V","wb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Rb","Qb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","N","$b","ac","mc","D","Na","xb","ia","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","W","X","Y","Z","nc","oc","pc","qc","dotlottie_player_default","DotLottieWasmLoader","url","initialError","backupUrl","backupError","EventManager","type","listener","listeners","event","isHexColor","color","hexStringToRGBAInt","colorHex","hex","isDotLottie","fileData","fileSignature","i","isLottieJSON","json","field","isLottie","createCoreMode","mode","module","createCoreFit","fit","createCoreAlign","align","coreAlign","createCoreSegment","segment","coresegment","_DotLottie","config","error","message","src","response","data","width","height","loaded","layout","manifest","manifestJson","buffer","clampedBuffer","imageData","nextFrame","ok","frame","speed","loop","useFrameInterpolation","dpr","clientHeight","clientWidth","startFrame","endFrame","animationId","marker","markers","result","themeId","themeData","stateMachineId","started","stopped","rect","scaleX","scaleY","devicePixelRatio","listenersVector","stateMachineData","name","value","DotLottie","dotlottie_worker_default","WorkerManager","workerName","blob","workerId","transfer","worker","getCanvasSize","canvas","generateUniqueId","_DotLottieWorker","rpcResponse","offscreen","instanceId","start","end","renderConfig","backgroundColor","method","params","rpcRequest","resolve","reject","onMessage","DotLottieWorker"],"mappings":"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","sourcesContent":["/* eslint-disable max-classes-per-file */\n\ninterface AnimationFrameStrategy {\n cancelAnimationFrame(id: number): void;\n requestAnimationFrame(callback: (time: number) => void): number;\n}\n\nclass WebAnimationFrameStrategy implements AnimationFrameStrategy {\n public requestAnimationFrame(callback: (time: number) => void): number {\n return requestAnimationFrame(callback);\n }\n\n public cancelAnimationFrame(id: number): void {\n cancelAnimationFrame(id);\n }\n}\n\nclass NodeAnimationFrameStrategy implements AnimationFrameStrategy {\n private _lastHandleId: number = 0;\n\n private _lastImmediate: NodeJS.Immediate | null = null;\n\n public requestAnimationFrame(callback: (time: number) => void): number {\n if (this._lastHandleId >= Number.MAX_SAFE_INTEGER) {\n this._lastHandleId = 0;\n }\n\n this._lastHandleId += 1;\n\n this._lastImmediate = setImmediate(() => {\n callback(Date.now());\n });\n\n return this._lastHandleId;\n }\n\n public cancelAnimationFrame(_id: number): void {\n if (this._lastImmediate) {\n clearImmediate(this._lastImmediate);\n }\n }\n}\n\nexport class AnimationFrameManager {\n private readonly _strategy: AnimationFrameStrategy;\n\n public constructor() {\n this._strategy =\n typeof requestAnimationFrame === 'function' ? new WebAnimationFrameStrategy() : new NodeAnimationFrameStrategy();\n }\n\n public requestAnimationFrame(callback: (time: number) => void): number {\n return this._strategy.requestAnimationFrame(callback);\n }\n\n public cancelAnimationFrame(id: number): void {\n this._strategy.cancelAnimationFrame(id);\n }\n}\n","export const IS_BROWSER = typeof window !== 'undefined' && typeof window.document !== 'undefined';\nexport const MS_TO_SEC_FACTOR = 1000;\nexport const DEFAULT_BG_COLOR = '#00000000';\nexport const ZIP_SIGNATURE = new Uint8Array([0x50, 0x4b, 0x03, 0x04]);\nexport const LOTTIE_JSON_MANDATORY_FIELDS = ['v', 'ip', 'op', 'layers', 'fr', 'w', 'h'];\n","{\n \"name\": \"@lottiefiles/dotlottie-web\",\n \"version\": \"0.29.2\",\n \"type\": \"module\",\n \"description\": \"Lottie and DotLottie player for the web\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/LottieFiles/dotlottie-web.git\",\n \"directory\": \"packages/web\"\n },\n \"homepage\": \"https://github.com/LottieFiles/dotlottie-web#readme\",\n \"bugs\": \"https://github.com/LottieFiles/dotlottie-web/issues\",\n \"author\": \"LottieFiles\",\n \"contributors\": [\n \"Abdelrahman Ashraf <a.theashraf@gmail.com>\"\n ],\n \"license\": \"MIT\",\n \"main\": \"dist/index.cjs\",\n \"module\": \"dist/index.js\",\n \"types\": \"dist/index.d.ts\",\n \"files\": [\n \"dist\"\n ],\n \"keywords\": [\n \"dotlottie\",\n \"lottie\",\n \"player\",\n \"animation\",\n \"web\",\n \"canvas\",\n \"javascript\",\n \"thorvg\"\n ],\n \"scripts\": {\n \"build\": \"tsup\",\n \"dev\": \"tsup --watch\",\n \"lint\": \"eslint --fix .\",\n \"stats:eslint\": \"cross-env TIMING=1 eslint .\",\n \"stats:ts\": \"tsc -p tsconfig.build.json --extendedDiagnostics\",\n \"test\": \"vitest run --browser.headless\",\n \"test:coverage\": \"vitest run --browser.headless --coverage\",\n \"test:watch\": \"vitest\",\n \"type-check\": \"tsc --noEmit\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.14.11\",\n \"@vitest/browser\": \"^2.0.3\",\n \"@vitest/coverage-istanbul\": \"^2.0.3\",\n \"cross-env\": \"7.0.3\",\n \"playwright\": \"^1.45.2\",\n \"tsup\": \"8.1.0\",\n \"typescript\": \"5.0.4\",\n \"vitest\": \"^2.0.3\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n }\n}\n","var createDotLottiePlayerModule = (() => {\n var _scriptDir = typeof document != 'undefined' ? document.currentScript?.src : undefined;\n\n return function (moduleArg = {}) {\n var k = moduleArg,\n aa,\n ba,\n readyPromise = new Promise((a, b) => {\n aa = a;\n ba = b;\n }),\n ca = Object.assign({}, k),\n da = './this.program',\n t = '';\n 'undefined' != typeof document && document.currentScript && (t = document.currentScript.src);\n _scriptDir && (t = _scriptDir);\n t.startsWith('blob:') ? (t = '') : (t = t.substr(0, t.replace(/[?#].*/, '').lastIndexOf('/') + 1));\n var ea = k.print || console.log.bind(console),\n w = k.printErr || console.error.bind(console);\n Object.assign(k, ca);\n ca = null;\n k.thisProgram && (da = k.thisProgram);\n var x;\n k.wasmBinary && (x = k.wasmBinary);\n var fa,\n ha = !1,\n y,\n A,\n B,\n C,\n E,\n F,\n ja,\n ka;\n function la() {\n var a = fa.buffer;\n k.HEAP8 = y = new Int8Array(a);\n k.HEAP16 = B = new Int16Array(a);\n k.HEAPU8 = A = new Uint8Array(a);\n k.HEAPU16 = C = new Uint16Array(a);\n k.HEAP32 = E = new Int32Array(a);\n k.HEAPU32 = F = new Uint32Array(a);\n k.HEAPF32 = ja = new Float32Array(a);\n k.HEAPF64 = ka = new Float64Array(a);\n }\n var ma = [],\n na = [],\n oa = [];\n function pa() {\n var a = k.preRun.shift();\n ma.unshift(a);\n }\n var G = 0,\n qa = null,\n H = null;\n function ra(a) {\n k.onAbort?.(a);\n a = 'Aborted(' + a + ')';\n w(a);\n ha = !0;\n a = new WebAssembly.RuntimeError(a + '. Build with -sASSERTIONS for more info.');\n ba(a);\n throw a;\n }\n var sa = (a) => a.startsWith('data:application/octet-stream;base64,'),\n I;\n I = 'DotLottiePlayer.wasm';\n if (!sa(I)) {\n var ta = I;\n I = k.locateFile ? k.locateFile(ta, t) : t + ta;\n }\n function ua(a) {\n if (a == I && x) return new Uint8Array(x);\n throw 'both async and sync fetching of the wasm failed';\n }\n function va(a) {\n return x || 'function' != typeof fetch\n ? Promise.resolve().then(() => ua(a))\n : fetch(a, { credentials: 'same-origin' })\n .then((b) => {\n if (!b.ok) throw `failed to load wasm binary file at '${a}'`;\n return b.arrayBuffer();\n })\n .catch(() => ua(a));\n }\n function wa(a, b, c) {\n return va(a)\n .then((d) => WebAssembly.instantiate(d, b))\n .then(c, (d) => {\n w(`failed to asynchronously prepare wasm: ${d}`);\n ra(d);\n });\n }\n function xa(a, b) {\n var c = I;\n return x || 'function' != typeof WebAssembly.instantiateStreaming || sa(c) || 'function' != typeof fetch\n ? wa(c, a, b)\n : fetch(c, { credentials: 'same-origin' }).then((d) =>\n WebAssembly.instantiateStreaming(d, a).then(b, function (e) {\n w(`wasm streaming compile failed: ${e}`);\n w('falling back to ArrayBuffer instantiation');\n return wa(c, a, b);\n }),\n );\n }\n var ya = (a) => {\n for (; 0 < a.length; ) a.shift()(k);\n },\n za = 'undefined' != typeof TextDecoder ? new TextDecoder('utf8') : void 0,\n J = (a, b, c) => {\n var d = b + c;\n for (c = b; a[c] && !(c >= d); ) ++c;\n if (16 < c - b && a.buffer && za) return za.decode(a.subarray(b, c));\n for (d = ''; b < c; ) {\n var e = a[b++];\n if (e & 128) {\n var f = a[b++] & 63;\n if (192 == (e & 224)) d += String.fromCharCode(((e & 31) << 6) | f);\n else {\n var l = a[b++] & 63;\n e =\n 224 == (e & 240)\n ? ((e & 15) << 12) | (f << 6) | l\n : ((e & 7) << 18) | (f << 12) | (l << 6) | (a[b++] & 63);\n 65536 > e\n ? (d += String.fromCharCode(e))\n : ((e -= 65536), (d += String.fromCharCode(55296 | (e >> 10), 56320 | (e & 1023))));\n }\n } else d += String.fromCharCode(e);\n }\n return d;\n };\n class Aa {\n constructor(a) {\n this.ya = a - 24;\n }\n }\n var Ba = 0,\n Ca = 0,\n Da = (a) => {\n for (var b = 0, c = 0; c < a.length; ++c) {\n var d = a.charCodeAt(c);\n 127 >= d ? b++ : 2047 >= d ? (b += 2) : 55296 <= d && 57343 >= d ? ((b += 4), ++c) : (b += 3);\n }\n return b;\n },\n Ea = (a, b, c, d) => {\n if (0 < d) {\n d = c + d - 1;\n for (var e = 0; e < a.length; ++e) {\n var f = a.charCodeAt(e);\n if (55296 <= f && 57343 >= f) {\n var l = a.charCodeAt(++e);\n f = (65536 + ((f & 1023) << 10)) | (l & 1023);\n }\n if (127 >= f) {\n if (c >= d) break;\n b[c++] = f;\n } else {\n if (2047 >= f) {\n if (c + 1 >= d) break;\n b[c++] = 192 | (f >> 6);\n } else {\n if (65535 >= f) {\n if (c + 2 >= d) break;\n b[c++] = 224 | (f >> 12);\n } else {\n if (c + 3 >= d) break;\n b[c++] = 240 | (f >> 18);\n b[c++] = 128 | ((f >> 12) & 63);\n }\n b[c++] = 128 | ((f >> 6) & 63);\n }\n b[c++] = 128 | (f & 63);\n }\n }\n b[c] = 0;\n }\n },\n Fa = {},\n Ga = (a) => {\n for (; a.length; ) {\n var b = a.pop();\n a.pop()(b);\n }\n };\n function K(a) {\n return this.fromWireType(F[a >> 2]);\n }\n var L = {},\n M = {},\n Ha = {},\n Ia,\n P = (a, b, c) => {\n function d(h) {\n h = c(h);\n if (h.length !== a.length) throw new Ia('Mismatched type converter count');\n for (var n = 0; n < a.length; ++n) O(a[n], h[n]);\n }\n a.forEach(function (h) {\n Ha[h] = b;\n });\n var e = Array(b.length),\n f = [],\n l = 0;\n b.forEach((h, n) => {\n M.hasOwnProperty(h)\n ? (e[n] = M[h])\n : (f.push(h),\n L.hasOwnProperty(h) || (L[h] = []),\n L[h].push(() => {\n e[n] = M[h];\n ++l;\n l === f.length && d(e);\n }));\n });\n 0 === f.length && d(e);\n },\n Ja,\n Q = (a) => {\n for (var b = ''; A[a]; ) b += Ja[A[a++]];\n return b;\n },\n R;\n function Ka(a, b, c = {}) {\n var d = b.name;\n if (!a) throw new R(`type \"${d}\" must have a positive integer typeid pointer`);\n if (M.hasOwnProperty(a)) {\n if (c.ib) return;\n throw new R(`Cannot register type '${d}' twice`);\n }\n M[a] = b;\n delete Ha[a];\n L.hasOwnProperty(a) && ((b = L[a]), delete L[a], b.forEach((e) => e()));\n }\n function O(a, b, c = {}) {\n if (!('argPackAdvance' in b)) throw new TypeError('registerType registeredInstance requires argPackAdvance');\n return Ka(a, b, c);\n }\n var La = (a) => {\n throw new R(a.ma.za.xa.name + ' instance already deleted');\n },\n Ma = !1,\n Oa = () => {},\n Pa = (a, b, c) => {\n if (b === c) return a;\n if (void 0 === c.Ca) return null;\n a = Pa(a, b, c.Ca);\n return null === a ? null : c.ab(a);\n },\n Qa = {},\n Ra = [],\n Sa = () => {\n for (; Ra.length; ) {\n var a = Ra.pop();\n a.ma.Ka = !1;\n a['delete']();\n }\n },\n Ta,\n Ua = {},\n Va = (a, b) => {\n if (void 0 === b) throw new R('ptr should not be undefined');\n for (; a.Ca; ) (b = a.Na(b)), (a = a.Ca);\n return Ua[b];\n },\n Xa = (a, b) => {\n if (!b.za || !b.ya) throw new Ia('makeClassHandle requires ptr and ptrType');\n if (!!b.Da !== !!b.Aa) throw new Ia('Both smartPtrType and smartPtr must be specified');\n b.count = { value: 1 };\n return Wa(Object.create(a, { ma: { value: b, writable: !0 } }));\n },\n Wa = (a) => {\n if ('undefined' === typeof FinalizationRegistry) return (Wa = (b) => b), a;\n Ma = new FinalizationRegistry((b) => {\n b = b.ma;\n --b.count.value;\n 0 === b.count.value && (b.Aa ? b.Da.Fa(b.Aa) : b.za.xa.Fa(b.ya));\n });\n Wa = (b) => {\n var c = b.ma;\n c.Aa && Ma.register(b, { ma: c }, b);\n return b;\n };\n Oa = (b) => {\n Ma.unregister(b);\n };\n return Wa(a);\n };\n function Ya() {}\n var Za = (a, b) => Object.defineProperty(b, 'name', { value: a }),\n $a = (a, b, c) => {\n if (void 0 === a[b].Ba) {\n var d = a[b];\n a[b] = function (...e) {\n if (!a[b].Ba.hasOwnProperty(e.length))\n throw new R(\n `Function '${c}' called with an invalid number of arguments (${e.length}) - expects one of (${a[b].Ba})!`,\n );\n return a[b].Ba[e.length].apply(this, e);\n };\n a[b].Ba = [];\n a[b].Ba[d.Oa] = d;\n }\n },\n ab = (a, b, c) => {\n if (k.hasOwnProperty(a)) {\n if (void 0 === c || (void 0 !== k[a].Ba && void 0 !== k[a].Ba[c]))\n throw new R(`Cannot register public name '${a}' twice`);\n $a(k, a, a);\n if (k.hasOwnProperty(c))\n throw new R(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`);\n k[a].Ba[c] = b;\n } else (k[a] = b), void 0 !== c && (k[a].vb = c);\n },\n bb = (a) => {\n if (void 0 === a) return '_unknown';\n a = a.replace(/[^a-zA-Z0-9_]/g, '$');\n var b = a.charCodeAt(0);\n return 48 <= b && 57 >= b ? `_${a}` : a;\n };\n function cb(a, b, c, d, e, f, l, h) {\n this.name = a;\n this.constructor = b;\n this.La = c;\n this.Fa = d;\n this.Ca = e;\n this.cb = f;\n this.Na = l;\n this.ab = h;\n this.kb = [];\n }\n var db = (a, b, c) => {\n for (; b !== c; ) {\n if (!b.Na) throw new R(`Expected null or instance of ${c.name}, got an instance of ${b.name}`);\n a = b.Na(a);\n b = b.Ca;\n }\n return a;\n };\n function eb(a, b) {\n if (null === b) {\n if (this.Ta) throw new R(`null is not a valid ${this.name}`);\n return 0;\n }\n if (!b.ma) throw new R(`Cannot pass \"${fb(b)}\" as a ${this.name}`);\n if (!b.ma.ya) throw new R(`Cannot pass deleted object as a pointer of type ${this.name}`);\n return db(b.ma.ya, b.ma.za.xa, this.xa);\n }\n function gb(a, b) {\n if (null === b) {\n if (this.Ta) throw new R(`null is not a valid ${this.name}`);\n if (this.Qa) {\n var c = this.Ua();\n null !== a && a.push(this.Fa, c);\n return c;\n }\n return 0;\n }\n if (!b || !b.ma) throw new R(`Cannot pass \"${fb(b)}\" as a ${this.name}`);\n if (!b.ma.ya) throw new R(`Cannot pass deleted object as a pointer of type ${this.name}`);\n if (!this.Pa && b.ma.za.Pa)\n throw new R(\n `Cannot convert argument of type ${b.ma.Da ? b.ma.Da.name : b.ma.za.name} to parameter type ${this.name}`,\n );\n c = db(b.ma.ya, b.ma.za.xa, this.xa);\n if (this.Qa) {\n if (void 0 === b.ma.Aa) throw new R('Passing raw pointer to smart pointer is illegal');\n switch (this.pb) {\n case 0:\n if (b.ma.Da === this) c = b.ma.Aa;\n else\n throw new R(\n `Cannot convert argument of type ${b.ma.Da ? b.ma.Da.name : b.ma.za.name} to parameter type ${\n this.name\n }`,\n );\n break;\n case 1:\n c = b.ma.Aa;\n break;\n case 2:\n if (b.ma.Da === this) c = b.ma.Aa;\n else {\n var d = b.clone();\n c = this.lb(\n c,\n hb(() => d['delete']()),\n );\n null !== a && a.push(this.Fa, c);\n }\n break;\n default:\n throw new R('Unsupporting sharing policy');\n }\n }\n return c;\n }\n function ib(a, b) {\n if (null === b) {\n if (this.Ta) throw new R(`null is not a valid ${this.name}`);\n return 0;\n }\n if (!b.ma) throw new R(`Cannot pass \"${fb(b)}\" as a ${this.name}`);\n if (!b.ma.ya) throw new R(`Cannot pass deleted object as a pointer of type ${this.name}`);\n if (b.ma.za.Pa) throw new R(`Cannot convert argument of type ${b.ma.za.name} to parameter type ${this.name}`);\n return db(b.ma.ya, b.ma.za.xa, this.xa);\n }\n function jb(a, b, c, d, e, f, l, h, n, m, p) {\n this.name = a;\n this.xa = b;\n this.Ta = c;\n this.Pa = d;\n this.Qa = e;\n this.jb = f;\n this.pb = l;\n this.Za = h;\n this.Ua = n;\n this.lb = m;\n this.Fa = p;\n e || void 0 !== b.Ca ? (this.toWireType = gb) : ((this.toWireType = d ? eb : ib), (this.Ea = null));\n }\n var kb = (a, b, c) => {\n if (!k.hasOwnProperty(a)) throw new Ia('Replacing nonexistent public symbol');\n void 0 !== k[a].Ba && void 0 !== c ? (k[a].Ba[c] = b) : ((k[a] = b), (k[a].Oa = c));\n },\n S,\n lb = (a, b, c = []) => {\n a.includes('j') ? ((a = a.replace(/p/g, 'i')), (b = (0, k['dynCall_' + a])(b, ...c))) : (b = S.get(b)(...c));\n return b;\n },\n mb =\n (a, b) =>\n (...c) =>\n lb(a, b, c),\n T = (a, b) => {\n a = Q(a);\n var c = a.includes('j') ? mb(a, b) : S.get(b);\n if ('function' != typeof c) throw new R(`unknown function pointer with signature ${a}: ${b}`);\n return c;\n },\n nb,\n pb = (a) => {\n a = ob(a);\n var b = Q(a);\n U(a);\n return b;\n },\n qb = (a, b) => {\n function c(f) {\n e[f] || M[f] || (Ha[f] ? Ha[f].forEach(c) : (d.push(f), (e[f] = !0)));\n }\n var d = [],\n e = {};\n b.forEach(c);\n throw new nb(`${a}: ` + d.map(pb).join([', ']));\n },\n rb = (a, b) => {\n for (var c = [], d = 0; d < a; d++) c.push(F[(b + 4 * d) >> 2]);\n return c;\n };\n function sb(a) {\n for (var b = 1; b < a.length; ++b) if (null !== a[b] && void 0 === a[b].Ea) return !0;\n return !1;\n }\n function tb(a, b, c, d, e) {\n var f = b.length;\n if (2 > f) throw new R(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");\n var l = null !== b[1] && null !== c,\n h = sb(b),\n n = 'void' !== b[0].name,\n m = f - 2,\n p = Array(m),\n u = [],\n v = [];\n return Za(a, function (...g) {\n if (g.length !== m) throw new R(`function ${a} called with ${g.length} arguments, expected ${m}`);\n v.length = 0;\n u.length = l ? 2 : 1;\n u[0] = e;\n if (l) {\n var q = b[1].toWireType(v, this);\n u[1] = q;\n }\n for (var r = 0; r < m; ++r) (p[r] = b[r + 2].toWireType(v, g[r])), u.push(p[r]);\n g = d(...u);\n if (h) Ga(v);\n else\n for (r = l ? 1 : 2; r < b.length; r++) {\n var z = 1 === r ? q : p[r - 2];\n null !== b[r].Ea && b[r].Ea(z);\n }\n q = n ? b[0].fromWireType(g) : void 0;\n return q;\n });\n }\n var ub = (a) => {\n a = a.trim();\n const b = a.indexOf('(');\n return -1 !== b ? a.substr(0, b) : a;\n },\n vb = [],\n V = [],\n wb = (a) => {\n 9 < a && 0 === --V[a + 1] && ((V[a] = void 0), vb.push(a));\n },\n yb = (a) => {\n if (!a) throw new R('Cannot use deleted val. handle = ' + a);\n return V[a];\n },\n hb = (a) => {\n switch (a) {\n case void 0:\n return 2;\n case null:\n return 4;\n case !0:\n return 6;\n case !1:\n return 8;\n default:\n const b = vb.pop() || V.length;\n V[b] = a;\n V[b + 1] = 1;\n return b;\n }\n },\n zb = {\n name: 'emscripten::val',\n fromWireType: (a) => {\n var b = yb(a);\n wb(a);\n return b;\n },\n toWireType: (a, b) => hb(b),\n argPackAdvance: 8,\n readValueFromPointer: K,\n Ea: null,\n },\n Ab = (a, b, c) => {\n switch (b) {\n case 1:\n return c\n ? function (d) {\n return this.fromWireType(y[d]);\n }\n : function (d) {\n return this.fromWireType(A[d]);\n };\n case 2:\n return c\n ? function (d) {\n return this.fromWireType(B[d >> 1]);\n }\n : function (d) {\n return this.fromWireType(C[d >> 1]);\n };\n case 4:\n return c\n ? function (d) {\n return this.fromWireType(E[d >> 2]);\n }\n : function (d) {\n return this.fromWireType(F[d >> 2]);\n };\n default:\n throw new TypeError(`invalid integer width (${b}): ${a}`);\n }\n },\n Bb = (a, b) => {\n var c = M[a];\n if (void 0 === c) throw ((a = `${b} has unknown type ${pb(a)}`), new R(a));\n return c;\n },\n fb = (a) => {\n if (null === a) return 'null';\n var b = typeof a;\n return 'object' === b || 'array' === b || 'function' === b ? a.toString() : '' + a;\n },\n Cb = (a, b) => {\n switch (b) {\n case 4:\n return function (c) {\n return this.fromWireType(ja[c >> 2]);\n };\n case 8:\n return function (c) {\n return this.fromWireType(ka[c >> 3]);\n };\n default:\n throw new TypeError(`invalid float width (${b}): ${a}`);\n }\n },\n Db = (a, b, c) => {\n switch (b) {\n case 1:\n return c ? (d) => y[d] : (d) => A[d];\n case 2:\n return c ? (d) => B[d >> 1] : (d) => C[d >> 1];\n case 4:\n return c ? (d) => E[d >> 2] : (d) => F[d >> 2];\n default:\n throw new TypeError(`invalid integer width (${b}): ${a}`);\n }\n },\n Eb = 'undefined' != typeof TextDecoder ? new TextDecoder('utf-16le') : void 0,\n Fb = (a, b) => {\n var c = a >> 1;\n for (var d = c + b / 2; !(c >= d) && C[c]; ) ++c;\n c <<= 1;\n if (32 < c - a && Eb) return Eb.decode(A.subarray(a, c));\n c = '';\n for (d = 0; !(d >= b / 2); ++d) {\n var e = B[(a + 2 * d) >> 1];\n if (0 == e) break;\n c += String.fromCharCode(e);\n }\n return c;\n },\n Gb = (a, b, c) => {\n c ??= 2147483647;\n if (2 > c) return 0;\n c -= 2;\n var d = b;\n c = c < 2 * a.length ? c / 2 : a.length;\n for (var e = 0; e < c; ++e) (B[b >> 1] = a.charCodeAt(e)), (b += 2);\n B[b >> 1] = 0;\n return b - d;\n },\n Hb = (a) => 2 * a.length,\n Ib = (a, b) => {\n for (var c = 0, d = ''; !(c >= b / 4); ) {\n var e = E[(a + 4 * c) >> 2];\n if (0 == e) break;\n ++c;\n 65536 <= e\n ? ((e -= 65536), (d += String.fromCharCode(55296 | (e >> 10), 56320 | (e & 1023))))\n : (d += String.fromCharCode(e));\n }\n return d;\n },\n Jb = (a, b, c) => {\n c ??= 2147483647;\n if (4 > c) return 0;\n var d = b;\n c = d + c - 4;\n for (var e = 0; e < a.length; ++e) {\n var f = a.charCodeAt(e);\n if (55296 <= f && 57343 >= f) {\n var l = a.charCodeAt(++e);\n f = (65536 + ((f & 1023) << 10)) | (l & 1023);\n }\n E[b >> 2] = f;\n b += 4;\n if (b + 4 > c) break;\n }\n E[b >> 2] = 0;\n return b - d;\n },\n Kb = (a) => {\n for (var b = 0, c = 0; c < a.length; ++c) {\n var d = a.charCodeAt(c);\n 55296 <= d && 57343 >= d && ++c;\n b += 4;\n }\n return b;\n },\n Lb = [],\n Mb = (a) => {\n var b = Lb.length;\n Lb.push(a);\n return b;\n },\n Nb = (a, b) => {\n for (var c = Array(a), d = 0; d < a; ++d) c[d] = Bb(F[(b + 4 * d) >> 2], 'parameter ' + d);\n return c;\n },\n Ob = Reflect.construct,\n Pb = {},\n Rb = () => {\n if (!Qb) {\n var a = {\n USER: 'web_user',\n LOGNAME: 'web_user',\n PATH: '/',\n PWD: '/',\n HOME: '/home/web_user',\n LANG:\n (('object' == typeof navigator && navigator.languages && navigator.languages[0]) || 'C').replace(\n '-',\n '_',\n ) + '.UTF-8',\n _: da || './this.program',\n },\n b;\n for (b in Pb) void 0 === Pb[b] ? delete a[b] : (a[b] = Pb[b]);\n var c = [];\n for (b in a) c.push(`${b}=${a[b]}`);\n Qb = c;\n }\n return Qb;\n },\n Qb,\n Sb = [null, [], []],\n Tb = () => {\n if ('object' == typeof crypto && 'function' == typeof crypto.getRandomValues)\n return (a) => crypto.getRandomValues(a);\n ra('initRandomDevice');\n },\n Ub = (a) => (Ub = Tb())(a),\n Vb = (a) => 0 === a % 4 && (0 !== a % 100 || 0 === a % 400),\n Wb = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n Xb = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n function Yb(a) {\n var b = Array(Da(a) + 1);\n Ea(a, b, 0, b.length);\n return b;\n }\n var Zb = (a, b, c, d) => {\n function e(g, q, r) {\n for (g = 'number' == typeof g ? g.toString() : g || ''; g.length < q; ) g = r[0] + g;\n return g;\n }\n function f(g, q) {\n return e(g, q, '0');\n }\n function l(g, q) {\n function r(N) {\n return 0 > N ? -1 : 0 < N ? 1 : 0;\n }\n var z;\n 0 === (z = r(g.getFullYear() - q.getFullYear())) &&\n 0 === (z = r(g.getMonth() - q.getMonth())) &&\n (z = r(g.getDate() - q.getDate()));\n return z;\n }\n function h(g) {\n switch (g.getDay()) {\n case 0:\n return new Date(g.getFullYear() - 1, 11, 29);\n case 1:\n return g;\n case 2:\n return new Date(g.getFullYear(), 0, 3);\n case 3:\n return new Date(g.getFullYear(), 0, 2);\n case 4:\n return new Date(g.getFullYear(), 0, 1);\n case 5:\n return new Date(g.getFullYear() - 1, 11, 31);\n case 6:\n return new Date(g.getFullYear() - 1, 11, 30);\n }\n }\n function n(g) {\n var q = g.Ia;\n for (g = new Date(new Date(g.Ja + 1900, 0, 1).getTime()); 0 < q; ) {\n var r = g.getMonth(),\n z = (Vb(g.getFullYear()) ? Wb : Xb)[r];\n if (q > z - g.getDate())\n (q -= z - g.getDate() + 1),\n g.setDate(1),\n 11 > r ? g.setMonth(r + 1) : (g.setMonth(0), g.setFullYear(g.getFullYear() + 1));\n else {\n g.setDate(g.getDate() + q);\n break;\n }\n }\n r = new Date(g.getFullYear() + 1, 0, 4);\n q = h(new Date(g.getFullYear(), 0, 4));\n r = h(r);\n return 0 >= l(q, g) ? (0 >= l(r, g) ? g.getFullYear() + 1 : g.getFullYear()) : g.getFullYear() - 1;\n }\n var m = F[(d + 40) >> 2];\n d = {\n sb: E[d >> 2],\n rb: E[(d + 4) >> 2],\n Ra: E[(d + 8) >> 2],\n Va: E[(d + 12) >> 2],\n Sa: E[(d + 16) >> 2],\n Ja: E[(d + 20) >> 2],\n Ga: E[(d + 24) >> 2],\n Ia: E[(d + 28) >> 2],\n wb: E[(d + 32) >> 2],\n qb: E[(d + 36) >> 2],\n tb: m ? (m ? J(A, m) : '') : '',\n };\n c = c ? J(A, c) : '';\n m = {\n '%c': '%a %b %d %H:%M:%S %Y',\n '%D': '%m/%d/%y',\n '%F': '%Y-%m-%d',\n '%h': '%b',\n '%r': '%I:%M:%S %p',\n '%R': '%H:%M',\n '%T': '%H:%M:%S',\n '%x': '%m/%d/%y',\n '%X': '%H:%M:%S',\n '%Ec': '%c',\n '%EC': '%C',\n '%Ex': '%m/%d/%y',\n '%EX': '%H:%M:%S',\n '%Ey': '%y',\n '%EY': '%Y',\n '%Od': '%d',\n '%Oe': '%e',\n '%OH': '%H',\n '%OI': '%I',\n '%Om': '%m',\n '%OM': '%M',\n '%OS': '%S',\n '%Ou': '%u',\n '%OU': '%U',\n '%OV': '%V',\n '%Ow': '%w',\n '%OW': '%W',\n '%Oy': '%y',\n };\n for (var p in m) c = c.replace(new RegExp(p, 'g'), m[p]);\n var u = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday'.split(' '),\n v = 'January February March April May June July August September October November December'.split(' ');\n m = {\n '%a': (g) => u[g.Ga].substring(0, 3),\n '%A': (g) => u[g.Ga],\n '%b': (g) => v[g.Sa].substring(0, 3),\n '%B': (g) => v[g.Sa],\n '%C': (g) => f(((g.Ja + 1900) / 100) | 0, 2),\n '%d': (g) => f(g.Va, 2),\n '%e': (g) => e(g.Va, 2, ' '),\n '%g': (g) => n(g).toString().substring(2),\n '%G': n,\n '%H': (g) => f(g.Ra, 2),\n '%I': (g) => {\n g = g.Ra;\n 0 == g ? (g = 12) : 12 < g && (g -= 12);\n return f(g, 2);\n },\n '%j': (g) => {\n for (var q = 0, r = 0; r <= g.Sa - 1; q += (Vb(g.Ja + 1900) ? Wb : Xb)[r++]);\n return f(g.Va + q, 3);\n },\n '%m': (g) => f(g.Sa + 1, 2),\n '%M': (g) => f(g.rb, 2),\n '%n': () => '\\n',\n '%p': (g) => (0 <= g.Ra && 12 > g.Ra ? 'AM' : 'PM'),\n '%S': (g) => f(g.sb, 2),\n '%t': () => '\\t',\n '%u': (g) => g.Ga || 7,\n '%U': (g) => f(Math.floor((g.Ia + 7 - g.Ga) / 7), 2),\n '%V': (g) => {\n var q = Math.floor((g.Ia + 7 - ((g.Ga + 6) % 7)) / 7);\n 2 >= (g.Ga + 371 - g.Ia - 2) % 7 && q++;\n if (q) 53 == q && ((r = (g.Ga + 371 - g.Ia) % 7), 4 == r || (3 == r && Vb(g.Ja)) || (q = 1));\n else {\n q = 52;\n var r = (g.Ga + 7 - g.Ia - 1) % 7;\n (4 == r || (5 == r && Vb((g.Ja % 400) - 1))) && q++;\n }\n return f(q, 2);\n },\n '%w': (g) => g.Ga,\n '%W': (g) => f(Math.floor((g.Ia + 7 - ((g.Ga + 6) % 7)) / 7), 2),\n '%y': (g) => (g.Ja + 1900).toString().substring(2),\n '%Y': (g) => g.Ja + 1900,\n '%z': (g) => {\n g = g.qb;\n var q = 0 <= g;\n g = Math.abs(g) / 60;\n return (q ? '+' : '-') + String('0000' + ((g / 60) * 100 + (g % 60))).slice(-4);\n },\n '%Z': (g) => g.tb,\n '%%': () => '%',\n };\n c = c.replace(/%%/g, '\\x00\\x00');\n for (p in m) c.includes(p) && (c = c.replace(new RegExp(p, 'g'), m[p](d)));\n c = c.replace(/\\0\\0/g, '%');\n p = Yb(c);\n if (p.length > b) return 0;\n y.set(p, a);\n return p.length - 1;\n };\n Ia = k.InternalError = class extends Error {\n constructor(a) {\n super(a);\n this.name = 'InternalError';\n }\n };\n for (var $b = Array(256), ac = 0; 256 > ac; ++ac) $b[ac] = String.fromCharCode(ac);\n Ja = $b;\n R = k.BindingError = class extends Error {\n constructor(a) {\n super(a);\n this.name = 'BindingError';\n }\n };\n Object.assign(Ya.prototype, {\n isAliasOf: function (a) {\n if (!(this instanceof Ya && a instanceof Ya)) return !1;\n var b = this.ma.za.xa,\n c = this.ma.ya;\n a.ma = a.ma;\n var d = a.ma.za.xa;\n for (a = a.ma.ya; b.Ca; ) (c = b.Na(c)), (b = b.Ca);\n for (; d.Ca; ) (a = d.Na(a)), (d = d.Ca);\n return b === d && c === a;\n },\n clone: function () {\n this.ma.ya || La(this);\n if (this.ma.Ma) return (this.ma.count.value += 1), this;\n var a = Wa,\n b = Object,\n c = b.create,\n d = Object.getPrototypeOf(this),\n e = this.ma;\n a = a(\n c.call(b, d, {\n ma: { value: { count: e.count, Ka: e.Ka, Ma: e.Ma, ya: e.ya, za: e.za, Aa: e.Aa, Da: e.Da } },\n }),\n );\n a.ma.count.value += 1;\n a.ma.Ka = !1;\n return a;\n },\n ['delete']() {\n this.ma.ya || La(this);\n if (this.ma.Ka && !this.ma.Ma) throw new R('Object already scheduled for deletion');\n Oa(this);\n var a = this.ma;\n --a.count.value;\n 0 === a.count.value && (a.Aa ? a.Da.Fa(a.Aa) : a.za.xa.Fa(a.ya));\n this.ma.Ma || ((this.ma.Aa = void 0), (this.ma.ya = void 0));\n },\n isDeleted: function () {\n return !this.ma.ya;\n },\n deleteLater: function () {\n this.ma.ya || La(this);\n if (this.ma.Ka && !this.ma.Ma) throw new R('Object already scheduled for deletion');\n Ra.push(this);\n 1 === Ra.length && Ta && Ta(Sa);\n this.ma.Ka = !0;\n return this;\n },\n });\n k.getInheritedInstanceCount = () => Object.keys(Ua).length;\n k.getLiveInheritedInstances = () => {\n var a = [],\n b;\n for (b in Ua) Ua.hasOwnProperty(b) && a.push(Ua[b]);\n return a;\n };\n k.flushPendingDeletes = Sa;\n k.setDelayFunction = (a) => {\n Ta = a;\n Ra.length && Ta && Ta(Sa);\n };\n Object.assign(jb.prototype, {\n eb(a) {\n this.Za && (a = this.Za(a));\n return a;\n },\n Xa(a) {\n this.Fa?.(a);\n },\n argPackAdvance: 8,\n readValueFromPointer: K,\n fromWireType: function (a) {\n function b() {\n return this.Qa\n ? Xa(this.xa.La, { za: this.jb, ya: c, Da: this, Aa: a })\n : Xa(this.xa.La, { za: this, ya: a });\n }\n var c = this.eb(a);\n if (!c) return this.Xa(a), null;\n var d = Va(this.xa, c);\n if (void 0 !== d) {\n if (0 === d.ma.count.value) return (d.ma.ya = c), (d.ma.Aa = a), d.clone();\n d = d.clone();\n this.Xa(a);\n return d;\n }\n d = this.xa.cb(c);\n d = Qa[d];\n if (!d) return b.call(this);\n d = this.Pa ? d.$a : d.pointerType;\n var e = Pa(c, this.xa, d.xa);\n return null === e\n ? b.call(this)\n : this.Qa\n ? Xa(d.xa.La, { za: d, ya: e, Da: this, Aa: a })\n : Xa(d.xa.La, { za: d, ya: e });\n },\n });\n nb = k.UnboundTypeError = ((a, b) => {\n var c = Za(b, function (d) {\n this.name = b;\n this.message = d;\n d = Error(d).stack;\n void 0 !== d && (this.stack = this.toString() + '\\n' + d.replace(/^Error(:[^\\n]*)?\\n/, ''));\n });\n c.prototype = Object.create(a.prototype);\n c.prototype.constructor = c;\n c.prototype.toString = function () {\n return void 0 === this.message ? this.name : `${this.name}: ${this.message}`;\n };\n return c;\n })(Error, 'UnboundTypeError');\n V.push(0, 1, void 0, 1, null, 1, !0, 1, !1, 1);\n k.count_emval_handles = () => V.length / 2 - 5 - vb.length;\n var mc = {\n c: (a, b, c, d) => {\n ra(\n `Assertion failed: ${a ? J(A, a) : ''}, at: ` +\n [b ? (b ? J(A, b) : '') : 'unknown filename', c, d ? (d ? J(A, d) : '') : 'unknown function'],\n );\n },\n m: (a, b, c) => {\n var d = new Aa(a);\n F[(d.ya + 16) >> 2] = 0;\n F[(d.ya + 4) >> 2] = b;\n F[(d.ya + 8) >> 2] = c;\n Ba = a;\n Ca++;\n throw Ba;\n },\n B: function () {\n return 0;\n },\n P: () => {},\n M: () => {},\n R: function () {\n return 0;\n },\n N: () => {},\n A: function () {},\n O: () => {},\n v: (a) => {\n var b = Fa[a];\n delete Fa[a];\n var c = b.Ua,\n d = b.Fa,\n e = b.Ya,\n f = e.map((l) => l.hb).concat(e.map((l) => l.nb));\n P([a], f, (l) => {\n var h = {};\n e.forEach((n, m) => {\n var p = l[m],\n u = n.fb,\n v = n.gb,\n g = l[m + e.length],\n q = n.mb,\n r = n.ob;\n h[n.bb] = {\n read: (z) => p.fromWireType(u(v, z)),\n write: (z, N) => {\n var D = [];\n q(r, z, g.toWireType(D, N));\n Ga(D);\n },\n };\n });\n return [\n {\n name: b.name,\n fromWireType: (n) => {\n var m = {},\n p;\n for (p in h) m[p] = h[p].read(n);\n d(n);\n return m;\n },\n toWireType: (n, m) => {\n for (var p in h) if (!(p in m)) throw new TypeError(`Missing field: \"${p}\"`);\n var u = c();\n for (p in h) h[p].write(u, m[p]);\n null !== n && n.push(d, u);\n return u;\n },\n argPackAdvance: 8,\n readValueFromPointer: K,\n Ea: d,\n },\n ];\n });\n },\n I: () => {},\n Y: (a, b, c, d) => {\n b = Q(b);\n O(a, {\n name: b,\n fromWireType: function (e) {\n return !!e;\n },\n toWireType: function (e, f) {\n return f ? c : d;\n },\n argPackAdvance: 8,\n readValueFromPointer: function (e) {\n return this.fromWireType(A[e]);\n },\n Ea: null,\n });\n },\n r: (a, b, c, d, e, f, l, h, n, m, p, u, v) => {\n p = Q(p);\n f = T(e, f);\n h &&= T(l, h);\n m &&= T(n, m);\n v = T(u, v);\n var g = bb(p);\n ab(g, function () {\n qb(`Cannot construct ${p} due to unbound types`, [d]);\n });\n P([a, b, c], d ? [d] : [], (q) => {\n q = q[0];\n if (d) {\n var r = q.xa;\n var z = r.La;\n } else z = Ya.prototype;\n q = Za(p, function (...Na) {\n if (Object.getPrototypeOf(this) !== N) throw new R(\"Use 'new' to construct \" + p);\n if (void 0 === D.Ha) throw new R(p + ' has no accessible constructor');\n var xb = D.Ha[Na.length];\n if (void 0 === xb)\n throw new R(\n `Tried to invoke ctor of ${p} with invalid number of parameters (${\n Na.length\n }) - expected (${Object.keys(D.Ha).toString()}) parameters instead!`,\n );\n return xb.apply(this, Na);\n });\n var N = Object.create(z, { constructor: { value: q } });\n q.prototype = N;\n var D = new cb(p, q, N, v, r, f, h, m);\n if (D.Ca) {\n var ia;\n (ia = D.Ca).Wa ?? (ia.Wa = []);\n D.Ca.Wa.push(D);\n }\n r = new jb(p, D, !0, !1, !1);\n ia = new jb(p + '*', D, !1, !1, !1);\n z = new jb(p + ' const*', D, !1, !0, !1);\n Qa[a] = { pointerType: ia, $a: z };\n kb(g, q);\n return [r, ia, z];\n });\n },\n q: (a, b, c, d, e, f) => {\n var l = rb(b, c);\n e = T(d, e);\n P([], [a], (h) => {\n h = h[0];\n var n = `constructor ${h.name}`;\n void 0 === h.xa.Ha && (h.xa.Ha = []);\n if (void 0 !== h.xa.Ha[b - 1])\n throw new R(\n `Cannot register multiple constructors with identical number of parameters (${b - 1}) for class '${\n h.name\n }'! Overload resolution is currently only performed using the parameter count, not actual type info!`,\n );\n h.xa.Ha[b - 1] = () => {\n qb(`Cannot construct ${h.name} due to unbound types`, l);\n };\n P([], l, (m) => {\n m.splice(1, 0, null);\n h.xa.Ha[b - 1] = tb(n, m, null, e, f);\n return [];\n });\n return [];\n });\n },\n f: (a, b, c, d, e, f, l, h) => {\n var n = rb(c, d);\n b = Q(b);\n b = ub(b);\n f = T(e, f);\n P([], [a], (m) => {\n function p() {\n qb(`Cannot call ${u} due to unbound types`, n);\n }\n m = m[0];\n var u = `${m.name}.${b}`;\n b.startsWith('@@') && (b = Symbol[b.substring(2)]);\n h && m.xa.kb.push(b);\n var v = m.xa.La,\n g = v[b];\n void 0 === g || (void 0 === g.Ba && g.className !== m.name && g.Oa === c - 2)\n ? ((p.Oa = c - 2), (p.className = m.name), (v[b] = p))\n : ($a(v, b, u), (v[b].Ba[c - 2] = p));\n P([], n, (q) => {\n q = tb(u, q, m, f, l);\n void 0 === v[b].Ba ? ((q.Oa = c - 2), (v[b] = q)) : (v[b].Ba[c - 2] = q);\n return [];\n });\n return [];\n });\n },\n X: (a) => O(a, zb),\n x: (a, b, c, d) => {\n function e() {}\n b = Q(b);\n e.values = {};\n O(a, {\n name: b,\n constructor: e,\n fromWireType: function (f) {\n return this.constructor.values[f];\n },\n toWireType: (f, l) => l.value,\n argPackAdvance: 8,\n readValueFromPointer: Ab(b, c, d),\n Ea: null,\n });\n ab(b, e);\n },\n k: (a, b, c) => {\n var d = Bb(a, 'enum');\n b = Q(b);\n a = d.constructor;\n d = Object.create(d.constructor.prototype, {\n value: { value: c },\n constructor: { value: Za(`${d.name}_${b}`, function () {}) },\n });\n a.values[c] = d;\n a[b] = d;\n },\n C: (a, b, c) => {\n b = Q(b);\n O(a, {\n name: b,\n fromWireType: (d) => d,\n toWireType: (d, e) => e,\n argPackAdvance: 8,\n readValueFromPointer: Cb(b, c),\n Ea: null,\n });\n },\n E: (a, b, c, d, e, f) => {\n var l = rb(b, c);\n a = Q(a);\n a = ub(a);\n e = T(d, e);\n ab(\n a,\n function () {\n qb(`Cannot call ${a} due to unbound types`, l);\n },\n b - 1,\n );\n P([], l, (h) => {\n kb(a, tb(a, [h[0], null].concat(h.slice(1)), null, e, f), b - 1);\n return [];\n });\n },\n l: (a, b, c, d, e) => {\n b = Q(b);\n -1 === e && (e = 4294967295);\n e = (h) => h;\n if (0 === d) {\n var f = 32 - 8 * c;\n e = (h) => (h << f) >>> f;\n }\n var l = b.includes('unsigned')\n ? function (h, n) {\n return n >>> 0;\n }\n : function (h, n) {\n return n;\n };\n O(a, {\n name: b,\n fromWireType: e,\n toWireType: l,\n argPackAdvance: 8,\n readValueFromPointer: Db(b, c, 0 !== d),\n Ea: null,\n });\n },\n g: (a, b, c) => {\n function d(f) {\n return new e(y.buffer, F[(f + 4) >> 2], F[f >> 2]);\n }\n var e = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array][\n b\n ];\n c = Q(c);\n O(a, { name: c, fromWireType: d, argPackAdvance: 8, readValueFromPointer: d }, { ib: !0 });\n },\n w: (a) => {\n O(a, zb);\n },\n ca: (a, b, c, d, e, f, l, h, n, m, p, u) => {\n c = Q(c);\n f = T(e, f);\n h = T(l, h);\n m = T(n, m);\n u = T(p, u);\n P([a], [b], (v) => {\n v = v[0];\n return [new jb(c, v.xa, !1, !1, !0, v, d, f, h, m, u)];\n });\n },\n D: (a, b) => {\n b = Q(b);\n var c = 'std::string' === b;\n O(a, {\n name: b,\n fromWireType: function (d) {\n var e = F[d >> 2],\n f = d + 4;\n if (c)\n for (var l = f, h = 0; h <= e; ++h) {\n var n = f + h;\n if (h == e || 0 == A[n]) {\n l = l ? J(A, l, n - l) : '';\n if (void 0 === m) var m = l;\n else (m += String.fromCharCode(0)), (m += l);\n l = n + 1;\n }\n }\n else {\n m = Array(e);\n for (h = 0; h < e; ++h) m[h] = String.fromCharCode(A[f + h]);\n m = m.join('');\n }\n U(d);\n return m;\n },\n toWireType: function (d, e) {\n e instanceof ArrayBuffer && (e = new Uint8Array(e));\n var f = 'string' == typeof e;\n if (!(f || e instanceof Uint8Array || e instanceof Uint8ClampedArray || e instanceof Int8Array))\n throw new R('Cannot pass non-string to std::string');\n var l = c && f ? Da(e) : e.length;\n var h = bc(4 + l + 1),\n n = h + 4;\n F[h >> 2] = l;\n if (c && f) Ea(e, A, n, l + 1);\n else if (f)\n for (f = 0; f < l; ++f) {\n var m = e.charCodeAt(f);\n if (255 < m) throw (U(n), new R('String has UTF-16 code units that do not fit in 8 bits'));\n A[n + f] = m;\n }\n else for (f = 0; f < l; ++f) A[n + f] = e[f];\n null !== d && d.push(U, h);\n return h;\n },\n argPackAdvance: 8,\n readValueFromPointer: K,\n Ea(d) {\n U(d);\n },\n });\n },\n u: (a, b, c) => {\n c = Q(c);\n if (2 === b) {\n var d = Fb;\n var e = Gb;\n var f = Hb;\n var l = (h) => C[h >> 1];\n } else 4 === b && ((d = Ib), (e = Jb), (f = Kb), (l = (h) => F[h >> 2]));\n O(a, {\n name: c,\n fromWireType: (h) => {\n for (var n = F[h >> 2], m, p = h + 4, u = 0; u <= n; ++u) {\n var v = h + 4 + u * b;\n if (u == n || 0 == l(v))\n (p = d(p, v - p)), void 0 === m ? (m = p) : ((m += String.fromCharCode(0)), (m += p)), (p = v + b);\n }\n U(h);\n return m;\n },\n toWireType: (h, n) => {\n if ('string' != typeof n) throw new R(`Cannot pass non-string to C++ string type ${c}`);\n var m = f(n),\n p = bc(4 + m + b);\n F[p >> 2] = m / b;\n e(n, p + 4, m + b);\n null !== h && h.push(U, p);\n return p;\n },\n argPackAdvance: 8,\n readValueFromPointer: K,\n Ea(h) {\n U(h);\n },\n });\n },\n s: (a, b, c, d, e, f) => {\n Fa[a] = { name: Q(b), Ua: T(c, d), Fa: T(e, f), Ya: [] };\n },\n j: (a, b, c, d, e, f, l, h, n, m) => {\n Fa[a].Ya.push({ bb: Q(b), hb: c, fb: T(d, e), gb: f, nb: l, mb: T(h, n), ob: m });\n },\n Z: (a, b) => {\n b = Q(b);\n O(a, { ub: !0, name: b, argPackAdvance: 0, fromWireType: () => {}, toWireType: () => {} });\n },\n J: () => {\n throw Infinity;\n },\n aa: (a, b, c, d) => {\n a = Lb[a];\n b = yb(b);\n return a(null, b, c, d);\n },\n F: wb,\n $: (a, b, c) => {\n var d = Nb(a, b),\n e = d.shift();\n a--;\n var f = Array(a);\n b = `methodCaller<(${d.map((l) => l.name).join(', ')}) => ${e.name}>`;\n return Mb(\n Za(b, (l, h, n, m) => {\n for (var p = 0, u = 0; u < a; ++u) (f[u] = d[u].readValueFromPointer(m + p)), (p += d[u].argPackAdvance);\n h = 1 === c ? Ob(h, f) : h.apply(l, f);\n l = [];\n h = e.toWireType(l, h);\n l.length && (F[n >> 2] = hb(l));\n return h;\n }),\n );\n },\n ba: (a) => {\n 9 < a && (V[a + 1] += 1);\n },\n _: (a) => {\n var b = yb(a);\n Ga(b);\n wb(a);\n },\n o: (a, b) => {\n a = Bb(a, '_emval_take_value');\n a = a.readValueFromPointer(b);\n return hb(a);\n },\n W: () => {\n ra('');\n },\n V: () => performance.now(),\n L: (a) => {\n var b = A.length;\n a >>>= 0;\n if (2147483648 < a) return !1;\n for (var c = 1; 4 >= c; c *= 2) {\n var d = b * (1 + 0.2 / c);\n d = Math.min(d, a + 100663296);\n var e = Math;\n d = Math.max(a, d);\n a: {\n e =\n (e.min.call(e, 2147483648, d + ((65536 - (d % 65536)) % 65536)) - fa.buffer.byteLength + 65535) / 65536;\n try {\n fa.grow(e);\n la();\n var f = 1;\n break a;\n } catch (l) {}\n f = void 0;\n }\n if (f) return !0;\n }\n return !1;\n },\n S: (a, b) => {\n var c = 0;\n Rb().forEach((d, e) => {\n var f = b + c;\n e = F[(a + 4 * e) >> 2] = f;\n for (f = 0; f < d.length; ++f) y[e++] = d.charCodeAt(f);\n y[e] = 0;\n c += d.length + 1;\n });\n return 0;\n },\n T: (a, b) => {\n var c = Rb();\n F[a >> 2] = c.length;\n var d = 0;\n c.forEach((e) => (d += e.length + 1));\n F[b >> 2] = d;\n return 0;\n },\n t: () => 52,\n z: () => 52,\n H: function () {\n return 70;\n },\n Q: (a, b, c, d) => {\n for (var e = 0, f = 0; f < c; f++) {\n var l = F[b >> 2],\n h = F[(b + 4) >> 2];\n b += 8;\n for (var n = 0; n < h; n++) {\n var m = A[l + n],\n p = Sb[a];\n 0 === m || 10 === m ? ((1 === a ? ea : w)(J(p, 0)), (p.length = 0)) : p.push(m);\n }\n e += h;\n }\n F[d >> 2] = e;\n return 0;\n },\n U: (a, b) => {\n Ub(A.subarray(a, a + b));\n return 0;\n },\n i: cc,\n d: dc,\n e: ec,\n p: fc,\n y: gc,\n b: hc,\n a: ic,\n h: jc,\n n: kc,\n G: lc,\n K: (a, b, c, d) => Zb(a, b, c, d),\n },\n W = (function () {\n function a(c) {\n W = c.exports;\n fa = W.da;\n la();\n S = W.ha;\n na.unshift(W.ea);\n G--;\n k.monitorRunDependencies?.(G);\n 0 == G && (null !== qa && (clearInterval(qa), (qa = null)), H && ((c = H), (H = null), c()));\n return W;\n }\n var b = { a: mc };\n G++;\n k.monitorRunDependencies?.(G);\n if (k.instantiateWasm)\n try {\n return k.instantiateWasm(b, a);\n } catch (c) {\n w(`Module.instantiateWasm callback failed with error: ${c}`), ba(c);\n }\n xa(b, function (c) {\n a(c.instance);\n }).catch(ba);\n return {};\n })(),\n bc = (a) => (bc = W.fa)(a),\n ob = (a) => (ob = W.ga)(a),\n U = (a) => (U = W.ia)(a),\n X = (a, b) => (X = W.ja)(a, b),\n Y = (a) => (Y = W.ka)(a),\n Z = () => (Z = W.la)();\n k.dynCall_iijj = (a, b, c, d, e, f) => (k.dynCall_iijj = W.na)(a, b, c, d, e, f);\n k.dynCall_vijj = (a, b, c, d, e, f) => (k.dynCall_vijj = W.oa)(a, b, c, d, e, f);\n k.dynCall_jiii = (a, b, c, d) => (k.dynCall_jiii = W.pa)(a, b, c, d);\n k.dynCall_jii = (a, b, c) => (k.dynCall_jii = W.qa)(a, b, c);\n var nc = (k.dynCall_viiij = (a, b, c, d, e, f) => (nc = k.dynCall_viiij = W.ra)(a, b, c, d, e, f));\n k.dynCall_jiji = (a, b, c, d, e) => (k.dynCall_jiji = W.sa)(a, b, c, d, e);\n k.dynCall_viijii = (a, b, c, d, e, f, l) => (k.dynCall_viijii = W.ta)(a, b, c, d, e, f, l);\n k.dynCall_iiiiij = (a, b, c, d, e, f, l) => (k.dynCall_iiiiij = W.ua)(a, b, c, d, e, f, l);\n k.dynCall_iiiiijj = (a, b, c, d, e, f, l, h, n) => (k.dynCall_iiiiijj = W.va)(a, b, c, d, e, f, l, h, n);\n k.dynCall_iiiiiijj = (a, b, c, d, e, f, l, h, n, m) => (k.dynCall_iiiiiijj = W.wa)(a, b, c, d, e, f, l, h, n, m);\n function hc(a, b) {\n var c = Z();\n try {\n S.get(a)(b);\n } catch (d) {\n Y(c);\n if (d !== d + 0) throw d;\n X(1, 0);\n }\n }\n function ic(a, b, c) {\n var d = Z();\n try {\n S.get(a)(b, c);\n } catch (e) {\n Y(d);\n if (e !== e + 0) throw e;\n X(1, 0);\n }\n }\n function ec(a, b, c, d) {\n var e = Z();\n try {\n return S.get(a)(b, c, d);\n } catch (f) {\n Y(e);\n if (f !== f + 0) throw f;\n X(1, 0);\n }\n }\n function dc(a, b, c) {\n var d = Z();\n try {\n return S.get(a)(b, c);\n } catch (e) {\n Y(d);\n if (e !== e + 0) throw e;\n X(1, 0);\n }\n }\n function cc(a, b) {\n var c = Z();\n try {\n return S.get(a)(b);\n } catch (d) {\n Y(c);\n if (d !== d + 0) throw d;\n X(1, 0);\n }\n }\n function fc(a, b, c, d, e, f) {\n var l = Z();\n try {\n return S.get(a)(b, c, d, e, f);\n } catch (h) {\n Y(l);\n if (h !== h + 0) throw h;\n X(1, 0);\n }\n }\n function kc(a, b, c, d, e) {\n var f = Z();\n try {\n S.get(a)(b, c, d, e);\n } catch (l) {\n Y(f);\n if (l !== l + 0) throw l;\n X(1, 0);\n }\n }\n function jc(a, b, c, d) {\n var e = Z();\n try {\n S.get(a)(b, c, d);\n } catch (f) {\n Y(e);\n if (f !== f + 0) throw f;\n X(1, 0);\n }\n }\n function gc(a) {\n var b = Z();\n try {\n S.get(a)();\n } catch (c) {\n Y(b);\n if (c !== c + 0) throw c;\n X(1, 0);\n }\n }\n function lc(a, b, c, d, e, f) {\n var l = Z();\n try {\n nc(a, b, c, d, e, f);\n } catch (h) {\n Y(l);\n if (h !== h + 0) throw h;\n X(1, 0);\n }\n }\n var oc;\n H = function pc() {\n oc || qc();\n oc || (H = pc);\n };\n function qc() {\n function a() {\n if (!oc && ((oc = !0), (k.calledRun = !0), !ha)) {\n ya(na);\n aa(k);\n if (k.onRuntimeInitialized) k.onRuntimeInitialized();\n if (k.postRun)\n for ('function' == typeof k.postRun && (k.postRun = [k.postRun]); k.postRun.length; ) {\n var b = k.postRun.shift();\n oa.unshift(b);\n }\n ya(oa);\n }\n }\n if (!(0 < G)) {\n if (k.preRun) for ('function' == typeof k.preRun && (k.preRun = [k.preRun]); k.preRun.length; ) pa();\n ya(ma);\n 0 < G ||\n (k.setStatus\n ? (k.setStatus('Running...'),\n setTimeout(function () {\n setTimeout(function () {\n k.setStatus('');\n }, 1);\n a();\n }, 1))\n : a());\n }\n }\n if (k.preInit)\n for ('function' == typeof k.preInit && (k.preInit = [k.preInit]); 0 < k.preInit.length; ) k.preInit.pop()();\n qc();\n\n return readyPromise;\n };\n})();\nexport default createDotLottiePlayerModule;\n","import pkg from '../../package.json';\n\nimport createDotLottiePlayerModule from './dotlottie-player';\nimport type { MainModule } from './dotlottie-player.types';\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class DotLottieWasmLoader {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n private static _ModulePromise: Promise<MainModule> | null = null;\n\n // URL for the WASM file, constructed using package information\n private static _wasmURL = `https://cdn.jsdelivr.net/npm/${pkg.name}@${pkg.version}/dist/dotlottie-player.wasm`;\n\n private constructor() {\n throw new Error('RendererLoader is a static class and cannot be instantiated.');\n }\n\n private static async _tryLoad(url: string): Promise<MainModule> {\n const module = await createDotLottiePlayerModule({ locateFile: () => url });\n\n return module;\n }\n\n /**\n * Tries to load the WASM module from the primary URL, falling back to a backup URL if necessary.\n * Throws an error if both URLs fail to load the module.\n * @returns Promise<Module> - A promise that resolves to the loaded module.\n */\n private static async _loadWithBackup(): Promise<MainModule> {\n if (!this._ModulePromise) {\n this._ModulePromise = this._tryLoad(this._wasmURL).catch(async (initialError): Promise<MainModule> => {\n const backupUrl = `https://unpkg.com/${pkg.name}@${pkg.version}/dist/dotlottie-player.wasm`;\n\n console.warn(`Primary WASM load failed from ${this._wasmURL}. Error: ${(initialError as Error).message}`);\n console.warn(`Attempting to load WASM from backup URL: ${backupUrl}`);\n\n try {\n return await this._tryLoad(backupUrl);\n } catch (backupError) {\n console.error(`Primary WASM URL failed: ${(initialError as Error).message}`);\n console.error(`Backup WASM URL failed: ${(backupError as Error).message}`);\n throw new Error('WASM loading failed from all sources.');\n }\n });\n }\n\n return this._ModulePromise;\n }\n\n /**\n * Public method to load the WebAssembly module.\n * Utilizes a primary and backup URL for robustness.\n * @returns Promise<Module> - A promise that resolves to the loaded module.\n */\n public static async load(): Promise<MainModule> {\n return this._loadWithBackup();\n }\n\n /**\n * Sets a new URL for the WASM file and invalidates the current module promise.\n *\n * @param string - The new URL for the WASM file.\n */\n public static setWasmUrl(url: string): void {\n this._wasmURL = url;\n // Invalidate current module promise\n this._ModulePromise = null;\n }\n}\n","/**\n * Represents the different types of events that can be dispatched.\n */\nexport type EventType =\n | 'complete'\n | 'frame'\n | 'load'\n | 'loadError'\n | 'loop'\n | 'pause'\n | 'play'\n | 'stop'\n | 'destroy'\n | 'freeze'\n | 'unfreeze'\n | 'render'\n | 'ready';\n\n/**\n * Maps an event type string to its respective event interface.\n */\ntype EventByType<T> = T extends 'complete'\n ? CompleteEvent\n : T extends 'frame'\n ? FrameEvent\n : T extends 'load'\n ? LoadEvent\n : T extends 'loadError'\n ? LoadErrorEvent\n : T extends 'loop'\n ? LoopEvent\n : T extends 'pause'\n ? PauseEvent\n : T extends 'play'\n ? PlayEvent\n : T extends 'stop'\n ? StopEvent\n : T extends 'destroy'\n ? DestroyEvent\n : T extends 'freeze'\n ? FreezeEvent\n : T extends 'unfreeze'\n ? UnfreezeEvent\n : T extends 'render'\n ? RenderEvent\n : T extends 'ready'\n ? ReadyEvent\n : never;\n\n/**\n * Base interface for all events.\n */\nexport interface BaseEvent {\n type: EventType;\n}\n\nexport interface RenderEvent extends BaseEvent {\n currentFrame: number;\n type: 'render';\n}\n\nexport interface FreezeEvent extends BaseEvent {\n type: 'freeze';\n}\n\nexport interface UnfreezeEvent extends BaseEvent {\n type: 'unfreeze';\n}\n\n/*\n * Event fired when a destroy action occurs.\n */\nexport interface DestroyEvent extends BaseEvent {\n type: 'destroy';\n}\n\n/**\n * Event fired when a loop action occurs.\n */\nexport interface LoopEvent extends BaseEvent {\n loopCount: number;\n type: 'loop';\n}\n\n/**\n * Event fired during frame changes.\n */\nexport interface FrameEvent extends BaseEvent {\n currentFrame: number;\n type: 'frame';\n}\n\n/**\n * Event fired when a load action occurs.\n */\nexport interface LoadEvent extends BaseEvent {\n type: 'load';\n}\n\n/**\n * Event fired when a loading error occurs.\n */\nexport interface LoadErrorEvent extends BaseEvent {\n error: Error;\n type: 'loadError';\n}\n\n/**\n * Event fired when a completion action occurs.\n */\nexport interface CompleteEvent extends BaseEvent {\n type: 'complete';\n}\n\n/**\n * Event fired when a pause action occurs.\n */\nexport interface PauseEvent extends BaseEvent {\n type: 'pause';\n}\n\n/**\n * Event fired when a play action occurs.\n */\nexport interface PlayEvent extends BaseEvent {\n type: 'play';\n}\n\n/**\n * Event fired when a stop action occurs.\n */\nexport interface StopEvent extends BaseEvent {\n type: 'stop';\n}\n\n/**\n * Event fired when a WASM module is initialized and ready.\n */\nexport interface ReadyEvent extends BaseEvent {\n type: 'ready';\n}\n\n/**\n * Type representing all possible event types.\n */\nexport type Event =\n | LoopEvent\n | FrameEvent\n | LoadEvent\n | LoadErrorEvent\n | CompleteEvent\n | PauseEvent\n | PlayEvent\n | StopEvent\n | DestroyEvent\n | FreezeEvent\n | UnfreezeEvent\n | RenderEvent\n | ReadyEvent;\n\nexport interface EventListener<T extends EventType> {\n (event: EventByType<T>): void;\n}\n\n/**\n * Manages registration and dispatching of event listeners.\n */\nexport class EventManager {\n private readonly _eventListeners: Map<EventType, Set<EventListener<EventType>>> = new Map();\n\n public addEventListener<T extends EventType>(type: T, listener: EventListener<T>): void {\n let listeners = this._eventListeners.get(type);\n\n if (!listeners) {\n listeners = new Set<EventListener<T>>();\n this._eventListeners.set(type, listeners);\n }\n\n listeners.add(listener);\n }\n\n public removeEventListener<T extends EventType>(type: T, listener?: EventListener<T>): void {\n const listeners = this._eventListeners.get(type);\n\n if (!listeners) return;\n\n if (listener) {\n listeners.delete(listener);\n\n if (listeners.size === 0) {\n this._eventListeners.delete(type);\n }\n } else {\n this._eventListeners.delete(type);\n }\n }\n\n public dispatch<T extends EventType>(event: EventByType<T>): void {\n const listeners = this._eventListeners.get(event.type);\n\n listeners?.forEach((listener) => listener(event));\n }\n\n public removeAllEventListeners(): void {\n this._eventListeners.clear();\n }\n}\n","import { LOTTIE_JSON_MANDATORY_FIELDS, ZIP_SIGNATURE } from './constants';\n\nexport function isHexColor(color: string): boolean {\n return /^#([\\da-f]{6}|[\\da-f]{8})$/iu.test(color);\n}\n\nexport function hexStringToRGBAInt(colorHex: string): number {\n if (!isHexColor(colorHex)) {\n return 0;\n }\n\n let hex = colorHex.replace('#', '');\n\n // Add alpha if it's not included\n hex = hex.length === 6 ? `${hex}ff` : hex;\n\n return parseInt(hex, 16);\n}\n\nexport function isDotLottie(fileData: ArrayBuffer): boolean {\n if (fileData.byteLength < 4) {\n return false;\n }\n\n const fileSignature = new Uint8Array(fileData.slice(0, ZIP_SIGNATURE.byteLength));\n\n for (let i = 0; i < ZIP_SIGNATURE.length; i += 1) {\n if (ZIP_SIGNATURE[i] !== fileSignature[i]) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Returns whether the given object looks like a valid Lottie JSON structure.\n */\nexport function isLottieJSON(json: Record<string, unknown>): boolean {\n return LOTTIE_JSON_MANDATORY_FIELDS.every((field) => Object.prototype.hasOwnProperty.call(json, field));\n}\n\nexport function isLottie(fileData: string | Record<string, unknown>): boolean {\n if (typeof fileData === 'string') {\n try {\n return isLottieJSON(JSON.parse(fileData));\n } catch (_e) {\n return false;\n }\n } else {\n return isLottieJSON(fileData);\n }\n}\n","import { AnimationFrameManager } from './animation-frame-manager';\nimport { IS_BROWSER } from './constants';\nimport type { DotLottiePlayer, MainModule, Mode as CoreMode, VectorFloat, Marker, Fit as CoreFit } from './core';\nimport { DotLottieWasmLoader } from './core';\nimport type { EventListener, EventType } from './event-manager';\nimport { EventManager } from './event-manager';\nimport type { Mode, Fit, Config, Layout, Manifest, RenderConfig, Data } from './types';\nimport { hexStringToRGBAInt, isDotLottie, isLottie } from './utils';\n\nconst createCoreMode = (mode: Mode, module: MainModule): CoreMode => {\n if (mode === 'reverse') {\n return module.Mode.Reverse;\n } else if (mode === 'bounce') {\n return module.Mode.Bounce;\n } else if (mode === 'reverse-bounce') {\n return module.Mode.ReverseBounce;\n } else {\n return module.Mode.Forward;\n }\n};\n\nconst createCoreFit = (fit: Fit, module: MainModule): CoreFit => {\n if (fit === 'contain') {\n return module.Fit.Contain;\n } else if (fit === 'cover') {\n return module.Fit.Cover;\n } else if (fit === 'fill') {\n return module.Fit.Fill;\n } else if (fit === 'fit-height') {\n return module.Fit.FitHeight;\n } else if (fit === 'fit-width') {\n return module.Fit.FitWidth;\n } else {\n return module.Fit.None;\n }\n};\n\nconst createCoreAlign = (align: [number, number], module: MainModule): VectorFloat => {\n const coreAlign = new module.VectorFloat();\n\n coreAlign.push_back(align[0]);\n coreAlign.push_back(align[1]);\n\n return coreAlign;\n};\n\nconst createCoreSegment = (segment: number[], module: MainModule): VectorFloat => {\n const coresegment = new module.VectorFloat();\n\n if (segment.length !== 2) return coresegment;\n\n coresegment.push_back(segment[0] as number);\n coresegment.push_back(segment[1] as number);\n\n return coresegment;\n};\n\nexport class DotLottie {\n private readonly _canvas: HTMLCanvasElement | OffscreenCanvas;\n\n private _context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D | null = null;\n\n private readonly _eventManager: EventManager;\n\n private _animationFrameId: number | null = null;\n\n private readonly _frameManager: AnimationFrameManager;\n\n private _dotLottieCore: DotLottiePlayer | null = null;\n\n private static _wasmModule: MainModule | null = null;\n\n private _renderConfig: RenderConfig = {};\n\n private _isFrozen: boolean = false;\n\n private _backgroundColor: string | null = null;\n\n public constructor(config: Config) {\n this._canvas = config.canvas;\n this._context = this._canvas.getContext('2d');\n\n this._eventManager = new EventManager();\n this._frameManager = new AnimationFrameManager();\n this._renderConfig = config.renderConfig ?? {};\n\n DotLottieWasmLoader.load()\n .then((module) => {\n DotLottie._wasmModule = module;\n\n this._dotLottieCore = new module.DotLottiePlayer({\n autoplay: config.autoplay ?? false,\n backgroundColor: 0,\n loopAnimation: config.loop ?? false,\n mode: createCoreMode(config.mode ?? 'forward', module),\n segment: createCoreSegment(config.segment ?? [], module),\n speed: config.speed ?? 1,\n useFrameInterpolation: config.useFrameInterpolation ?? true,\n marker: config.marker ?? '',\n layout: config.layout\n ? {\n align: createCoreAlign(config.layout.align, module),\n fit: createCoreFit(config.layout.fit, module),\n }\n : module.createDefaultLayout(),\n });\n\n this._eventManager.dispatch({ type: 'ready' });\n\n if (config.data) {\n this._loadFromData(config.data);\n } else if (config.src) {\n this._loadFromSrc(config.src);\n }\n\n if (config.backgroundColor) {\n this.setBackgroundColor(config.backgroundColor);\n }\n })\n .catch((error) => {\n this._eventManager.dispatch({\n type: 'loadError',\n error: new Error(`Failed to load wasm module: ${error}`),\n });\n });\n }\n\n private _dispatchError(message: string): void {\n console.error(message);\n this._eventManager.dispatch({ type: 'loadError', error: new Error(message) });\n }\n\n private async _fetchData(src: string): Promise<string | ArrayBuffer> {\n const response = await fetch(src);\n\n if (!response.ok) {\n throw new Error(`Failed to fetch animation data from URL: ${src}. ${response.status}: ${response.statusText}`);\n }\n\n const data = await response.arrayBuffer();\n\n if (isDotLottie(data)) {\n return data;\n }\n\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n return new TextDecoder().decode(data);\n }\n\n private _loadFromData(data: Data): void {\n if (this._dotLottieCore === null) return;\n\n const width = this._canvas.width;\n const height = this._canvas.height;\n\n let loaded = false;\n\n if (typeof data === 'string') {\n if (!isLottie(data)) {\n this._dispatchError(\n 'Invalid Lottie JSON string: The provided string does not conform to the Lottie JSON format.',\n );\n\n return;\n }\n loaded = this._dotLottieCore.loadAnimationData(data, width, height);\n } else if (data instanceof ArrayBuffer) {\n if (!isDotLottie(data)) {\n this._dispatchError(\n 'Invalid dotLottie ArrayBuffer: The provided ArrayBuffer does not conform to the dotLottie format.',\n );\n\n return;\n }\n loaded = this._dotLottieCore.loadDotLottieData(data, width, height);\n } else if (typeof data === 'object') {\n if (!isLottie(data as Record<string, unknown>)) {\n this._dispatchError(\n 'Invalid Lottie JSON object: The provided object does not conform to the Lottie JSON format.',\n );\n\n return;\n }\n loaded = this._dotLottieCore.loadAnimationData(JSON.stringify(data), width, height);\n } else {\n this._dispatchError(\n `Unsupported data type for animation data. Expected: \n - string (Lottie JSON),\n - ArrayBuffer (dotLottie),\n - object (Lottie JSON). \n Received: ${typeof data}`,\n );\n\n return;\n }\n\n if (loaded) {\n this._eventManager.dispatch({ type: 'load' });\n\n if (IS_BROWSER) {\n this.resize();\n }\n\n this._eventManager.dispatch({\n type: 'frame',\n currentFrame: this._dotLottieCore.currentFrame(),\n });\n\n this._render();\n\n if (this._dotLottieCore.config().autoplay) {\n this._dotLottieCore.play();\n if (this._dotLottieCore.isPlaying()) {\n this._eventManager.dispatch({ type: 'play' });\n this._animationFrameId = this._frameManager.requestAnimationFrame(this._draw.bind(this));\n } else {\n console.error('something went wrong, the animation was suppose to autoplay');\n }\n }\n } else {\n this._dispatchError('Failed to load animation data');\n }\n }\n\n private _loadFromSrc(src: string): void {\n this._fetchData(src)\n .then((data) => this._loadFromData(data))\n .catch((error) => this._dispatchError(`Failed to load animation data from URL: ${src}. ${error}`));\n }\n\n public get activeAnimationId(): string | undefined {\n return this._dotLottieCore?.activeAnimationId();\n }\n\n public get activeThemeId(): string | undefined {\n return this._dotLottieCore?.activeThemeId();\n }\n\n public get layout(): Layout | undefined {\n const layout = this._dotLottieCore?.config().layout;\n\n if (layout) {\n return {\n align: [layout.align.get(0) as number, layout.align.get(1) as number],\n fit: ((): Fit => {\n switch (layout.fit) {\n case DotLottie._wasmModule?.Fit.Contain:\n return 'contain';\n\n case DotLottie._wasmModule?.Fit.Cover:\n return 'cover';\n\n case DotLottie._wasmModule?.Fit.Fill:\n return 'fill';\n\n case DotLottie._wasmModule?.Fit.FitHeight:\n return 'fit-height';\n\n case DotLottie._wasmModule?.Fit.FitWidth:\n return 'fit-width';\n\n case DotLottie._wasmModule?.Fit.None:\n return 'none';\n\n default:\n return 'contain';\n }\n })(),\n };\n }\n\n return undefined;\n }\n\n public get marker(): string | undefined {\n const marker = this._dotLottieCore?.config().marker as string | undefined;\n\n return marker;\n }\n\n public get manifest(): Manifest | null {\n try {\n const manifest = this._dotLottieCore?.manifestString();\n\n if (this._dotLottieCore === null || !manifest) return null;\n\n const manifestJson = JSON.parse(manifest);\n\n if (Object.keys(manifestJson).length === 0) return null;\n\n return manifestJson as Manifest;\n } catch (_err) {\n return null;\n }\n }\n\n public get renderConfig(): RenderConfig {\n return this._renderConfig;\n }\n\n public get segment(): [number, number] | undefined {\n const segment = this._dotLottieCore?.config().segment;\n\n if (segment && segment.size() === 2) {\n return [segment.get(0) as number, segment.get(1) as number];\n }\n\n return undefined;\n }\n\n public get loop(): boolean {\n return this._dotLottieCore?.config().loopAnimation ?? false;\n }\n\n public get mode(): Mode {\n const mode = this._dotLottieCore?.config().mode;\n\n if (mode === DotLottie._wasmModule?.Mode.Reverse) {\n return 'reverse';\n } else if (mode === DotLottie._wasmModule?.Mode.Bounce) {\n return 'bounce';\n } else if (mode === DotLottie._wasmModule?.Mode.ReverseBounce) {\n return 'reverse-bounce';\n } else {\n return 'forward';\n }\n }\n\n public get isFrozen(): boolean {\n return this._isFrozen;\n }\n\n public get backgroundColor(): string {\n return this._backgroundColor ?? '';\n }\n\n public get autoplay(): boolean {\n return this._dotLottieCore?.config().autoplay ?? false;\n }\n\n public get useFrameInterpolation(): boolean {\n return this._dotLottieCore?.config().useFrameInterpolation ?? false;\n }\n\n public get speed(): number {\n return this._dotLottieCore?.config().speed ?? 0;\n }\n\n public get isReady(): boolean {\n return this._dotLottieCore !== null;\n }\n\n public get isLoaded(): boolean {\n return this._dotLottieCore?.isLoaded() ?? false;\n }\n\n public get isPlaying(): boolean {\n return this._dotLottieCore?.isPlaying() ?? false;\n }\n\n public get isPaused(): boolean {\n return this._dotLottieCore?.isPaused() ?? false;\n }\n\n public get isStopped(): boolean {\n return this._dotLottieCore?.isStopped() ?? false;\n }\n\n public get currentFrame(): number {\n return this._dotLottieCore?.currentFrame() ?? 0;\n }\n\n public get loopCount(): number {\n return this._dotLottieCore?.loopCount() ?? 0;\n }\n\n public get totalFrames(): number {\n return this._dotLottieCore?.totalFrames() ?? 0;\n }\n\n public get duration(): number {\n return this._dotLottieCore?.duration() ?? 0;\n }\n\n public get segmentDuration(): number {\n return this._dotLottieCore?.segmentDuration() ?? 0;\n }\n\n public get canvas(): HTMLCanvasElement | OffscreenCanvas {\n return this._canvas;\n }\n\n public load(config: Omit<Config, 'canvas'>): void {\n if (this._dotLottieCore === null || DotLottie._wasmModule === null) return;\n\n this._dotLottieCore.setConfig({\n autoplay: config.autoplay ?? false,\n backgroundColor: 0,\n loopAnimation: config.loop ?? false,\n mode: createCoreMode(config.mode ?? 'forward', DotLottie._wasmModule),\n segment: createCoreSegment(config.segment ?? [], DotLottie._wasmModule),\n speed: config.speed ?? 1,\n useFrameInterpolation: config.useFrameInterpolation ?? true,\n marker: config.marker ?? '',\n layout: config.layout\n ? {\n align: createCoreAlign(config.layout.align, DotLottie._wasmModule),\n fit: createCoreFit(config.layout.fit, DotLottie._wasmModule),\n }\n : DotLottie._wasmModule.createDefaultLayout(),\n });\n\n if (config.data) {\n this._loadFromData(config.data);\n } else if (config.src) {\n this._loadFromSrc(config.src);\n }\n\n this.setBackgroundColor(config.backgroundColor ?? '');\n }\n\n private _render(): boolean {\n if (this._dotLottieCore === null || this._context === null) return false;\n\n const rendered = this._dotLottieCore.render();\n\n if (rendered) {\n const buffer = this._dotLottieCore.buffer() as Uint8Array;\n const clampedBuffer = new Uint8ClampedArray(buffer, 0, this._canvas.width * this._canvas.height * 4);\n\n let imageData = null;\n\n /* \n In Node.js, the ImageData constructor is not available. \n You can use createImageData function in the canvas context to create ImageData object.\n */\n if (typeof ImageData === 'undefined') {\n imageData = this._context.createImageData(this._canvas.width, this._canvas.height);\n imageData.data.set(clampedBuffer);\n } else {\n imageData = new ImageData(clampedBuffer, this._canvas.width, this._canvas.height);\n }\n\n this._context.putImageData(imageData, 0, 0);\n\n this._eventManager.dispatch({\n type: 'render',\n currentFrame: this._dotLottieCore.currentFrame(),\n });\n\n return true;\n }\n\n return false;\n }\n\n private _draw(): void {\n if (this._dotLottieCore === null || this._context === null || !this._dotLottieCore.isPlaying()) return;\n\n const nextFrame = this._dotLottieCore.requestFrame();\n\n const updated = this._dotLottieCore.setFrame(nextFrame);\n\n if (updated) {\n this._eventManager.dispatch({\n type: 'frame',\n currentFrame: this._dotLottieCore.currentFrame(),\n });\n\n const rendered = this._render();\n\n if (rendered) {\n // handle loop or complete\n if (this._dotLottieCore.isComplete()) {\n if (this._dotLottieCore.config().loopAnimation) {\n this._eventManager.dispatch({\n type: 'loop',\n loopCount: this._dotLottieCore.loopCount(),\n });\n } else {\n this._eventManager.dispatch({ type: 'complete' });\n }\n }\n }\n }\n\n this._animationFrameId = this._frameManager.requestAnimationFrame(this._draw.bind(this));\n }\n\n public play(): void {\n if (this._dotLottieCore === null) return;\n\n const ok = this._dotLottieCore.play();\n\n this._isFrozen = false;\n\n if (ok) {\n this._eventManager.dispatch({ type: 'play' });\n this._animationFrameId = this._frameManager.requestAnimationFrame(this._draw.bind(this));\n }\n }\n\n public pause(): void {\n if (this._dotLottieCore === null) return;\n\n const ok = this._dotLottieCore.pause();\n\n if (ok) {\n this._eventManager.dispatch({ type: 'pause' });\n }\n }\n\n public stop(): void {\n if (this._dotLottieCore === null) return;\n\n const ok = this._dotLottieCore.stop();\n\n if (ok) {\n this._eventManager.dispatch({ type: 'frame', currentFrame: this._dotLottieCore.currentFrame() });\n\n this._render();\n\n this._eventManager.dispatch({ type: 'stop' });\n }\n }\n\n public setFrame(frame: number): void {\n if (this._dotLottieCore === null) return;\n\n if (frame < 0 || frame > this._dotLottieCore.totalFrames()) return;\n\n const ok = this._dotLottieCore.seek(frame);\n\n if (ok) {\n this._eventManager.dispatch({ type: 'frame', currentFrame: this._dotLottieCore.currentFrame() });\n\n this._render();\n }\n }\n\n public setSpeed(speed: number): void {\n if (this._dotLottieCore === null) return;\n\n this._dotLottieCore.setConfig({\n ...this._dotLottieCore.config(),\n speed,\n });\n }\n\n public setBackgroundColor(color: string): void {\n if (this._dotLottieCore === null) return;\n\n if (IS_BROWSER && this._canvas instanceof HTMLCanvasElement) {\n this._canvas.style.backgroundColor = color;\n } else {\n this._dotLottieCore.setConfig({\n ...this._dotLottieCore.config(),\n backgroundColor: hexStringToRGBAInt(color),\n });\n }\n\n this._backgroundColor = color;\n }\n\n public setLoop(loop: boolean): void {\n if (this._dotLottieCore === null) return;\n\n this._dotLottieCore.setConfig({\n ...this._dotLottieCore.config(),\n loopAnimation: loop,\n });\n }\n\n public setUseFrameInterpolation(useFrameInterpolation: boolean): void {\n if (this._dotLottieCore === null) return;\n\n this._dotLottieCore.setConfig({\n ...this._dotLottieCore.config(),\n useFrameInterpolation,\n });\n }\n\n public addEventListener<T extends EventType>(type: T, listener: EventListener<T>): void {\n this._eventManager.addEventListener(type, listener);\n }\n\n public removeEventListener<T extends EventType>(type: T, listener?: EventListener<T>): void {\n this._eventManager.removeEventListener(type, listener);\n }\n\n public destroy(): void {\n this._dotLottieCore?.delete();\n this._dotLottieCore = null;\n this._context = null;\n\n this._eventManager.dispatch({\n type: 'destroy',\n });\n\n this._eventManager.removeAllEventListeners();\n this._cleanupStateMachineListeners();\n }\n\n public freeze(): void {\n if (this._animationFrameId === null) return;\n\n this._frameManager.cancelAnimationFrame(this._animationFrameId);\n this._animationFrameId = null;\n\n this._isFrozen = true;\n\n this._eventManager.dispatch({ type: 'freeze' });\n }\n\n public unfreeze(): void {\n if (this._animationFrameId !== null) return;\n\n this._animationFrameId = this._frameManager.requestAnimationFrame(this._draw.bind(this));\n\n this._isFrozen = false;\n\n this._eventManager.dispatch({ type: 'unfreeze' });\n }\n\n public resize(): void {\n if (IS_BROWSER && this._canvas instanceof HTMLCanvasElement) {\n const dpr = this._renderConfig.devicePixelRatio || window.devicePixelRatio || 1;\n\n const { height: clientHeight, width: clientWidth } = this._canvas.getBoundingClientRect();\n\n this._canvas.width = clientWidth * dpr;\n this._canvas.height = clientHeight * dpr;\n }\n\n const ok = this._dotLottieCore?.resize(this._canvas.width, this._canvas.height);\n\n if (ok) {\n this._render();\n }\n }\n\n public setSegment(startFrame: number, endFrame: number): void {\n if (this._dotLottieCore === null || DotLottie._wasmModule === null) return;\n\n this._dotLottieCore.setConfig({\n ...this._dotLottieCore.config(),\n segment: createCoreSegment([startFrame, endFrame], DotLottie._wasmModule),\n });\n }\n\n public setMode(mode: Mode): void {\n if (this._dotLottieCore === null || DotLottie._wasmModule === null) return;\n\n this._dotLottieCore.setConfig({\n ...this._dotLottieCore.config(),\n mode: createCoreMode(mode, DotLottie._wasmModule),\n });\n }\n\n public setRenderConfig(config: RenderConfig): void {\n this._renderConfig = config;\n }\n\n public loadAnimation(animationId: string): void {\n if (this._dotLottieCore === null || this._dotLottieCore.activeAnimationId() === animationId) return;\n\n const loaded = this._dotLottieCore.loadAnimation(animationId, this._canvas.width, this._canvas.height);\n\n if (loaded) {\n this._eventManager.dispatch({ type: 'load' });\n this.resize();\n } else {\n this._eventManager.dispatch({\n type: 'loadError',\n error: new Error(`Failed to animation :${animationId}`),\n });\n }\n }\n\n public setMarker(marker: string): void {\n if (this._dotLottieCore === null) return;\n\n this._dotLottieCore.setConfig({\n ...this._dotLottieCore.config(),\n marker,\n });\n }\n\n public markers(): Marker[] {\n const markers = this._dotLottieCore?.markers();\n\n if (markers) {\n const result: Marker[] = [];\n\n for (let i = 0; i < markers.size(); i += 1) {\n const marker = markers.get(i) as Marker;\n\n result.push({\n name: marker.name,\n time: marker.time,\n duration: marker.duration,\n });\n }\n\n return result;\n }\n\n return [];\n }\n\n public loadTheme(themeId: string): boolean {\n if (this._dotLottieCore === null) return false;\n\n const loaded = this._dotLottieCore.loadTheme(themeId);\n\n this._render();\n\n return loaded;\n }\n\n public loadThemeData(themeData: string): boolean {\n if (this._dotLottieCore === null) return false;\n\n const loaded = this._dotLottieCore.loadThemeData(themeData);\n\n this._render();\n\n return loaded;\n }\n\n public setLayout(layout: Layout): void {\n if (this._dotLottieCore === null || DotLottie._wasmModule === null) return;\n\n this._dotLottieCore.setConfig({\n ...this._dotLottieCore.config(),\n layout: {\n align: createCoreAlign(layout.align, DotLottie._wasmModule),\n fit: createCoreFit(layout.fit, DotLottie._wasmModule),\n },\n });\n }\n\n public setViewport(x: number, y: number, width: number, height: number): boolean {\n if (this._dotLottieCore === null) return false;\n\n return this._dotLottieCore.setViewport(x, y, width, height);\n }\n\n public static setWasmUrl(url: string): void {\n DotLottieWasmLoader.setWasmUrl(url);\n }\n\n public loadStateMachine(stateMachineId: string): boolean {\n return this._dotLottieCore?.loadStateMachine(stateMachineId) ?? false;\n }\n\n public startStateMachine(): boolean {\n const started = this._dotLottieCore?.startStateMachine() ?? false;\n\n if (started) {\n this._setupStateMachineListeners();\n }\n\n return started;\n }\n\n public stopStateMachine(): boolean {\n const stopped = this._dotLottieCore?.stopStateMachine() ?? false;\n\n if (stopped) {\n this._cleanupStateMachineListeners();\n }\n\n return stopped;\n }\n\n private _getPointerPosition(event: PointerEvent): { x: number; y: number } {\n const rect = (this._canvas as HTMLCanvasElement).getBoundingClientRect();\n const scaleX = this._canvas.width / rect.width;\n const scaleY = this._canvas.height / rect.height;\n\n const devicePixelRatio = this._renderConfig.devicePixelRatio || window.devicePixelRatio || 1;\n const x = ((event.clientX - rect.left) * scaleX) / devicePixelRatio;\n const y = ((event.clientY - rect.top) * scaleY) / devicePixelRatio;\n\n return {\n x,\n y,\n };\n }\n\n private _onPointerUp(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerUp: ${x} ${y}`);\n }\n\n private _onPointerDown(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerDown: ${x} ${y}`);\n }\n\n private _onPointerMove(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerMove: ${x} ${y}`);\n }\n\n private _onPointerEnter(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerEnter: ${x} ${y}`);\n }\n\n private _onPointerLeave(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerExit: ${x} ${y}`);\n }\n\n private _onComplete(): void {\n this.postStateMachineEvent('OnComplete');\n }\n\n /**\n * @experimental\n * @param event - The event to be posted to the state machine\n * @returns boolean - true if the event was posted successfully, false otherwise\n */\n public postStateMachineEvent(event: string): boolean {\n return this._dotLottieCore?.postEventPayload(event) ?? false;\n }\n\n public getStateMachineListeners(): string[] {\n if (!this._dotLottieCore) return [];\n\n const listenersVector = this._dotLottieCore.stateMachineFrameworkSetup();\n\n const listeners = [];\n\n for (let i = 0; i < listenersVector.size(); i += 1) {\n listeners.push(listenersVector.get(i) as string);\n }\n\n return listeners;\n }\n\n private _setupStateMachineListeners(): void {\n if (IS_BROWSER && this._canvas instanceof HTMLCanvasElement && this._dotLottieCore !== null && this.isLoaded) {\n const listeners = this.getStateMachineListeners();\n\n if (listeners.includes('PointerUp')) {\n this._canvas.addEventListener('pointerup', this._onPointerUp.bind(this));\n }\n\n if (listeners.includes('PointerDown')) {\n this._canvas.addEventListener('pointerdown', this._onPointerDown.bind(this));\n }\n\n if (listeners.includes('PointerMove')) {\n this._canvas.addEventListener('pointermove', this._onPointerMove.bind(this));\n }\n\n if (listeners.includes('PointerEnter')) {\n this._canvas.addEventListener('pointerenter', this._onPointerEnter.bind(this));\n }\n\n if (listeners.includes('PointerExit')) {\n this._canvas.addEventListener('pointerleave', this._onPointerLeave.bind(this));\n }\n\n if (listeners.includes('Complete')) {\n this.addEventListener('complete', this._onComplete.bind(this));\n }\n }\n }\n\n private _cleanupStateMachineListeners(): void {\n if (IS_BROWSER && this._canvas instanceof HTMLCanvasElement) {\n this._canvas.removeEventListener('pointerup', this._onPointerUp.bind(this));\n this._canvas.removeEventListener('pointerdown', this._onPointerDown.bind(this));\n this._canvas.removeEventListener('pointermove', this._onPointerMove.bind(this));\n this._canvas.removeEventListener('pointerenter', this._onPointerEnter.bind(this));\n this._canvas.removeEventListener('pointerleave', this._onPointerLeave.bind(this));\n this.removeEventListener('complete', this._onComplete.bind(this));\n }\n }\n\n public loadStateMachineData(stateMachineData: string): boolean {\n return this._dotLottieCore?.loadStateMachineData(stateMachineData) ?? false;\n }\n\n public animationSize(): { height: number; width: number } {\n const width = this._dotLottieCore?.animationSize().get(0) ?? 0;\n const height = this._dotLottieCore?.animationSize().get(1) ?? 0;\n\n return {\n width,\n height,\n };\n }\n\n public setStateMachineBooleanContext(name: string, value: boolean): boolean {\n return this._dotLottieCore?.setStateMachineBooleanContext(name, value) ?? false;\n }\n\n public setStateMachineNumericContext(name: string, value: number): boolean {\n return this._dotLottieCore?.setStateMachineNumericContext(name, value) ?? false;\n }\n\n public setStateMachineStringContext(name: string, value: string): boolean {\n return this._dotLottieCore?.setStateMachineStringContext(name, value) ?? false;\n }\n}\n","/**\n * This is a worker script for dotlottie.\n * Do not modify this file directly.\n * As it's generated by the build process.\n */\n \nvar $n=Object.defineProperty;var kn=(s,n,r)=>n in s?$n(s,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):s[n]=r;var I=(s,n,r)=>kn(s,typeof n!=\"symbol\"?n+\"\":n,r);var Xe=class{requestAnimationFrame(n){return requestAnimationFrame(n)}cancelAnimationFrame(n){cancelAnimationFrame(n);}},Ze=class{constructor(){I(this,\"_lastHandleId\",0);I(this,\"_lastImmediate\",null);}requestAnimationFrame(n){return this._lastHandleId>=Number.MAX_SAFE_INTEGER&&(this._lastHandleId=0),this._lastHandleId+=1,this._lastImmediate=setImmediate(()=>{n(Date.now());}),this._lastHandleId}cancelAnimationFrame(n){this._lastImmediate&&clearImmediate(this._lastImmediate);}},Ie=class{constructor(){I(this,\"_strategy\");this._strategy=typeof requestAnimationFrame==\"function\"?new Xe:new Ze;}requestAnimationFrame(n){return this._strategy.requestAnimationFrame(n)}cancelAnimationFrame(n){this._strategy.cancelAnimationFrame(n);}};var te=typeof window<\"u\"&&typeof window.document<\"u\";var xe=new Uint8Array([80,75,3,4]),jt=[\"v\",\"ip\",\"op\",\"layers\",\"fr\",\"w\",\"h\"];var fe={name:\"@lottiefiles/dotlottie-web\",version:\"0.29.2\",type:\"module\",description:\"Lottie and DotLottie player for the web\",repository:{type:\"git\",url:\"git+https://github.com/LottieFiles/dotlottie-web.git\",directory:\"packages/web\"},homepage:\"https://github.com/LottieFiles/dotlottie-web#readme\",bugs:\"https://github.com/LottieFiles/dotlottie-web/issues\",author:\"LottieFiles\",contributors:[\"Abdelrahman Ashraf <a.theashraf@gmail.com>\"],license:\"MIT\",main:\"dist/index.cjs\",module:\"dist/index.js\",types:\"dist/index.d.ts\",files:[\"dist\"],keywords:[\"dotlottie\",\"lottie\",\"player\",\"animation\",\"web\",\"canvas\",\"javascript\",\"thorvg\"],scripts:{build:\"tsup\",dev:\"tsup --watch\",lint:\"eslint --fix .\",\"stats:eslint\":\"cross-env TIMING=1 eslint .\",\"stats:ts\":\"tsc -p tsconfig.build.json --extendedDiagnostics\",test:\"vitest run --browser.headless\",\"test:coverage\":\"vitest run --browser.headless --coverage\",\"test:watch\":\"vitest\",\"type-check\":\"tsc --noEmit\"},devDependencies:{\"@types/node\":\"^20.14.11\",\"@vitest/browser\":\"^2.0.3\",\"@vitest/coverage-istanbul\":\"^2.0.3\",\"cross-env\":\"7.0.3\",playwright:\"^1.45.2\",tsup:\"8.1.0\",typescript:\"5.0.4\",vitest:\"^2.0.3\"},publishConfig:{access:\"public\"}};var On=(()=>{var s=typeof document<\"u\"?document.currentScript?.src:void 0;return function(n={}){var r=n,c,_,$=new Promise((e,t)=>{c=e,_=t;}),U=Object.assign({},r),V=\"./this.program\",j=\"\";typeof document<\"u\"&&document.currentScript&&(j=document.currentScript.src),s&&(j=s),j.startsWith(\"blob:\")?j=\"\":j=j.substr(0,j.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1);var Nt=r.print||console.log.bind(console),Z=r.printErr||console.error.bind(console);Object.assign(r,U),U=null,r.thisProgram&&(V=r.thisProgram);var ne;r.wasmBinary&&(ne=r.wasmBinary);var ve,at=!1,Y,b,Q,re,P,L,ot,it;function st(){var e=ve.buffer;r.HEAP8=Y=new Int8Array(e),r.HEAP16=Q=new Int16Array(e),r.HEAPU8=b=new Uint8Array(e),r.HEAPU16=re=new Uint16Array(e),r.HEAP32=P=new Int32Array(e),r.HEAPU32=L=new Uint32Array(e),r.HEAPF32=ot=new Float32Array(e),r.HEAPF64=it=new Float64Array(e);}var lt=[],dt=[],ct=[];function Vt(){var e=r.preRun.shift();lt.unshift(e);}var J=0,ae=null;function ye(e){throw r.onAbort?.(e),e=\"Aborted(\"+e+\")\",Z(e),at=!0,e=new WebAssembly.RuntimeError(e+\". Build with -sASSERTIONS for more info.\"),_(e),e}var ut=e=>e.startsWith(\"data:application/octet-stream;base64,\"),q;if(q=\"DotLottiePlayer.wasm\",!ut(q)){var ht=q;q=r.locateFile?r.locateFile(ht,j):j+ht;}function pt(e){if(e==q&&ne)return new Uint8Array(ne);throw \"both async and sync fetching of the wasm failed\"}function Yt(e){return ne||typeof fetch!=\"function\"?Promise.resolve().then(()=>pt(e)):fetch(e,{credentials:\"same-origin\"}).then(t=>{if(!t.ok)throw `failed to load wasm binary file at '${e}'`;return t.arrayBuffer()}).catch(()=>pt(e))}function ft(e,t,a){return Yt(e).then(o=>WebAssembly.instantiate(o,t)).then(a,o=>{Z(`failed to asynchronously prepare wasm: ${o}`),ye(o);})}function Jt(e,t){var a=q;return ne||typeof WebAssembly.instantiateStreaming!=\"function\"||ut(a)||typeof fetch!=\"function\"?ft(a,e,t):fetch(a,{credentials:\"same-origin\"}).then(o=>WebAssembly.instantiateStreaming(o,e).then(t,function(i){return Z(`wasm streaming compile failed: ${i}`),Z(\"falling back to ArrayBuffer instantiation\"),ft(a,e,t)}))}var Te=e=>{for(;0<e.length;)e.shift()(r);},mt=typeof TextDecoder<\"u\"?new TextDecoder(\"utf8\"):void 0,G=(e,t,a)=>{var o=t+a;for(a=t;e[a]&&!(a>=o);)++a;if(16<a-t&&e.buffer&&mt)return mt.decode(e.subarray(t,a));for(o=\"\";t<a;){var i=e[t++];if(i&128){var l=e[t++]&63;if((i&224)==192)o+=String.fromCharCode((i&31)<<6|l);else {var h=e[t++]&63;i=(i&240)==224?(i&15)<<12|l<<6|h:(i&7)<<18|l<<12|h<<6|e[t++]&63,65536>i?o+=String.fromCharCode(i):(i-=65536,o+=String.fromCharCode(55296|i>>10,56320|i&1023));}}else o+=String.fromCharCode(i);}return o};class Gt{constructor(t){this.ya=t-24;}}var vt=0,yt=e=>{for(var t=0,a=0;a<e.length;++a){var o=e.charCodeAt(a);127>=o?t++:2047>=o?t+=2:55296<=o&&57343>=o?(t+=4,++a):t+=3;}return t},gt=(e,t,a,o)=>{if(0<o){o=a+o-1;for(var i=0;i<e.length;++i){var l=e.charCodeAt(i);if(55296<=l&&57343>=l){var h=e.charCodeAt(++i);l=65536+((l&1023)<<10)|h&1023;}if(127>=l){if(a>=o)break;t[a++]=l;}else {if(2047>=l){if(a+1>=o)break;t[a++]=192|l>>6;}else {if(65535>=l){if(a+2>=o)break;t[a++]=224|l>>12;}else {if(a+3>=o)break;t[a++]=240|l>>18,t[a++]=128|l>>12&63;}t[a++]=128|l>>6&63;}t[a++]=128|l&63;}}t[a]=0;}},ge={},Se=e=>{for(;e.length;){var t=e.pop();e.pop()(t);}};function oe(e){return this.fromWireType(L[e>>2])}var ee={},K={},we={},ie,H=(e,t,a)=>{function o(u){if(u=a(u),u.length!==e.length)throw new ie(\"Mismatched type converter count\");for(var f=0;f<e.length;++f)k(e[f],u[f]);}e.forEach(function(u){we[u]=t;});var i=Array(t.length),l=[],h=0;t.forEach((u,f)=>{K.hasOwnProperty(u)?i[f]=K[u]:(l.push(u),ee.hasOwnProperty(u)||(ee[u]=[]),ee[u].push(()=>{i[f]=K[u],++h,h===l.length&&o(i);}));}),l.length===0&&o(i);},wt,A=e=>{for(var t=\"\";b[e];)t+=wt[b[e++]];return t},g;function Xt(e,t,a={}){var o=t.name;if(!e)throw new g(`type \"${o}\" must have a positive integer typeid pointer`);if(K.hasOwnProperty(e)){if(a.ib)return;throw new g(`Cannot register type '${o}' twice`)}K[e]=t,delete we[e],ee.hasOwnProperty(e)&&(t=ee[e],delete ee[e],t.forEach(i=>i()));}function k(e,t,a={}){if(!(\"argPackAdvance\"in t))throw new TypeError(\"registerType registeredInstance requires argPackAdvance\");return Xt(e,t,a)}var Re=e=>{throw new g(e.ma.za.xa.name+\" instance already deleted\")},$e=!1,_t=()=>{},Et=(e,t,a)=>t===a?e:a.Ca===void 0?null:(e=Et(e,t,a.Ca),e===null?null:a.ab(e)),Ct={},se=[],ke=()=>{for(;se.length;){var e=se.pop();e.ma.Ka=!1,e.delete();}},le,de={},Zt=(e,t)=>{if(t===void 0)throw new g(\"ptr should not be undefined\");for(;e.Ca;)t=e.Na(t),e=e.Ca;return de[t]},_e=(e,t)=>{if(!t.za||!t.ya)throw new ie(\"makeClassHandle requires ptr and ptrType\");if(!!t.Da!=!!t.Aa)throw new ie(\"Both smartPtrType and smartPtr must be specified\");return t.count={value:1},ce(Object.create(e,{ma:{value:t,writable:!0}}))},ce=e=>typeof FinalizationRegistry>\"u\"?(ce=t=>t,e):($e=new FinalizationRegistry(t=>{t=t.ma,--t.count.value,t.count.value===0&&(t.Aa?t.Da.Fa(t.Aa):t.za.xa.Fa(t.ya));}),ce=t=>{var a=t.ma;return a.Aa&&$e.register(t,{ma:a},t),t},_t=t=>{$e.unregister(t);},ce(e));function Ee(){}var ue=(e,t)=>Object.defineProperty(t,\"name\",{value:e}),Mt=(e,t,a)=>{if(e[t].Ba===void 0){var o=e[t];e[t]=function(...i){if(!e[t].Ba.hasOwnProperty(i.length))throw new g(`Function '${a}' called with an invalid number of arguments (${i.length}) - expects one of (${e[t].Ba})!`);return e[t].Ba[i.length].apply(this,i)},e[t].Ba=[],e[t].Ba[o.Oa]=o;}},De=(e,t,a)=>{if(r.hasOwnProperty(e)){if(a===void 0||r[e].Ba!==void 0&&r[e].Ba[a]!==void 0)throw new g(`Cannot register public name '${e}' twice`);if(Mt(r,e,e),r.hasOwnProperty(a))throw new g(`Cannot register multiple overloads of a function with the same number of arguments (${a})!`);r[e].Ba[a]=t;}else r[e]=t,a!==void 0&&(r[e].vb=a);},Qt=e=>{if(e===void 0)return \"_unknown\";e=e.replace(/[^a-zA-Z0-9_]/g,\"$\");var t=e.charCodeAt(0);return 48<=t&&57>=t?`_${e}`:e};function qt(e,t,a,o,i,l,h,u){this.name=e,this.constructor=t,this.La=a,this.Fa=o,this.Ca=i,this.cb=l,this.Na=h,this.ab=u,this.kb=[];}var Oe=(e,t,a)=>{for(;t!==a;){if(!t.Na)throw new g(`Expected null or instance of ${a.name}, got an instance of ${t.name}`);e=t.Na(e),t=t.Ca;}return e};function en(e,t){if(t===null){if(this.Ta)throw new g(`null is not a valid ${this.name}`);return 0}if(!t.ma)throw new g(`Cannot pass \"${Ne(t)}\" as a ${this.name}`);if(!t.ma.ya)throw new g(`Cannot pass deleted object as a pointer of type ${this.name}`);return Oe(t.ma.ya,t.ma.za.xa,this.xa)}function tn(e,t){if(t===null){if(this.Ta)throw new g(`null is not a valid ${this.name}`);if(this.Qa){var a=this.Ua();return e!==null&&e.push(this.Fa,a),a}return 0}if(!t||!t.ma)throw new g(`Cannot pass \"${Ne(t)}\" as a ${this.name}`);if(!t.ma.ya)throw new g(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.Pa&&t.ma.za.Pa)throw new g(`Cannot convert argument of type ${t.ma.Da?t.ma.Da.name:t.ma.za.name} to parameter type ${this.name}`);if(a=Oe(t.ma.ya,t.ma.za.xa,this.xa),this.Qa){if(t.ma.Aa===void 0)throw new g(\"Passing raw pointer to smart pointer is illegal\");switch(this.pb){case 0:if(t.ma.Da===this)a=t.ma.Aa;else throw new g(`Cannot convert argument of type ${t.ma.Da?t.ma.Da.name:t.ma.za.name} to parameter type ${this.name}`);break;case 1:a=t.ma.Aa;break;case 2:if(t.ma.Da===this)a=t.ma.Aa;else {var o=t.clone();a=this.lb(a,Me(()=>o.delete())),e!==null&&e.push(this.Fa,a);}break;default:throw new g(\"Unsupporting sharing policy\")}}return a}function nn(e,t){if(t===null){if(this.Ta)throw new g(`null is not a valid ${this.name}`);return 0}if(!t.ma)throw new g(`Cannot pass \"${Ne(t)}\" as a ${this.name}`);if(!t.ma.ya)throw new g(`Cannot pass deleted object as a pointer of type ${this.name}`);if(t.ma.za.Pa)throw new g(`Cannot convert argument of type ${t.ma.za.name} to parameter type ${this.name}`);return Oe(t.ma.ya,t.ma.za.xa,this.xa)}function he(e,t,a,o,i,l,h,u,f,p,m){this.name=e,this.xa=t,this.Ta=a,this.Pa=o,this.Qa=i,this.jb=l,this.pb=h,this.Za=u,this.Ua=f,this.lb=p,this.Fa=m,i||t.Ca!==void 0?this.toWireType=tn:(this.toWireType=o?en:nn,this.Ea=null);}var Lt=(e,t,a)=>{if(!r.hasOwnProperty(e))throw new ie(\"Replacing nonexistent public symbol\");r[e].Ba!==void 0&&a!==void 0?r[e].Ba[a]=t:(r[e]=t,r[e].Oa=a);},R,rn=(e,t,a=[])=>(e.includes(\"j\")?(e=e.replace(/p/g,\"i\"),t=(0, r[\"dynCall_\"+e])(t,...a)):t=R.get(t)(...a),t),an=(e,t)=>(...a)=>rn(e,t,a),T=(e,t)=>{e=A(e);var a=e.includes(\"j\")?an(e,t):R.get(t);if(typeof a!=\"function\")throw new g(`unknown function pointer with signature ${e}: ${t}`);return a},bt,Ft=e=>{e=kt(e);var t=A(e);return W(e),t},Ce=(e,t)=>{function a(l){i[l]||K[l]||(we[l]?we[l].forEach(a):(o.push(l),i[l]=!0));}var o=[],i={};throw t.forEach(a),new bt(`${e}: `+o.map(Ft).join([\", \"]))},ze=(e,t)=>{for(var a=[],o=0;o<e;o++)a.push(L[t+4*o>>2]);return a};function on(e){for(var t=1;t<e.length;++t)if(e[t]!==null&&e[t].Ea===void 0)return !0;return !1}function je(e,t,a,o,i){var l=t.length;if(2>l)throw new g(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");var h=t[1]!==null&&a!==null,u=on(t),f=t[0].name!==\"void\",p=l-2,m=Array(p),w=[],C=[];return ue(e,function(...d){if(d.length!==p)throw new g(`function ${e} called with ${d.length} arguments, expected ${p}`);if(C.length=0,w.length=h?2:1,w[0]=i,h){var v=t[1].toWireType(C,this);w[1]=v;}for(var y=0;y<p;++y)m[y]=t[y+2].toWireType(C,d[y]),w.push(m[y]);if(d=o(...w),u)Se(C);else for(y=h?1:2;y<t.length;y++){var x=y===1?v:m[y-2];t[y].Ea!==null&&t[y].Ea(x);}return v=f?t[0].fromWireType(d):void 0,v})}var It=e=>{e=e.trim();let t=e.indexOf(\"(\");return t!==-1?e.substr(0,t):e},Be=[],B=[],We=e=>{9<e&&--B[e+1]===0&&(B[e]=void 0,Be.push(e));},Ue=e=>{if(!e)throw new g(\"Cannot use deleted val. handle = \"+e);return B[e]},Me=e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:let t=Be.pop()||B.length;return B[t]=e,B[t+1]=1,t}},xt={name:\"emscripten::val\",fromWireType:e=>{var t=Ue(e);return We(e),t},toWireType:(e,t)=>Me(t),argPackAdvance:8,readValueFromPointer:oe,Ea:null},sn=(e,t,a)=>{switch(t){case 1:return a?function(o){return this.fromWireType(Y[o])}:function(o){return this.fromWireType(b[o])};case 2:return a?function(o){return this.fromWireType(Q[o>>1])}:function(o){return this.fromWireType(re[o>>1])};case 4:return a?function(o){return this.fromWireType(P[o>>2])}:function(o){return this.fromWireType(L[o>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},He=(e,t)=>{var a=K[e];if(a===void 0)throw e=`${t} has unknown type ${Ft(e)}`,new g(e);return a},Ne=e=>{if(e===null)return \"null\";var t=typeof e;return t===\"object\"||t===\"array\"||t===\"function\"?e.toString():\"\"+e},ln=(e,t)=>{switch(t){case 4:return function(a){return this.fromWireType(ot[a>>2])};case 8:return function(a){return this.fromWireType(it[a>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},dn=(e,t,a)=>{switch(t){case 1:return a?o=>Y[o]:o=>b[o];case 2:return a?o=>Q[o>>1]:o=>re[o>>1];case 4:return a?o=>P[o>>2]:o=>L[o>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},At=typeof TextDecoder<\"u\"?new TextDecoder(\"utf-16le\"):void 0,cn=(e,t)=>{for(var a=e>>1,o=a+t/2;!(a>=o)&&re[a];)++a;if(a<<=1,32<a-e&&At)return At.decode(b.subarray(e,a));for(a=\"\",o=0;!(o>=t/2);++o){var i=Q[e+2*o>>1];if(i==0)break;a+=String.fromCharCode(i);}return a},un=(e,t,a)=>{if(a??(a=2147483647),2>a)return 0;a-=2;var o=t;a=a<2*e.length?a/2:e.length;for(var i=0;i<a;++i)Q[t>>1]=e.charCodeAt(i),t+=2;return Q[t>>1]=0,t-o},hn=e=>2*e.length,pn=(e,t)=>{for(var a=0,o=\"\";!(a>=t/4);){var i=P[e+4*a>>2];if(i==0)break;++a,65536<=i?(i-=65536,o+=String.fromCharCode(55296|i>>10,56320|i&1023)):o+=String.fromCharCode(i);}return o},fn=(e,t,a)=>{if(a??(a=2147483647),4>a)return 0;var o=t;a=o+a-4;for(var i=0;i<e.length;++i){var l=e.charCodeAt(i);if(55296<=l&&57343>=l){var h=e.charCodeAt(++i);l=65536+((l&1023)<<10)|h&1023;}if(P[t>>2]=l,t+=4,t+4>a)break}return P[t>>2]=0,t-o},mn=e=>{for(var t=0,a=0;a<e.length;++a){var o=e.charCodeAt(a);55296<=o&&57343>=o&&++a,t+=4;}return t},Ve=[],vn=e=>{var t=Ve.length;return Ve.push(e),t},yn=(e,t)=>{for(var a=Array(e),o=0;o<e;++o)a[o]=He(L[t+4*o>>2],\"parameter \"+o);return a},gn=Reflect.construct,Ye={},Pt=()=>{if(!Je){var e={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:V||\"./this.program\"},t;for(t in Ye)Ye[t]===void 0?delete e[t]:e[t]=Ye[t];var a=[];for(t in e)a.push(`${t}=${e[t]}`);Je=a;}return Je},Je,wn=[null,[],[]],_n=()=>{if(typeof crypto==\"object\"&&typeof crypto.getRandomValues==\"function\")return e=>crypto.getRandomValues(e);ye(\"initRandomDevice\");},Tt=e=>(Tt=_n())(e),Le=e=>e%4===0&&(e%100!==0||e%400===0),St=[31,29,31,30,31,30,31,31,30,31,30,31],Rt=[31,28,31,30,31,30,31,31,30,31,30,31];function En(e){var t=Array(yt(e)+1);return gt(e,t,0,t.length),t}var Cn=(e,t,a,o)=>{function i(d,v,y){for(d=typeof d==\"number\"?d.toString():d||\"\";d.length<v;)d=y[0]+d;return d}function l(d,v){return i(d,v,\"0\")}function h(d,v){function y(N){return 0>N?-1:0<N?1:0}var x;return (x=y(d.getFullYear()-v.getFullYear()))===0&&(x=y(d.getMonth()-v.getMonth()))===0&&(x=y(d.getDate()-v.getDate())),x}function u(d){switch(d.getDay()){case 0:return new Date(d.getFullYear()-1,11,29);case 1:return d;case 2:return new Date(d.getFullYear(),0,3);case 3:return new Date(d.getFullYear(),0,2);case 4:return new Date(d.getFullYear(),0,1);case 5:return new Date(d.getFullYear()-1,11,31);case 6:return new Date(d.getFullYear()-1,11,30)}}function f(d){var v=d.Ia;for(d=new Date(new Date(d.Ja+1900,0,1).getTime());0<v;){var y=d.getMonth(),x=(Le(d.getFullYear())?St:Rt)[y];if(v>x-d.getDate())v-=x-d.getDate()+1,d.setDate(1),11>y?d.setMonth(y+1):(d.setMonth(0),d.setFullYear(d.getFullYear()+1));else {d.setDate(d.getDate()+v);break}}return y=new Date(d.getFullYear()+1,0,4),v=u(new Date(d.getFullYear(),0,4)),y=u(y),0>=h(v,d)?0>=h(y,d)?d.getFullYear()+1:d.getFullYear():d.getFullYear()-1}var p=L[o+40>>2];o={sb:P[o>>2],rb:P[o+4>>2],Ra:P[o+8>>2],Va:P[o+12>>2],Sa:P[o+16>>2],Ja:P[o+20>>2],Ga:P[o+24>>2],Ia:P[o+28>>2],wb:P[o+32>>2],qb:P[o+36>>2],tb:p&&p?G(b,p):\"\"},a=a?G(b,a):\"\",p={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var m in p)a=a.replace(new RegExp(m,\"g\"),p[m]);var w=\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),C=\"January February March April May June July August September October November December\".split(\" \");p={\"%a\":d=>w[d.Ga].substring(0,3),\"%A\":d=>w[d.Ga],\"%b\":d=>C[d.Sa].substring(0,3),\"%B\":d=>C[d.Sa],\"%C\":d=>l((d.Ja+1900)/100|0,2),\"%d\":d=>l(d.Va,2),\"%e\":d=>i(d.Va,2,\" \"),\"%g\":d=>f(d).toString().substring(2),\"%G\":f,\"%H\":d=>l(d.Ra,2),\"%I\":d=>(d=d.Ra,d==0?d=12:12<d&&(d-=12),l(d,2)),\"%j\":d=>{for(var v=0,y=0;y<=d.Sa-1;v+=(Le(d.Ja+1900)?St:Rt)[y++]);return l(d.Va+v,3)},\"%m\":d=>l(d.Sa+1,2),\"%M\":d=>l(d.rb,2),\"%n\":()=>`\n`,\"%p\":d=>0<=d.Ra&&12>d.Ra?\"AM\":\"PM\",\"%S\":d=>l(d.sb,2),\"%t\":()=>\"\t\",\"%u\":d=>d.Ga||7,\"%U\":d=>l(Math.floor((d.Ia+7-d.Ga)/7),2),\"%V\":d=>{var v=Math.floor((d.Ia+7-(d.Ga+6)%7)/7);if(2>=(d.Ga+371-d.Ia-2)%7&&v++,v)v==53&&(y=(d.Ga+371-d.Ia)%7,y==4||y==3&&Le(d.Ja)||(v=1));else {v=52;var y=(d.Ga+7-d.Ia-1)%7;(y==4||y==5&&Le(d.Ja%400-1))&&v++;}return l(v,2)},\"%w\":d=>d.Ga,\"%W\":d=>l(Math.floor((d.Ia+7-(d.Ga+6)%7)/7),2),\"%y\":d=>(d.Ja+1900).toString().substring(2),\"%Y\":d=>d.Ja+1900,\"%z\":d=>{d=d.qb;var v=0<=d;return d=Math.abs(d)/60,(v?\"+\":\"-\")+(\"0000\"+(d/60*100+d%60)).slice(-4)},\"%Z\":d=>d.tb,\"%%\":()=>\"%\"},a=a.replace(/%%/g,\"\\0\\0\");for(m in p)a.includes(m)&&(a=a.replace(new RegExp(m,\"g\"),p[m](o)));return a=a.replace(/\\0\\0/g,\"%\"),m=En(a),m.length>t?0:(Y.set(m,e),m.length-1)};ie=r.InternalError=class extends Error{constructor(e){super(e),this.name=\"InternalError\";}};for(var $t=Array(256),be=0;256>be;++be)$t[be]=String.fromCharCode(be);wt=$t,g=r.BindingError=class extends Error{constructor(e){super(e),this.name=\"BindingError\";}},Object.assign(Ee.prototype,{isAliasOf:function(e){if(!(this instanceof Ee&&e instanceof Ee))return !1;var t=this.ma.za.xa,a=this.ma.ya;e.ma=e.ma;var o=e.ma.za.xa;for(e=e.ma.ya;t.Ca;)a=t.Na(a),t=t.Ca;for(;o.Ca;)e=o.Na(e),o=o.Ca;return t===o&&a===e},clone:function(){if(this.ma.ya||Re(this),this.ma.Ma)return this.ma.count.value+=1,this;var e=ce,t=Object,a=t.create,o=Object.getPrototypeOf(this),i=this.ma;return e=e(a.call(t,o,{ma:{value:{count:i.count,Ka:i.Ka,Ma:i.Ma,ya:i.ya,za:i.za,Aa:i.Aa,Da:i.Da}}})),e.ma.count.value+=1,e.ma.Ka=!1,e},delete(){if(this.ma.ya||Re(this),this.ma.Ka&&!this.ma.Ma)throw new g(\"Object already scheduled for deletion\");_t(this);var e=this.ma;--e.count.value,e.count.value===0&&(e.Aa?e.Da.Fa(e.Aa):e.za.xa.Fa(e.ya)),this.ma.Ma||(this.ma.Aa=void 0,this.ma.ya=void 0);},isDeleted:function(){return !this.ma.ya},deleteLater:function(){if(this.ma.ya||Re(this),this.ma.Ka&&!this.ma.Ma)throw new g(\"Object already scheduled for deletion\");return se.push(this),se.length===1&&le&&le(ke),this.ma.Ka=!0,this}}),r.getInheritedInstanceCount=()=>Object.keys(de).length,r.getLiveInheritedInstances=()=>{var e=[],t;for(t in de)de.hasOwnProperty(t)&&e.push(de[t]);return e},r.flushPendingDeletes=ke,r.setDelayFunction=e=>{le=e,se.length&&le&&le(ke);},Object.assign(he.prototype,{eb(e){return this.Za&&(e=this.Za(e)),e},Xa(e){this.Fa?.(e);},argPackAdvance:8,readValueFromPointer:oe,fromWireType:function(e){function t(){return this.Qa?_e(this.xa.La,{za:this.jb,ya:a,Da:this,Aa:e}):_e(this.xa.La,{za:this,ya:e})}var a=this.eb(e);if(!a)return this.Xa(e),null;var o=Zt(this.xa,a);if(o!==void 0)return o.ma.count.value===0?(o.ma.ya=a,o.ma.Aa=e,o.clone()):(o=o.clone(),this.Xa(e),o);if(o=this.xa.cb(a),o=Ct[o],!o)return t.call(this);o=this.Pa?o.$a:o.pointerType;var i=Et(a,this.xa,o.xa);return i===null?t.call(this):this.Qa?_e(o.xa.La,{za:o,ya:i,Da:this,Aa:e}):_e(o.xa.La,{za:o,ya:i})}}),bt=r.UnboundTypeError=((e,t)=>{var a=ue(t,function(o){this.name=t,this.message=o,o=Error(o).stack,o!==void 0&&(this.stack=this.toString()+`\n`+o.replace(/^Error(:[^\\n]*)?\\n/,\"\"));});return a.prototype=Object.create(e.prototype),a.prototype.constructor=a,a.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},a})(Error,\"UnboundTypeError\"),B.push(0,1,void 0,1,null,1,!0,1,!1,1),r.count_emval_handles=()=>B.length/2-5-Be.length;var Mn={c:(e,t,a,o)=>{ye(`Assertion failed: ${e?G(b,e):\"\"}, at: `+[t?t?G(b,t):\"\":\"unknown filename\",a,o?o?G(b,o):\"\":\"unknown function\"]);},m:(e,t,a)=>{var o=new Gt(e);throw L[o.ya+16>>2]=0,L[o.ya+4>>2]=t,L[o.ya+8>>2]=a,vt=e,vt},B:function(){return 0},P:()=>{},M:()=>{},R:function(){return 0},N:()=>{},A:function(){},O:()=>{},v:e=>{var t=ge[e];delete ge[e];var a=t.Ua,o=t.Fa,i=t.Ya,l=i.map(h=>h.hb).concat(i.map(h=>h.nb));H([e],l,h=>{var u={};return i.forEach((f,p)=>{var m=h[p],w=f.fb,C=f.gb,d=h[p+i.length],v=f.mb,y=f.ob;u[f.bb]={read:x=>m.fromWireType(w(C,x)),write:(x,N)=>{var S=[];v(y,x,d.toWireType(S,N)),Se(S);}};}),[{name:t.name,fromWireType:f=>{var p={},m;for(m in u)p[m]=u[m].read(f);return o(f),p},toWireType:(f,p)=>{for(var m in u)if(!(m in p))throw new TypeError(`Missing field: \"${m}\"`);var w=a();for(m in u)u[m].write(w,p[m]);return f!==null&&f.push(o,w),w},argPackAdvance:8,readValueFromPointer:oe,Ea:o}]});},I:()=>{},Y:(e,t,a,o)=>{t=A(t),k(e,{name:t,fromWireType:function(i){return !!i},toWireType:function(i,l){return l?a:o},argPackAdvance:8,readValueFromPointer:function(i){return this.fromWireType(b[i])},Ea:null});},r:(e,t,a,o,i,l,h,u,f,p,m,w,C)=>{m=A(m),l=T(i,l),u&&(u=T(h,u)),p&&(p=T(f,p)),C=T(w,C);var d=Qt(m);De(d,function(){Ce(`Cannot construct ${m} due to unbound types`,[o]);}),H([e,t,a],o?[o]:[],v=>{if(v=v[0],o)var y=v.xa,x=y.La;else x=Ee.prototype;v=ue(m,function(...Ke){if(Object.getPrototypeOf(this)!==N)throw new g(\"Use 'new' to construct \"+m);if(S.Ha===void 0)throw new g(m+\" has no accessible constructor\");var zt=S.Ha[Ke.length];if(zt===void 0)throw new g(`Tried to invoke ctor of ${m} with invalid number of parameters (${Ke.length}) - expected (${Object.keys(S.Ha).toString()}) parameters instead!`);return zt.apply(this,Ke)});var N=Object.create(x,{constructor:{value:v}});v.prototype=N;var S=new qt(m,v,N,C,y,l,u,p);if(S.Ca){var pe;(pe=S.Ca).Wa??(pe.Wa=[]),S.Ca.Wa.push(S);}return y=new he(m,S,!0,!1,!1),pe=new he(m+\"*\",S,!1,!1,!1),x=new he(m+\" const*\",S,!1,!0,!1),Ct[e]={pointerType:pe,$a:x},Lt(d,v),[y,pe,x]});},q:(e,t,a,o,i,l)=>{var h=ze(t,a);i=T(o,i),H([],[e],u=>{u=u[0];var f=`constructor ${u.name}`;if(u.xa.Ha===void 0&&(u.xa.Ha=[]),u.xa.Ha[t-1]!==void 0)throw new g(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${u.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return u.xa.Ha[t-1]=()=>{Ce(`Cannot construct ${u.name} due to unbound types`,h);},H([],h,p=>(p.splice(1,0,null),u.xa.Ha[t-1]=je(f,p,null,i,l),[])),[]});},f:(e,t,a,o,i,l,h,u)=>{var f=ze(a,o);t=A(t),t=It(t),l=T(i,l),H([],[e],p=>{function m(){Ce(`Cannot call ${w} due to unbound types`,f);}p=p[0];var w=`${p.name}.${t}`;t.startsWith(\"@@\")&&(t=Symbol[t.substring(2)]),u&&p.xa.kb.push(t);var C=p.xa.La,d=C[t];return d===void 0||d.Ba===void 0&&d.className!==p.name&&d.Oa===a-2?(m.Oa=a-2,m.className=p.name,C[t]=m):(Mt(C,t,w),C[t].Ba[a-2]=m),H([],f,v=>(v=je(w,v,p,l,h),C[t].Ba===void 0?(v.Oa=a-2,C[t]=v):C[t].Ba[a-2]=v,[])),[]});},X:e=>k(e,xt),x:(e,t,a,o)=>{function i(){}t=A(t),i.values={},k(e,{name:t,constructor:i,fromWireType:function(l){return this.constructor.values[l]},toWireType:(l,h)=>h.value,argPackAdvance:8,readValueFromPointer:sn(t,a,o),Ea:null}),De(t,i);},k:(e,t,a)=>{var o=He(e,\"enum\");t=A(t),e=o.constructor,o=Object.create(o.constructor.prototype,{value:{value:a},constructor:{value:ue(`${o.name}_${t}`,function(){})}}),e.values[a]=o,e[t]=o;},C:(e,t,a)=>{t=A(t),k(e,{name:t,fromWireType:o=>o,toWireType:(o,i)=>i,argPackAdvance:8,readValueFromPointer:ln(t,a),Ea:null});},E:(e,t,a,o,i,l)=>{var h=ze(t,a);e=A(e),e=It(e),i=T(o,i),De(e,function(){Ce(`Cannot call ${e} due to unbound types`,h);},t-1),H([],h,u=>(Lt(e,je(e,[u[0],null].concat(u.slice(1)),null,i,l),t-1),[]));},l:(e,t,a,o,i)=>{if(t=A(t),i===-1&&(i=4294967295),i=u=>u,o===0){var l=32-8*a;i=u=>u<<l>>>l;}var h=t.includes(\"unsigned\")?function(u,f){return f>>>0}:function(u,f){return f};k(e,{name:t,fromWireType:i,toWireType:h,argPackAdvance:8,readValueFromPointer:dn(t,a,o!==0),Ea:null});},g:(e,t,a)=>{function o(l){return new i(Y.buffer,L[l+4>>2],L[l>>2])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];a=A(a),k(e,{name:a,fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ib:!0});},w:e=>{k(e,xt);},ca:(e,t,a,o,i,l,h,u,f,p,m,w)=>{a=A(a),l=T(i,l),u=T(h,u),p=T(f,p),w=T(m,w),H([e],[t],C=>(C=C[0],[new he(a,C.xa,!1,!1,!0,C,o,l,u,p,w)]));},D:(e,t)=>{t=A(t);var a=t===\"std::string\";k(e,{name:t,fromWireType:function(o){var i=L[o>>2],l=o+4;if(a)for(var h=l,u=0;u<=i;++u){var f=l+u;if(u==i||b[f]==0){if(h=h?G(b,h,f-h):\"\",p===void 0)var p=h;else p+=\"\\0\",p+=h;h=f+1;}}else {for(p=Array(i),u=0;u<i;++u)p[u]=String.fromCharCode(b[l+u]);p=p.join(\"\");}return W(o),p},toWireType:function(o,i){i instanceof ArrayBuffer&&(i=new Uint8Array(i));var l=typeof i==\"string\";if(!(l||i instanceof Uint8Array||i instanceof Uint8ClampedArray||i instanceof Int8Array))throw new g(\"Cannot pass non-string to std::string\");var h=a&&l?yt(i):i.length,u=Ge(4+h+1),f=u+4;if(L[u>>2]=h,a&&l)gt(i,b,f,h+1);else if(l)for(l=0;l<h;++l){var p=i.charCodeAt(l);if(255<p)throw W(f),new g(\"String has UTF-16 code units that do not fit in 8 bits\");b[f+l]=p;}else for(l=0;l<h;++l)b[f+l]=i[l];return o!==null&&o.push(W,u),u},argPackAdvance:8,readValueFromPointer:oe,Ea(o){W(o);}});},u:(e,t,a)=>{if(a=A(a),t===2)var o=cn,i=un,l=hn,h=u=>re[u>>1];else t===4&&(o=pn,i=fn,l=mn,h=u=>L[u>>2]);k(e,{name:a,fromWireType:u=>{for(var f=L[u>>2],p,m=u+4,w=0;w<=f;++w){var C=u+4+w*t;(w==f||h(C)==0)&&(m=o(m,C-m),p===void 0?p=m:(p+=\"\\0\",p+=m),m=C+t);}return W(u),p},toWireType:(u,f)=>{if(typeof f!=\"string\")throw new g(`Cannot pass non-string to C++ string type ${a}`);var p=l(f),m=Ge(4+p+t);return L[m>>2]=p/t,i(f,m+4,p+t),u!==null&&u.push(W,m),m},argPackAdvance:8,readValueFromPointer:oe,Ea(u){W(u);}});},s:(e,t,a,o,i,l)=>{ge[e]={name:A(t),Ua:T(a,o),Fa:T(i,l),Ya:[]};},j:(e,t,a,o,i,l,h,u,f,p)=>{ge[e].Ya.push({bb:A(t),hb:a,fb:T(o,i),gb:l,nb:h,mb:T(u,f),ob:p});},Z:(e,t)=>{t=A(t),k(e,{ub:!0,name:t,argPackAdvance:0,fromWireType:()=>{},toWireType:()=>{}});},J:()=>{throw 1/0},aa:(e,t,a,o)=>(e=Ve[e],t=Ue(t),e(null,t,a,o)),F:We,$:(e,t,a)=>{var o=yn(e,t),i=o.shift();e--;var l=Array(e);return t=`methodCaller<(${o.map(h=>h.name).join(\", \")}) => ${i.name}>`,vn(ue(t,(h,u,f,p)=>{for(var m=0,w=0;w<e;++w)l[w]=o[w].readValueFromPointer(p+m),m+=o[w].argPackAdvance;return u=a===1?gn(u,l):u.apply(h,l),h=[],u=i.toWireType(h,u),h.length&&(L[f>>2]=Me(h)),u}))},ba:e=>{9<e&&(B[e+1]+=1);},_:e=>{var t=Ue(e);Se(t),We(e);},o:(e,t)=>(e=He(e,\"_emval_take_value\"),e=e.readValueFromPointer(t),Me(e)),W:()=>{ye(\"\");},V:()=>performance.now(),L:e=>{var t=b.length;if(e>>>=0,2147483648<e)return !1;for(var a=1;4>=a;a*=2){var o=t*(1+.2/a);o=Math.min(o,e+100663296);var i=Math;o=Math.max(e,o);e:{i=(i.min.call(i,2147483648,o+(65536-o%65536)%65536)-ve.buffer.byteLength+65535)/65536;try{ve.grow(i),st();var l=1;break e}catch{}l=void 0;}if(l)return !0}return !1},S:(e,t)=>{var a=0;return Pt().forEach((o,i)=>{var l=t+a;for(i=L[e+4*i>>2]=l,l=0;l<o.length;++l)Y[i++]=o.charCodeAt(l);Y[i]=0,a+=o.length+1;}),0},T:(e,t)=>{var a=Pt();L[e>>2]=a.length;var o=0;return a.forEach(i=>o+=i.length+1),L[t>>2]=o,0},t:()=>52,z:()=>52,H:function(){return 70},Q:(e,t,a,o)=>{for(var i=0,l=0;l<a;l++){var h=L[t>>2],u=L[t+4>>2];t+=8;for(var f=0;f<u;f++){var p=b[h+f],m=wn[e];p===0||p===10?((e===1?Nt:Z)(G(m,0)),m.length=0):m.push(p);}i+=u;}return L[o>>2]=i,0},U:(e,t)=>(Tt(b.subarray(e,e+t)),0),i:xn,d:In,e:Fn,p:An,y:Sn,b:Ln,a:bn,h:Tn,n:Pn,G:Rn,K:(e,t,a,o)=>Cn(e,t,a,o)},F=function(){function e(a){return F=a.exports,ve=F.da,st(),R=F.ha,dt.unshift(F.ea),J--,r.monitorRunDependencies?.(J),J==0&&(ae&&(a=ae,ae=null,a())),F}var t={a:Mn};if(J++,r.monitorRunDependencies?.(J),r.instantiateWasm)try{return r.instantiateWasm(t,e)}catch(a){Z(`Module.instantiateWasm callback failed with error: ${a}`),_(a);}return Jt(t,function(a){e(a.instance);}).catch(_),{}}(),Ge=e=>(Ge=F.fa)(e),kt=e=>(kt=F.ga)(e),W=e=>(W=F.ia)(e),D=(e,t)=>(D=F.ja)(e,t),O=e=>(O=F.ka)(e),z=()=>(z=F.la)();r.dynCall_iijj=(e,t,a,o,i,l)=>(r.dynCall_iijj=F.na)(e,t,a,o,i,l),r.dynCall_vijj=(e,t,a,o,i,l)=>(r.dynCall_vijj=F.oa)(e,t,a,o,i,l),r.dynCall_jiii=(e,t,a,o)=>(r.dynCall_jiii=F.pa)(e,t,a,o),r.dynCall_jii=(e,t,a)=>(r.dynCall_jii=F.qa)(e,t,a);var Dt=r.dynCall_viiij=(e,t,a,o,i,l)=>(Dt=r.dynCall_viiij=F.ra)(e,t,a,o,i,l);r.dynCall_jiji=(e,t,a,o,i)=>(r.dynCall_jiji=F.sa)(e,t,a,o,i),r.dynCall_viijii=(e,t,a,o,i,l,h)=>(r.dynCall_viijii=F.ta)(e,t,a,o,i,l,h),r.dynCall_iiiiij=(e,t,a,o,i,l,h)=>(r.dynCall_iiiiij=F.ua)(e,t,a,o,i,l,h),r.dynCall_iiiiijj=(e,t,a,o,i,l,h,u,f)=>(r.dynCall_iiiiijj=F.va)(e,t,a,o,i,l,h,u,f),r.dynCall_iiiiiijj=(e,t,a,o,i,l,h,u,f,p)=>(r.dynCall_iiiiiijj=F.wa)(e,t,a,o,i,l,h,u,f,p);function Ln(e,t){var a=z();try{R.get(e)(t);}catch(o){if(O(a),o!==o+0)throw o;D(1,0);}}function bn(e,t,a){var o=z();try{R.get(e)(t,a);}catch(i){if(O(o),i!==i+0)throw i;D(1,0);}}function Fn(e,t,a,o){var i=z();try{return R.get(e)(t,a,o)}catch(l){if(O(i),l!==l+0)throw l;D(1,0);}}function In(e,t,a){var o=z();try{return R.get(e)(t,a)}catch(i){if(O(o),i!==i+0)throw i;D(1,0);}}function xn(e,t){var a=z();try{return R.get(e)(t)}catch(o){if(O(a),o!==o+0)throw o;D(1,0);}}function An(e,t,a,o,i,l){var h=z();try{return R.get(e)(t,a,o,i,l)}catch(u){if(O(h),u!==u+0)throw u;D(1,0);}}function Pn(e,t,a,o,i){var l=z();try{R.get(e)(t,a,o,i);}catch(h){if(O(l),h!==h+0)throw h;D(1,0);}}function Tn(e,t,a,o){var i=z();try{R.get(e)(t,a,o);}catch(l){if(O(i),l!==l+0)throw l;D(1,0);}}function Sn(e){var t=z();try{R.get(e)();}catch(a){if(O(t),a!==a+0)throw a;D(1,0);}}function Rn(e,t,a,o,i,l){var h=z();try{Dt(e,t,a,o,i,l);}catch(u){if(O(h),u!==u+0)throw u;D(1,0);}}var Fe;ae=function e(){Fe||Ot(),Fe||(ae=e);};function Ot(){function e(){if(!Fe&&(Fe=!0,r.calledRun=!0,!at)){if(Te(dt),c(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),r.postRun)for(typeof r.postRun==\"function\"&&(r.postRun=[r.postRun]);r.postRun.length;){var t=r.postRun.shift();ct.unshift(t);}Te(ct);}}if(!(0<J)){if(r.preRun)for(typeof r.preRun==\"function\"&&(r.preRun=[r.preRun]);r.preRun.length;)Vt();Te(lt),0<J||(r.setStatus?(r.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){r.setStatus(\"\");},1),e();},1)):e());}}if(r.preInit)for(typeof r.preInit==\"function\"&&(r.preInit=[r.preInit]);0<r.preInit.length;)r.preInit.pop()();return Ot(),$}})(),Bt=On;var X=class{constructor(){throw new Error(\"RendererLoader is a static class and cannot be instantiated.\")}static async _tryLoad(n){return await Bt({locateFile:()=>n})}static async _loadWithBackup(){return this._ModulePromise||(this._ModulePromise=this._tryLoad(this._wasmURL).catch(async n=>{let r=`https://unpkg.com/${fe.name}@${fe.version}/dist/dotlottie-player.wasm`;console.warn(`Primary WASM load failed from ${this._wasmURL}. Error: ${n.message}`),console.warn(`Attempting to load WASM from backup URL: ${r}`);try{return await this._tryLoad(r)}catch(c){throw console.error(`Primary WASM URL failed: ${n.message}`),console.error(`Backup WASM URL failed: ${c.message}`),new Error(\"WASM loading failed from all sources.\")}})),this._ModulePromise}static async load(){return this._loadWithBackup()}static setWasmUrl(n){this._wasmURL=n,this._ModulePromise=null;}};I(X,\"_ModulePromise\",null),I(X,\"_wasmURL\",`https://cdn.jsdelivr.net/npm/${fe.name}@${fe.version}/dist/dotlottie-player.wasm`);var Ae=class{constructor(){I(this,\"_eventListeners\",new Map);}addEventListener(n,r){let c=this._eventListeners.get(n);c||(c=new Set,this._eventListeners.set(n,c)),c.add(r);}removeEventListener(n,r){let c=this._eventListeners.get(n);c&&(r?(c.delete(r),c.size===0&&this._eventListeners.delete(n)):this._eventListeners.delete(n));}dispatch(n){this._eventListeners.get(n.type)?.forEach(c=>c(n));}removeAllEventListeners(){this._eventListeners.clear();}};function zn(s){return /^#([\\da-f]{6}|[\\da-f]{8})$/iu.test(s)}function Ut(s){if(!zn(s))return 0;let n=s.replace(\"#\",\"\");return n=n.length===6?`${n}ff`:n,parseInt(n,16)}function Qe(s){if(s.byteLength<4)return !1;let n=new Uint8Array(s.slice(0,xe.byteLength));for(let r=0;r<xe.length;r+=1)if(xe[r]!==n[r])return !1;return !0}function Wt(s){return jt.every(n=>Object.prototype.hasOwnProperty.call(s,n))}function qe(s){if(typeof s==\"string\")try{return Wt(JSON.parse(s))}catch{return !1}else return Wt(s)}var et=(s,n)=>s===\"reverse\"?n.Mode.Reverse:s===\"bounce\"?n.Mode.Bounce:s===\"reverse-bounce\"?n.Mode.ReverseBounce:n.Mode.Forward,tt=(s,n)=>s===\"contain\"?n.Fit.Contain:s===\"cover\"?n.Fit.Cover:s===\"fill\"?n.Fit.Fill:s===\"fit-height\"?n.Fit.FitHeight:s===\"fit-width\"?n.Fit.FitWidth:n.Fit.None,nt=(s,n)=>{let r=new n.VectorFloat;return r.push_back(s[0]),r.push_back(s[1]),r},rt=(s,n)=>{let r=new n.VectorFloat;return s.length!==2||(r.push_back(s[0]),r.push_back(s[1])),r},M=class M{constructor(n){I(this,\"_canvas\");I(this,\"_context\",null);I(this,\"_eventManager\");I(this,\"_animationFrameId\",null);I(this,\"_frameManager\");I(this,\"_dotLottieCore\",null);I(this,\"_renderConfig\",{});I(this,\"_isFrozen\",!1);I(this,\"_backgroundColor\",null);this._canvas=n.canvas,this._context=this._canvas.getContext(\"2d\"),this._eventManager=new Ae,this._frameManager=new Ie,this._renderConfig=n.renderConfig??{},X.load().then(r=>{M._wasmModule=r,this._dotLottieCore=new r.DotLottiePlayer({autoplay:n.autoplay??!1,backgroundColor:0,loopAnimation:n.loop??!1,mode:et(n.mode??\"forward\",r),segment:rt(n.segment??[],r),speed:n.speed??1,useFrameInterpolation:n.useFrameInterpolation??!0,marker:n.marker??\"\",layout:n.layout?{align:nt(n.layout.align,r),fit:tt(n.layout.fit,r)}:r.createDefaultLayout()}),this._eventManager.dispatch({type:\"ready\"}),n.data?this._loadFromData(n.data):n.src&&this._loadFromSrc(n.src),n.backgroundColor&&this.setBackgroundColor(n.backgroundColor);}).catch(r=>{this._eventManager.dispatch({type:\"loadError\",error:new Error(`Failed to load wasm module: ${r}`)});});}_dispatchError(n){console.error(n),this._eventManager.dispatch({type:\"loadError\",error:new Error(n)});}async _fetchData(n){let r=await fetch(n);if(!r.ok)throw new Error(`Failed to fetch animation data from URL: ${n}. ${r.status}: ${r.statusText}`);let c=await r.arrayBuffer();return Qe(c)?c:new TextDecoder().decode(c)}_loadFromData(n){if(this._dotLottieCore===null)return;let r=this._canvas.width,c=this._canvas.height,_=!1;if(typeof n==\"string\"){if(!qe(n)){this._dispatchError(\"Invalid Lottie JSON string: The provided string does not conform to the Lottie JSON format.\");return}_=this._dotLottieCore.loadAnimationData(n,r,c);}else if(n instanceof ArrayBuffer){if(!Qe(n)){this._dispatchError(\"Invalid dotLottie ArrayBuffer: The provided ArrayBuffer does not conform to the dotLottie format.\");return}_=this._dotLottieCore.loadDotLottieData(n,r,c);}else if(typeof n==\"object\"){if(!qe(n)){this._dispatchError(\"Invalid Lottie JSON object: The provided object does not conform to the Lottie JSON format.\");return}_=this._dotLottieCore.loadAnimationData(JSON.stringify(n),r,c);}else {this._dispatchError(`Unsupported data type for animation data. Expected: \n - string (Lottie JSON),\n - ArrayBuffer (dotLottie),\n - object (Lottie JSON). \n Received: ${typeof n}`);return}_?(this._eventManager.dispatch({type:\"load\"}),te&&this.resize(),this._eventManager.dispatch({type:\"frame\",currentFrame:this._dotLottieCore.currentFrame()}),this._render(),this._dotLottieCore.config().autoplay&&(this._dotLottieCore.play(),this._dotLottieCore.isPlaying()?(this._eventManager.dispatch({type:\"play\"}),this._animationFrameId=this._frameManager.requestAnimationFrame(this._draw.bind(this))):console.error(\"something went wrong, the animation was suppose to autoplay\"))):this._dispatchError(\"Failed to load animation data\");}_loadFromSrc(n){this._fetchData(n).then(r=>this._loadFromData(r)).catch(r=>this._dispatchError(`Failed to load animation data from URL: ${n}. ${r}`));}get activeAnimationId(){return this._dotLottieCore?.activeAnimationId()}get activeThemeId(){return this._dotLottieCore?.activeThemeId()}get layout(){let n=this._dotLottieCore?.config().layout;if(n)return {align:[n.align.get(0),n.align.get(1)],fit:(()=>{switch(n.fit){case M._wasmModule?.Fit.Contain:return \"contain\";case M._wasmModule?.Fit.Cover:return \"cover\";case M._wasmModule?.Fit.Fill:return \"fill\";case M._wasmModule?.Fit.FitHeight:return \"fit-height\";case M._wasmModule?.Fit.FitWidth:return \"fit-width\";case M._wasmModule?.Fit.None:return \"none\";default:return \"contain\"}})()}}get marker(){return this._dotLottieCore?.config().marker}get manifest(){try{let n=this._dotLottieCore?.manifestString();if(this._dotLottieCore===null||!n)return null;let r=JSON.parse(n);return Object.keys(r).length===0?null:r}catch{return null}}get renderConfig(){return this._renderConfig}get segment(){let n=this._dotLottieCore?.config().segment;if(n&&n.size()===2)return [n.get(0),n.get(1)]}get loop(){return this._dotLottieCore?.config().loopAnimation??!1}get mode(){let n=this._dotLottieCore?.config().mode;return n===M._wasmModule?.Mode.Reverse?\"reverse\":n===M._wasmModule?.Mode.Bounce?\"bounce\":n===M._wasmModule?.Mode.ReverseBounce?\"reverse-bounce\":\"forward\"}get isFrozen(){return this._isFrozen}get backgroundColor(){return this._backgroundColor??\"\"}get autoplay(){return this._dotLottieCore?.config().autoplay??!1}get useFrameInterpolation(){return this._dotLottieCore?.config().useFrameInterpolation??!1}get speed(){return this._dotLottieCore?.config().speed??0}get isReady(){return this._dotLottieCore!==null}get isLoaded(){return this._dotLottieCore?.isLoaded()??!1}get isPlaying(){return this._dotLottieCore?.isPlaying()??!1}get isPaused(){return this._dotLottieCore?.isPaused()??!1}get isStopped(){return this._dotLottieCore?.isStopped()??!1}get currentFrame(){return this._dotLottieCore?.currentFrame()??0}get loopCount(){return this._dotLottieCore?.loopCount()??0}get totalFrames(){return this._dotLottieCore?.totalFrames()??0}get duration(){return this._dotLottieCore?.duration()??0}get segmentDuration(){return this._dotLottieCore?.segmentDuration()??0}get canvas(){return this._canvas}load(n){this._dotLottieCore===null||M._wasmModule===null||(this._dotLottieCore.setConfig({autoplay:n.autoplay??!1,backgroundColor:0,loopAnimation:n.loop??!1,mode:et(n.mode??\"forward\",M._wasmModule),segment:rt(n.segment??[],M._wasmModule),speed:n.speed??1,useFrameInterpolation:n.useFrameInterpolation??!0,marker:n.marker??\"\",layout:n.layout?{align:nt(n.layout.align,M._wasmModule),fit:tt(n.layout.fit,M._wasmModule)}:M._wasmModule.createDefaultLayout()}),n.data?this._loadFromData(n.data):n.src&&this._loadFromSrc(n.src),this.setBackgroundColor(n.backgroundColor??\"\"));}_render(){if(this._dotLottieCore===null||this._context===null)return !1;if(this._dotLottieCore.render()){let r=this._dotLottieCore.buffer(),c=new Uint8ClampedArray(r,0,this._canvas.width*this._canvas.height*4),_=null;return typeof ImageData>\"u\"?(_=this._context.createImageData(this._canvas.width,this._canvas.height),_.data.set(c)):_=new ImageData(c,this._canvas.width,this._canvas.height),this._context.putImageData(_,0,0),this._eventManager.dispatch({type:\"render\",currentFrame:this._dotLottieCore.currentFrame()}),!0}return !1}_draw(){if(this._dotLottieCore===null||this._context===null||!this._dotLottieCore.isPlaying())return;let n=this._dotLottieCore.requestFrame();this._dotLottieCore.setFrame(n)&&(this._eventManager.dispatch({type:\"frame\",currentFrame:this._dotLottieCore.currentFrame()}),this._render()&&this._dotLottieCore.isComplete()&&(this._dotLottieCore.config().loopAnimation?this._eventManager.dispatch({type:\"loop\",loopCount:this._dotLottieCore.loopCount()}):this._eventManager.dispatch({type:\"complete\"}))),this._animationFrameId=this._frameManager.requestAnimationFrame(this._draw.bind(this));}play(){if(this._dotLottieCore===null)return;let n=this._dotLottieCore.play();this._isFrozen=!1,n&&(this._eventManager.dispatch({type:\"play\"}),this._animationFrameId=this._frameManager.requestAnimationFrame(this._draw.bind(this)));}pause(){if(this._dotLottieCore===null)return;this._dotLottieCore.pause()&&this._eventManager.dispatch({type:\"pause\"});}stop(){if(this._dotLottieCore===null)return;this._dotLottieCore.stop()&&(this._eventManager.dispatch({type:\"frame\",currentFrame:this._dotLottieCore.currentFrame()}),this._render(),this._eventManager.dispatch({type:\"stop\"}));}setFrame(n){if(this._dotLottieCore===null||n<0||n>this._dotLottieCore.totalFrames())return;this._dotLottieCore.seek(n)&&(this._eventManager.dispatch({type:\"frame\",currentFrame:this._dotLottieCore.currentFrame()}),this._render());}setSpeed(n){this._dotLottieCore!==null&&this._dotLottieCore.setConfig({...this._dotLottieCore.config(),speed:n});}setBackgroundColor(n){this._dotLottieCore!==null&&(te&&this._canvas instanceof HTMLCanvasElement?this._canvas.style.backgroundColor=n:this._dotLottieCore.setConfig({...this._dotLottieCore.config(),backgroundColor:Ut(n)}),this._backgroundColor=n);}setLoop(n){this._dotLottieCore!==null&&this._dotLottieCore.setConfig({...this._dotLottieCore.config(),loopAnimation:n});}setUseFrameInterpolation(n){this._dotLottieCore!==null&&this._dotLottieCore.setConfig({...this._dotLottieCore.config(),useFrameInterpolation:n});}addEventListener(n,r){this._eventManager.addEventListener(n,r);}removeEventListener(n,r){this._eventManager.removeEventListener(n,r);}destroy(){this._dotLottieCore?.delete(),this._dotLottieCore=null,this._context=null,this._eventManager.dispatch({type:\"destroy\"}),this._eventManager.removeAllEventListeners(),this._cleanupStateMachineListeners();}freeze(){this._animationFrameId!==null&&(this._frameManager.cancelAnimationFrame(this._animationFrameId),this._animationFrameId=null,this._isFrozen=!0,this._eventManager.dispatch({type:\"freeze\"}));}unfreeze(){this._animationFrameId===null&&(this._animationFrameId=this._frameManager.requestAnimationFrame(this._draw.bind(this)),this._isFrozen=!1,this._eventManager.dispatch({type:\"unfreeze\"}));}resize(){if(te&&this._canvas instanceof HTMLCanvasElement){let r=this._renderConfig.devicePixelRatio||window.devicePixelRatio||1,{height:c,width:_}=this._canvas.getBoundingClientRect();this._canvas.width=_*r,this._canvas.height=c*r;}this._dotLottieCore?.resize(this._canvas.width,this._canvas.height)&&this._render();}setSegment(n,r){this._dotLottieCore===null||M._wasmModule===null||this._dotLottieCore.setConfig({...this._dotLottieCore.config(),segment:rt([n,r],M._wasmModule)});}setMode(n){this._dotLottieCore===null||M._wasmModule===null||this._dotLottieCore.setConfig({...this._dotLottieCore.config(),mode:et(n,M._wasmModule)});}setRenderConfig(n){this._renderConfig=n;}loadAnimation(n){if(this._dotLottieCore===null||this._dotLottieCore.activeAnimationId()===n)return;this._dotLottieCore.loadAnimation(n,this._canvas.width,this._canvas.height)?(this._eventManager.dispatch({type:\"load\"}),this.resize()):this._eventManager.dispatch({type:\"loadError\",error:new Error(`Failed to animation :${n}`)});}setMarker(n){this._dotLottieCore!==null&&this._dotLottieCore.setConfig({...this._dotLottieCore.config(),marker:n});}markers(){let n=this._dotLottieCore?.markers();if(n){let r=[];for(let c=0;c<n.size();c+=1){let _=n.get(c);r.push({name:_.name,time:_.time,duration:_.duration});}return r}return []}loadTheme(n){if(this._dotLottieCore===null)return !1;let r=this._dotLottieCore.loadTheme(n);return this._render(),r}loadThemeData(n){if(this._dotLottieCore===null)return !1;let r=this._dotLottieCore.loadThemeData(n);return this._render(),r}setLayout(n){this._dotLottieCore===null||M._wasmModule===null||this._dotLottieCore.setConfig({...this._dotLottieCore.config(),layout:{align:nt(n.align,M._wasmModule),fit:tt(n.fit,M._wasmModule)}});}setViewport(n,r,c,_){return this._dotLottieCore===null?!1:this._dotLottieCore.setViewport(n,r,c,_)}static setWasmUrl(n){X.setWasmUrl(n);}loadStateMachine(n){return this._dotLottieCore?.loadStateMachine(n)??!1}startStateMachine(){let n=this._dotLottieCore?.startStateMachine()??!1;return n&&this._setupStateMachineListeners(),n}stopStateMachine(){let n=this._dotLottieCore?.stopStateMachine()??!1;return n&&this._cleanupStateMachineListeners(),n}_getPointerPosition(n){let r=this._canvas.getBoundingClientRect(),c=this._canvas.width/r.width,_=this._canvas.height/r.height,$=this._renderConfig.devicePixelRatio||window.devicePixelRatio||1,U=(n.clientX-r.left)*c/$,V=(n.clientY-r.top)*_/$;return {x:U,y:V}}_onPointerUp(n){let{x:r,y:c}=this._getPointerPosition(n);this.postStateMachineEvent(`OnPointerUp: ${r} ${c}`);}_onPointerDown(n){let{x:r,y:c}=this._getPointerPosition(n);this.postStateMachineEvent(`OnPointerDown: ${r} ${c}`);}_onPointerMove(n){let{x:r,y:c}=this._getPointerPosition(n);this.postStateMachineEvent(`OnPointerMove: ${r} ${c}`);}_onPointerEnter(n){let{x:r,y:c}=this._getPointerPosition(n);this.postStateMachineEvent(`OnPointerEnter: ${r} ${c}`);}_onPointerLeave(n){let{x:r,y:c}=this._getPointerPosition(n);this.postStateMachineEvent(`OnPointerExit: ${r} ${c}`);}_onComplete(){this.postStateMachineEvent(\"OnComplete\");}postStateMachineEvent(n){return this._dotLottieCore?.postEventPayload(n)??!1}getStateMachineListeners(){if(!this._dotLottieCore)return [];let n=this._dotLottieCore.stateMachineFrameworkSetup(),r=[];for(let c=0;c<n.size();c+=1)r.push(n.get(c));return r}_setupStateMachineListeners(){if(te&&this._canvas instanceof HTMLCanvasElement&&this._dotLottieCore!==null&&this.isLoaded){let n=this.getStateMachineListeners();n.includes(\"PointerUp\")&&this._canvas.addEventListener(\"pointerup\",this._onPointerUp.bind(this)),n.includes(\"PointerDown\")&&this._canvas.addEventListener(\"pointerdown\",this._onPointerDown.bind(this)),n.includes(\"PointerMove\")&&this._canvas.addEventListener(\"pointermove\",this._onPointerMove.bind(this)),n.includes(\"PointerEnter\")&&this._canvas.addEventListener(\"pointerenter\",this._onPointerEnter.bind(this)),n.includes(\"PointerExit\")&&this._canvas.addEventListener(\"pointerleave\",this._onPointerLeave.bind(this)),n.includes(\"Complete\")&&this.addEventListener(\"complete\",this._onComplete.bind(this));}}_cleanupStateMachineListeners(){te&&this._canvas instanceof HTMLCanvasElement&&(this._canvas.removeEventListener(\"pointerup\",this._onPointerUp.bind(this)),this._canvas.removeEventListener(\"pointerdown\",this._onPointerDown.bind(this)),this._canvas.removeEventListener(\"pointermove\",this._onPointerMove.bind(this)),this._canvas.removeEventListener(\"pointerenter\",this._onPointerEnter.bind(this)),this._canvas.removeEventListener(\"pointerleave\",this._onPointerLeave.bind(this)),this.removeEventListener(\"complete\",this._onComplete.bind(this)));}loadStateMachineData(n){return this._dotLottieCore?.loadStateMachineData(n)??!1}animationSize(){let n=this._dotLottieCore?.animationSize().get(0)??0,r=this._dotLottieCore?.animationSize().get(1)??0;return {width:n,height:r}}setStateMachineBooleanContext(n,r){return this._dotLottieCore?.setStateMachineBooleanContext(n,r)??!1}setStateMachineNumericContext(n,r){return this._dotLottieCore?.setStateMachineNumericContext(n,r)??!1}setStateMachineStringContext(n,r){return this._dotLottieCore?.setStateMachineStringContext(n,r)??!1}};I(M,\"_wasmModule\",null);var me=M;var E=new Map,jn={ready:s=>n=>{let r={id:\"\",method:\"onReady\",result:{instanceId:s,event:n}};self.postMessage(r);},complete:s=>n=>{let r={id:\"\",method:\"onComplete\",result:{instanceId:s,event:n}};self.postMessage(r);},load:s=>n=>{let c={id:\"\",method:\"onLoad\",result:{instanceId:s,event:n}};self.postMessage(c);},loadError:s=>n=>{let c={id:\"\",method:\"onLoadError\",result:{instanceId:s,event:n}};self.postMessage(c);},loop:s=>n=>{let c={id:\"\",method:\"onLoop\",result:{instanceId:s,event:n}};self.postMessage(c);},play:s=>n=>{let c={id:\"\",method:\"onPlay\",result:{instanceId:s,event:n}};self.postMessage(c);},pause:s=>n=>{let c={id:\"\",method:\"onPause\",result:{instanceId:s,event:n}};self.postMessage(c);},stop:s=>n=>{let c={id:\"\",method:\"onStop\",result:{instanceId:s,event:n}};self.postMessage(c);},frame:s=>n=>{let c={id:\"\",method:\"onFrame\",result:{instanceId:s,event:n}};self.postMessage(c);},render:s=>n=>{let c={id:\"\",method:\"onRender\",result:{instanceId:s,event:n}};self.postMessage(c);},freeze:s=>n=>{let c={id:\"\",method:\"onFreeze\",result:{instanceId:s,event:n}};self.postMessage(c);},unfreeze:s=>n=>{let c={id:\"\",method:\"onUnfreeze\",result:{instanceId:s,event:n}};self.postMessage(c);},destroy:s=>n=>{let c={id:\"\",method:\"onDestroy\",result:{instanceId:s,event:n}};self.postMessage(c);}},Ht={getDotLottieInstanceState(s){let n=s.params.instanceId,r=E.get(n);if(!r)throw new Error(`Instance with id ${n} does not exist.`);return {state:{isLoaded:r.isLoaded,isPaused:r.isPaused,isPlaying:r.isPlaying,isStopped:r.isStopped,isFrozen:r.isFrozen,loop:r.loop,mode:r.mode,speed:r.speed,currentFrame:r.currentFrame,totalFrames:r.totalFrames,duration:r.duration,useFrameInterpolation:r.useFrameInterpolation,renderConfig:r.renderConfig,marker:r.marker,backgroundColor:r.backgroundColor,markers:r.markers(),activeAnimationId:r.activeAnimationId,activeThemeId:r.activeThemeId,autoplay:r.autoplay,segment:r.segment,layout:r.layout,segmentDuration:r.segmentDuration,isReady:r.isReady,manifest:r.manifest}}},setLayout(s){let n=s.params.instanceId,r=s.params.layout,c=E.get(n);if(!c)throw new Error(`Instance with id ${n} does not exist.`);return c.setLayout(r),{success:!0}},getStateMachineListeners(s){let n=s.params.instanceId,r=E.get(n);if(!r)throw new Error(`Instance with id ${n} does not exist.`);return r.getStateMachineListeners()},postStateMachineEvent(s){let n=s.params.instanceId,r=s.params.event,c=E.get(n);if(!c)throw new Error(`Instance with id ${n} does not exist.`);return c.postStateMachineEvent(r)},startStateMachine(s){let n=s.params.instanceId,r=E.get(n);if(!r)throw new Error(`Instance with id ${n} does not exist.`);return r.startStateMachine()},stopStateMachine(s){let n=s.params.instanceId,r=E.get(n);if(!r)throw new Error(`Instance with id ${n} does not exist.`);return r.stopStateMachine()},loadStateMachine(s){let n=s.params.instanceId,r=s.params.stateMachineId,c=E.get(n);if(!c)throw new Error(`Instance with id ${n} does not exist.`);return c.loadStateMachine(r)},loadStateMachineData(s){let n=s.params.instanceId,r=s.params.stateMachineData,c=E.get(n);if(!c)throw new Error(`Instance with id ${n} does not exist.`);return c.loadStateMachineData(r)},create:s=>{let n=s.params.instanceId,r=s.params.config,c=s.params.width,_=s.params.height;if(E.has(n))throw new Error(`Instance with id ${n} already exists.`);let $=new me(r);return $.canvas.height=_,$.canvas.width=c,E.set(n,$),[\"complete\",\"frame\",\"load\",\"loadError\",\"loop\",\"pause\",\"play\",\"stop\",\"destroy\",\"freeze\",\"unfreeze\",\"render\",\"ready\"].forEach(V=>{$.addEventListener(V,jn[V](n));}),{instanceId:n}},destroy:s=>{let n=s.params.instanceId,r=E.get(n);r&&(r.destroy(),E.delete(n));},freeze:s=>{let n=s.params.instanceId,r=E.get(n);if(!r)throw new Error(`Instance with id ${n} does not exist.`);r.freeze();},load:s=>{let n=s.params.instanceId,r=s.params.config,c=E.get(n);if(!c)throw new Error(`Instance with id ${n} does not exist.`);c.load(r);},loadAnimation:s=>{let n=s.params.instanceId,r=s.params.animationId,c=E.get(n);if(!c)throw new Error(`Instance with id ${n} does not exist.`);c.loadAnimation(r);},loadTheme:s=>{let n=s.params.instanceId,r=s.params.themeId,c=E.get(n);if(!c)throw new Error(`Instance with id ${n} does not exist.`);return c.loadTheme(r)},loadThemeData:s=>{let n=s.params.instanceId,r=s.params.themeData,c=E.get(n);if(!c)throw new Error(`Instance with id ${n} does not exist.`);return c.loadThemeData(r)},pause:s=>{let n=s.params.instanceId,r=E.get(n);if(!r)throw new Error(`Instance with id ${n} does not exist.`);return r.pause()},play:s=>{let n=s.params.instanceId,r=E.get(n);if(!r)throw new Error(`Instance with id ${n} does not exist.`);return r.play()},resize:s=>{let n=s.params.instanceId,r=s.params.width,c=s.params.height,_=E.get(n);if(!_)throw new Error(`Instance with id ${n} does not exist.`);return _.canvas.height=c,_.canvas.width=r,_.resize(),{success:!0}},setBackgroundColor:s=>{let n=s.params.instanceId,r=s.params.backgroundColor,c=E.get(n);if(!c)throw new Error(`Instance with id ${n} does not exist.`);c.setBackgroundColor(r);},setFrame:s=>{let n=s.params.instanceId,r=s.params.frame,c=E.get(n);if(!c)throw new Error(`Instance with id ${n} does not exist.`);c.setFrame(r);},setMode:s=>{let n=s.params.instanceId,r=s.params.mode,c=E.get(n);if(!c)throw new Error(`Instance with id ${n} does not exist.`);c.setMode(r);},setRenderConfig:s=>{let n=s.params.instanceId,r=s.params.renderConfig,c=E.get(n);if(!c)throw new Error(`Instance with id ${n} does not exist.`);c.setRenderConfig(r);},setSegment:s=>{let n=s.params.instanceId,r=s.params.segment,c=E.get(n);if(!c)throw new Error(`Instance with id ${n} does not exist.`);c.setSegment(r[0],r[1]);},setSpeed:s=>{let n=s.params.instanceId,r=s.params.speed,c=E.get(n);if(!c)throw new Error(`Instance with id ${n} does not exist.`);c.setSpeed(r);},setUseFrameInterpolation:s=>{let n=s.params.instanceId,r=s.params.useFrameInterpolation,c=E.get(n);if(!c)throw new Error(`Instance with id ${n} does not exist.`);c.setUseFrameInterpolation(r);},setWasmUrl:s=>{me.setWasmUrl(s.params.url);},stop:s=>{let n=s.params.instanceId,r=E.get(n);if(!r)throw new Error(`Instance with id ${n} does not exist.`);r.stop();},unfreeze:s=>{let n=s.params.instanceId,r=E.get(n);if(!r)throw new Error(`Instance with id ${n} does not exist.`);r.unfreeze();},setViewport(s){let n=s.params.instanceId,r=s.params.x,c=s.params.y,_=s.params.width,$=s.params.height,U=E.get(n);if(!U)throw new Error(`Instance with id ${n} does not exist.`);return U.setViewport(r,c,_,$)},setMarker(s){let n=s.params.instanceId,r=s.params.marker,c=E.get(n);if(!c)throw new Error(`Instance with id ${n} does not exist.`);return c.setMarker(r),{success:!0}},setLoop(s){let n=s.params.instanceId,r=s.params.loop,c=E.get(n);if(!c)throw new Error(`Instance with id ${n} does not exist.`);return c.setLoop(r),{success:!0}}};function Bn(s){let n=s.method;if(typeof Ht[n]==\"function\")return Ht[n](s);throw new Error(`Method ${n} is not implemented in commands.`)}self.onmessage=s=>{try{let n=Bn(s.data),r={id:s.data.id,method:s.data.method,result:n};self.postMessage(r);}catch(n){let r={id:s.data.id,method:s.data.method,error:n.message};self.postMessage(r);}};var Wn=\"\",fr=Wn;\n\nexport { fr as default };\n","// This file would be inlined as a string, checkout the tsup config in the root of the project\nimport workerString from './dotlottie.worker.js';\nimport type { MethodParamsMap, RpcRequest } from './types.js';\n\nexport class WorkerManager {\n private readonly _workers: Map<string, Worker> = new Map();\n\n private readonly _animationWorkerMap: Map<string, string> = new Map();\n\n private _createWorker(workerName: string): Worker {\n const blob = new Blob([workerString], { type: 'application/javascript' });\n\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n return new Worker(URL.createObjectURL(blob), { type: 'module', name: workerName });\n }\n\n public getWorker(workerId: string): Worker {\n if (!this._workers.has(workerId)) {\n this._workers.set(workerId, this._createWorker(workerId));\n }\n\n return this._workers.get(workerId) as Worker;\n }\n\n public assignAnimationToWorker(animationId: string, workerId: string): void {\n this._animationWorkerMap.set(animationId, workerId);\n }\n\n public unassignAnimationFromWorker(animationId: string): void {\n this._animationWorkerMap.delete(animationId);\n }\n\n public sendMessage(workerId: string, message: RpcRequest<keyof MethodParamsMap>, transfer?: Transferable[]): void {\n this.getWorker(workerId).postMessage(message, transfer || []);\n }\n\n public terminateWorker(workerId: string): void {\n const worker = this._workers.get(workerId);\n\n if (worker) {\n worker.terminate();\n this._workers.delete(workerId);\n }\n }\n}\n","import { IS_BROWSER } from '../constants';\nimport type { Marker } from '../core';\nimport type { EventType, EventListener, FrameEvent } from '../event-manager';\nimport { EventManager } from '../event-manager';\nimport type { Config, Layout, Manifest, Mode, RenderConfig } from '../types';\n\nimport type { MethodParamsMap, MethodResultMap, RpcRequest, RpcResponse } from './types';\nimport { WorkerManager } from './worker-manager';\n\nfunction getCanvasSize(canvas: HTMLCanvasElement | OffscreenCanvas): { height: number; width: number } {\n if (canvas instanceof OffscreenCanvas) {\n return { width: canvas.width, height: canvas.height };\n }\n\n const { height, width } = canvas.getBoundingClientRect();\n\n return { width: width * window.devicePixelRatio, height: height * window.devicePixelRatio };\n}\n\nfunction generateUniqueId(): string {\n return Date.now().toString(36) + Math.random().toString(36).substr(2, 9);\n}\n\nexport interface DotLottieInstanceState {\n activeAnimationId: string | undefined;\n activeThemeId: string | undefined;\n autoplay: boolean;\n backgroundColor: string;\n currentFrame: number;\n duration: number;\n isFrozen: boolean;\n isLoaded: boolean;\n isPaused: boolean;\n isPlaying: boolean;\n isReady: boolean;\n isStopped: boolean;\n layout: Layout | undefined;\n loop: boolean;\n manifest: Manifest | null;\n marker: string | undefined;\n markers: Marker[];\n mode: Mode;\n renderConfig: RenderConfig;\n segment: [number, number] | undefined;\n segmentDuration: number;\n speed: number;\n totalFrames: number;\n useFrameInterpolation: boolean;\n}\n\nexport class DotLottieWorker {\n private static readonly _workerManager = new WorkerManager();\n\n private readonly _eventManager = new EventManager();\n\n private readonly _id: string;\n\n private readonly _worker: Worker;\n\n private readonly _canvas: HTMLCanvasElement;\n\n private _dotLottieInstanceState: DotLottieInstanceState = {\n markers: [],\n autoplay: false,\n backgroundColor: '',\n currentFrame: 0,\n duration: 0,\n loop: false,\n mode: 'forward',\n segment: [0, 0],\n segmentDuration: 0,\n speed: 1,\n totalFrames: 0,\n isLoaded: false,\n isPlaying: false,\n isPaused: false,\n isStopped: true,\n isFrozen: false,\n useFrameInterpolation: false,\n renderConfig: {\n devicePixelRatio: window.devicePixelRatio,\n },\n activeAnimationId: '',\n activeThemeId: '',\n layout: undefined,\n marker: undefined,\n isReady: false,\n manifest: null,\n };\n\n private static _wasmUrl: string = '';\n\n private _created: boolean = false;\n\n public constructor(config: Config & { workerId?: string }) {\n this._canvas = config.canvas;\n\n this._id = `dotlottie-${generateUniqueId()}`;\n const workerId = config.workerId || 'defaultWorker';\n\n // creates or gets the worker\n this._worker = DotLottieWorker._workerManager.getWorker(workerId);\n\n DotLottieWorker._workerManager.assignAnimationToWorker(this._id, workerId);\n\n if (DotLottieWorker._wasmUrl) {\n this._sendMessage('setWasmUrl', { url: DotLottieWorker._wasmUrl });\n }\n\n this._create(config);\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n this._worker.addEventListener('message', this._handleWorkerEvent.bind(this));\n }\n\n private async _handleWorkerEvent(event: MessageEvent): Promise<void> {\n const rpcResponse: RpcResponse<\n | 'onComplete'\n | 'onLoad'\n | 'onDestroy'\n | 'onUnfreeze'\n | 'onFrame'\n | 'onRender'\n | 'onFreeze'\n | 'onPause'\n | 'onPlay'\n | 'onStop'\n | 'onLoadError'\n | 'onReady'\n > = event.data;\n\n if (!rpcResponse.id) {\n if (rpcResponse.method === 'onLoad' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onComplete' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onDestroy' && rpcResponse.result.instanceId === this._id) {\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onUnfreeze' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._dotLottieInstanceState.isFrozen = false;\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onFrame' && rpcResponse.result.instanceId === this._id) {\n this._dotLottieInstanceState.currentFrame = (rpcResponse.result.event as FrameEvent).currentFrame;\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onRender' && rpcResponse.result.instanceId === this._id) {\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onFreeze' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onPause' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onPlay' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onStop' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onLoadError' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n\n if (rpcResponse.method === 'onReady' && rpcResponse.result.instanceId === this._id) {\n await this._updateDotLottieInstanceState();\n this._eventManager.dispatch(rpcResponse.result.event);\n }\n }\n }\n\n private async _create(config: Config): Promise<void> {\n let offscreen: OffscreenCanvas;\n\n if (this._canvas instanceof HTMLCanvasElement) {\n offscreen = this._canvas.transferControlToOffscreen();\n } else {\n offscreen = this._canvas;\n }\n\n const { instanceId } = await this._sendMessage(\n 'create',\n {\n instanceId: this._id,\n config: {\n ...config,\n // @ts-ignore\n canvas: offscreen,\n },\n ...getCanvasSize(this._canvas),\n },\n [offscreen],\n );\n\n if (instanceId !== this._id) {\n throw new Error('Instance ID mismatch');\n }\n\n this._created = true;\n\n await this._updateDotLottieInstanceState();\n }\n\n public get isLoaded(): boolean {\n return this._dotLottieInstanceState.isLoaded;\n }\n\n public get isPlaying(): boolean {\n return this._dotLottieInstanceState.isPlaying;\n }\n\n public get isPaused(): boolean {\n return this._dotLottieInstanceState.isPaused;\n }\n\n public get isStopped(): boolean {\n return this._dotLottieInstanceState.isStopped;\n }\n\n public get currentFrame(): number {\n return this._dotLottieInstanceState.currentFrame;\n }\n\n public get isFrozen(): boolean {\n return this._dotLottieInstanceState.isFrozen;\n }\n\n public get segmentDuration(): number {\n return this._dotLottieInstanceState.segmentDuration;\n }\n\n public get totalFrames(): number {\n return this._dotLottieInstanceState.totalFrames;\n }\n\n public get segment(): [number, number] | undefined {\n return this._dotLottieInstanceState.segment;\n }\n\n public get speed(): number {\n return this._dotLottieInstanceState.speed;\n }\n\n public get duration(): number {\n return this._dotLottieInstanceState.duration;\n }\n\n public get isReady(): boolean {\n return this._dotLottieInstanceState.isReady;\n }\n\n public get mode(): Mode {\n return this._dotLottieInstanceState.mode;\n }\n\n public get canvas(): HTMLCanvasElement | null {\n return this._canvas;\n }\n\n public get autoplay(): boolean {\n return this._dotLottieInstanceState.autoplay;\n }\n\n public get backgroundColor(): string {\n return this._dotLottieInstanceState.backgroundColor;\n }\n\n public get loop(): boolean {\n return this._dotLottieInstanceState.loop;\n }\n\n public get useFrameInterpolation(): boolean {\n return this._dotLottieInstanceState.useFrameInterpolation;\n }\n\n public get renderConfig(): RenderConfig {\n return this._dotLottieInstanceState.renderConfig;\n }\n\n public get manifest(): Manifest | null {\n return this._dotLottieInstanceState.manifest;\n }\n\n public get activeAnimationId(): string | undefined {\n return this._dotLottieInstanceState.activeAnimationId;\n }\n\n public get marker(): string | undefined {\n return this._dotLottieInstanceState.marker;\n }\n\n public get activeThemeId(): string | undefined {\n return this._dotLottieInstanceState.activeThemeId;\n }\n\n public get layout(): Layout | undefined {\n return this._dotLottieInstanceState.layout;\n }\n\n public async play(): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('play', { instanceId: this._id });\n await this._updateDotLottieInstanceState();\n }\n\n public async pause(): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('pause', { instanceId: this._id });\n await this._updateDotLottieInstanceState();\n }\n\n public async stop(): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('stop', { instanceId: this._id });\n await this._updateDotLottieInstanceState();\n }\n\n public async setSpeed(speed: number): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setSpeed', { instanceId: this._id, speed });\n await this._updateDotLottieInstanceState();\n }\n\n public async setMode(mode: Mode): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setMode', { instanceId: this._id, mode });\n await this._updateDotLottieInstanceState();\n }\n\n public async setFrame(frame: number): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setFrame', { frame, instanceId: this._id });\n await this._updateDotLottieInstanceState();\n }\n\n public async setSegment(start: number, end: number): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setSegment', { instanceId: this._id, segment: [start, end] });\n await this._updateDotLottieInstanceState();\n }\n\n public async setRenderConfig(renderConfig: RenderConfig): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setRenderConfig', { instanceId: this._id, renderConfig });\n await this._updateDotLottieInstanceState();\n }\n\n public async setUseFrameInterpolation(useFrameInterpolation: boolean): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setUseFrameInterpolation', { instanceId: this._id, useFrameInterpolation });\n await this._updateDotLottieInstanceState();\n }\n\n public async loadTheme(themeId: string): Promise<boolean> {\n if (!this._created) return false;\n\n const result = this._sendMessage('loadTheme', { instanceId: this._id, themeId });\n\n await this._updateDotLottieInstanceState();\n\n return result;\n }\n\n public async load(config: Omit<Config, 'canvas'>): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('load', { config, instanceId: this._id });\n await this._updateDotLottieInstanceState();\n }\n\n public async setLoop(loop: boolean): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setLoop', { instanceId: this._id, loop });\n await this._updateDotLottieInstanceState();\n }\n\n public async resize(): Promise<void> {\n if (!this._created) return;\n\n const { height, width } = getCanvasSize(this._canvas);\n\n this._canvas.width = width;\n this._canvas.height = height;\n\n await this._sendMessage('resize', { height, instanceId: this._id, width });\n await this._updateDotLottieInstanceState();\n }\n\n public async destroy(): Promise<void> {\n if (!this._created) return;\n\n this._created = false;\n\n await this._sendMessage('destroy', { instanceId: this._id });\n\n this._cleanupStateMachineListeners();\n\n DotLottieWorker._workerManager.unassignAnimationFromWorker(this._id);\n this._eventManager.removeAllEventListeners();\n }\n\n public async freeze(): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('freeze', { instanceId: this._id });\n await this._updateDotLottieInstanceState();\n }\n\n public async unfreeze(): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('unfreeze', { instanceId: this._id });\n await this._updateDotLottieInstanceState();\n }\n\n public async setBackgroundColor(backgroundColor: string): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setBackgroundColor', { instanceId: this._id, backgroundColor });\n await this._updateDotLottieInstanceState();\n }\n\n public async loadAnimation(animationId: string): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('loadAnimation', { animationId, instanceId: this._id });\n await this._updateDotLottieInstanceState();\n }\n\n public async setLayout(layout: Layout): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setLayout', { instanceId: this._id, layout });\n await this._updateDotLottieInstanceState();\n }\n\n private async _updateDotLottieInstanceState(): Promise<void> {\n if (!this._created) return;\n\n const result = await this._sendMessage('getDotLottieInstanceState', { instanceId: this._id });\n\n this._dotLottieInstanceState = result.state;\n }\n\n public markers(): Marker[] {\n return this._dotLottieInstanceState.markers;\n }\n\n public async setMarker(marker: string): Promise<void> {\n if (!this._created) return;\n\n await this._sendMessage('setMarker', { instanceId: this._id, marker });\n await this._updateDotLottieInstanceState();\n }\n\n public async loadThemeData(themeData: string): Promise<boolean> {\n if (!this._created) return false;\n\n const loaded = await this._sendMessage('loadThemeData', { instanceId: this._id, themeData });\n\n await this._updateDotLottieInstanceState();\n\n return loaded;\n }\n\n public async setViewport(x: number, y: number, width: number, height: number): Promise<boolean> {\n if (!this._created) return false;\n\n return this._sendMessage('setViewport', { x, y, width, height, instanceId: this._id });\n }\n\n private async _sendMessage<T extends keyof MethodParamsMap>(\n method: T,\n params: MethodParamsMap[T],\n transfer?: Transferable[],\n ): Promise<MethodResultMap[T]> {\n const rpcRequest: RpcRequest<T> = {\n id: `dotlottie-request-${generateUniqueId()}`,\n method,\n params,\n };\n\n this._worker.postMessage(rpcRequest, transfer || []);\n\n return new Promise((resolve, reject) => {\n const onMessage = (event: MessageEvent): void => {\n const rpcResponse: RpcResponse<T> = event.data;\n\n // Check if the response corresponds to the request\n if (rpcResponse.id === rpcRequest.id) {\n this._worker.removeEventListener('message', onMessage);\n\n if (rpcResponse.error) {\n reject(new Error(`Failed to execute method ${method}: ${rpcResponse.error}`));\n } else {\n resolve(rpcResponse.result);\n }\n }\n };\n\n this._worker.addEventListener('message', onMessage);\n });\n }\n\n public addEventListener<T extends EventType>(type: T, listener: EventListener<T>): void {\n this._eventManager.addEventListener(type, listener);\n }\n\n public removeEventListener<T extends EventType>(type: T, listener?: EventListener<T>): void {\n this._eventManager.removeEventListener(type, listener);\n }\n\n public static setWasmUrl(url: string): void {\n DotLottieWorker._wasmUrl = url;\n }\n\n public async loadStateMachine(stateMachineId: string): Promise<boolean> {\n if (!this._created) return false;\n\n const result = await this._sendMessage('loadStateMachine', { instanceId: this._id, stateMachineId });\n\n await this._updateDotLottieInstanceState();\n\n return result;\n }\n\n public async loadStateMachineData(stateMachineData: string): Promise<boolean> {\n if (!this._created) return false;\n\n const result = await this._sendMessage('loadStateMachineData', { instanceId: this._id, stateMachineData });\n\n await this._updateDotLottieInstanceState();\n\n return result;\n }\n\n public async startStateMachine(): Promise<boolean> {\n if (!this._created) return false;\n\n this._setupStateMachineListeners();\n\n const result = await this._sendMessage('startStateMachine', { instanceId: this._id });\n\n await this._updateDotLottieInstanceState();\n\n return result;\n }\n\n public async stopStateMachine(): Promise<boolean> {\n if (!this._created) return false;\n\n this._cleanupStateMachineListeners();\n\n return this._sendMessage('stopStateMachine', { instanceId: this._id });\n }\n\n public async postStateMachineEvent(event: string): Promise<boolean> {\n if (!this._created) return false;\n\n return this._sendMessage('postStateMachineEvent', { event, instanceId: this._id });\n }\n\n public async getStateMachineListeners(): Promise<string[]> {\n if (!this._created) return [];\n\n return this._sendMessage('getStateMachineListeners', { instanceId: this._id });\n }\n\n private _getPointerPosition(event: PointerEvent): { x: number; y: number } {\n const rect = (this._canvas as HTMLCanvasElement).getBoundingClientRect();\n const scaleX = this._canvas.width / rect.width;\n const scaleY = this._canvas.height / rect.height;\n\n const devicePixelRatio = this._dotLottieInstanceState.renderConfig.devicePixelRatio || window.devicePixelRatio || 1;\n const x = ((event.clientX - rect.left) * scaleX) / devicePixelRatio;\n const y = ((event.clientY - rect.top) * scaleY) / devicePixelRatio;\n\n return {\n x,\n y,\n };\n }\n\n private _onPointerUp(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerUp: ${x} ${y}`);\n }\n\n private _onPointerDown(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerDown: ${x} ${y}`);\n }\n\n private _onPointerMove(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerMove: ${x} ${y}`);\n }\n\n private _onPointerEnter(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerEnter: ${x} ${y}`);\n }\n\n private _onPointerLeave(event: PointerEvent): void {\n const { x, y } = this._getPointerPosition(event);\n\n this.postStateMachineEvent(`OnPointerExit: ${x} ${y}`);\n }\n\n private _onComplete(): void {\n this.postStateMachineEvent('OnComplete');\n }\n\n private async _setupStateMachineListeners(): Promise<void> {\n if (IS_BROWSER && this._canvas instanceof HTMLCanvasElement && this.isLoaded) {\n const listeners = await this._sendMessage('getStateMachineListeners', { instanceId: this._id });\n\n if (listeners.includes('PointerUp')) {\n this._canvas.addEventListener('pointerup', this._onPointerUp.bind(this));\n }\n\n if (listeners.includes('PointerDown')) {\n this._canvas.addEventListener('pointerdown', this._onPointerDown.bind(this));\n }\n\n if (listeners.includes('PointerMove')) {\n this._canvas.addEventListener('pointermove', this._onPointerMove.bind(this));\n }\n\n if (listeners.includes('PointerEnter')) {\n this._canvas.addEventListener('pointerenter', this._onPointerEnter.bind(this));\n }\n\n if (listeners.includes('PointerExit')) {\n this._canvas.addEventListener('pointerleave', this._onPointerLeave.bind(this));\n }\n\n if (listeners.includes('Complete')) {\n this.addEventListener('complete', this._onComplete.bind(this));\n }\n }\n }\n\n private _cleanupStateMachineListeners(): void {\n if (IS_BROWSER && this._canvas instanceof HTMLCanvasElement) {\n this._canvas.removeEventListener('pointerup', this._onPointerUp.bind(this));\n this._canvas.removeEventListener('pointerdown', this._onPointerDown.bind(this));\n this._canvas.removeEventListener('pointermove', this._onPointerMove.bind(this));\n this._canvas.removeEventListener('pointerenter', this._onPointerEnter.bind(this));\n this._canvas.removeEventListener('pointerleave', this._onPointerLeave.bind(this));\n this.removeEventListener('complete', this._onComplete.bind(this));\n }\n }\n}\n"]}