@eva/plugin-renderer-lottie 1.1.1-fix.2 → 1.1.1-fix.3

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.
@@ -1 +0,0 @@
1
- {"version":3,"file":"EVA.plugin.renderer.lottie.min.js","sources":["../../../node_modules/tslib/tslib.es6.js","../lib/lottie-core.js","../lib/lottie-pixi.js","../node_modules/is-finite/index.js","../node_modules/is-integer/index.js","../node_modules/parse-int/index.js","../node_modules/ios-version/index.js","../lib/utils.js","../lib/LottieSystem.ts","../lib/Lottie.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","function t(t) {\n return Object.prototype.toString.call(t);\n}\nconst s = {\n copyJSON: function (t) {\n return JSON.parse(JSON.stringify(t));\n },\n isArray: (function () {\n let s = t([]);\n return function (e) {\n return t(e) === s;\n };\n })(),\n isString: (function () {\n let s = t('s');\n return function (e) {\n return t(e) === s;\n };\n })(),\n isNumber: (function () {\n let s = t(1);\n return function (e) {\n return t(e) === s;\n };\n })(),\n isFunction: (function () {\n let s = t(function () {});\n return function (e) {\n return t(e) === s;\n };\n })(),\n isUndefined: function (t) {\n return void 0 === t;\n },\n isBoolean: (function () {\n let s = t(!0);\n return function (e) {\n return t(e) === s;\n };\n })(),\n isObject: (function () {\n let s = t({});\n return function (e) {\n return t(e) === s;\n };\n })(),\n random: function (t, s) {\n return this.isArray(t)\n ? t[~~(Math.random() * t.length)]\n : (this.isNumber(s) || ((s = t || 1), (t = 0)), t + Math.random() * (s - t));\n },\n euclideanModulo: function (t, s) {\n return ((t % s) + s) % s;\n },\n codomainBounce: function (t, s, e) {\n return t < s ? 2 * s - t : t > e ? 2 * e - t : t;\n },\n clamp: function (t, s, e) {\n return t < s ? s : t > e ? e : t;\n },\n inRange: (t, s, e) => t >= s && t <= e,\n getAssets(t, s) {\n for (let e = 0; e < s.length; e++) if (t === s[e].id) return s[e];\n return console.error('have not assets name as', t), {};\n },\n rgb2hex: t => (t[0] << 16) + (t[1] << 8) + (0 | t[2]),\n};\nclass e {\n constructor() {\n (this.listeners = {}), (this.addEventListener = this.on), (this.removeEventListener = this.off);\n }\n on(t, e) {\n return s.isFunction(e)\n ? (s.isUndefined(this.listeners[t]) && (this.listeners[t] = []), this.listeners[t].push(e), this)\n : this;\n }\n off(t, e) {\n if (s.isUndefined(this.listeners[t])) return this;\n const i = this.listeners[t];\n let h = i.length;\n if (h > 0)\n if (e) for (; h--; ) i[h] === e && i.splice(h, 1);\n else i.length = 0;\n return this;\n }\n once(t, e) {\n if (!s.isFunction(e)) return this;\n const i = s => {\n e(s), this.off(t, i);\n };\n return this.on(t, i), this;\n }\n emit(t, ...e) {\n if (s.isUndefined(this.listeners[t])) return this;\n const i = (this.listeners[t] || []).slice(0);\n for (let t = 0; t < i.length; t++) i[t].apply(this, e);\n return this;\n }\n}\nconst i = {},\n h = { Ajax: 'Ajax', Texture: 'Texture' };\nvar r = {\n Type: h,\n registerLoaderByType: function (t, s) {\n i[t] = s;\n },\n};\nfunction a(t, s, e) {\n let i,\n h,\n r,\n p,\n c,\n d,\n u = t.length;\n for (h = 0; h < u; h += 1)\n if (((i = t[h]), 'ks' in i && !i.completed)) {\n if (((i.completed = !0), i.tt && (t[h - 1].td = i.tt), i.hasMask)) {\n let t = i.masksProperties;\n for (p = t.length, r = 0; r < p; r += 1)\n if (t[r].pt.k.i) l(t[r].pt.k);\n else\n for (d = t[r].pt.k.length, c = 0; c < d; c += 1)\n t[r].pt.k[c].s && l(t[r].pt.k[c].s[0]), t[r].pt.k[c].e && l(t[r].pt.k[c].e[0]);\n }\n 0 === i.ty ? ((i.layers = n(i.refId, s)), a(i.layers, s)) : 4 === i.ty ? o(i.shapes) : 5 == i.ty && m(i);\n }\n}\nfunction n(t, s) {\n let e = 0,\n i = s.length;\n for (; e < i; ) {\n if (s[e].id === t)\n return s[e].layers.__used ? JSON.parse(JSON.stringify(s[e].layers)) : ((s[e].layers.__used = !0), s[e].layers);\n e += 1;\n }\n}\nfunction o(t) {\n let s, e, i;\n for (s = t.length - 1; s >= 0; s -= 1)\n if ('sh' == t[s].ty)\n if (t[s].ks.k.i) l(t[s].ks.k);\n else\n for (i = t[s].ks.k.length, e = 0; e < i; e += 1)\n t[s].ks.k[e].s && l(t[s].ks.k[e].s[0]), t[s].ks.k[e].e && l(t[s].ks.k[e].e[0]);\n else 'gr' == t[s].ty && o(t[s].it);\n}\nfunction l(t) {\n let s,\n e = t.i.length;\n for (s = 0; s < e; s += 1)\n (t.i[s][0] += t.v[s][0]), (t.i[s][1] += t.v[s][1]), (t.o[s][0] += t.v[s][0]), (t.o[s][1] += t.v[s][1]);\n}\nfunction p(t, s) {\n let e = s ? s.split('.') : [100, 100, 100];\n return (\n t[0] > e[0] || (!(e[0] > t[0]) && (t[1] > e[1] || (!(e[1] > t[1]) && (t[2] > e[2] || (!(e[2] > t[2]) && void 0)))))\n );\n}\nlet c = (function () {\n let t = [4, 4, 14];\n function s(t) {\n let s = t.t.d;\n t.t.d = { k: [{ s: s, t: 0 }] };\n }\n function e(t) {\n let e,\n i = t.length;\n for (e = 0; e < i; e += 1) 5 === t[e].ty && s(t[e]);\n }\n return function (s) {\n if (p(t, s.v) && (e(s.layers), s.assets)) {\n let t,\n i = s.assets.length;\n for (t = 0; t < i; t += 1) s.assets[t].layers && e(s.assets[t].layers);\n }\n };\n })(),\n d = (function () {\n let t = [4, 7, 99];\n return function (s) {\n if (s.chars && !p(t, s.v)) {\n let t,\n e,\n i,\n h,\n r,\n a = s.chars.length;\n for (t = 0; t < a; t += 1)\n if (s.chars[t].data && s.chars[t].data.shapes)\n for (r = s.chars[t].data.shapes[0].it, i = r.length, e = 0; e < i; e += 1)\n (h = r[e].ks.k), h.__converted || (l(r[e].ks.k), (h.__converted = !0));\n }\n };\n })(),\n u = (function () {\n let t = [4, 1, 9];\n function s(t) {\n let e,\n i,\n h,\n r = t.length;\n for (e = 0; e < r; e += 1)\n if ('gr' === t[e].ty) s(t[e].it);\n else if ('fl' === t[e].ty || 'st' === t[e].ty)\n if (t[e].c.k && t[e].c.k[0].i)\n for (h = t[e].c.k.length, i = 0; i < h; i += 1)\n t[e].c.k[i].s &&\n ((t[e].c.k[i].s[0] /= 255),\n (t[e].c.k[i].s[1] /= 255),\n (t[e].c.k[i].s[2] /= 255),\n (t[e].c.k[i].s[3] /= 255)),\n t[e].c.k[i].e &&\n ((t[e].c.k[i].e[0] /= 255),\n (t[e].c.k[i].e[1] /= 255),\n (t[e].c.k[i].e[2] /= 255),\n (t[e].c.k[i].e[3] /= 255));\n else (t[e].c.k[0] /= 255), (t[e].c.k[1] /= 255), (t[e].c.k[2] /= 255), (t[e].c.k[3] /= 255);\n }\n function e(t) {\n let e,\n i = t.length;\n for (e = 0; e < i; e += 1) 4 === t[e].ty && s(t[e].shapes);\n }\n return function (s) {\n if (p(t, s.v) && (e(s.layers), s.assets)) {\n let t,\n i = s.assets.length;\n for (t = 0; t < i; t += 1) s.assets[t].layers && e(s.assets[t].layers);\n }\n };\n })(),\n f = (function () {\n let t = [4, 4, 18];\n function s(t) {\n let e, i, h;\n for (e = t.length - 1; e >= 0; e -= 1)\n if ('sh' == t[e].ty)\n if (t[e].ks.k.i) t[e].ks.k.c = t[e].closed;\n else\n for (h = t[e].ks.k.length, i = 0; i < h; i += 1)\n t[e].ks.k[i].s && (t[e].ks.k[i].s[0].c = t[e].closed),\n t[e].ks.k[i].e && (t[e].ks.k[i].e[0].c = t[e].closed);\n else 'gr' == t[e].ty && s(t[e].it);\n }\n function e(t) {\n let e,\n i,\n h,\n r,\n a,\n n,\n o = t.length;\n for (i = 0; i < o; i += 1) {\n if (((e = t[i]), e.hasMask)) {\n let t = e.masksProperties;\n for (r = t.length, h = 0; h < r; h += 1)\n if (t[h].pt.k.i) t[h].pt.k.c = t[h].cl;\n else\n for (n = t[h].pt.k.length, a = 0; a < n; a += 1)\n t[h].pt.k[a].s && (t[h].pt.k[a].s[0].c = t[h].cl), t[h].pt.k[a].e && (t[h].pt.k[a].e[0].c = t[h].cl);\n }\n 4 === e.ty && s(e.shapes);\n }\n }\n return function (s) {\n if (p(t, s.v) && (e(s.layers), s.assets)) {\n let t,\n i = s.assets.length;\n for (t = 0; t < i; t += 1) s.assets[t].layers && e(s.assets[t].layers);\n }\n };\n })();\nfunction m(t, s) {\n 0 !== t.t.a.length || 'm' in t.t.p || (t.singleShape = !0);\n}\nvar g = {\n completeData: function (t, s) {\n t.__complete || (u(t), c(t), d(t), f(t), a(t.layers, t.assets), (t.__complete = !0));\n },\n checkColors: u,\n checkChars: d,\n checkShapes: f,\n completeLayers: a,\n};\nlet y = 'function' == typeof Float32Array;\nfunction v(t, s) {\n return 1 - 3 * s + 3 * t;\n}\nfunction _(t, s) {\n return 3 * s - 6 * t;\n}\nfunction k(t) {\n return 3 * t;\n}\nfunction S(t, s, e) {\n return ((v(s, e) * t + _(s, e)) * t + k(s)) * t;\n}\nfunction x(t, s, e) {\n return 3 * v(s, e) * t * t + 2 * _(s, e) * t + k(s);\n}\nfunction M(t, s, e, i) {\n if (!(0 <= t && t <= 1 && 0 <= e && e <= 1)) throw new Error('bezier x values must be in [0, 1] range');\n (this.mX1 = t),\n (this.mY1 = s),\n (this.mX2 = e),\n (this.mY2 = i),\n (this.sampleValues = y ? new Float32Array(11) : new Array(11)),\n this._preCompute(),\n (this.get = this.get.bind(this));\n}\n(M.prototype._preCompute = function () {\n if (this.mX1 !== this.mY1 || this.mX2 !== this.mY2)\n for (let t = 0; t < 11; ++t) this.sampleValues[t] = S(0.1 * t, this.mX1, this.mX2);\n}),\n (M.prototype._getTForX = function (t) {\n let s = 0,\n e = 1;\n for (; 10 !== e && this.sampleValues[e] <= t; ++e) s += 0.1;\n --e;\n let i = s + ((t - this.sampleValues[e]) / (this.sampleValues[e + 1] - this.sampleValues[e])) * 0.1,\n h = x(i, this.mX1, this.mX2);\n return h >= 0.001\n ? (function (t, s, e, i) {\n for (let h = 0; h < 4; ++h) {\n let h = x(s, e, i);\n if (0 === h) return s;\n s -= (S(s, e, i) - t) / h;\n }\n return s;\n })(t, i, this.mX1, this.mX2)\n : 0 === h\n ? i\n : (function (t, s, e, i, h) {\n let r,\n a,\n n = 0;\n do {\n (a = s + (e - s) / 2), (r = S(a, i, h) - t), r > 0 ? (e = a) : (s = a);\n } while (Math.abs(r) > 1e-7 && ++n < 10);\n return a;\n })(t, s, s + 0.1, this.mX1, this.mX2);\n }),\n (M.prototype.get = function (t) {\n return this.mX1 === this.mY1 && this.mX2 === this.mY2\n ? t\n : 0 === t\n ? 0\n : 1 === t\n ? 1\n : S(this._getTForX(t), this.mY1, this.mY2);\n });\nconst P = {};\nvar T = {\n getBezierEasing: function (t, s, e, i, h) {\n const r = h || ('bez_' + t + '_' + s + '_' + e + '_' + i).replace(/\\./g, 'p');\n if (P[r]) return P[r];\n const a = new M(t, s, e, i);\n return (P[r] = a), a;\n },\n};\nlet w;\nfunction D(t) {\n return new Array(t);\n}\nw =\n 'function' == typeof Uint8ClampedArray && 'function' == typeof Float32Array\n ? function (t, s) {\n return 'float32' === t\n ? new Float32Array(s)\n : 'int16' === t\n ? new Int16Array(s)\n : 'uint8c' === t\n ? new Uint8ClampedArray(s)\n : void 0;\n }\n : function (t, s) {\n let e = 0;\n const i = [];\n let h;\n switch (t) {\n case 'int16':\n case 'uint8c':\n h = 1;\n break;\n default:\n h = 1.1;\n }\n for (e = 0; e < s; e += 1) i.push(h);\n return i;\n };\nvar L = {\n double: function (t) {\n return t.concat(D(t.length));\n },\n};\nconst F = function (t, s, e) {\n let i = 0,\n h = t,\n r = D(h);\n return {\n newElement: function () {\n let t;\n return i ? ((i -= 1), (t = r[i])) : (t = s()), t;\n },\n release: function (t) {\n i === h && ((r = L.double(r)), (h *= 2)), e && e(t), (r[i] = t), (i += 1);\n },\n };\n};\nconst A = F(8, function () {\n return w('float32', 2);\n});\nclass C {\n constructor() {\n (this.c = !1),\n (this._length = 0),\n (this._maxLength = 8),\n (this.v = D(this._maxLength)),\n (this.o = D(this._maxLength)),\n (this.i = D(this._maxLength));\n }\n setPathData(t, s) {\n (this.c = t), this.setLength(s);\n let e = 0;\n for (; e < s; ) (this.v[e] = A.newElement()), (this.o[e] = A.newElement()), (this.i[e] = A.newElement()), (e += 1);\n }\n setLength(t) {\n for (; this._maxLength < t; ) this.doubleArrayLength();\n this._length = t;\n }\n doubleArrayLength() {\n (this.v = this.v.concat(D(this._maxLength))),\n (this.i = this.i.concat(D(this._maxLength))),\n (this.o = this.o.concat(D(this._maxLength))),\n (this._maxLength *= 2);\n }\n setXYAt(t, s, e, i, h) {\n let r;\n switch (\n ((this._length = Math.max(this._length, i + 1)), this._length >= this._maxLength && this.doubleArrayLength(), e)\n ) {\n case 'v':\n r = this.v;\n break;\n case 'i':\n r = this.i;\n break;\n case 'o':\n r = this.o;\n }\n (!r[i] || (r[i] && !h)) && (r[i] = A.newElement()), (r[i][0] = t), (r[i][1] = s);\n }\n setTripleAt(t, s, e, i, h, r, a, n) {\n this.setXYAt(t, s, 'v', a, n), this.setXYAt(e, i, 'o', a, n), this.setXYAt(h, r, 'i', a, n);\n }\n reverse() {\n const t = new C();\n t.setPathData(this.c, this._length);\n const s = this.v,\n e = this.o,\n i = this.i;\n let h = 0;\n this.c && (t.setTripleAt(s[0][0], s[0][1], i[0][0], i[0][1], e[0][0], e[0][1], 0, !1), (h = 1));\n let r = this._length - 1;\n const a = this._length;\n for (let n = h; n < a; n += 1) t.setTripleAt(s[r][0], s[r][1], i[r][0], i[r][1], e[r][0], e[r][1], n, !1), (r -= 1);\n return t;\n }\n}\nconst b = F(\n 4,\n function () {\n return new C();\n },\n function (t) {\n const s = t._length;\n for (let e = 0; e < s; e += 1)\n A.release(t.v[e]), A.release(t.i[e]), A.release(t.o[e]), (t.v[e] = null), (t.i[e] = null), (t.o[e] = null);\n (t._length = 0), (t.c = !1);\n },\n);\nb.clone = function (t) {\n const s = b.newElement(),\n e = void 0 === t._length ? t.v.length : t._length;\n s.setLength(e), (s.c = t.c);\n for (let i = 0; i < e; i += 1) s.setTripleAt(t.v[i][0], t.v[i][1], t.o[i][0], t.o[i][1], t.i[i][0], t.i[i][1], i);\n return s;\n};\nclass I {\n constructor() {\n (this._length = 0), (this._maxLength = 4), (this.shapes = D(this._maxLength));\n }\n addShape(t) {\n this._length === this._maxLength &&\n ((this.shapes = this.shapes.concat(D(this._maxLength))), (this._maxLength *= 2)),\n (this.shapes[this._length] = t),\n (this._length += 1);\n }\n releaseShapes() {\n for (let t = 0; t < this._length; t += 1) b.release(this.shapes[t]);\n this._length = 0;\n }\n}\nlet E = 0,\n V = 4,\n N = D(V);\nvar q = {\n newShapeCollection: function () {\n let t;\n return E ? ((E -= 1), (t = N[E])) : (t = new I()), t;\n },\n release: function (t) {\n const s = t._length;\n for (let e = 0; e < s; e += 1) b.release(t.shapes[e]);\n (t._length = 0), E === V && ((N = L.double(N)), (V *= 2)), (N[E] = t), (E += 1);\n },\n};\nclass O {\n outTypeExpressionMode() {\n (this._hasOutTypeExpression = !0), this.container && this.container.outTypeExpressionMode();\n }\n addDynamicProperty(t) {\n -1 === this.dynamicProperties.indexOf(t) &&\n (this.dynamicProperties.push(t),\n this.container.addDynamicProperty(this),\n (this._isAnimated = !0),\n t._hasOutTypeExpression && this.outTypeExpressionMode());\n }\n iterateDynamicProperties(t) {\n this._mdf = !1;\n const s = this.dynamicProperties.length;\n for (let e = 0; e < s; e += 1)\n this.dynamicProperties[e].getValue(t), this.dynamicProperties[e]._mdf && (this._mdf = !0);\n }\n initDynamicPropertyContainer(t) {\n (this.container = t),\n (this.dynamicProperties = []),\n (this._mdf = !1),\n (this._isAnimated = !1),\n (this._hasOutTypeExpression = !1);\n }\n}\nconst X = F(8, function () {\n return { addedLength: 0, percents: w('float32', 200), lengths: w('float32', 200) };\n});\nconst Y = F(\n 8,\n function () {\n return { lengths: [], totalLength: 0 };\n },\n function (t) {\n const s = t.lengths.length;\n for (let e = 0; e < s; e += 1) X.release(t.lengths[e]);\n t.lengths.length = 0;\n },\n);\nfunction j(t, s, e, i, h, r) {\n const a = t * i + s * h + e * r - h * i - r * t - e * s;\n return a > -0.001 && a < 0.001;\n}\nfunction z(t, s, e, i) {\n let h,\n r = 0;\n const a = [],\n n = [],\n o = X.newElement(),\n l = e.length;\n for (let p = 0; p < 200; p += 1) {\n const c = p / 199;\n h = 0;\n for (let r = 0; r < l; r += 1) {\n const o =\n Math.pow(1 - c, 3) * t[r] +\n 3 * Math.pow(1 - c, 2) * c * e[r] +\n 3 * (1 - c) * Math.pow(c, 2) * i[r] +\n Math.pow(c, 3) * s[r];\n (a[r] = o), null !== n[r] && (h += Math.pow(a[r] - n[r], 2)), (n[r] = a[r]);\n }\n h && ((h = Math.sqrt(h)), (r += h)), (o.percents[p] = c), (o.lengths[p] = r);\n }\n return (o.addedLength = r), o;\n}\nfunction B(t) {\n (this.segmentLength = 0), (this.points = new Array(t));\n}\nfunction R(t, s) {\n (this.partialLength = t), (this.point = s);\n}\nconst K = {};\nfunction G(t, s) {\n const e = s.percents,\n i = s.lengths,\n h = e.length;\n let r = Math.floor((h - 1) * t);\n const a = t * s.addedLength;\n let n = 0;\n if (r === h - 1 || 0 === r || a === i[r]) return e[r];\n {\n const t = i[r] > a ? -1 : 1;\n let s = !0;\n for (; s; )\n if (\n (i[r] <= a && i[r + 1] > a ? ((n = (a - i[r]) / (i[r + 1] - i[r])), (s = !1)) : (r += t), r < 0 || r >= h - 1)\n ) {\n if (r === h - 1) return e[r];\n s = !1;\n }\n return e[r] + (e[r + 1] - e[r]) * n;\n }\n}\nconst J = w('float32', 8);\nvar H = {\n getSegmentsLength: function (t) {\n const s = Y.newElement(),\n e = t.c,\n i = t.v,\n h = t.o,\n r = t.i,\n a = t._length,\n n = s.lengths;\n let o = 0,\n l = 0;\n for (; l < a - 1; l += 1) (n[l] = z(i[l], i[l + 1], h[l], r[l + 1])), (o += n[l].addedLength);\n return e && a && ((n[l] = z(i[l], i[0], h[l], r[0])), (o += n[l].addedLength)), (s.totalLength = o), s;\n },\n getNewSegment: function (t, s, e, i, h, r, a) {\n const n = G((h = h < 0 ? 0 : h > 1 ? 1 : h), a),\n o = G((r = r > 1 ? 1 : r), a),\n l = t.length,\n p = 1 - n,\n c = 1 - o,\n d = p * p * p,\n u = n * p * p * 3,\n f = n * n * p * 3,\n m = n * n * n,\n g = p * p * c,\n y = n * p * c + p * n * c + p * p * o,\n v = n * n * c + p * n * o + n * p * o,\n _ = n * n * o,\n k = p * c * c,\n S = n * c * c + p * o * c + p * c * o,\n x = n * o * c + p * o * o + n * c * o,\n M = n * o * o,\n P = c * c * c,\n T = o * c * c + c * o * c + c * c * o,\n w = o * o * c + c * o * o + o * c * o,\n D = o * o * o;\n for (let h = 0; h < l; h += 1)\n (J[4 * h] = Math.round(1e3 * (d * t[h] + u * e[h] + f * i[h] + m * s[h])) / 1e3),\n (J[4 * h + 1] = Math.round(1e3 * (g * t[h] + y * e[h] + v * i[h] + _ * s[h])) / 1e3),\n (J[4 * h + 2] = Math.round(1e3 * (k * t[h] + S * e[h] + x * i[h] + M * s[h])) / 1e3),\n (J[4 * h + 3] = Math.round(1e3 * (P * t[h] + T * e[h] + w * i[h] + D * s[h])) / 1e3);\n return J;\n },\n getPointInSegment: function (t, s, e, i, h, r) {\n const a = G(h, r),\n n = 1 - a;\n return [\n Math.round(\n 1e3 *\n (n * n * n * t[0] +\n (a * n * n + n * a * n + n * n * a) * e[0] +\n (a * a * n + n * a * a + a * n * a) * i[0] +\n a * a * a * s[0]),\n ) / 1e3,\n Math.round(\n 1e3 *\n (n * n * n * t[1] +\n (a * n * n + n * a * n + n * n * a) * e[1] +\n (a * a * n + n * a * a + a * n * a) * i[1] +\n a * a * a * s[1]),\n ) / 1e3,\n ];\n },\n buildBezierData: function (t, s, e, i) {\n const h = (t[0] + '_' + t[1] + '_' + s[0] + '_' + s[1] + '_' + e[0] + '_' + e[1] + '_' + i[0] + '_' + i[1]).replace(\n /\\./g,\n 'p',\n );\n if (!K[h]) {\n let r,\n a,\n n = 200,\n o = 0,\n l = null;\n 2 === t.length &&\n (t[0] != s[0] || t[1] != s[1]) &&\n j(t[0], t[1], s[0], s[1], t[0] + e[0], t[1] + e[1]) &&\n j(t[0], t[1], s[0], s[1], s[0] + i[0], s[1] + i[1]) &&\n (n = 2);\n const p = new B(n),\n c = e.length;\n for (let h = 0; h < n; h += 1) {\n a = D(c);\n const d = h / (n - 1);\n r = 0;\n for (let h = 0; h < c; h += 1) {\n const n =\n Math.pow(1 - d, 3) * t[h] +\n 3 * Math.pow(1 - d, 2) * d * (t[h] + e[h]) +\n 3 * (1 - d) * Math.pow(d, 2) * (s[h] + i[h]) +\n Math.pow(d, 3) * s[h];\n (a[h] = n), null !== l && (r += Math.pow(a[h] - l[h], 2));\n }\n (r = Math.sqrt(r)), (o += r), (p.points[h] = new R(r, a)), (l = a);\n }\n (p.segmentLength = o), (K[h] = p);\n }\n return K[h];\n },\n pointOnLine2D: j,\n pointOnLine3D: function (t, s, e, i, h, r, a, n, o) {\n if (0 === e && 0 === r && 0 === o) return j(t, s, i, h, a, n);\n const l = Math.sqrt(Math.pow(i - t, 2) + Math.pow(h - s, 2) + Math.pow(r - e, 2)),\n p = Math.sqrt(Math.pow(a - t, 2) + Math.pow(n - s, 2) + Math.pow(o - e, 2)),\n c = Math.sqrt(Math.pow(a - i, 2) + Math.pow(n - h, 2) + Math.pow(o - r, 2));\n let d;\n return (d = l > p ? (l > c ? l - p - c : c - p - l) : c > p ? c - p - l : p - l - c), d > -1e-4 && d < 1e-4;\n },\n};\nconst U = Math.PI / 180,\n Z = [0, 0],\n Q = /(loopIn|loopOut)\\(([^)]+)/,\n W = /[\"']\\w+[\"']/;\nclass $ {\n constructor(t, s, e) {\n (this.begin = s), (this.end = e), (this.total = this.end - this.begin), (this.type = t);\n }\n update(t) {\n return 'in' === this.type\n ? t >= this.begin\n ? t\n : this.end - s.euclideanModulo(this.begin - t, this.total)\n : 'out' === this.type\n ? t <= this.end\n ? t\n : this.begin + s.euclideanModulo(t - this.end, this.total)\n : void 0;\n }\n}\nclass tt {\n constructor(t, s, e) {\n (this.begin = s), (this.end = e), (this.total = this.end - this.begin), (this.type = t);\n }\n update(t) {\n if (('in' === this.type && t < this.begin) || ('out' === this.type && t > this.end)) {\n const s = t - this.end;\n return this.pingpong(s);\n }\n return t;\n }\n pingpong(t) {\n return Math.floor(t / this.total) % 2\n ? this.begin + s.euclideanModulo(t, this.total)\n : this.end - s.euclideanModulo(t, this.total);\n }\n}\nconst st = {\n loopIn(t, s, e) {\n const i = t[0].t,\n h = t.length - 1,\n r = t[Math.min(h, e)].t;\n switch (s) {\n case 'cycle':\n return new $('in', i, r);\n case 'pingpong':\n return new tt('in', i, r);\n }\n return null;\n },\n loopOut(t, s, e) {\n const i = t.length - 1,\n h = t[Math.max(0, i - e)].t,\n r = t[i].t;\n switch (s) {\n case 'cycle':\n return new $('out', h, r);\n case 'pingpong':\n return new tt('out', h, r);\n }\n return null;\n },\n};\nfunction et(t) {\n const s = t.match(Q),\n e = s[2].split(/\\s*,\\s*/).map(t => (W.test(t) ? t.replace(/\"|'/g, '') : parseInt(t)));\n return { name: s[1], mode: e[0], offset: e[1] };\n}\nvar it = {\n hasSupportExpression: function (t) {\n return t.x && Q.test(t.x);\n },\n getExpression: function (t) {\n const { name: s, mode: e, offset: i = 0 } = et(t.x),\n h = 0 === i ? t.k.length - 1 : i;\n return st[s] && st[s](t.k, e, h);\n },\n};\nfunction ht(t) {\n const s = t[0] * U,\n e = t[1] * U,\n i = t[2] * U,\n h = Math.cos(s / 2),\n r = Math.cos(e / 2),\n a = Math.cos(i / 2),\n n = Math.sin(s / 2),\n o = Math.sin(e / 2),\n l = Math.sin(i / 2);\n return [n * o * a + h * r * l, n * r * a + h * o * l, h * o * a - n * r * l, h * r * a - n * o * l];\n}\nclass rt {\n interpolateValue(t, s) {\n let e;\n 'multidimensional' === this.propType && (e = w('float32', this.pv.length));\n let i,\n h,\n r,\n a,\n n,\n o,\n l,\n p,\n c = s.lastIndex,\n d = c,\n u = this.keyframes.length - 1,\n f = !0;\n for (; f; ) {\n if (((i = this.keyframes[d]), (h = this.keyframes[d + 1]), d === u - 1 && t >= h.t)) {\n i.h && (i = h), (c = 0);\n break;\n }\n if (h.t > t) {\n c = d;\n break;\n }\n d < u - 1 ? (d += 1) : ((c = 0), (f = !1));\n }\n let m,\n g = h.t,\n y = i.t;\n if (i.to) {\n i.bezierData || (i.bezierData = H.buildBezierData(i.s, h.s || i.e, i.to, i.ti));\n let c = i.bezierData;\n if (t >= g || t < y) {\n let s = t >= g ? c.points.length - 1 : 0;\n for (a = c.points[s].point.length, r = 0; r < a; r += 1) e[r] = c.points[s].point[r];\n } else {\n i.__fnct ? (p = i.__fnct) : ((p = T.getBezierEasing(i.o.x, i.o.y, i.i.x, i.i.y, i.n).get), (i.__fnct = p)),\n (n = p((t - y) / (g - y)));\n let h,\n u = c.segmentLength * n,\n m = s.lastFrame < t && s._lastKeyframeIndex === d ? s._lastAddedLength : 0;\n for (l = s.lastFrame < t && s._lastKeyframeIndex === d ? s._lastPoint : 0, f = !0, o = c.points.length; f; ) {\n if (((m += c.points[l].partialLength), 0 === u || 0 === n || l === c.points.length - 1)) {\n for (a = c.points[l].point.length, r = 0; r < a; r += 1) e[r] = c.points[l].point[r];\n break;\n }\n if (u >= m && u < m + c.points[l + 1].partialLength) {\n for (h = (u - m) / c.points[l + 1].partialLength, a = c.points[l].point.length, r = 0; r < a; r += 1)\n e[r] = c.points[l].point[r] + (c.points[l + 1].point[r] - c.points[l].point[r]) * h;\n break;\n }\n l < o - 1 ? (l += 1) : (f = !1);\n }\n (s._lastPoint = l), (s._lastAddedLength = m - c.points[l].partialLength), (s._lastKeyframeIndex = d);\n }\n } else {\n let s, r, a, o, l;\n if (((u = i.s.length), (m = h.s || i.e), this.sh && 1 !== i.h))\n if (t >= g) (e[0] = m[0]), (e[1] = m[1]), (e[2] = m[2]);\n else if (t <= y) (e[0] = i.s[0]), (e[1] = i.s[1]), (e[2] = i.s[2]);\n else {\n !(function (t, s) {\n const e = s[0],\n i = s[1],\n h = s[2],\n r = s[3],\n a = Math.atan2(2 * i * r - 2 * e * h, 1 - 2 * i * i - 2 * h * h),\n n = Math.asin(2 * e * i + 2 * h * r),\n o = Math.atan2(2 * e * r - 2 * i * h, 1 - 2 * e * e - 2 * h * h);\n (t[0] = a / U), (t[1] = n / U), (t[2] = o / U);\n })(\n e,\n (function (t, s, e) {\n const i = [],\n h = t[0],\n r = t[1],\n a = t[2],\n n = t[3];\n let o,\n l,\n p,\n c,\n d,\n u = s[0],\n f = s[1],\n m = s[2],\n g = s[3];\n return (\n (l = h * u + r * f + a * m + n * g),\n l < 0 && ((l = -l), (u = -u), (f = -f), (m = -m), (g = -g)),\n 1 - l > 1e-6\n ? ((o = Math.acos(l)), (p = Math.sin(o)), (c = Math.sin((1 - e) * o) / p), (d = Math.sin(e * o) / p))\n : ((c = 1 - e), (d = e)),\n (i[0] = c * h + d * u),\n (i[1] = c * r + d * f),\n (i[2] = c * a + d * m),\n (i[3] = c * n + d * g),\n i\n );\n })(ht(i.s), ht(m), (t - y) / (g - y)),\n );\n }\n else\n for (d = 0; d < u; d += 1)\n 1 !== i.h &&\n (t >= g\n ? (n = 1)\n : t < y\n ? (n = 0)\n : (i.o.x.constructor === Array\n ? (i.__fnct || (i.__fnct = []),\n i.__fnct[d]\n ? (p = i.__fnct[d])\n : ((s = void 0 === i.o.x[d] ? i.o.x[0] : i.o.x[d]),\n (r = void 0 === i.o.y[d] ? i.o.y[0] : i.o.y[d]),\n (a = void 0 === i.i.x[d] ? i.i.x[0] : i.i.x[d]),\n (o = void 0 === i.i.y[d] ? i.i.y[0] : i.i.y[d]),\n (p = T.getBezierEasing(s, r, a, o).get),\n (i.__fnct[d] = p)))\n : i.__fnct\n ? (p = i.__fnct)\n : ((s = i.o.x),\n (r = i.o.y),\n (a = i.i.x),\n (o = i.i.y),\n (p = T.getBezierEasing(s, r, a, o).get),\n (i.__fnct = p)),\n (n = p((t - y) / (g - y))))),\n (m = h.s || i.e),\n (l = 1 === i.h ? i.s[d] : i.s[d] + (m[d] - i.s[d]) * n),\n 'multidimensional' === this.propType ? (e[d] = l) : (e = l);\n }\n return (s.lastIndex = c), e;\n }\n getValueAtCurrentTime(t) {\n let s = this.keyframes[0].t,\n e = this.keyframes[this.keyframes.length - 1].t;\n if (\n !(\n t === this._caching.lastFrame ||\n (-999999 !== this._caching.lastFrame &&\n ((this._caching.lastFrame >= e && t >= e) || (this._caching.lastFrame < s && t < s)))\n )\n ) {\n this._caching.lastFrame >= t && ((this._caching._lastKeyframeIndex = -1), (this._caching.lastIndex = 0));\n let s = this.interpolateValue(t, this._caching);\n this.pv = s;\n }\n return (this._caching.lastFrame = t), this.pv;\n }\n setVValue(t) {\n let s;\n if ('unidimensional' === this.propType)\n (s = t * this.mult), Math.abs(this.v - s) > 1e-5 && ((this.v = s), (this._mdf = !0));\n else {\n let e = 0;\n const i = this.v.length;\n for (; e < i; )\n (s = t[e] * this.mult), Math.abs(this.v[e] - s) > 1e-5 && ((this.v[e] = s), (this._mdf = !0)), (e += 1);\n }\n }\n processEffectsSequence(t) {\n if ((this.expression && (t = this.expression.update(t)), t === this.frameId || !this.effectsSequence.length))\n return;\n if (this.lock) return void this.setVValue(this.pv);\n let s;\n (this.lock = !0), (this._mdf = this._isFirstFrame);\n let e = this.effectsSequence.length,\n i = this.kf ? this.pv : this.data.k;\n for (s = 0; s < e; s += 1) i = this.effectsSequence[s](t);\n this.setVValue(i), (this._isFirstFrame = !1), (this.lock = !1), (this.frameId = t);\n }\n addEffect(t) {\n this.effectsSequence.push(t), this.container.addDynamicProperty(this);\n }\n}\nclass at extends rt {\n constructor(t, s, e, i) {\n super(),\n (this.propType = 'unidimensional'),\n (this.mult = e || 1),\n (this.data = s),\n (this.v = e ? s.k * e : s.k),\n (this.pv = s.k),\n (this._mdf = !1),\n (this.elem = t),\n (this.container = i),\n (this.k = !1),\n (this.kf = !1),\n (this.vel = 0),\n (this.effectsSequence = []),\n (this._isFirstFrame = !0),\n (this.getValue = this.processEffectsSequence);\n }\n}\nclass nt extends rt {\n constructor(t, s, e, i) {\n super(),\n (this.propType = 'multidimensional'),\n (this.mult = e || 1),\n (this.data = s),\n (this._mdf = !1),\n (this.elem = t),\n (this.container = i),\n (this.comp = t.comp),\n (this.k = !1),\n (this.kf = !1),\n (this.frameId = -1);\n const h = s.k.length;\n (this.v = w('float32', h)), (this.pv = w('float32', h)), (this.vel = w('float32', h));\n for (let t = 0; t < h; t += 1) (this.v[t] = s.k[t] * this.mult), (this.pv[t] = s.k[t]);\n (this._isFirstFrame = !0), (this.effectsSequence = []), (this.getValue = this.processEffectsSequence);\n }\n}\nclass ot extends rt {\n constructor(t, s, e, i) {\n super(),\n (this.propType = 'unidimensional'),\n (this.keyframes = s.k),\n (this.frameId = -1),\n (this._caching = { lastFrame: -999999, lastIndex: 0, value: 0, _lastKeyframeIndex: -1 }),\n (this.k = !0),\n (this.kf = !0),\n (this.data = s),\n (this.mult = e || 1),\n (this.elem = t),\n (this.container = i),\n (this.comp = t.comp),\n (this.v = -999999),\n (this.pv = -999999),\n (this._isFirstFrame = !0),\n (this.getValue = this.processEffectsSequence),\n (this.effectsSequence = [this.getValueAtCurrentTime.bind(this)]),\n (this._hasOutTypeExpression = !1),\n it.hasSupportExpression(s) &&\n ((this.expression = it.getExpression(s)), (this._hasOutTypeExpression = 'out' === this.expression.type));\n }\n}\nclass lt extends rt {\n constructor(t, s, e, i) {\n let h;\n super(), (this.propType = 'multidimensional');\n let r,\n a,\n n,\n o,\n l = s.k.length;\n for (h = 0; h < l - 1; h += 1)\n s.k[h].to &&\n s.k[h].s &&\n s.k[h + 1] &&\n s.k[h + 1].s &&\n ((r = s.k[h].s),\n (a = s.k[h + 1].s),\n (n = s.k[h].to),\n (o = s.k[h].ti),\n ((2 === r.length &&\n (r[0] !== a[0] || r[1] !== a[1]) &&\n H.pointOnLine2D(r[0], r[1], a[0], a[1], r[0] + n[0], r[1] + n[1]) &&\n H.pointOnLine2D(r[0], r[1], a[0], a[1], a[0] + o[0], a[1] + o[1])) ||\n (3 === r.length &&\n (r[0] !== a[0] || r[1] !== a[1] || r[2] !== a[2]) &&\n H.pointOnLine3D(r[0], r[1], r[2], a[0], a[1], a[2], r[0] + n[0], r[1] + n[1], r[2] + n[2]) &&\n H.pointOnLine3D(r[0], r[1], r[2], a[0], a[1], a[2], a[0] + o[0], a[1] + o[1], a[2] + o[2]))) &&\n ((s.k[h].to = null), (s.k[h].ti = null)),\n r[0] === a[0] &&\n r[1] === a[1] &&\n 0 === n[0] &&\n 0 === n[1] &&\n 0 === o[0] &&\n 0 === o[1] &&\n (2 === r.length || (r[2] === a[2] && 0 === n[2] && 0 === o[2])) &&\n ((s.k[h].to = null), (s.k[h].ti = null)));\n (this.effectsSequence = [this.getValueAtCurrentTime.bind(this)]),\n (this.keyframes = s.k),\n (this.k = !0),\n (this.kf = !0),\n (this._isFirstFrame = !0),\n (this.mult = e || 1),\n (this.elem = t),\n (this.container = i),\n (this.comp = t.comp),\n (this.getValue = this.processEffectsSequence),\n (this.frameId = -1);\n let p = s.k[0].s.length;\n for (this.v = w('float32', p), this.pv = w('float32', p), h = 0; h < p; h += 1)\n (this.v[h] = -999999), (this.pv[h] = -999999);\n (this._caching = { lastFrame: -999999, lastIndex: 0, value: w('float32', p) }),\n (this._hasOutTypeExpression = !1),\n it.hasSupportExpression(s) &&\n ((this.expression = it.getExpression(s)), (this._hasOutTypeExpression = 'out' === this.expression.type));\n }\n}\nvar pt = {\n getProp: function (t, s, e, i, h) {\n let r;\n if (s.k.length)\n if ('number' == typeof s.k[0]) r = new nt(t, s, i, h);\n else\n switch (e) {\n case 0:\n r = new ot(t, s, i, h);\n break;\n case 1:\n r = new lt(t, s, i, h);\n }\n else r = new at(t, s, i, h);\n return r.effectsSequence.length && h.addDynamicProperty(r), r;\n },\n};\nclass ct {\n interpolateShape(t, s, e) {\n let i,\n h,\n r,\n a,\n n,\n o,\n l,\n p,\n c,\n d = e.lastIndex,\n u = this.keyframes;\n if (t < u[0].t) (i = u[0].s[0]), (r = !0), (d = 0);\n else if (t >= u[u.length - 1].t) (i = u[u.length - 1].s ? u[u.length - 1].s[0] : u[u.length - 2].e[0]), (r = !0);\n else {\n let s,\n e,\n a = d,\n n = u.length - 1,\n o = !0;\n for (; o && ((s = u[a]), (e = u[a + 1]), !(e.t > t)); ) a < n - 1 ? (a += 1) : (o = !1);\n if (((r = 1 === s.h), (d = a), !r)) {\n if (t >= e.t) p = 1;\n else if (t < s.t) p = 0;\n else {\n let i;\n s.__fnct ? (i = s.__fnct) : ((i = T.getBezierEasing(s.o.x, s.o.y, s.i.x, s.i.y).get), (s.__fnct = i)),\n (p = i((t - s.t) / (e.t - s.t)));\n }\n h = e.s ? e.s[0] : s.e[0];\n }\n i = s.s[0];\n }\n for (o = s._length, l = i.i[0].length, e.lastIndex = d, a = 0; a < o; a += 1)\n for (n = 0; n < l; n += 1)\n (c = r ? i.i[a][n] : i.i[a][n] + (h.i[a][n] - i.i[a][n]) * p),\n (s.i[a][n] = c),\n (c = r ? i.o[a][n] : i.o[a][n] + (h.o[a][n] - i.o[a][n]) * p),\n (s.o[a][n] = c),\n (c = r ? i.v[a][n] : i.v[a][n] + (h.v[a][n] - i.v[a][n]) * p),\n (s.v[a][n] = c);\n }\n interpolateShapeCurrentTime(t) {\n let s = this.keyframes[0].t,\n e = this.keyframes[this.keyframes.length - 1].t,\n i = this._caching.lastFrame;\n return (\n (-999999 !== i && ((i < s && t < s) || (i > e && t > e))) ||\n ((this._caching.lastIndex = i < t ? this._caching.lastIndex : 0),\n this.interpolateShape(t, this.pv, this._caching)),\n (this._caching.lastFrame = t),\n this.pv\n );\n }\n resetShape() {\n this.paths = this.localShapeCollection;\n }\n shapesEqual(t, s) {\n if (t._length !== s._length || t.c !== s.c) return !1;\n let e,\n i = t._length;\n for (e = 0; e < i; e += 1)\n if (\n t.v[e][0] !== s.v[e][0] ||\n t.v[e][1] !== s.v[e][1] ||\n t.o[e][0] !== s.o[e][0] ||\n t.o[e][1] !== s.o[e][1] ||\n t.i[e][0] !== s.i[e][0] ||\n t.i[e][1] !== s.i[e][1]\n )\n return !1;\n return !0;\n }\n setVValue(t) {\n this.shapesEqual(this.v, t) ||\n ((this.v = b.clone(t)),\n this.localShapeCollection.releaseShapes(),\n this.localShapeCollection.addShape(this.v),\n (this._mdf = !0),\n (this.paths = this.localShapeCollection));\n }\n processEffectsSequence(t) {\n if (t === this.frameId) return;\n if (!this.effectsSequence.length) return void (this._mdf = !1);\n if (this.lock) return void this.setVValue(this.pv);\n (this.lock = !0), (this._mdf = !1);\n let s,\n e = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k,\n i = this.effectsSequence.length;\n for (s = 0; s < i; s += 1) e = this.effectsSequence[s](t);\n this.setVValue(e), (this.lock = !1), (this.frameId = t);\n }\n addEffect(t) {\n this.effectsSequence.push(t), this.container.addDynamicProperty(this);\n }\n}\nclass dt extends ct {\n constructor(t, s, e) {\n super(),\n (this.propType = 'shape'),\n (this.comp = t.comp),\n (this.container = t),\n (this.elem = t),\n (this.data = s),\n (this.k = !1),\n (this.kf = !1),\n (this._mdf = !1);\n let i = 3 === e ? s.pt.k : s.ks.k;\n (this.v = b.clone(i)),\n (this.pv = b.clone(this.v)),\n (this.localShapeCollection = q.newShapeCollection()),\n (this.paths = this.localShapeCollection),\n this.paths.addShape(this.v),\n (this.reset = this.resetShape),\n (this.effectsSequence = []),\n (this.getValue = this.processEffectsSequence);\n }\n}\nclass ut extends ct {\n constructor(t, s, e) {\n super(),\n (this.propType = 'shape'),\n (this.comp = t.comp),\n (this.elem = t),\n (this.container = t),\n (this.keyframes = 3 === e ? s.pt.k : s.ks.k),\n (this.k = !0),\n (this.kf = !0);\n let i = this.keyframes[0].s[0].i.length;\n (this.v = b.newElement()),\n this.v.setPathData(this.keyframes[0].s[0].c, i),\n (this.pv = b.clone(this.v)),\n (this.localShapeCollection = q.newShapeCollection()),\n (this.paths = this.localShapeCollection),\n this.paths.addShape(this.v),\n (this.lastFrame = -999999),\n (this.reset = this.resetShape),\n (this._caching = { lastFrame: -999999, lastIndex: 0 }),\n (this.effectsSequence = [this.interpolateShapeCurrentTime.bind(this)]),\n (this.getValue = this.processEffectsSequence),\n (this._hasOutTypeExpression = !1),\n it.hasSupportExpression(s) &&\n ((this.expression = it.getExpression(s)), (this._hasOutTypeExpression = 'out' === this.expression.type));\n }\n}\nclass ft extends O {\n constructor(t, s) {\n super(),\n (this.v = b.newElement()),\n this.v.setPathData(!0, 4),\n (this.localShapeCollection = q.newShapeCollection()),\n (this.paths = this.localShapeCollection),\n this.localShapeCollection.addShape(this.v),\n (this.d = s.d),\n (this.elem = t),\n (this.comp = t.comp),\n (this.frameId = -1),\n this.initDynamicPropertyContainer(t),\n (this.p = pt.getProp(t, s.p, 1, 0, this)),\n (this.s = pt.getProp(t, s.s, 1, 0, this)),\n this.dynamicProperties.length ? (this.k = !0) : ((this.k = !1), this.convertEllToPath());\n }\n reset() {\n this.paths = this.localShapeCollection;\n }\n getValue(t) {\n t !== this.frameId && (this.iterateDynamicProperties(t), (this.frameId = t), this._mdf && this.convertEllToPath());\n }\n convertEllToPath() {\n const t = this.p.v[0],\n s = this.p.v[1],\n e = this.s.v[0] / 2,\n i = this.s.v[1] / 2,\n h = 3 !== this.d,\n r = this.v;\n (r.v[0][0] = t),\n (r.v[0][1] = s - i),\n (r.v[1][0] = h ? t + e : t - e),\n (r.v[1][1] = s),\n (r.v[2][0] = t),\n (r.v[2][1] = s + i),\n (r.v[3][0] = h ? t - e : t + e),\n (r.v[3][1] = s),\n (r.i[0][0] = h ? t - e * gt : t + e * gt),\n (r.i[0][1] = s - i),\n (r.i[1][0] = h ? t + e : t - e),\n (r.i[1][1] = s - i * gt),\n (r.i[2][0] = h ? t + e * gt : t - e * gt),\n (r.i[2][1] = s + i),\n (r.i[3][0] = h ? t - e : t + e),\n (r.i[3][1] = s + i * gt),\n (r.o[0][0] = h ? t + e * gt : t - e * gt),\n (r.o[0][1] = s - i),\n (r.o[1][0] = h ? t + e : t - e),\n (r.o[1][1] = s + i * gt),\n (r.o[2][0] = h ? t - e * gt : t + e * gt),\n (r.o[2][1] = s + i),\n (r.o[3][0] = h ? t - e : t + e),\n (r.o[3][1] = s - i * gt);\n }\n}\nclass mt extends O {\n constructor(t, s) {\n super(),\n (this.v = b.newElement()),\n this.v.setPathData(!0, 0),\n (this.elem = t),\n (this.comp = t.comp),\n (this.data = s),\n (this.frameId = -1),\n (this.d = s.d),\n this.initDynamicPropertyContainer(t),\n 1 === s.sy\n ? ((this.ir = pt.getProp(t, s.ir, 0, 0, this)),\n (this.is = pt.getProp(t, s.is, 0, 0.01, this)),\n (this.convertToPath = this.convertStarToPath))\n : (this.convertToPath = this.convertPolygonToPath),\n (this.pt = pt.getProp(t, s.pt, 0, 0, this)),\n (this.p = pt.getProp(t, s.p, 1, 0, this)),\n (this.r = pt.getProp(t, s.r, 0, U, this)),\n (this.or = pt.getProp(t, s.or, 0, 0, this)),\n (this.os = pt.getProp(t, s.os, 0, 0.01, this)),\n (this.localShapeCollection = q.newShapeCollection()),\n this.localShapeCollection.addShape(this.v),\n (this.paths = this.localShapeCollection),\n this.dynamicProperties.length ? (this.k = !0) : ((this.k = !1), this.convertToPath());\n }\n reset() {\n this.paths = this.localShapeCollection;\n }\n getValue(t) {\n t !== this.frameId && ((this.frameId = t), this.iterateDynamicProperties(t), this._mdf && this.convertToPath());\n }\n convertStarToPath() {\n let t,\n s,\n e,\n i,\n h = 2 * Math.floor(this.pt.v),\n r = (2 * Math.PI) / h,\n a = !0,\n n = this.or.v,\n o = this.ir.v,\n l = this.os.v,\n p = this.is.v,\n c = (2 * Math.PI * n) / (2 * h),\n d = (2 * Math.PI * o) / (2 * h),\n u = -Math.PI / 2;\n u += this.r.v;\n let f = 3 === this.data.d ? -1 : 1;\n for (this.v._length = 0, t = 0; t < h; t += 1) {\n (s = a ? n : o), (e = a ? l : p), (i = a ? c : d);\n let h = s * Math.cos(u),\n m = s * Math.sin(u),\n g = 0 === h && 0 === m ? 0 : m / Math.sqrt(h * h + m * m),\n y = 0 === h && 0 === m ? 0 : -h / Math.sqrt(h * h + m * m);\n (h += +this.p.v[0]),\n (m += +this.p.v[1]),\n this.v.setTripleAt(h, m, h - g * i * e * f, m - y * i * e * f, h + g * i * e * f, m + y * i * e * f, t, !0),\n (a = !a),\n (u += r * f);\n }\n }\n convertPolygonToPath() {\n let t,\n s = Math.floor(this.pt.v),\n e = (2 * Math.PI) / s,\n i = this.or.v,\n h = this.os.v,\n r = (2 * Math.PI * i) / (4 * s),\n a = -Math.PI / 2,\n n = 3 === this.data.d ? -1 : 1;\n for (a += this.r.v, this.v._length = 0, t = 0; t < s; t += 1) {\n let s = i * Math.cos(a),\n o = i * Math.sin(a),\n l = 0 === s && 0 === o ? 0 : o / Math.sqrt(s * s + o * o),\n p = 0 === s && 0 === o ? 0 : -s / Math.sqrt(s * s + o * o);\n (s += +this.p.v[0]),\n (o += +this.p.v[1]),\n this.v.setTripleAt(s, o, s - l * r * h * n, o - p * r * h * n, s + l * r * h * n, o + p * r * h * n, t, !0),\n (a += e * n);\n }\n (this.paths.length = 0), (this.paths[0] = this.v);\n }\n}\nconst gt = 0.5519;\nclass yt extends O {\n constructor(t, s) {\n super(),\n (this.v = b.newElement()),\n (this.v.c = !0),\n (this.localShapeCollection = q.newShapeCollection()),\n this.localShapeCollection.addShape(this.v),\n (this.paths = this.localShapeCollection),\n (this.elem = t),\n (this.comp = t.comp),\n (this.frameId = -1),\n (this.d = s.d),\n this.initDynamicPropertyContainer(t),\n (this.p = pt.getProp(t, s.p, 1, 0, this)),\n (this.s = pt.getProp(t, s.s, 1, 0, this)),\n (this.r = pt.getProp(t, s.r, 0, 0, this)),\n this.dynamicProperties.length ? (this.k = !0) : ((this.k = !1), this.convertRectToPath());\n }\n reset() {\n this.paths = this.localShapeCollection;\n }\n getValue(t) {\n t !== this.frameId && ((this.frameId = t), this.iterateDynamicProperties(t), this._mdf && this.convertRectToPath());\n }\n convertRectToPath() {\n let t = this.p.v[0],\n s = this.p.v[1],\n e = this.s.v[0] / 2,\n i = this.s.v[1] / 2,\n h = Math.min(e, i, this.r.v),\n r = h * (1 - 0.5519);\n (this.v._length = 0),\n 2 === this.d || 1 === this.d\n ? (this.v.setTripleAt(t + e, s - i + h, t + e, s - i + h, t + e, s - i + r, 0, !0),\n this.v.setTripleAt(t + e, s + i - h, t + e, s + i - r, t + e, s + i - h, 1, !0),\n 0 !== h\n ? (this.v.setTripleAt(t + e - h, s + i, t + e - h, s + i, t + e - r, s + i, 2, !0),\n this.v.setTripleAt(t - e + h, s + i, t - e + r, s + i, t - e + h, s + i, 3, !0),\n this.v.setTripleAt(t - e, s + i - h, t - e, s + i - h, t - e, s + i - r, 4, !0),\n this.v.setTripleAt(t - e, s - i + h, t - e, s - i + r, t - e, s - i + h, 5, !0),\n this.v.setTripleAt(t - e + h, s - i, t - e + h, s - i, t - e + r, s - i, 6, !0),\n this.v.setTripleAt(t + e - h, s - i, t + e - r, s - i, t + e - h, s - i, 7, !0))\n : (this.v.setTripleAt(t - e, s + i, t - e + r, s + i, t - e, s + i, 2),\n this.v.setTripleAt(t - e, s - i, t - e, s - i + r, t - e, s - i, 3)))\n : (this.v.setTripleAt(t + e, s - i + h, t + e, s - i + r, t + e, s - i + h, 0, !0),\n 0 !== h\n ? (this.v.setTripleAt(t + e - h, s - i, t + e - h, s - i, t + e - r, s - i, 1, !0),\n this.v.setTripleAt(t - e + h, s - i, t - e + r, s - i, t - e + h, s - i, 2, !0),\n this.v.setTripleAt(t - e, s - i + h, t - e, s - i + h, t - e, s - i + r, 3, !0),\n this.v.setTripleAt(t - e, s + i - h, t - e, s + i - r, t - e, s + i - h, 4, !0),\n this.v.setTripleAt(t - e + h, s + i, t - e + h, s + i, t - e + r, s + i, 5, !0),\n this.v.setTripleAt(t + e - h, s + i, t + e - r, s + i, t + e - h, s + i, 6, !0),\n this.v.setTripleAt(t + e, s + i - h, t + e, s + i - h, t + e, s + i - r, 7, !0))\n : (this.v.setTripleAt(t - e, s - i, t - e + r, s - i, t - e, s - i, 1, !0),\n this.v.setTripleAt(t - e, s + i, t - e, s + i - r, t - e, s + i, 2, !0),\n this.v.setTripleAt(t + e, s + i, t + e - r, s + i, t + e, s + i, 3, !0)));\n }\n}\nvar vt = {\n getShapeProp: function (t, s, e) {\n let i;\n if (3 === e || 4 === e) {\n i = (3 === e ? s.pt : s.ks).k.length ? new ut(t, s, e) : new dt(t, s, e);\n } else 5 === e ? (i = new yt(t, s)) : 6 === e ? (i = new ft(t, s)) : 7 === e && (i = new mt(t, s));\n return i.k && t.addDynamicProperty(i), i;\n },\n getConstructorFunction: function () {\n return dt;\n },\n getKeyframedConstructorFunction: function () {\n return ut;\n },\n};\nclass _t extends O {\n constructor(t, s, e) {\n super(),\n (this.frameId = -1),\n (this.elem = t),\n (this.session = e),\n (this.masksProperties = s || []),\n this.initDynamicPropertyContainer(t),\n (this.viewData = D(this.masksProperties.length));\n const i = this.masksProperties.length;\n let h = !1;\n for (let t = 0; t < i; t++)\n 'n' !== this.masksProperties[t].mode && (h = !0),\n (this.viewData[t] = vt.getShapeProp(this, this.masksProperties[t], 3)),\n (this.viewData[t].inv = this.masksProperties[t].inv);\n this.hasMasks = h;\n }\n getValue(t) {\n t !== this.frameId && (this.iterateDynamicProperties(t), (this.frameId = t));\n }\n}\n/*!\n Transformation Matrix v2.0\n (c) Epistemex 2014-2015\n www.epistemex.com\n By Ken Fyrstenberg\n Contributions by leeoniya.\n License: MIT, header required.\n */ var kt = (function () {\n var t = Math.cos,\n s = Math.sin,\n e = Math.tan,\n i = Math.round;\n function h() {\n return (\n (this.props[0] = 1),\n (this.props[1] = 0),\n (this.props[2] = 0),\n (this.props[3] = 0),\n (this.props[4] = 0),\n (this.props[5] = 1),\n (this.props[6] = 0),\n (this.props[7] = 0),\n (this.props[8] = 0),\n (this.props[9] = 0),\n (this.props[10] = 1),\n (this.props[11] = 0),\n (this.props[12] = 0),\n (this.props[13] = 0),\n (this.props[14] = 0),\n (this.props[15] = 1),\n this\n );\n }\n function r(e) {\n if (0 === e) return this;\n var i = t(e),\n h = s(e);\n return this._t(i, -h, 0, 0, h, i, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n function a(e) {\n if (0 === e) return this;\n var i = t(e),\n h = s(e);\n return this._t(1, 0, 0, 0, 0, i, -h, 0, 0, h, i, 0, 0, 0, 0, 1);\n }\n function n(e) {\n if (0 === e) return this;\n var i = t(e),\n h = s(e);\n return this._t(i, 0, h, 0, 0, 1, 0, 0, -h, 0, i, 0, 0, 0, 0, 1);\n }\n function o(e) {\n if (0 === e) return this;\n var i = t(e),\n h = s(e);\n return this._t(i, -h, 0, 0, h, i, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n function l(t, s) {\n return this._t(1, s, t, 1, 0, 0);\n }\n function p(t, s) {\n return this.shear(e(t), e(s));\n }\n function c(i, h) {\n var r = t(h),\n a = s(h);\n return this._t(r, a, 0, 0, -a, r, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)\n ._t(1, 0, 0, 0, e(i), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)\n ._t(r, -a, 0, 0, a, r, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n function d(t, s, e) {\n return (\n e || 0 === e || (e = 1),\n 1 === t && 1 === s && 1 === e ? this : this._t(t, 0, 0, 0, 0, s, 0, 0, 0, 0, e, 0, 0, 0, 0, 1)\n );\n }\n function u(t, s, e, i, h, r, a, n, o, l, p, c, d, u, f, m) {\n return (\n (this.props[0] = t),\n (this.props[1] = s),\n (this.props[2] = e),\n (this.props[3] = i),\n (this.props[4] = h),\n (this.props[5] = r),\n (this.props[6] = a),\n (this.props[7] = n),\n (this.props[8] = o),\n (this.props[9] = l),\n (this.props[10] = p),\n (this.props[11] = c),\n (this.props[12] = d),\n (this.props[13] = u),\n (this.props[14] = f),\n (this.props[15] = m),\n this\n );\n }\n function f(t, s, e) {\n return (e = e || 0), 0 !== t || 0 !== s || 0 !== e ? this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, t, s, e, 1) : this;\n }\n function m(t, s, e, i, h, r, a, n, o, l, p, c, d, u, f, m) {\n var g = this.props;\n if (\n 1 === t &&\n 0 === s &&\n 0 === e &&\n 0 === i &&\n 0 === h &&\n 1 === r &&\n 0 === a &&\n 0 === n &&\n 0 === o &&\n 0 === l &&\n 1 === p &&\n 0 === c\n )\n return (\n (g[12] = g[12] * t + g[15] * d),\n (g[13] = g[13] * r + g[15] * u),\n (g[14] = g[14] * p + g[15] * f),\n (g[15] = g[15] * m),\n (this._identityCalculated = !1),\n this\n );\n var y = g[0],\n v = g[1],\n _ = g[2],\n k = g[3],\n S = g[4],\n x = g[5],\n M = g[6],\n P = g[7],\n T = g[8],\n w = g[9],\n D = g[10],\n L = g[11],\n F = g[12],\n A = g[13],\n C = g[14],\n b = g[15];\n return (\n (g[0] = y * t + v * h + _ * o + k * d),\n (g[1] = y * s + v * r + _ * l + k * u),\n (g[2] = y * e + v * a + _ * p + k * f),\n (g[3] = y * i + v * n + _ * c + k * m),\n (g[4] = S * t + x * h + M * o + P * d),\n (g[5] = S * s + x * r + M * l + P * u),\n (g[6] = S * e + x * a + M * p + P * f),\n (g[7] = S * i + x * n + M * c + P * m),\n (g[8] = T * t + w * h + D * o + L * d),\n (g[9] = T * s + w * r + D * l + L * u),\n (g[10] = T * e + w * a + D * p + L * f),\n (g[11] = T * i + w * n + D * c + L * m),\n (g[12] = F * t + A * h + C * o + b * d),\n (g[13] = F * s + A * r + C * l + b * u),\n (g[14] = F * e + A * a + C * p + b * f),\n (g[15] = F * i + A * n + C * c + b * m),\n (this._identityCalculated = !1),\n this\n );\n }\n function g() {\n return (\n this._identityCalculated ||\n ((this._identity = !(\n 1 !== this.props[0] ||\n 0 !== this.props[1] ||\n 0 !== this.props[2] ||\n 0 !== this.props[3] ||\n 0 !== this.props[4] ||\n 1 !== this.props[5] ||\n 0 !== this.props[6] ||\n 0 !== this.props[7] ||\n 0 !== this.props[8] ||\n 0 !== this.props[9] ||\n 1 !== this.props[10] ||\n 0 !== this.props[11] ||\n 0 !== this.props[12] ||\n 0 !== this.props[13] ||\n 0 !== this.props[14] ||\n 1 !== this.props[15]\n )),\n (this._identityCalculated = !0)),\n this._identity\n );\n }\n function y(t) {\n for (var s = 0; s < 16; ) {\n if (t.props[s] !== this.props[s]) return !1;\n s += 1;\n }\n return !0;\n }\n function v(t) {\n var s;\n for (s = 0; s < 16; s += 1) t.props[s] = this.props[s];\n }\n function _(t) {\n var s;\n for (s = 0; s < 16; s += 1) this.props[s] = t[s];\n }\n function k(t, s, e) {\n return {\n x: t * this.props[0] + s * this.props[4] + e * this.props[8] + this.props[12],\n y: t * this.props[1] + s * this.props[5] + e * this.props[9] + this.props[13],\n z: t * this.props[2] + s * this.props[6] + e * this.props[10] + this.props[14],\n };\n }\n function S(t, s, e) {\n return t * this.props[0] + s * this.props[4] + e * this.props[8] + this.props[12];\n }\n function x(t, s, e) {\n return t * this.props[1] + s * this.props[5] + e * this.props[9] + this.props[13];\n }\n function M(t, s, e) {\n return t * this.props[2] + s * this.props[6] + e * this.props[10] + this.props[14];\n }\n function P(t) {\n var s = this.props[0] * this.props[5] - this.props[1] * this.props[4],\n e = this.props[5] / s,\n i = -this.props[1] / s,\n h = -this.props[4] / s,\n r = this.props[0] / s,\n a = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / s,\n n = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / s;\n return [t[0] * e + t[1] * h + a, t[0] * i + t[1] * r + n, 0];\n }\n function T(t) {\n var s,\n e = t.length,\n i = [];\n for (s = 0; s < e; s += 1) i[s] = P(t[s]);\n return i;\n }\n function D(t, s, e) {\n var i = w('float32', 6);\n if (this.isIdentity()) (i[0] = t[0]), (i[1] = t[1]), (i[2] = s[0]), (i[3] = s[1]), (i[4] = e[0]), (i[5] = e[1]);\n else {\n var h = this.props[0],\n r = this.props[1],\n a = this.props[4],\n n = this.props[5],\n o = this.props[12],\n l = this.props[13];\n (i[0] = t[0] * h + t[1] * a + o),\n (i[1] = t[0] * r + t[1] * n + l),\n (i[2] = s[0] * h + s[1] * a + o),\n (i[3] = s[0] * r + s[1] * n + l),\n (i[4] = e[0] * h + e[1] * a + o),\n (i[5] = e[0] * r + e[1] * n + l);\n }\n return i;\n }\n function L(t, s, e) {\n return this.isIdentity()\n ? [t, s, e]\n : [\n t * this.props[0] + s * this.props[4] + e * this.props[8] + this.props[12],\n t * this.props[1] + s * this.props[5] + e * this.props[9] + this.props[13],\n t * this.props[2] + s * this.props[6] + e * this.props[10] + this.props[14],\n ];\n }\n function F(t, s) {\n if (this.isIdentity()) return t + ',' + s;\n var e = this.props;\n return (\n Math.round(100 * (t * e[0] + s * e[4] + e[12])) / 100 +\n ',' +\n Math.round(100 * (t * e[1] + s * e[5] + e[13])) / 100\n );\n }\n function A() {\n for (var t = 0, s = this.props, e = 'matrix3d('; t < 16; )\n (e += i(1e4 * s[t]) / 1e4), (e += 15 === t ? ')' : ','), (t += 1);\n return e;\n }\n function C(t) {\n return (t < 1e-6 && t > 0) || (t > -1e-6 && t < 0) ? i(1e4 * t) / 1e4 : t;\n }\n function b() {\n var t = this.props;\n return 'matrix(' + C(t[0]) + ',' + C(t[1]) + ',' + C(t[4]) + ',' + C(t[5]) + ',' + C(t[12]) + ',' + C(t[13]) + ')';\n }\n return function () {\n (this.reset = h),\n (this.rotate = r),\n (this.rotateX = a),\n (this.rotateY = n),\n (this.rotateZ = o),\n (this.skew = p),\n (this.skewFromAxis = c),\n (this.shear = l),\n (this.scale = d),\n (this.setTransform = u),\n (this.translate = f),\n (this.transform = m),\n (this.applyToPoint = k),\n (this.applyToX = S),\n (this.applyToY = x),\n (this.applyToZ = M),\n (this.applyToPointArray = L),\n (this.applyToTriplePoints = D),\n (this.applyToPointStringified = F),\n (this.toCSS = A),\n (this.to2dCSS = b),\n (this.clone = v),\n (this.cloneFromProps = _),\n (this.equals = y),\n (this.inversePoints = T),\n (this.inversePoint = P),\n (this._t = this.transform),\n (this.isIdentity = g),\n (this._identity = !0),\n (this._identityCalculated = !1),\n (this.props = w('float32', 16)),\n this.reset();\n };\n})();\nclass St {\n constructor() {\n (this.sequences = {}), (this.sequenceList = []), (this.transform_key_count = 0);\n }\n addTransformSequence(t) {\n const s = t.length;\n let e = '_';\n for (let i = 0; i < s; i += 1) e += t[i].transform.key + '_';\n let i = this.sequences[e];\n return (\n i ||\n ((i = { transforms: [].concat(t), finalTransform: new kt(), _mdf: !1 }),\n (this.sequences[e] = i),\n this.sequenceList.push(i)),\n i\n );\n }\n processSequence(t, s) {\n let e = 0,\n i = s;\n const h = t.transforms.length;\n for (; e < h && !s; ) {\n if (t.transforms[e].transform.mProps._mdf) {\n i = !0;\n break;\n }\n e += 1;\n }\n if (i) {\n let s;\n for (t.finalTransform.reset(), e = h - 1; e >= 0; e -= 1)\n (s = t.transforms[e].transform.mProps.v.props),\n t.finalTransform.transform(\n s[0],\n s[1],\n s[2],\n s[3],\n s[4],\n s[5],\n s[6],\n s[7],\n s[8],\n s[9],\n s[10],\n s[11],\n s[12],\n s[13],\n s[14],\n s[15],\n );\n }\n t._mdf = i;\n }\n processSequences(t) {\n const s = this.sequenceList.length;\n for (let e = 0; e < s; e += 1) this.processSequence(this.sequenceList[e], t);\n }\n getNewKey() {\n return '_' + this.transform_key_count++;\n }\n}\nclass xt {\n constructor(t, s) {\n (this.elem = t), (this.pos = s);\n }\n}\nclass Mt {\n constructor(t, s, e, i) {\n (this.styledShapes = []), (this.tr = [0, 0, 0, 0, 0, 0]);\n let h = 4;\n 'rc' == s.ty ? (h = 5) : 'el' == s.ty ? (h = 6) : 'sr' == s.ty && (h = 7), (this.sh = vt.getShapeProp(t, s, h));\n const r = e.length;\n for (let t = 0; t < r; t += 1)\n if (!e[t].closed) {\n const s = { transforms: i.addTransformSequence(e[t].transforms), trNodes: [] };\n this.styledShapes.push(s), e[t].elements.push(s);\n }\n }\n setAsAnimated() {\n this._isAnimated = !0;\n }\n}\nconst Pt = {};\nfunction Tt(t) {\n return Pt[t];\n}\nvar wt = {\n Type: {\n Null: 'Null',\n Path: 'Path',\n Shape: 'Shape',\n Solid: 'Solid',\n Sprite: 'Sprite',\n Component: 'Component',\n Container: 'Container',\n },\n registerDisplayByType: function (t, s) {\n Pt[t] = s;\n },\n};\nclass Dt {\n constructor(t, s, e) {\n (this.elem = t),\n (this.data = s),\n (this.type = s.ty),\n (this.preTransforms = e),\n (this.transforms = []),\n (this.elements = []),\n (this.closed = !0 === s.hd),\n (this.displayType = wt.Type.Path);\n const i = Tt(this.displayType);\n (this.display = new i(this, s)),\n this.elem.innerDisplay ? this.elem.innerDisplay.addChild(this.display) : this.elem.display.addChild(this.display);\n }\n updateGrahpics() {\n this.display.updateLottieGrahpics(this);\n }\n}\nclass Lt extends O {\n constructor(t, s, e) {\n if (\n (super(),\n (this.elem = t),\n (this.frameId = -1),\n (this.propType = 'transform'),\n (this.data = s),\n (this.v = new kt()),\n (this.pre = new kt()),\n (this.appliedTransformations = 0),\n this.initDynamicPropertyContainer(e || t),\n s.p && s.p.s\n ? ((this.px = pt.getProp(t, s.p.x, 0, 0, this)),\n (this.py = pt.getProp(t, s.p.y, 0, 0, this)),\n s.p.z && (this.pz = pt.getProp(t, s.p.z, 0, 0, this)))\n : (this.p = pt.getProp(t, s.p || { k: [0, 0, 0] }, 1, 0, this)),\n s.rx)\n ) {\n if (\n ((this.rx = pt.getProp(t, s.rx, 0, U, this)),\n (this.ry = pt.getProp(t, s.ry, 0, U, this)),\n (this.rz = pt.getProp(t, s.rz, 0, U, this)),\n s.or.k[0].ti)\n ) {\n let t,\n e = s.or.k.length;\n for (t = 0; t < e; t += 1) s.or.k[t].to = s.or.k[t].ti = null;\n }\n (this.or = pt.getProp(t, s.or, 1, U, this)), (this.or.sh = !0);\n } else this.r = pt.getProp(t, s.r || { k: 0 }, 0, U, this);\n s.sk && ((this.sk = pt.getProp(t, s.sk, 0, U, this)), (this.sa = pt.getProp(t, s.sa, 0, U, this))),\n (this.a = pt.getProp(t, s.a || { k: [0, 0, 0] }, 1, 0, this)),\n (this.s = pt.getProp(t, s.s || { k: [100, 100, 100] }, 1, 0.01, this)),\n s.o ? (this.o = pt.getProp(t, s.o, 0, 0.01, t)) : (this.o = { _mdf: !1, v: 1 }),\n (this._isDirty = !0),\n this.dynamicProperties.length || this.getValue(-999999, !0);\n }\n getValue(t, s) {\n if (t !== this.frameId) {\n if (\n (this._isDirty && (this.precalculateMatrix(), (this._isDirty = !1)),\n this.iterateDynamicProperties(),\n this._mdf || s)\n ) {\n if (\n (this.v.cloneFromProps(this.pre.props),\n this.appliedTransformations < 1 && this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]),\n this.appliedTransformations < 2 && this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]),\n this.sk && this.appliedTransformations < 3 && this.v.skewFromAxis(-this.sk.v, this.sa.v),\n this.r && this.appliedTransformations < 4\n ? this.v.rotate(-this.r.v)\n : !this.r &&\n this.appliedTransformations < 4 &&\n this.v\n .rotateZ(-this.rz.v)\n .rotateY(this.ry.v)\n .rotateX(this.rx.v)\n .rotateZ(-this.or.v[2])\n .rotateY(this.or.v[1])\n .rotateX(this.or.v[0]),\n this.autoOriented)\n ) {\n let t, s;\n const e = this.elem.globalData.frameRate;\n if (this.p && this.p.keyframes && this.p.getValueAtTime)\n this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t\n ? ((t = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / e, 0)),\n (s = this.p.getValueAtTime(this.p.keyframes[0].t / e, 0)))\n : this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t\n ? ((t = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / e, 0)),\n (s = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / e, 0)))\n : ((t = this.p.pv),\n (s = this.p.getValueAtTime(\n (this.p._caching.lastFrame + this.p.offsetTime - 0.01) / e,\n this.p.offsetTime,\n )));\n else if (\n this.px &&\n this.px.keyframes &&\n this.py.keyframes &&\n this.px.getValueAtTime &&\n this.py.getValueAtTime\n ) {\n (t = []), (s = []);\n let i = this.px,\n h = this.py;\n i._caching.lastFrame + i.offsetTime <= i.keyframes[0].t\n ? ((t[0] = i.getValueAtTime((i.keyframes[0].t + 0.01) / e, 0)),\n (t[1] = h.getValueAtTime((h.keyframes[0].t + 0.01) / e, 0)),\n (s[0] = i.getValueAtTime(i.keyframes[0].t / e, 0)),\n (s[1] = h.getValueAtTime(h.keyframes[0].t / e, 0)))\n : i._caching.lastFrame + i.offsetTime >= i.keyframes[i.keyframes.length - 1].t\n ? ((t[0] = i.getValueAtTime(i.keyframes[i.keyframes.length - 1].t / e, 0)),\n (t[1] = h.getValueAtTime(h.keyframes[h.keyframes.length - 1].t / e, 0)),\n (s[0] = i.getValueAtTime((i.keyframes[i.keyframes.length - 1].t - 0.01) / e, 0)),\n (s[1] = h.getValueAtTime((h.keyframes[h.keyframes.length - 1].t - 0.01) / e, 0)))\n : ((t = [i.pv, h.pv]),\n (s[0] = i.getValueAtTime((i._caching.lastFrame + i.offsetTime - 0.01) / e, i.offsetTime)),\n (s[1] = h.getValueAtTime((h._caching.lastFrame + h.offsetTime - 0.01) / e, h.offsetTime)));\n } else t = s = Z;\n this.v.rotate(-Math.atan2(t[1] - s[1], t[0] - s[0]));\n }\n this.data.p && this.data.p.s\n ? this.data.p.z\n ? this.v.translate(this.px.v, this.py.v, -this.pz.v)\n : this.v.translate(this.px.v, this.py.v, 0)\n : this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n this.frameId = t;\n }\n }\n precalculateMatrix() {\n if (\n !this.a.k &&\n (this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]),\n (this.appliedTransformations = 1),\n !this.s.effectsSequence.length)\n ) {\n if ((this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]), (this.appliedTransformations = 2), this.sk)) {\n if (this.sk.effectsSequence.length || this.sa.effectsSequence.length) return;\n this.pre.skewFromAxis(-this.sk.v, this.sa.v), (this.appliedTransformations = 3);\n }\n if (this.r) {\n if (this.r.effectsSequence.length) return;\n this.pre.rotate(-this.r.v), (this.appliedTransformations = 4);\n } else\n this.rz.effectsSequence.length ||\n this.ry.effectsSequence.length ||\n this.rx.effectsSequence.length ||\n this.or.effectsSequence.length ||\n (this.pre\n .rotateZ(-this.rz.v)\n .rotateY(this.ry.v)\n .rotateX(this.rx.v)\n .rotateZ(-this.or.v[2])\n .rotateY(this.or.v[1])\n .rotateX(this.or.v[0]),\n (this.appliedTransformations = 4));\n }\n }\n applyToMatrix(t) {\n let s = this._mdf;\n this.iterateDynamicProperties(),\n (this._mdf = this._mdf || s),\n this.a && t.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]),\n this.s && t.scale(this.s.v[0], this.s.v[1], this.s.v[2]),\n this.sk && t.skewFromAxis(-this.sk.v, this.sa.v),\n this.r\n ? t.rotate(-this.r.v)\n : t\n .rotateZ(-this.rz.v)\n .rotateY(this.ry.v)\n .rotateX(this.rx.v)\n .rotateZ(-this.or.v[2])\n .rotateY(this.or.v[1])\n .rotateX(this.or.v[0]),\n this.data.p.s\n ? this.data.p.z\n ? t.translate(this.px.v, this.py.v, -this.pz.v)\n : t.translate(this.px.v, this.py.v, 0)\n : t.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n}\nfunction Ft(t, s, e) {\n return new Lt(t, s, e);\n}\nclass At extends O {\n initModifierProperties() {}\n addShapeToModifier() {}\n addShape(t) {\n if (!this.closed) {\n t.sh.container.addDynamicProperty(t.sh);\n const s = { shape: t.sh, data: t, localShapeCollection: q.newShapeCollection() };\n this.shapes.push(s), this.addShapeToModifier(s), this._isAnimated && t.setAsAnimated();\n }\n }\n init(t, s) {\n (this.shapes = []),\n (this.elem = t),\n this.initDynamicPropertyContainer(t),\n this.initModifierProperties(t, s),\n (this.frameId = -999999),\n (this.closed = !1),\n (this.k = !1),\n this.dynamicProperties.length ? (this.k = !0) : this.getValue(!0);\n }\n processKeys(t) {\n t !== this.frameId && ((this.frameId = t), this.iterateDynamicProperties(t));\n }\n}\nconst Ct = {};\nfunction bt(t, s) {\n Ct[t] || (Ct[t] = s);\n}\nbt(\n 'tm',\n class extends At {\n initModifierProperties(t, s) {\n (this.s = pt.getProp(t, s.s, 0, 0.01, this)),\n (this.e = pt.getProp(t, s.e, 0, 0.01, this)),\n (this.o = pt.getProp(t, s.o, 0, 0, this)),\n (this.sValue = 0),\n (this.eValue = 0),\n (this.getValue = this.processKeys),\n (this.m = s.m),\n (this._isAnimated =\n !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length);\n }\n addShapeToModifier(t) {\n t.pathsData = [];\n }\n calculateShapeEdges(t, s, e, i, h) {\n let r = [];\n s <= 1\n ? r.push({ s: t, e: s })\n : t >= 1\n ? r.push({ s: t - 1, e: s - 1 })\n : (r.push({ s: t, e: 1 }), r.push({ s: 0, e: s - 1 }));\n let a,\n n,\n o = [],\n l = r.length;\n for (a = 0; a < l; a += 1)\n if (((n = r[a]), n.e * h < i || n.s * h > i + e));\n else {\n let t, s;\n (t = n.s * h <= i ? 0 : (n.s * h - i) / e), (s = n.e * h >= i + e ? 1 : (n.e * h - i) / e), o.push([t, s]);\n }\n return o.length || o.push([0, 0]), o;\n }\n releasePathsData(t) {\n const s = t.length;\n for (let e = 0; e < s; e += 1) Y.release(t[e]);\n return (t.length = 0), t;\n }\n processShapes(t) {\n let s, e, i, h;\n if (this._mdf || t) {\n let t = (this.o.v % 360) / 360;\n if (\n (t < 0 && (t += 1),\n (s = (this.s.v > 1 ? 1 : this.s.v < 0 ? 0 : this.s.v) + t),\n (e = (this.e.v > 1 ? 1 : this.e.v < 0 ? 0 : this.e.v) + t),\n s > e)\n ) {\n let t = s;\n (s = e), (e = t);\n }\n (s = 1e-4 * Math.round(1e4 * s)), (e = 1e-4 * Math.round(1e4 * e)), (this.sValue = s), (this.eValue = e);\n } else (s = this.sValue), (e = this.eValue);\n let r,\n a,\n n,\n o,\n l,\n p = this.shapes.length,\n c = 0;\n if (e === s)\n for (h = 0; h < p; h += 1)\n this.shapes[h].localShapeCollection.releaseShapes(),\n (this.shapes[h].shape._mdf = !0),\n (this.shapes[h].shape.paths = this.shapes[h].localShapeCollection),\n this._mdf && (this.shapes[h].pathsData.length = 0);\n else if ((1 === e && 0 === s) || (0 === e && 1 === s)) {\n if (this._mdf)\n for (h = 0; h < p; h += 1) (this.shapes[h].pathsData.length = 0), (this.shapes[h].shape._mdf = !0);\n } else {\n let d,\n u,\n f = [];\n for (h = 0; h < p; h += 1)\n if (((d = this.shapes[h]), d.shape._mdf || this._mdf || t || 2 === this.m)) {\n if (((i = d.shape.paths), (a = i._length), (l = 0), !d.shape._mdf && d.pathsData.length))\n l = d.totalShapeLength;\n else {\n for (n = this.releasePathsData(d.pathsData), r = 0; r < a; r += 1)\n (o = H.getSegmentsLength(i.shapes[r])), n.push(o), (l += o.totalLength);\n (d.totalShapeLength = l), (d.pathsData = n);\n }\n (c += l), (d.shape._mdf = !0);\n } else d.shape.paths = d.localShapeCollection;\n let m,\n g = s,\n y = e,\n v = 0;\n for (h = p - 1; h >= 0; h -= 1)\n if (((d = this.shapes[h]), d.shape._mdf)) {\n for (\n u = d.localShapeCollection,\n u.releaseShapes(),\n 2 === this.m && p > 1\n ? ((m = this.calculateShapeEdges(s, e, d.totalShapeLength, v, c)), (v += d.totalShapeLength))\n : (m = [[g, y]]),\n a = m.length,\n r = 0;\n r < a;\n r += 1\n ) {\n (g = m[r][0]),\n (y = m[r][1]),\n (f.length = 0),\n y <= 1\n ? f.push({ s: d.totalShapeLength * g, e: d.totalShapeLength * y })\n : g >= 1\n ? f.push({ s: d.totalShapeLength * (g - 1), e: d.totalShapeLength * (y - 1) })\n : (f.push({ s: d.totalShapeLength * g, e: d.totalShapeLength }),\n f.push({ s: 0, e: d.totalShapeLength * (y - 1) }));\n let t = this.addShapes(d, f[0]);\n if (f[0].s !== f[0].e) {\n if (f.length > 1) {\n if (d.shape.paths.shapes[d.shape.paths._length - 1].c) {\n let s = t.pop();\n this.addPaths(t, u), (t = this.addShapes(d, f[1], s));\n } else this.addPaths(t, u), (t = this.addShapes(d, f[1]));\n }\n this.addPaths(t, u);\n }\n }\n d.shape.paths = u;\n }\n }\n }\n addPaths(t, s) {\n const e = t.length;\n for (let i = 0; i < e; i += 1) s.addShape(t[i]);\n }\n addSegment(t, s, e, i, h, r, a) {\n h.setXYAt(s[0], s[1], 'o', r),\n h.setXYAt(e[0], e[1], 'i', r + 1),\n a && h.setXYAt(t[0], t[1], 'v', r),\n h.setXYAt(i[0], i[1], 'v', r + 1);\n }\n addSegmentFromArray(t, s, e, i) {\n s.setXYAt(t[1], t[5], 'o', e),\n s.setXYAt(t[2], t[6], 'i', e + 1),\n i && s.setXYAt(t[0], t[4], 'v', e),\n s.setXYAt(t[3], t[7], 'v', e + 1);\n }\n addShapes(t, s, e) {\n let i,\n h,\n r,\n a,\n n,\n o,\n l,\n p,\n c = t.pathsData,\n d = t.shape.paths.shapes,\n u = t.shape.paths._length,\n f = 0,\n m = [],\n g = !0;\n for (\n e ? ((n = e._length), (p = e._length)) : ((e = b.newElement()), (n = 0), (p = 0)), m.push(e), i = 0;\n i < u;\n i += 1\n ) {\n for (o = c[i].lengths, e.c = d[i].c, r = d[i].c ? o.length : o.length + 1, h = 1; h < r; h += 1)\n if (((a = o[h - 1]), f + a.addedLength < s.s)) (f += a.addedLength), (e.c = !1);\n else {\n if (f > s.e) {\n e.c = !1;\n break;\n }\n s.s <= f && s.e >= f + a.addedLength\n ? (this.addSegment(d[i].v[h - 1], d[i].o[h - 1], d[i].i[h], d[i].v[h], e, n, g), (g = !1))\n : ((l = H.getNewSegment(\n d[i].v[h - 1],\n d[i].v[h],\n d[i].o[h - 1],\n d[i].i[h],\n (s.s - f) / a.addedLength,\n (s.e - f) / a.addedLength,\n o[h - 1],\n )),\n this.addSegmentFromArray(l, e, n, g),\n (g = !1),\n (e.c = !1)),\n (f += a.addedLength),\n (n += 1);\n }\n if (d[i].c && o.length) {\n if (((a = o[h - 1]), f <= s.e)) {\n let t = o[h - 1].addedLength;\n s.s <= f && s.e >= f + t\n ? (this.addSegment(d[i].v[h - 1], d[i].o[h - 1], d[i].i[0], d[i].v[0], e, n, g), (g = !1))\n : ((l = H.getNewSegment(\n d[i].v[h - 1],\n d[i].v[0],\n d[i].o[h - 1],\n d[i].i[0],\n (s.s - f) / t,\n (s.e - f) / t,\n o[h - 1],\n )),\n this.addSegmentFromArray(l, e, n, g),\n (g = !1),\n (e.c = !1));\n } else e.c = !1;\n (f += a.addedLength), (n += 1);\n }\n if (\n (e._length &&\n (e.setXYAt(e.v[p][0], e.v[p][1], 'i', p),\n e.setXYAt(e.v[e._length - 1][0], e.v[e._length - 1][1], 'o', e._length - 1)),\n f > s.e)\n )\n break;\n i < u - 1 && ((e = b.newElement()), (g = !0), m.push(e), (n = 0));\n }\n return m;\n }\n },\n),\n bt(\n 'rd',\n class extends At {\n initModifierProperties(t, s) {\n (this.getValue = this.processKeys),\n (this.rd = pt.getProp(t, s.r, 0, null, this)),\n (this._isAnimated = !!this.rd.effectsSequence.length);\n }\n processPath(t, s) {\n const e = b.newElement();\n let i;\n e.c = t.c;\n let h,\n r,\n a,\n n,\n o,\n l,\n p,\n c,\n d,\n u,\n f,\n m,\n g = t._length,\n y = 0;\n for (i = 0; i < g; i += 1)\n (h = t.v[i]),\n (a = t.o[i]),\n (r = t.i[i]),\n h[0] === a[0] && h[1] === a[1] && h[0] === r[0] && h[1] === r[1]\n ? (0 !== i && i !== g - 1) || t.c\n ? ((n = 0 === i ? t.v[g - 1] : t.v[i - 1]),\n (o = Math.sqrt(Math.pow(h[0] - n[0], 2) + Math.pow(h[1] - n[1], 2))),\n (l = o ? Math.min(o / 2, s) / o : 0),\n (p = f = h[0] + (n[0] - h[0]) * l),\n (c = m = h[1] - (h[1] - n[1]) * l),\n (d = p - 0.5519 * (p - h[0])),\n (u = c - 0.5519 * (c - h[1])),\n e.setTripleAt(p, c, d, u, f, m, y),\n (y += 1),\n (n = i === g - 1 ? t.v[0] : t.v[i + 1]),\n (o = Math.sqrt(Math.pow(h[0] - n[0], 2) + Math.pow(h[1] - n[1], 2))),\n (l = o ? Math.min(o / 2, s) / o : 0),\n (p = d = h[0] + (n[0] - h[0]) * l),\n (c = u = h[1] + (n[1] - h[1]) * l),\n (f = p - 0.5519 * (p - h[0])),\n (m = c - 0.5519 * (c - h[1])),\n e.setTripleAt(p, c, d, u, f, m, y),\n (y += 1))\n : (e.setTripleAt(h[0], h[1], a[0], a[1], r[0], r[1], y), (y += 1))\n : (e.setTripleAt(t.v[i][0], t.v[i][1], t.o[i][0], t.o[i][1], t.i[i][0], t.i[i][1], y), (y += 1));\n return e;\n }\n processShapes(t) {\n let s,\n e,\n i,\n h,\n r = this.shapes.length,\n a = this.rd.v;\n if (0 !== a) {\n let n, o;\n for (e = 0; e < r; e += 1) {\n if (((n = this.shapes[e]), (o = n.localShapeCollection), n.shape._mdf || this._mdf || t))\n for (\n o.releaseShapes(), n.shape._mdf = !0, s = n.shape.paths.shapes, h = n.shape.paths._length, i = 0;\n i < h;\n i += 1\n )\n o.addShape(this.processPath(s[i], a));\n n.shape.paths = n.localShapeCollection;\n }\n }\n this.dynamicProperties.length || (this._mdf = !1);\n }\n },\n ),\n bt(\n 'rp',\n class extends At {\n initModifierProperties(t, s) {\n (this.getValue = this.processKeys),\n (this.c = pt.getProp(t, s.c, 0, null, this)),\n (this.o = pt.getProp(t, s.o, 0, null, this)),\n (this.tr = Ft(t, s.tr, this)),\n (this.so = pt.getProp(t, s.tr.so, 0, 0.01, this)),\n (this.eo = pt.getProp(t, s.tr.eo, 0, 0.01, this)),\n (this.data = s),\n this.dynamicProperties.length || this.getValue(!0),\n (this._isAnimated = !!this.dynamicProperties.length),\n (this.pMatrix = new kt()),\n (this.rMatrix = new kt()),\n (this.sMatrix = new kt()),\n (this.tMatrix = new kt()),\n (this.matrix = new kt());\n }\n applyTransforms(t, s, e, i, h, r) {\n let a = r ? -1 : 1,\n n = i.s.v[0] + (1 - i.s.v[0]) * (1 - h),\n o = i.s.v[1] + (1 - i.s.v[1]) * (1 - h);\n t.translate(i.p.v[0] * a * h, i.p.v[1] * a * h, i.p.v[2]),\n s.translate(-i.a.v[0], -i.a.v[1], i.a.v[2]),\n s.rotate(-i.r.v * a * h),\n s.translate(i.a.v[0], i.a.v[1], i.a.v[2]),\n e.translate(-i.a.v[0], -i.a.v[1], i.a.v[2]),\n e.scale(r ? 1 / n : n, r ? 1 / o : o),\n e.translate(i.a.v[0], i.a.v[1], i.a.v[2]);\n }\n init(t, s, e, i) {\n for (\n this.elem = t,\n this.arr = s,\n this.pos = e,\n this.elemsData = i,\n this._currentCopies = 0,\n this._elements = [],\n this._groups = [],\n this.frameId = -1,\n this.initDynamicPropertyContainer(t),\n this.initModifierProperties(t, s[e]);\n e > 0;\n\n )\n (e -= 1), this._elements.unshift(s[e]);\n this.dynamicProperties.length ? (this.k = !0) : this.getValue(!0);\n }\n resetElements(t) {\n const s = t.length;\n for (let e = 0; e < s; e += 1) (t[e]._processed = !1), 'gr' === t[e].ty && this.resetElements(t[e].it);\n }\n cloneElements(t) {\n let s = JSON.parse(JSON.stringify(t));\n return this.resetElements(s), s;\n }\n changeGroupRender(t, s) {\n const e = t.length;\n for (let i = 0; i < e; i += 1) (t[i]._render = s), 'gr' === t[i].ty && this.changeGroupRender(t[i].it, s);\n }\n processShapes(t) {\n if (this._mdf || t) {\n let t = Math.ceil(this.c.v);\n if (this._groups.length < t) {\n for (; this._groups.length < t; ) {\n let t = { it: this.cloneElements(this._elements), ty: 'gr' };\n t.it.push({\n a: { a: 0, ix: 1, k: [0, 0] },\n nm: 'Transform',\n o: { a: 0, ix: 7, k: 100 },\n p: { a: 0, ix: 2, k: [0, 0] },\n r: {\n a: 1,\n ix: 6,\n k: [\n { s: 0, e: 0, t: 0 },\n { s: 0, e: 0, t: 1 },\n ],\n },\n s: { a: 0, ix: 3, k: [100, 100] },\n sa: { a: 0, ix: 5, k: 0 },\n sk: { a: 0, ix: 4, k: 0 },\n ty: 'tr',\n }),\n this.arr.splice(0, 0, t),\n this._groups.splice(0, 0, t),\n (this._currentCopies += 1);\n }\n this.elem.reloadShapes();\n }\n let s,\n e,\n i = 0;\n for (s = 0; s <= this._groups.length - 1; s += 1)\n (e = i < t), (this._groups[s]._render = e), this.changeGroupRender(this._groups[s].it, e), (i += 1);\n this._currentCopies = t;\n let h = this.o.v,\n r = h % 1,\n a = h > 0 ? Math.floor(h) : Math.ceil(h),\n n = this.pMatrix.props,\n o = this.rMatrix.props,\n l = this.sMatrix.props;\n this.pMatrix.reset(), this.rMatrix.reset(), this.sMatrix.reset(), this.tMatrix.reset(), this.matrix.reset();\n let p = 0;\n if (h > 0) {\n for (; p < a; ) this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), (p += 1);\n r && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, r, !1), (p += r));\n } else if (h < 0) {\n for (; p > a; ) this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !0), (p -= 1);\n r && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -r, !0), (p -= r));\n }\n s = 1 === this.data.m ? 0 : this._currentCopies - 1;\n const c = 1 === this.data.m ? 1 : -1;\n for (i = this._currentCopies; i; ) {\n const t = this.elemsData[s].it,\n e = t[t.length - 1].transform.mProps.v.props,\n h = e.length;\n if (\n ((t[t.length - 1].transform.mProps._mdf = !0),\n (t[t.length - 1].transform.op._mdf = !0),\n (t[t.length - 1].transform.op.v = this.so.v + (this.eo.v - this.so.v) * (s / (this._currentCopies - 1))),\n 0 !== p)\n ) {\n ((0 !== s && 1 === c) || (s !== this._currentCopies - 1 && -1 === c)) &&\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1),\n this.matrix.transform(\n o[0],\n o[1],\n o[2],\n o[3],\n o[4],\n o[5],\n o[6],\n o[7],\n o[8],\n o[9],\n o[10],\n o[11],\n o[12],\n o[13],\n o[14],\n o[15],\n ),\n this.matrix.transform(\n l[0],\n l[1],\n l[2],\n l[3],\n l[4],\n l[5],\n l[6],\n l[7],\n l[8],\n l[9],\n l[10],\n l[11],\n l[12],\n l[13],\n l[14],\n l[15],\n ),\n this.matrix.transform(\n n[0],\n n[1],\n n[2],\n n[3],\n n[4],\n n[5],\n n[6],\n n[7],\n n[8],\n n[9],\n n[10],\n n[11],\n n[12],\n n[13],\n n[14],\n n[15],\n );\n for (let t = 0; t < h; t += 1) e[t] = this.matrix.props[t];\n this.matrix.reset();\n } else {\n this.matrix.reset();\n for (let t = 0; t < h; t += 1) e[t] = this.matrix.props[t];\n }\n (p += 1), (i -= 1), (s += c);\n }\n } else {\n let t = this._currentCopies,\n s = 0;\n const e = 1;\n for (; t; ) {\n const i = this.elemsData[s].it;\n (i[i.length - 1].transform.mProps._mdf = !1), (i[i.length - 1].transform.op._mdf = !1), (t -= 1), (s += e);\n }\n }\n }\n addShape() {}\n },\n ),\n bt(\n 'ms',\n class extends At {\n initModifierProperties(t, s) {\n (this.getValue = this.processKeys), (this.data = s), (this.positions = []);\n }\n processKeys(t, s) {\n (t !== this.frameId || s) && (this._mdf = !0);\n }\n addShapeToModifier() {\n this.positions.push([]);\n }\n processPath(t, s, e) {\n let i,\n h,\n r,\n a,\n n = t.v.length,\n o = [],\n l = [],\n p = [];\n for (i = 0; i < n; i += 1) {\n e.v[i] ||\n ((e.v[i] = [t.v[i][0], t.v[i][1]]),\n (e.o[i] = [t.o[i][0], t.o[i][1]]),\n (e.i[i] = [t.i[i][0], t.i[i][1]]),\n (e.distV[i] = 0),\n (e.distO[i] = 0),\n (e.distI[i] = 0)),\n (h = Math.atan2(t.v[i][1] - s[1], t.v[i][0] - s[0])),\n (r = s[0] - e.v[i][0]),\n (a = s[1] - e.v[i][1]);\n let n = Math.sqrt(r * r + a * a);\n (e.distV[i] += (n - e.distV[i]) * this.data.dc),\n (e.v[i][0] = (Math.cos(h) * Math.max(0, this.data.maxDist - e.distV[i])) / 2 + t.v[i][0]),\n (e.v[i][1] = (Math.sin(h) * Math.max(0, this.data.maxDist - e.distV[i])) / 2 + t.v[i][1]),\n (h = Math.atan2(t.o[i][1] - s[1], t.o[i][0] - s[0])),\n (r = s[0] - e.o[i][0]),\n (a = s[1] - e.o[i][1]),\n (n = Math.sqrt(r * r + a * a)),\n (e.distO[i] += (n - e.distO[i]) * this.data.dc),\n (e.o[i][0] = (Math.cos(h) * Math.max(0, this.data.maxDist - e.distO[i])) / 2 + t.o[i][0]),\n (e.o[i][1] = (Math.sin(h) * Math.max(0, this.data.maxDist - e.distO[i])) / 2 + t.o[i][1]),\n (h = Math.atan2(t.i[i][1] - s[1], t.i[i][0] - s[0])),\n (r = s[0] - e.i[i][0]),\n (a = s[1] - e.i[i][1]),\n (n = Math.sqrt(r * r + a * a)),\n (e.distI[i] += (n - e.distI[i]) * this.data.dc),\n (e.i[i][0] = (Math.cos(h) * Math.max(0, this.data.maxDist - e.distI[i])) / 2 + t.i[i][0]),\n (e.i[i][1] = (Math.sin(h) * Math.max(0, this.data.maxDist - e.distI[i])) / 2 + t.i[i][1]),\n o.push(e.v[i]),\n l.push(e.o[i]),\n p.push(e.i[i]);\n }\n return { v: o, o: l, i: p, c: t.c };\n }\n processShapes() {\n let t,\n s,\n e,\n i,\n h = this.elem.globalData.mouseX,\n r = this.elem.globalData.mouseY,\n a = this.shapes.length;\n if (h) {\n let n,\n o = this.elem.globalToLocal([h, r, 0]),\n l = [];\n for (s = 0; s < a; s += 1)\n if (((n = this.shapes[s]), n.shape._mdf || this._mdf)) {\n for (n.shape._mdf = !0, t = n.shape.paths, i = t.length, e = 0; e < i; e += 1)\n this.positions[s][e] ||\n (this.positions[s][e] = { v: [], o: [], i: [], distV: [], distO: [], distI: [] }),\n l.push(this.processPath(t[e], o, this.positions[s][e]));\n (n.shape.paths = l), (n.last = l);\n } else n.shape.paths = n.last;\n }\n }\n },\n );\nvar It = {\n getModifier: function (t, s, e) {\n return new Ct[t](s, e);\n },\n};\nclass Et extends O {\n constructor(t, s, e) {\n let i;\n super(),\n (this.elem = t),\n (this.frameId = -1),\n (this.dataProps = D(s.length)),\n (this.k = !1),\n (this.dashArray = w('float32', s.length ? s.length - 1 : 0)),\n (this.dashoffset = w('float32', 1)),\n this.initDynamicPropertyContainer(e);\n let h,\n r = s.length || 0;\n for (i = 0; i < r; i += 1)\n (h = pt.getProp(t, s[i].v, 0, 0, this)), (this.k = h.k || this.k), (this.dataProps[i] = { n: s[i].n, p: h });\n this.k || this.getValue(!0), (this._isAnimated = this.k);\n }\n getValue(t, s) {\n if (\n (t !== this.frameId || s) &&\n ((this.frameId = t), this.iterateDynamicProperties(), (this._mdf = this._mdf || s), this._mdf)\n ) {\n let t = 0,\n s = this.dataProps.length;\n for (t = 0; t < s; t += 1)\n 'o' != this.dataProps[t].n\n ? (this.dashArray[t] = this.dataProps[t].p.v)\n : (this.dashoffset[0] = this.dataProps[t].p.v);\n }\n }\n}\nclass Vt extends O {\n constructor(t, s, e) {\n super(), (this.data = s), (this.c = w('uint8c', 4 * s.p));\n let i = s.k.k[0].s ? s.k.k[0].s.length - 4 * s.p : s.k.k.length - 4 * s.p;\n (this.o = w('float32', i)),\n (this._cmdf = !1),\n (this._omdf = !1),\n (this._collapsable = this.checkCollapsable()),\n (this._hasOpacity = i),\n this.initDynamicPropertyContainer(e),\n (this.prop = pt.getProp(t, s.k, 1, null, this)),\n (this.k = this.prop.k),\n this.getValue(!0);\n }\n comparePoints(t, s) {\n let e,\n i = 0,\n h = this.o.length / 2;\n for (; i < h; ) {\n if (((e = Math.abs(t[4 * i] - t[4 * s + 2 * i])), e > 0.01)) return !1;\n i += 1;\n }\n return !0;\n }\n checkCollapsable() {\n if (this.o.length / 2 != this.c.length / 4) return !1;\n if (this.data.k.k[0].s) {\n let t = 0,\n s = this.data.k.k.length;\n for (; t < s; ) {\n if (!this.comparePoints(this.data.k.k[t].s, this.data.p)) return !1;\n t += 1;\n }\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) return !1;\n return !0;\n }\n getValue(t) {\n if ((this.prop.getValue(), (this._mdf = !1), (this._cmdf = !1), (this._omdf = !1), this.prop._mdf || t)) {\n let s,\n e,\n i,\n h = 4 * this.data.p;\n for (s = 0; s < h; s += 1)\n (e = s % 4 == 0 ? 100 : 255),\n (i = Math.round(this.prop.v[s] * e)),\n this.c[s] !== i && ((this.c[s] = i), (this._cmdf = !t));\n if (this.o.length)\n for (h = this.prop.v.length, s = 4 * this.data.p; s < h; s += 1)\n (e = s % 2 == 0 ? 100 : 1),\n (i = s % 2 == 0 ? Math.round(100 * this.prop.v[s]) : this.prop.v[s]),\n this.o[s - 4 * this.data.p] !== i && ((this.o[s - 4 * this.data.p] = i), (this._omdf = !t));\n this._mdf = !t;\n }\n }\n}\nclass Nt extends O {\n constructor(t, s, e) {\n super(),\n (this.frameId = -1),\n (this.keyframesManager = t),\n (this.elem = t.elem),\n (this.session = e),\n (this.shapes = []),\n (this.shapesData = s),\n (this.stylesList = []),\n (this.itemsData = []),\n (this.prevViewData = []),\n (this.shapeModifiers = []),\n (this.processedElements = []),\n (this.transformsManager = new St()),\n this.initDynamicPropertyContainer(t),\n (this.lcEnum = { 1: 'butt', 2: 'round', 3: 'square' }),\n (this.ljEnum = { 1: 'miter', 2: 'round', 3: 'bevel' }),\n (this._isFirstFrame = !0),\n (this.transformHelper = { opacity: 1, _opMdf: !1 }),\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, []),\n this._isAnimated ||\n ((this.transformHelper.opacity = 1),\n (this.transformHelper._opMdf = !1),\n this.updateModifiers(this.frameId),\n this.transformsManager.processSequences(this._isFirstFrame),\n this.updateShape(this.transformHelper, this.shapesData, this.itemsData),\n this.updateGrahpics());\n }\n createStyleElement(t, s) {\n const e = new Dt(this.elem, t, this.transformsManager.addTransformSequence(s)),\n i = {};\n if (\n ('fl' == t.ty || 'st' == t.ty\n ? ((i.c = pt.getProp(this, t.c, 1, 255, this)), i.c.k || (e.co = i.c.v))\n : ('gf' !== t.ty && 'gs' !== t.ty) ||\n ((i.s = pt.getProp(this, t.s, 1, null, this)),\n (i.e = pt.getProp(this, t.e, 1, null, this)),\n (i.h = pt.getProp(this, t.h || { k: 0 }, 0, 0.01, this)),\n (i.a = pt.getProp(this, t.a || { k: 0 }, 0, U, this)),\n (i.g = new Vt(this, t.g, this))),\n (i.o = pt.getProp(this, t.o, 0, 0.01, this)),\n 'st' == t.ty || 'gs' == t.ty)\n ) {\n if (\n ((e.lc = this.lcEnum[t.lc] || 'round'),\n (e.lj = this.ljEnum[t.lj] || 'round'),\n 1 == t.lj && (e.ml = t.ml),\n (i.w = pt.getProp(this, t.w, 0, null, this)),\n i.w.k || (e.wi = i.w.v),\n t.d)\n ) {\n let s = new Et(this, t.d, 'canvas', this);\n (i.d = s), i.d.k || ((e.da = i.d.dashArray), (e.do = i.d.dashoffset[0]));\n }\n } else e.r = 2 === t.r ? 'evenodd' : 'nonzero';\n return this.stylesList.push(e), (i.style = e), i;\n }\n addShapeToModifiers(t) {\n let s,\n e = this.shapeModifiers.length;\n for (s = 0; s < e; s += 1) this.shapeModifiers[s].addShape(t);\n }\n isShapeInAnimatedModifiers(t) {\n let s = this.shapeModifiers.length;\n for (; 0 < s; ) if (this.shapeModifiers[0].isAnimatedWithShape(t)) return !0;\n return !1;\n }\n updateModifiers(t) {\n if (!this.shapeModifiers.length) return;\n let s,\n e = this.shapes.length;\n for (s = 0; s < e; s += 1) this.shapes[s].sh.reset();\n for (e = this.shapeModifiers.length, s = e - 1; s >= 0; s -= 1)\n this.shapeModifiers[s].processShapes(t, this._isFirstFrame);\n }\n searchProcessedElement(t) {\n let s = this.processedElements,\n e = 0,\n i = s.length;\n for (; e < i; ) {\n if (s[e].elem === t) return s[e].pos;\n e += 1;\n }\n return 0;\n }\n addProcessedElement(t, s) {\n let e = this.processedElements,\n i = e.length;\n for (; i; ) if (((i -= 1), e[i].elem === t)) return void (e[i].pos = s);\n e.push(new xt(t, s));\n }\n createGroupElement() {\n return { it: [], prevViewData: [] };\n }\n createTransformElement(t) {\n return {\n transform: {\n opacity: 1,\n _opMdf: !1,\n key: this.transformsManager.getNewKey(),\n op: pt.getProp(this, t.o, 0, 0.01, this),\n mProps: Ft(this, t, this),\n },\n };\n }\n createShapeElement(t) {\n const s = new Mt(this, t, this.stylesList, this.transformsManager);\n return this.shapes.push(s), this.addShapeToModifiers(s), s;\n }\n reloadShapes() {\n let t;\n this._isFirstFrame = !0;\n let s = this.itemsData.length;\n for (t = 0; t < s; t += 1) this.prevViewData[t] = this.itemsData[t];\n for (\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, []),\n s = this.dynamicProperties.length,\n t = 0;\n t < s;\n t += 1\n )\n this.dynamicProperties[t].getValue();\n this.updateModifiers(), this.transformsManager.processSequences(this._isFirstFrame);\n }\n addTransformToStyleList(t) {\n const s = this.stylesList.length;\n for (let e = 0; e < s; e += 1) this.stylesList[e].closed || this.stylesList[e].transforms.push(t);\n }\n removeTransformFromStyleList() {\n const t = this.stylesList.length;\n for (let s = 0; s < t; s += 1) this.stylesList[s].closed || this.stylesList[s].transforms.pop();\n }\n closeStyles(t) {\n const s = t.length;\n for (let e = 0; e < s; e += 1) t[e].closed = !0;\n }\n searchShapes(t, s, e, i, h) {\n let r,\n a,\n n,\n o,\n l,\n p,\n c = t.length - 1,\n d = [],\n u = [],\n f = [].concat(h);\n for (r = c; r >= 0; r -= 1) {\n if (\n ((o = this.searchProcessedElement(t[r])),\n o ? (s[r] = e[o - 1]) : (t[r]._shouldRender = i),\n 'fl' == t[r].ty || 'st' == t[r].ty || 'gf' == t[r].ty || 'gs' == t[r].ty)\n )\n o ? (s[r].style.closed = !1) : (s[r] = this.createStyleElement(t[r], f)), d.push(s[r].style);\n else if ('gr' == t[r].ty) {\n if (o) for (n = s[r].it.length, a = 0; a < n; a += 1) s[r].prevViewData[a] = s[r].it[a];\n else s[r] = this.createGroupElement(t[r]);\n this.searchShapes(t[r].it, s[r].it, s[r].prevViewData, i, f);\n } else\n 'tr' == t[r].ty\n ? (o || ((p = this.createTransformElement(t[r])), (s[r] = p)),\n f.push(s[r]),\n this.addTransformToStyleList(s[r]))\n : 'sh' == t[r].ty || 'rc' == t[r].ty || 'el' == t[r].ty || 'sr' == t[r].ty\n ? o || (s[r] = this.createShapeElement(t[r]))\n : 'tm' == t[r].ty || 'rd' == t[r].ty\n ? (o\n ? ((l = s[r]), (l.closed = !1))\n : ((l = It.getModifier(t[r].ty)), l.init(this, t[r]), (s[r] = l), this.shapeModifiers.push(l)),\n u.push(l))\n : 'rp' == t[r].ty &&\n (o\n ? ((l = s[r]), (l.closed = !0))\n : ((l = It.getModifier(t[r].ty)),\n (s[r] = l),\n l.init(this, t, r, s),\n this.shapeModifiers.push(l),\n (i = !1)),\n u.push(l));\n this.addProcessedElement(t[r], r + 1);\n }\n for (this.removeTransformFromStyleList(), this.closeStyles(d), c = u.length, r = 0; r < c; r += 1) u[r].closed = !0;\n }\n updateShapeTransform(t, s) {\n (t._opMdf || s.op._mdf || this._isFirstFrame) && ((s.opacity = t.opacity), (s.opacity *= s.op.v), (s._opMdf = !0));\n }\n updateStyledShape(t, s) {\n if (this._isFirstFrame || s._mdf || t.transforms._mdf) {\n let e,\n i,\n h,\n r = t.trNodes,\n a = s.paths,\n n = a._length;\n r.length = 0;\n let o = t.transforms.finalTransform;\n for (h = 0; h < n; h += 1) {\n let t = a.shapes[h];\n if (t && t.v) {\n for (i = t._length, e = 1; e < i; e += 1)\n 1 === e && r.push({ t: 'm', p: o.applyToPointArray(t.v[0][0], t.v[0][1], 0) }),\n r.push({ t: 'c', pts: o.applyToTriplePoints(t.o[e - 1], t.i[e], t.v[e]) });\n 1 === i && r.push({ t: 'm', p: o.applyToPointArray(t.v[0][0], t.v[0][1], 0) }),\n t.c &&\n i &&\n (r.push({ t: 'c', pts: o.applyToTriplePoints(t.o[e - 1], t.i[0], t.v[0]) }), r.push({ t: 'z' }));\n }\n }\n t.trNodes = r;\n }\n }\n updatePath(t, s) {\n if (!0 !== t.hd && t._shouldRender) {\n let t,\n e = s.styledShapes.length;\n for (t = 0; t < e; t += 1) this.updateStyledShape(s.styledShapes[t], s.sh);\n }\n }\n updateFill(t, s, e) {\n const i = s.style;\n (s.c._mdf || this._isFirstFrame) && (i.co = s.c.v),\n (s.o._mdf || e._opMdf || this._isFirstFrame) && (i.coOp = s.o.v * e.opacity);\n }\n updateStroke(t, s, e) {\n let i = s.style,\n h = s.d;\n h && (h._mdf || this._isFirstFrame) && ((i.da = h.dashArray), (i.do = h.dashoffset[0])),\n (s.c._mdf || this._isFirstFrame) && (i.co = s.c.v),\n (s.o._mdf || e._opMdf || this._isFirstFrame) && (i.coOp = s.o.v * e.opacity),\n (s.w._mdf || this._isFirstFrame) && (i.wi = s.w.v);\n }\n updateGradientFill(t, s, e) {\n let i = s.style;\n (i.grd = s.g.c), (i.coOp = s.o.v * e.opacity);\n }\n updateShape(t, s, e) {\n let i = t;\n for (let h = s.length - 1; h >= 0; h -= 1)\n 'tr' == s[h].ty\n ? ((i = e[h].transform), this.updateShapeTransform(t, i))\n : 'sh' == s[h].ty || 'el' == s[h].ty || 'rc' == s[h].ty || 'sr' == s[h].ty\n ? this.updatePath(s[h], e[h])\n : 'fl' == s[h].ty\n ? this.updateFill(s[h], e[h], i)\n : 'st' == s[h].ty\n ? this.updateStroke(s[h], e[h], i)\n : 'gf' == s[h].ty || 'gs' == s[h].ty\n ? this.updateGradientFill(s[h], e[h], i)\n : 'gr' == s[h].ty && this.updateShape(i, s[h].it, e[h].it);\n }\n updateGrahpics() {\n const t = this.stylesList.length;\n for (let s = 0; s < t; s += 1) {\n this.stylesList[s].updateGrahpics();\n }\n }\n getValue(t) {\n t !== this.frameId &&\n (this.iterateDynamicProperties(t),\n (this.transformHelper.opacity = 1),\n (this.transformHelper._opMdf = !1),\n this.updateModifiers(t),\n this.transformsManager.processSequences(this._isFirstFrame),\n this.updateShape(this.transformHelper, this.shapesData, this.itemsData),\n this.updateGrahpics(),\n (this.frameId = t));\n }\n}\nclass qt extends Lt {\n constructor(t, s, e) {\n super(t, s), (this.frameId = -1), (this.hs = s), (this.session = e);\n }\n getValue(t) {\n t !== this.frameId && (this.iterateDynamicProperties(t), (this.frameId = t));\n }\n get x() {\n return this.p ? this.p.v[0] : this.px.v;\n }\n get y() {\n return this.p ? this.p.v[1] : this.py.v;\n }\n get anchorX() {\n return this.a.v[0];\n }\n get anchorY() {\n return this.a.v[1];\n }\n get scaleX() {\n return this.s.v[0];\n }\n get scaleY() {\n return this.s.v[1];\n }\n get rotation() {\n return (this.r && this.r.v) || 0;\n }\n get alpha() {\n return this.o.v;\n }\n}\nclass Ot {\n constructor(t) {\n (this.elem = t),\n (this._isFirstFrame = !1),\n (this.dynamicProperties = []),\n (this._mdf = !1),\n (this.transform = null),\n (this.masks = null),\n (this.shapes = null),\n (this._hasOutTypeExpression = !1),\n (this.needUpdateOverlap = !1),\n (this.isOverlapMode = !1),\n (this.visible = !0),\n (this._isFirstFrame = !0);\n }\n initFrame(t, s) {\n this.layer = t;\n const { local: e, global: i } = s;\n (this.session = s),\n (this.isOverlapLayer = this.layer.op >= e.op - e.st),\n (this.isOverlapMode = i.overlapMode),\n this.parseLayer(t, s);\n }\n outTypeExpressionMode() {\n (this._hasOutTypeExpression = !0), this.isOverlapLayer && (this.needUpdateOverlap = !0);\n }\n prepareProperties(t, s) {\n let e,\n i = this.dynamicProperties.length;\n for (e = 0; e < i; e += 1)\n (s || this.needUpdateOverlap || (this.elem._isParent && 'transform' === this.dynamicProperties[e].propType)) &&\n (this.dynamicProperties[e].getValue(t), this.dynamicProperties[e]._mdf && (this._mdf = !0));\n }\n addDynamicProperty(t) {\n -1 === this.dynamicProperties.indexOf(t) && this.dynamicProperties.push(t);\n }\n parseLayer({ ks: t, hasMask: s, masksProperties: e, shapes: i, tm: h }, r) {\n if (\n (t && (this.transform = new qt(this, t, r)),\n s && (this.masks = new _t(this, e, r)),\n i && (this.shapes = new Nt(this, i, r)),\n h)\n ) {\n const { frameRate: t } = r.global;\n this.tm = pt.getProp(this, h, 0, t, this);\n }\n }\n updateFrame(t) {\n this._mdf = !1;\n const e = s.inRange(t, this.layer.ip, this.layer.op);\n this.isOverlapMode && this.isOverlapLayer ? (this.visible = t >= this.layer.ip) : (this.visible = e),\n this.prepareProperties(t, e);\n }\n updateDisplay() {\n const t = this.elem.display;\n this.elem._isRoot ||\n (this.visible ? t.show() : t.hide(),\n (this._mdf || this.transform._mdf || this._isFirstFrame) && t.updateLottieTransform(this.transform),\n this.masks && (this.masks._mdf || this._isFirstFrame) && t.updateLottieMasks(this.masks)),\n (this._isFirstFrame = !1);\n }\n}\nclass Xt {\n constructor(t) {\n (this.data = t),\n void 0 === this.data.sr && (this.data.sr = 1),\n (this.offsetTime = t.st || 0),\n (this.fullname = t.nm || ''),\n (this.idname = t.ln || ''),\n (this.classnames = t.cl ? t.cl.split(' ') : []),\n (this.bodymovin = new Ot(this)),\n (this.displayType = ''),\n (this.display = null),\n (this.hierarchy = null),\n (this.lottieTreeParent = null);\n }\n initBodymovin(t, s) {\n this.bodymovin.initFrame(t, s), this.display && this.display.onSetupLottie && this.display.onSetupLottie();\n }\n hasValidMasks() {\n return !(!this.bodymovin.masks || !this.bodymovin.masks.hasMasks);\n }\n setHierarchy(t) {\n (this.hierarchy = t), this.display.setHierarchy(t.display);\n }\n initDisplayInstance(t, s) {\n return new (Tt(t))(this, s);\n }\n updateFrame(t) {\n this.bodymovin.updateFrame(t), this.bodymovin.updateDisplay();\n }\n}\nclass Yt extends Xt {\n constructor(t, s) {\n super(t);\n const { global: e } = s;\n this.session = s;\n const i = { layer: t, session: s };\n if (e.maskComp) {\n i.maskComp = e.maskComp;\n const { w: s, h: h } = t;\n i.viewport = { w: s, h: h };\n }\n (this.config = i),\n (this.childNodes = []),\n (this.displayType = wt.Type.Component),\n (this.innerDisplay = null),\n (this.display = this.initDisplayInstance(this.displayType, i)),\n this.initBodymovin(t, s);\n }\n updateFrame(t) {\n if ((this.bodymovin.updateFrame(t), this.bodymovin.updateDisplay(), (t -= this.offsetTime), this.bodymovin.tm)) {\n let s = this.bodymovin.tm.v;\n s === this.data.op && (s = this.data.op - 1), (t = s);\n } else t /= this.data.sr;\n for (let s = 0; s < this.childNodes.length; s++) this.childNodes[s].updateFrame(t);\n }\n addChild(t) {\n (t.lottieTreeParent = this),\n this.childNodes.push(t),\n this.innerDisplay ? this.innerDisplay.addChild(t.display) : this.display.addChild(t.display);\n }\n}\nclass jt extends Xt {\n constructor(t, s) {\n super(t);\n const e = { layer: t, session: s, rect: { x: 0, y: 0, width: t.sw, height: t.sh }, color: t.sc };\n (this.config = e),\n (this.session = s),\n (this.displayType = wt.Type.Solid),\n (this.display = this.initDisplayInstance(this.displayType, e)),\n this.initBodymovin(t, s);\n }\n}\nclass zt extends Xt {\n constructor(t, e) {\n super(t);\n const {\n global: { textureLoader: i, assets: h },\n } = e,\n r = s.getAssets(t.refId, h),\n a = { layer: t, session: e, texture: i.getTextureById(r.id), asset: r };\n (this.config = a),\n (this.session = e),\n (this.displayType = wt.Type.Sprite),\n (this.display = this.initDisplayInstance(this.displayType, a)),\n this.initBodymovin(t, e);\n }\n}\nclass Bt extends Xt {\n constructor(t, s) {\n super(t);\n const e = { layer: t, session: s };\n (this.config = e),\n (this.session = s),\n (this.displayType = wt.Type.Shape),\n (this.display = this.initDisplayInstance(this.displayType, e)),\n this.initBodymovin(t, s);\n }\n}\nclass Rt extends Xt {\n constructor(t, s) {\n super(t);\n const e = { layer: t, session: s };\n (this.config = e),\n (this.session = s),\n (this.displayType = wt.Type.Null),\n (this.display = this.initDisplayInstance(this.displayType, e)),\n this.initBodymovin(t, s);\n }\n}\nclass Kt extends e {\n constructor(t) {\n super(),\n (this.living = !0),\n (this.infinite = t.infinite || !1),\n (this.repeats = t.repeats || 0),\n (this.alternate = t.alternate || !1),\n (this.wait = t.wait || 0),\n (this.delay = t.delay || 0),\n (this.overlapMode = t.overlapMode || !1),\n (this.timeScale = s.isNumber(t.timeScale) ? t.timeScale : 1),\n (this.frameNum = 0),\n (this.isPaused = !0),\n (this.direction = 1),\n (this._lastFrame = -1 / 0),\n (this._repeatsCut = this.repeats),\n (this._delayCut = this.delay),\n (this._waitCut = this.wait),\n (this.segments = t.segments || {}),\n (this._segmentName = t.initSegment || ''),\n (this._prefix = t.prefix || ''),\n (this._autoLoad = !s.isBoolean(t.autoLoad) || t.autoLoad),\n (this._autoStart = !s.isBoolean(t.autoStart) || t.autoStart),\n (this._justDisplayOnImagesLoaded = !s.isBoolean(t.justDisplayOnImagesLoaded) || t.justDisplayOnImagesLoaded),\n (this._maskComp = t.maskComp || !1),\n (this.textureLoader = null),\n (this.jsonLoader = null),\n (this.root = null),\n (this.parent = null);\n const e = Tt(wt.Type.Container);\n if (\n ((this.group = new e()),\n (this.display = null),\n (this.isDisplayLoaded = !1),\n (this.isImagesLoaded = !1),\n (this._copyJSON = t.copyJSON || !1),\n t.keyframes)\n )\n !this._prefix && t.keyframes.prefix && (this._prefix = t.keyframes.prefix), this._setupDate(t.keyframes);\n else if (t.path) {\n let s = '';\n (s =\n -1 !== t.path.lastIndexOf('\\\\')\n ? t.path.substr(0, t.path.lastIndexOf('\\\\') + 1)\n : t.path.substr(0, t.path.lastIndexOf('/') + 1)),\n !this._prefix && s && (this._prefix = s),\n (this.jsonLoader = (function (t) {\n const s = i[h.Ajax];\n return s || console.warn('must register an ajax loader, before you parse an animation from path'), s(t);\n })(t.path)),\n this.jsonLoader.once('success', t => {\n this._setupDate(t);\n }),\n this.jsonLoader.once('error', t => {\n this.emit('error', t);\n });\n }\n }\n _setupDate(t) {\n (this._sourceData = t), this._copyJSON && (t = s.copyJSON(t)), g.completeData(t), (this.keyframes = t);\n const { w: e, h: r, st: a = 0, fr: n, ip: o, op: l, assets: p } = t;\n (this.frameRate = n), (this.frameMult = n / 1e3), (this._defaultSegment = [o, l]);\n const c = (this._segmentName && this.segments[this._segmentName]) || this._defaultSegment;\n (this.beginFrame = c[0]),\n (this.endFrame = c[1]),\n (this._timePerFrame = 1e3 / n),\n (this.duration = Math.floor(this.endFrame - this.beginFrame));\n let d = null;\n const u = p.filter(t => t.u || t.p);\n u.length > 0\n ? ((this.textureLoader = d =\n (function (t, s) {\n const e = i[h.Texture];\n return (\n e || console.warn('must register an image loader, before you parse an animation some has image assets'),\n e(t, s)\n );\n })(u, { prefix: this._prefix, autoLoad: this._autoLoad })),\n d.loaded\n ? ((this.isImagesLoaded = !0), (this.isPaused = !this._autoStart), this.emit('ImageReady'))\n : (d.once('complete', () => {\n (this.isImagesLoaded = !0), this.emit('ImageReady');\n }),\n null !== this._pausedNeedSet &&\n ((this._pausedNeedSet = !0),\n d.once('complete', () => {\n this._pausedNeedSet && ((this._pausedNeedSet = !1), (this.isPaused = !this._autoStart));\n }))))\n : ((this.isImagesLoaded = !0), (this.isPaused = !this._autoStart));\n const f = {\n global: { assets: p, textureLoader: d, frameRate: n, maskComp: this._maskComp, overlapMode: this.overlapMode },\n local: { w: e, h: r, ip: o, op: l, st: a },\n };\n this._buildElements(f),\n null !== this.textureLoader &&\n this._justDisplayOnImagesLoaded &&\n !this.textureLoader.loaded &&\n null !== this._justDisplayNeedSet &&\n ((this.group.visible = !1),\n (this._justDisplayNeedSet = !0),\n this.textureLoader.once('complete', () => {\n this._justDisplayNeedSet && ((this._justDisplayNeedSet = !1), (this.group.visible = !0));\n })),\n (this.isDisplayLoaded = !0),\n this.update(0, !0);\n }\n _buildElements(t) {\n (this.root = this._extraCompositions(this.keyframes, t, !0)),\n (this.display = this.root.display),\n this.group.addChild(this.display),\n this.emit('DOMLoaded').emit('DisplayReady'),\n null === this.textureLoader\n ? this.emit('success')\n : this.textureLoader.loaded\n ? this.emit('success')\n : this.textureLoader.once('complete', () => this.emit('success'));\n }\n _extraCompositions(t, { global: e, local: i }, h = !1) {\n const { w: r, h: a, ip: n, op: o, st: l = 0 } = t,\n p = new Yt(t, { global: e, local: i });\n p._isRoot = h;\n const c = t.layers || s.getAssets(t.refId, e.assets).layers,\n d = { global: e, local: { w: r, h: a, ip: n, op: o, st: l } },\n u = this._createElements(c, d);\n for (let t = c.length - 1; t >= 0; t--) {\n const e = c[t],\n i = u[e.ind];\n if (i) {\n if (!s.isUndefined(e.parent)) {\n const t = u[e.parent];\n (t._isParent = !0), i.setHierarchy(t);\n }\n p.addChild(i);\n }\n }\n return p;\n }\n _createElements(t, s) {\n const e = {};\n for (let i = t.length - 1; i >= 0; i--) {\n const h = t[i];\n let r = null;\n if (void 0 === h.td) {\n switch (h.ty) {\n case 0:\n r = this._extraCompositions(h, s);\n break;\n case 1:\n r = new jt(h, s);\n break;\n case 2:\n r = new zt(h, s);\n break;\n case 3:\n r = new Rt(h, s);\n break;\n case 4:\n r = new Bt(h, s);\n break;\n default:\n continue;\n }\n r && (void 0 === h.ind && (h.ind = i), (e[h.ind] = r), (r.name = h.nm || null));\n }\n }\n return e;\n }\n getDisplayByQuerySelector(t) {\n const s = this.querySelector(t);\n return s && s.display ? s.display : (console.warn('can not find display which query with ', t), null);\n }\n _queryMatch(t, s, e) {\n const i = t.substr(0, 1),\n h = t.substr(1, t.length);\n let r = !1;\n return (\n (r = '#' === i ? s.idname === h : '.' === i ? -1 !== s.classnames.indexOf(h) : s.fullname === t),\n r && e.push(s),\n r\n );\n }\n _searchNodes(t, s, e, i = !1) {\n if (s.childNodes && s.childNodes.length > 0) {\n const h = [];\n for (let r = 0; r < s.childNodes.length; r++) {\n const a = s.childNodes[r];\n if (this._queryMatch(t, a, e) && i) return !0;\n a.childNodes && a.childNodes.length > 0 && h.push(a);\n }\n for (let s = 0; s < h.length; s++) if (this._searchNodes(t, h[s], e, i)) return !0;\n }\n return !1;\n }\n querySelector(t) {\n const s = [];\n return this._queryMatch(t, this.root, s) ? s[0] : (this._searchNodes(t, this.root, s, !0), s[0] || null);\n }\n querySelectorAll(t) {\n const s = [],\n e = '#' === t.substr(0, 1);\n return this._queryMatch(t, this.root, s) && e ? s : (this._searchNodes(t, this.root, s, e), s);\n }\n bindSlot(t, s) {\n return this.getDisplayByQuerySelector(t).addChild(s), this;\n }\n unbindSlot(t, s) {\n return this.getDisplayByQuerySelector(t).removeChild(s), this;\n }\n _emitFrame(t) {\n this.emit(`@${t}`);\n }\n update(t, s = !1) {\n if (!this.living || !this.isDisplayLoaded || (this.isPaused && !s)) return;\n const e = this._updateTime(t),\n i = this.beginFrame + this.frameNum;\n this.root.updateFrame(i);\n const h = i >> 0;\n this._lastFrame !== h && (this._emitFrame(this.direction > 0 ? h : this._lastFrame), (this._lastFrame = h)),\n !1 === e\n ? (this.emit('enterFrame', i), this.emit('update', this.frameNum / this.duration))\n : this.hadEnded !== e && !0 === e && this.emit('complete'),\n (this.hadEnded = e);\n }\n _updateTime(t) {\n const e = this.direction * this.timeScale * t;\n if (this._waitCut > 0) return (this._waitCut -= Math.abs(e)), null;\n if (this.isPaused || this._delayCut > 0) return this._delayCut > 0 && (this._delayCut -= Math.abs(e)), null;\n this.frameNum += e / this._timePerFrame;\n let i = !1;\n return (\n this._spill() &&\n (this._repeatsCut > 0 || this.infinite\n ? (this._repeatsCut > 0 && --this._repeatsCut,\n (this._delayCut = this.delay),\n this.alternate\n ? ((this.direction *= -1), (this.frameNum = s.codomainBounce(this.frameNum, 0, this.duration)))\n : ((this.direction = 1), (this.frameNum = s.euclideanModulo(this.frameNum, this.duration))),\n this.emit('loopComplete'))\n : (this.overlapMode || ((this.frameNum = s.clamp(this.frameNum, 0, this.duration)), (this.living = !1)),\n (i = !0))),\n i\n );\n }\n _spill() {\n const t = this.frameNum <= 0 && -1 === this.direction,\n s = this.frameNum >= this.duration && 1 === this.direction;\n return t || s;\n }\n frameToTime(t) {\n return t * this._timePerFrame;\n }\n setSpeed(t) {\n this.timeScale = t;\n }\n playSegment(t, e = {}) {\n if (!t) return;\n let i = null;\n s.isArray(t) ? (i = t) : s.isString(t) && ((i = this.segments[t]), s.isArray(i) && (this._segmentName = t)),\n s.isArray(i) &&\n ((this.beginFrame = s.isNumber(i[0]) ? i[0] : this._defaultSegment[0]),\n (this.endFrame = s.isNumber(i[1]) ? i[1] : this._defaultSegment[1]),\n s.isNumber(e.repeats) && (this.repeats = e.repeats),\n s.isBoolean(e.infinite) && (this.infinite = e.infinite),\n s.isBoolean(e.alternate) && (this.alternate = e.alternate),\n s.isNumber(e.wait) && (this.wait = e.wait),\n s.isNumber(e.delay) && (this.delay = e.delay),\n this.replay());\n }\n goToAndStop(t, s = !1) {\n (this.frameNum = s ? t : t * this.frameMult), this.update(0, !0), this.pause();\n }\n goToAndPlay(t, s = !1) {\n (this.frameNum = s ? t : t * this.frameMult), this.update(0, !0), this.resume();\n }\n getDuration(t) {\n const s = this.endFrame - this.beginFrame;\n return t ? s : s / this.frameRate;\n }\n setDirection(t) {\n return (this.direction = t < 0 ? -1 : 1), this;\n }\n pause() {\n return this._pausedNeedSet ? (this._pausedNeedSet = !1) : (this._pausedNeedSet = null), (this.isPaused = !0), this;\n }\n resume() {\n return this._pausedNeedSet ? (this._pausedNeedSet = !1) : (this._pausedNeedSet = null), (this.isPaused = !1), this;\n }\n play() {\n return this.resume();\n }\n replay() {\n return (\n this._pausedNeedSet ? (this._pausedNeedSet = !1) : (this._pausedNeedSet = null),\n (this.isPaused = !1),\n (this._repeatsCut = this.repeats),\n (this._delayCut = this.delay),\n (this.living = !0),\n (this.frameNum = 0),\n (this.duration = Math.floor(this.endFrame - this.beginFrame)),\n (this.direction = 1),\n this\n );\n }\n show() {\n this._justDisplayNeedSet ? (this._justDisplayNeedSet = !1) : (this._justDisplayNeedSet = null),\n (this.group.visible = !0);\n }\n hide() {\n this._justDisplayNeedSet ? (this._justDisplayNeedSet = !1) : (this._justDisplayNeedSet = null),\n (this.group.visible = !1);\n }\n destroy() {\n this.parent && this.parent.remove(this),\n this.group.parent && this.group.parent.removeChild(this.group),\n this.pause(),\n (this.root = null),\n (this.group = null),\n (this.display = null),\n this.textureLoader && (this.textureLoader.off('complete'), (this.textureLoader = null)),\n this.jsonLoader && (this.jsonLoader.off('success'), (this.jsonLoader = null)),\n (this.keyframes = null),\n (this.living = !1);\n }\n}\nclass Gt extends e {\n constructor(t) {\n super(),\n (this._lastTime = 0),\n (this._snippet = 0),\n (this.timeScale = 1),\n (this.isPaused = !1),\n (this.ticker = t.ticker ? t.ticker : t),\n (this.groups = []),\n (this.update = this.update.bind(this)),\n this.ticker && this.start();\n }\n add(t) {\n const s = arguments.length;\n if (s > 1) for (let t = 0; t < s; t++) this.add(arguments[t]);\n else null !== t.parent && t.parent.remove(t), (t.parent = this), this.groups.push(t);\n return t;\n }\n remove(t) {\n if (arguments.length > 1) for (let t = 0; t < arguments.length; t++) this.remove(arguments[t]);\n const s = this.groups.indexOf(t);\n -1 !== s && ((t.parent = null), this.groups.splice(s, 1));\n }\n parseAnimation(t) {\n const s = new Kt(t);\n return this.add(s);\n }\n setSpeed(t) {\n this.timeScale = t;\n }\n start() {\n return (this._lastTime = Date.now()), this.ticker.add(this.update), this;\n }\n stop() {\n return this.ticker.remove(this.update), this;\n }\n pause() {\n return (this.isPaused = !0), this;\n }\n resume() {\n return (this.isPaused = !1), this;\n }\n update() {\n if ((this.timeline(), this.isPaused)) return;\n const t = this.timeScale * this._snippet,\n s = this.groups.length;\n for (let e = 0; e < s; e++) {\n this.groups[e].update(t);\n }\n this.emit('update', this._snippet);\n }\n timeline() {\n let t = Date.now() - this._lastTime;\n (!this._lastTime || t > 200) && ((this._lastTime = Date.now()), (t = Date.now() - this._lastTime)),\n (this._lastTime += t),\n (this._snippet = t);\n }\n destroy() {\n for (let t = this.groups.length - 1; t >= 0; t--) this.groups[t].destroy();\n }\n}\nexport {\n Kt as AnimationGroup,\n Gt as AnimationManager,\n M as BezierEasing,\n wt as DisplayRegister,\n e as Eventer,\n r as LoaderRegister,\n pt as PropertyFactory,\n s as Tools,\n qt as TransformFrames,\n Lt as TransformProperty,\n};\n","import {\n Tools as t,\n Eventer as e,\n BezierEasing as s,\n TransformFrames as i,\n AnimationManager as n,\n} from './lottie-core';\nimport {\n Graphics as r,\n Container as h,\n Shader as o,\n glCore as a,\n WebGLRenderer as l,\n ObjectRenderer as p,\n utils as c,\n CanvasRenderer as u,\n BLEND_MODES as d,\n Matrix as f,\n Sprite as m,\n Rectangle as g,\n Texture as y,\n settings as w,\n UPDATE_PRIORITY as v,\n ticker as x,\n DisplayObject as b,\n Application as P,\n} from 'pixi.js';\nclass T extends r {\n constructor(t) {\n super(), (this.parentCompBox = t), this.lineStyle(0);\n }\n updateLayerMask(t) {\n for (let e = 0; e < t.viewData.length; e++) {\n if (t.viewData[e].inv) {\n const t = this.parentCompBox;\n this.moveTo(0, 0), this.lineTo(t.w, 0), this.lineTo(t.w, t.h), this.lineTo(0, t.h), this.lineTo(0, 0);\n }\n const s = t.viewData[e].v,\n i = s.v[0];\n this.moveTo(i[0], i[1]);\n const n = s._length;\n let r = 1;\n for (; r < n; r++) {\n const t = s.o[r - 1],\n e = s.i[r],\n i = s.v[r];\n this.bezierCurveTo(t[0], t[1], e[0], e[1], i[0], i[1]);\n }\n const h = s.o[r - 1],\n o = s.i[0],\n a = s.v[0];\n this.bezierCurveTo(h[0], h[1], o[0], o[1], a[0], a[1]), t.viewData[e].inv && this.addHole();\n }\n }\n updateMasks(t) {\n this.clear(), this.beginFill(0), this.updateLayerMask(t), this.endFill();\n }\n}\nclass M extends r {\n constructor(t) {\n super(), (this.viewport = t), this.lineStyle(0), this.initCompMask();\n }\n initCompMask() {\n this.clear(), this.beginFill(0);\n const t = this.viewport;\n this.moveTo(0, 0),\n this.lineTo(t.w, 0),\n this.lineTo(t.w, t.h),\n this.lineTo(0, t.h),\n this.lineTo(0, 0),\n this.endFill();\n }\n}\nclass k extends h {\n constructor(t, e) {\n super(), (this.lottieElement = t), (this.config = e);\n }\n onSetupLottie() {\n if (this.config.maskComp) {\n const t = this.config.viewport;\n (this.preCompMask = new M(t)), (this.mask = this.preCompMask), this.addChild(this.mask);\n }\n if (this.lottieElement.hasValidMasks()) {\n const t = this.config.session.local;\n if (((this.graphicsMasks = new T(t)), this.mask)) {\n const t = new h();\n (t.mask = this.graphicsMasks), t.addChild(this.mask), (this.lottieElement.innerDisplay = t), this.addChild(t);\n } else (this.mask = this.graphicsMasks), this.addChild(this.mask);\n }\n }\n setHierarchy(t) {\n this.hierarchy = t;\n }\n show() {\n this.visible = !0;\n }\n hide() {\n this.visible = !1;\n }\n updateLottieTransform(t) {\n (this.x = t.x),\n (this.y = t.y),\n (this.pivot.x = t.anchorX),\n (this.pivot.y = t.anchorY),\n (this.scale.x = t.scaleX),\n (this.scale.y = t.scaleY),\n (this.rotation = t.rotation),\n (this.alpha = t.alpha);\n }\n updateLottieMasks(t) {\n this.graphicsMasks && this.graphicsMasks.updateMasks(t);\n }\n}\nclass C extends o {\n constructor(t) {\n super(\n t,\n [\n 'attribute vec2 aVertexPosition;',\n 'uniform mat3 translationMatrix;',\n 'uniform mat3 projectionMatrix;',\n 'void main(void){',\n ' gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);',\n '}',\n ].join('\\n'),\n [\n 'uniform float alpha;',\n 'uniform vec3 color;',\n 'void main(void){',\n ' gl_FragColor = vec4(color * alpha, alpha);',\n '}',\n ].join('\\n'),\n );\n }\n}\nfunction S(t, e) {\n (this.buffer = new t(10)), (this.length = 0);\n}\nS.prototype = {\n reset() {\n this.length = 0;\n },\n destroy() {\n (this.buffer = null), (this.length = 0);\n },\n push(...t) {\n if (this.length + t.length > this.buffer.length) {\n const e = new this.buffer.constructor(Math.max(this.length + t.length, Math.round(2 * this.buffer.length)));\n e.set(this.buffer, 0), (this.buffer = e);\n }\n for (let e = 0; e < t.length; e++) this.buffer[this.length++] = t[e];\n return this.length;\n },\n setBuffer(t) {\n (this.buffer = t), (this.length = this.buffer.length);\n },\n};\nclass D {\n constructor(t, e, s) {\n (this.gl = t),\n (this.vertices = new S(Float32Array)),\n (this.indices = new S(Uint16Array)),\n (this.buffer = a.GLBuffer.createVertexBuffer(t)),\n (this.indexBuffer = a.GLBuffer.createIndexBuffer(t)),\n (this.dirty = !0),\n (this.shader = e),\n (this.vao = new a.VertexArrayObject(t, s)\n .addIndex(this.indexBuffer)\n .addAttribute(this.buffer, e.attributes.aVertexPosition, t.FLOAT, !1, 8, 0));\n }\n reset() {\n this.vertices.reset(), this.indices.reset();\n }\n upload() {\n this.buffer.upload(this.vertices.buffer), this.indexBuffer.upload(this.indices.buffer), (this.dirty = !1);\n }\n destroy() {\n this.vertices.destroy(),\n this.indices.destroy(),\n this.vao.destroy(),\n this.buffer.destroy(),\n this.indexBuffer.destroy(),\n (this.gl = null),\n (this.buffer = null),\n (this.indexBuffer = null);\n }\n}\nfunction _(t, e, s) {\n return t.push(e, s), t;\n}\nfunction O(t, e) {\n return Math.sqrt(t * t + e * e);\n}\nfunction L(t, e, s, i, n) {\n return (\n (function (t, e) {\n const s = 1 - t;\n return s * s * s * e;\n })(t, e) +\n (function (t, e) {\n const s = 1 - t;\n return 3 * s * s * t * e;\n })(t, s) +\n (function (t, e) {\n return 3 * (1 - t) * t * t * e;\n })(t, i) +\n (function (t, e) {\n return t * t * t * e;\n })(t, n)\n );\n}\nfunction A(t, e, s, i, n, r, h) {\n if (!(isFinite(e) && isFinite(s) && isFinite(i) && isFinite(n) && isFinite(r) && isFinite(h))) return t;\n const o = t[t.length - 2],\n a = t[t.length - 1],\n l = (function (t, e, s, i, n, r, h, o) {\n const a = n - s,\n l = r - i,\n p = s - t,\n c = i - e;\n return O(h - n, o - r) + O(a, l) + O(p, c);\n })(o, a, e, s, i, n, r, h),\n p = Math.min(10 / l, 0.5);\n for (let l = p; l < 1; l += p) {\n const p = L(l, o, e, i, r),\n c = L(l, a, s, n, h);\n t.push(p, c);\n }\n return t.push(r, h), t;\n}\nfunction I(t, e) {\n for (let s = 0; s < t.length; s++) {\n const { cmd: i, args: n } = t[s];\n switch (i) {\n case 'M':\n case 'L':\n _(e, n[0], n[1]);\n break;\n case 'C':\n A(e, n[0], n[1], n[2], n[3], n[4], n[5]);\n }\n }\n return e;\n}\nfunction E(t, e, s, i, n, r, h) {\n (n %= 2 * Math.PI),\n (r %= 2 * Math.PI),\n n < 0 && (n += 2 * Math.PI),\n r < 0 && (r += 2 * Math.PI),\n n >= r && (r += 2 * Math.PI);\n let o = r - n,\n a = 1;\n h && ((a = -1), (o = 2 * Math.PI - o), 0 == o && (o = 2 * Math.PI));\n const l = o * i;\n let p = Math.sqrt(l / 1) >> 0;\n p = p % 2 == 0 ? p + 1 : p;\n const c = o / p;\n let u = n;\n for (let n = 0; n < p + 1; n++) t.push(e, s, e + i * Math.cos(u), s + i * Math.sin(u)), (u += a * c);\n}\nfunction B(t, e, s) {\n const i = I(t.cmds, []),\n n = t.isClosed,\n r = e.lineDash.length >= 2,\n h = e.lineWidth / 2;\n let o,\n a = [i[0], i[1]];\n for (let t = 2; t < i.length; t += 2)\n (i[t] == a[a.length - 2] && i[t + 1] == a[a.length - 1]) || a.push(i[t], i[t + 1]);\n if ((!n || (a[a.length - 2] == a[0] && a[a.length - 1] == a[1]) || a.push(a[0], a[1]), r)) {\n const t = (function (t, e, s, i) {\n e && t.push(t[0], t[1]);\n let n = i,\n r = 0,\n h = 1;\n for (; n > s[r]; ) (n -= s[r]), r++, (h = h ? 0 : 1), r == s.length && (r = 0);\n let o = [t[0], t[1]],\n a = [h];\n for (let e = 2; e < t.length; e += 2) {\n let i = [t[e] - t[e - 2], t[e + 1] - t[e - 1]],\n l = O(i[0], i[1]);\n (i[0] /= l), (i[1] /= l);\n let p = 0;\n for (; l - p + n >= s[r]; )\n (p += s[r] - n),\n (n = 0),\n (h = h ? 0 : 1),\n r++,\n r == s.length && (r = 0),\n a.push(h),\n o.push(t[e - 2] + p * i[0], t[e - 1] + p * i[1]);\n l - p != 0 && (o.push(t[e], t[e + 1]), a.push(h)), (n += l - p);\n }\n return e && (t.pop(), t.pop(), o.pop(), o.pop(), a.pop()), { newPoints: o, toDrawOrNotToDraw: a };\n })(a, n, e.lineDash, e.lineDashOffset);\n (o = t.toDrawOrNotToDraw), (a = t.newPoints);\n }\n const l = s.length;\n let p = s.length;\n const c = [];\n if (n) a.push(a[2], a[3]);\n else {\n const t = [a[2] - a[0], a[3] - a[1]],\n i = O(t[0], t[1]);\n (t[0] /= i), (t[1] /= i);\n const n = [-t[1], t[0]],\n l = [a[0] + h * n[0], a[1] + h * n[1]],\n u = [a[0] - h * n[0], a[1] - h * n[1]];\n if ('butt' == e.lineCap) s.push(l[0], l[1], u[0], u[1]);\n else if ('square' == e.lineCap) s.push(l[0] - h * t[0], l[1] - h * t[1], u[0] - h * t[0], u[1] - h * t[1]);\n else {\n s.push(a[0], a[1], l[0], l[1]);\n const t = Math.atan2(l[1] - a[1], l[0] - a[0]),\n e = Math.atan2(u[1] - a[1], u[0] - a[0]);\n E(s, a[0], a[1], h, t, e), s.push(a[0], a[1], u[0], u[1]), s.push(l[0], l[1], u[0], u[1]);\n }\n if (r) {\n const t = o[0];\n for (let e = p; e < s.length; e += 2) c.push(t);\n p = s.length;\n }\n }\n for (let t = 2; t < a.length - 2; t += 2) {\n const i = [a[t] - a[t - 2], a[t + 1] - a[t - 1]],\n n = [-i[1], i[0]];\n let l = O(n[0], n[1]);\n (n[0] /= l), (n[1] /= l);\n let u = [a[t + 2] - a[t], a[t + 3] - a[t + 1]];\n (l = O(u[0], u[1])), (u[0] /= l), (u[1] /= l);\n let d = [a[t] - a[t - 2], a[t + 1] - a[t - 1]];\n (l = O(d[0], d[1])), (d[0] /= l), (d[1] /= l);\n let f = [d[0] + u[0], d[1] + u[1]];\n l = O(f[0], f[1]);\n let m,\n g,\n y = 0;\n l > 0\n ? ((f[0] /= l), (f[1] /= l), (g = [-f[1], f[0]]), (m = g[0] * n[0] + g[1] * n[1]), (y = h / m))\n : ((y = 0), (g = [-f[1], f[0]]));\n const w = [a[t] + y * g[0], a[t + 1] + y * g[1]],\n v = [a[t] - y * g[0], a[t + 1] - y * g[1]];\n if ('miter' == e.lineJoin && 1 / m <= e.miterLimit) s.push(w[0], w[1], v[0], v[1]);\n else {\n const i = d[1] * u[0] - d[0] * u[1];\n if ('round' == e.lineJoin)\n if (i < 0) {\n const e = [a[t] + d[1] * h, a[t + 1] - d[0] * h],\n i = [a[t] + u[1] * h, a[t + 1] - u[0] * h];\n s.push(w[0], w[1], e[0], e[1]);\n const n = Math.atan2(e[1] - a[t + 1], e[0] - a[t]),\n r = Math.atan2(i[1] - a[t + 1], i[0] - a[t]);\n E(s, a[t], a[t + 1], h, n, r), s.push(w[0], w[1], i[0], i[1]);\n } else {\n const e = [a[t] - d[1] * h, a[t + 1] + d[0] * h],\n i = [a[t] - u[1] * h, a[t + 1] + u[0] * h];\n s.push(e[0], e[1], v[0], v[1]);\n const n = Math.atan2(i[1] - a[t + 1], i[0] - a[t]),\n r = Math.atan2(e[1] - a[t + 1], e[0] - a[t]);\n E(s, a[t], a[t + 1], h, n, r), s.push(i[0], i[1], v[0], v[1]);\n }\n else if (i < 0) {\n const e = [a[t] + d[1] * h, a[t + 1] - d[0] * h],\n i = [a[t] + u[1] * h, a[t + 1] - u[0] * h];\n s.push(w[0], w[1], e[0], e[1], w[0], w[1], i[0], i[1]);\n } else {\n const e = [a[t] - d[1] * h, a[t + 1] + d[0] * h],\n i = [a[t] - u[1] * h, a[t + 1] + u[0] * h];\n s.push(e[0], e[1], v[0], v[1], i[0], i[1], v[0], v[1]);\n }\n }\n if (r) {\n const e = o[t / 2];\n for (let t = p; t < s.length; t += 2) c.push(e);\n p = s.length;\n }\n }\n if (n) s.push(s.buffer[l], s.buffer[l + 1], s.buffer[l + 2], s.buffer[l + 3]);\n else {\n const t = [a[a.length - 2] - a[a.length - 4], a[a.length - 1] - a[a.length - 3]],\n i = Math.sqrt(Math.pow(t[0], 2) + Math.pow(t[1], 2));\n (t[0] /= i), (t[1] /= i);\n const n = [-t[1], t[0]],\n r = [a[a.length - 2] + h * n[0], a[a.length - 1] + h * n[1]],\n o = [a[a.length - 2] - h * n[0], a[a.length - 1] - h * n[1]];\n if ('butt' == e.lineCap) s.push(r[0], r[1], o[0], o[1]);\n else if ('square' == e.lineCap) s.push(r[0] + h * t[0], r[1] + h * t[1], o[0] + h * t[0], o[1] + h * t[1]);\n else {\n s.push(r[0], r[1], o[0], o[1]), s.push(a[a.length - 2], a[a.length - 1], o[0], o[1]);\n const t = Math.atan2(o[1] - a[a.length - 1], o[0] - a[a.length - 2]),\n e = Math.atan2(r[1] - a[a.length - 1], r[0] - a[a.length - 2]);\n E(s, a[a.length - 2], a[a.length - 1], h, t, e), s.push(a[a.length - 2], a[a.length - 1], r[0], r[1]);\n }\n }\n if (r) {\n const t = o[o.length - 1];\n for (let e = p; e < s.length; e += 2) c.push(t);\n p = s.length;\n }\n return c;\n}\nfunction F(t, e) {\n const s = t.isClosed;\n let i = !0;\n const n = I(t.cmds, []);\n let r = [n[0], n[1]];\n for (let t = 2; t < n.length; t += 2)\n (n[t] == r[r.length - 2] && n[t + 1] == r[r.length - 1]) || r.push(n[t], n[t + 1]);\n if ((!s || (r[r.length - 2] == r[0] && r[r.length - 1] == r[1]) || r.push(r[0], r[1]), r.length >= 6)) {\n for (let t = 0; t < r.length; t++) e.push(r[t]);\n i = !1;\n }\n return i;\n}\nl.registerPlugin(\n 'lottiegraphics',\n class extends p {\n constructor(t) {\n super(t),\n (this.graphicsDataPool = []),\n (this.primitiveShader = null),\n (this.webGLData = null),\n (this.gl = t.gl),\n (this.CONTEXT_UID = 0);\n }\n onContextChange() {\n (this.gl = this.renderer.gl),\n (this.CONTEXT_UID = this.renderer.CONTEXT_UID),\n (this.primitiveShader = new C(this.gl));\n }\n destroy() {\n p.prototype.destroy.call(this);\n for (let t = 0; t < this.graphicsDataPool.length; ++t) this.graphicsDataPool[t].destroy();\n this.graphicsDataPool = null;\n }\n render(t) {\n const e = this.renderer,\n s = e.gl,\n i = this.getWebGLData(t);\n if ((t.isDirty && this.updateGraphics(t, i), 0 === i.indices.length)) return;\n const n = this.primitiveShader;\n e.bindShader(n),\n e.state.setBlendMode(t.blendMode),\n (n.uniforms.translationMatrix = t.transform.worldTransform.toArray(!0)),\n (n.uniforms.color = c.hex2rgb(t.color)),\n (n.uniforms.alpha = t.worldAlpha),\n e.bindVao(i.vao),\n i.vao.draw(s.TRIANGLES, i.indices.length);\n }\n updateGraphics(t, e) {\n e.reset(), 'stroke' === t.drawType ? this.buildStroke(t, e) : this.buildFill(t, e), (t.isDirty = !1);\n }\n buildStroke(t, e) {\n const { vertices: s, indices: i } = e,\n { paths: n, lineStyle: r } = t,\n h = r.lineDash.length >= 2;\n for (let t = 0; t < n.length; t++) {\n const e = n[t],\n o = s.length / 2,\n a = B(e, r, s);\n if (h) for (let t = o + 2; t < s.length / 2; t += 2) a[t - o - 1] && i.push(t - 2, t, t - 1, t, t + 1, t - 1);\n else for (let t = o + 2; t < s.length / 2; t += 2) i.push(t - 2, t, t - 1, t, t + 1, t - 1);\n }\n e.upload();\n }\n buildFill(t, e) {\n const { vertices: s, indices: i } = e,\n { paths: n } = t;\n let r = [];\n const h = [];\n for (let t = 0; t < n.length; t++) {\n const e = n[t],\n s = [];\n if (F(e, s)) break;\n const i = e.holes,\n o = [];\n for (let t = 0; t < i.length; t++) {\n const e = i[t],\n n = s.length;\n if (F(e, s)) break;\n o.push(n / 2);\n }\n const a = c.earcut(s, o, 2),\n l = r.length / 2;\n for (let t = 0; t < s.length; t += 2) r.push(s[t], s[t + 1]);\n for (let t = 0; t < a.length; t += 3) h.push(l + a[t], l + a[t + 1], l + a[t + 2]);\n }\n r.length < 6 || h < 3 || (s.setBuffer(new Float32Array(r)), i.setBuffer(new Uint16Array(h)), e.upload());\n }\n getWebGLData(t) {\n return (\n (t.webGLData && this.CONTEXT_UID === t.webGLData.CONTEXT_UID) ||\n ((t.webGLData = new D(this.renderer.gl, this.primitiveShader, this.renderer.state.attribState)),\n (t.webGLData.CONTEXT_UID = this.CONTEXT_UID)),\n t.webGLData\n );\n }\n },\n);\nu.registerPlugin(\n 'lottiegraphics',\n class {\n constructor(t) {\n this.renderer = t;\n }\n destroy() {\n this.renderer = null;\n }\n render(t) {\n const e = this.renderer,\n s = e.context,\n i = t.lineStyle,\n n = t.worldAlpha,\n r = t.transform.worldTransform,\n h = e.resolution;\n s.setTransform(r.a * h, r.b * h, r.c * h, r.d * h, r.tx * h, r.ty * h),\n e.setBlendMode(t.blendMode),\n (s.globalAlpha = n),\n 'stroke' === t.drawType\n ? ((s.lineWidth = i.lineWidth),\n (s.lineJoin = i.lineJoin),\n (s.miterLimit = i.miterLimit),\n (s.lineCap = i.lineCap),\n (s.lineDashOffset = i.lineDashOffset),\n s.setLineDash(i.lineDash || []),\n this.buildStroke(t))\n : this.buildFill(t);\n }\n buildStroke(t) {\n const e = this.renderer.context,\n s = `#${`00000${(0 | t.color).toString(16)}`.substr(-6)}`,\n { paths: i, lineStyle: n } = t;\n (e.lineWidth = n.lineWidth),\n (e.lineJoin = n.lineJoin),\n (e.miterLimit = n.miterLimit),\n (e.lineCap = n.lineCap),\n (e.lineDashOffset = n.lineDashOffset),\n e.setLineDash(n.lineDash || []),\n e.beginPath();\n for (let t = 0; t < i.length; t++) this.drawPath(e, i[t]);\n (e.strokeStyle = s), e.stroke();\n }\n buildFill(t) {\n const e = this.renderer.context,\n s = `#${`00000${(0 | t.color).toString(16)}`.substr(-6)}`,\n { paths: i } = t;\n e.beginPath();\n for (let t = 0; t < i.length; t++) {\n const s = i[t];\n this.drawPath(e, s);\n for (let t = 0; t < s.holes.length; t++) this.drawPath(e, s.holes[t]);\n }\n (e.fillStyle = s), e.fill();\n }\n drawPath(t, e) {\n for (let s = 0; s < e.cmds.length; s++) {\n const { cmd: i, args: n } = e.cmds[s];\n switch (i) {\n case 'M':\n t.moveTo(n[0], n[1]);\n break;\n case 'L':\n t.lineTo(n[0], n[1]);\n break;\n case 'C':\n t.bezierCurveTo(n[0], n[1], n[2], n[3], n[4], n[5]);\n }\n }\n }\n },\n);\nclass W {\n constructor() {\n (this.cmds = []), (this.holes = []), (this.isClosed = !1), (this.isClockWise = !1);\n }\n getLength() {\n return this.cmds.length;\n }\n add(t, e) {\n this.cmds.push({ cmd: t, args: e });\n }\n moveTo(t = 0, e = 0) {\n this.add('M', [t, e]);\n }\n lineTo(t, e) {\n this.add('L', [t, e]);\n }\n bezierCurveTo(t, e, s, i, n, r) {\n this.add('C', [t, e, s, i, n, r]);\n }\n closePath() {\n this.isClosed = !0;\n }\n}\nclass X extends h {\n constructor() {\n super(),\n (this.paths = []),\n (this._samplerPoints = []),\n (this.currentPath = null),\n (this.color = 0),\n (this.lineStyle = {\n lineWidth: 1,\n lineJoin: 'miter',\n miterLimit: 10,\n lineCap: 'butt',\n lineDash: [],\n lineDashOffset: 0,\n }),\n (this.isDirty = !0),\n (this.drawType = ''),\n (this.blendMode = d.NORMAL),\n (this.webGLData = null),\n (this.firstIsClockWise = !0),\n (this.preClockWiseStatus = null);\n }\n clear() {\n (this.paths.length = 0),\n (this.currentPath = null),\n (this.firstIsClockWise = !0),\n (this.preClockWiseStatus = null),\n (this.isDirty = !0);\n }\n moveTo(t = 0, e = 0) {\n this.endPath(), (this.currentPath = new W()), this.currentPath.moveTo(t, e), this._samplerPoints.push([t, e]);\n }\n lineTo(t, e) {\n this.currentPath.lineTo(t, e), this._samplerPoints.push([t, e]);\n }\n bezierCurveTo(t, e, s, i, n, r) {\n this.currentPath.bezierCurveTo(t, e, s, i, n, r), this._samplerPoints.push([n, r]);\n }\n endPath() {\n if (this.currentPath && this.currentPath.getLength() > 1) {\n const t = this.paths.length,\n e =\n (function (t) {\n const e = t.length;\n let s = 0;\n for (let i = e - 1, n = 0; n < e; i = n++) s += t[i][0] * t[n][1] - t[n][0] * t[i][1];\n return 0.5 * s;\n })(this._samplerPoints) > 0;\n if (\n ((this.currentPath.isClockWise = e),\n 0 === t && (this.firstIsClockWise = e),\n t > 0 && this.preClockWiseStatus === this.firstIsClockWise && this.preClockWiseStatus !== e)\n ) {\n (t > 0 ? this.paths[t - 1] : null).holes.push(this.currentPath);\n } else this.paths.push(this.currentPath), (this.preClockWiseStatus = e);\n (this.currentPath = null), (this.isDirty = !0);\n }\n this._samplerPoints.length = 0;\n }\n closePath() {\n this.currentPath.closePath();\n }\n stroke() {\n this.endPath(), (this.drawType = 'stroke');\n }\n fill() {\n null !== this.currentPath && (this.closePath(), this.endPath(), (this.drawType = 'fill'));\n }\n _renderWebGL(t) {\n t.setObjectRenderer(t.plugins.lottiegraphics), t.plugins.lottiegraphics.render(this);\n }\n _renderCanvas(t) {\n t.plugins.lottiegraphics.render(this);\n }\n}\nclass z extends X {\n constructor(t, e) {\n super(), (this.lottieElement = t), (this.config = e), (this.passMatrix = new f());\n }\n setShapeTransform() {\n const t = this.lottieElement.preTransforms.finalTransform.props;\n this.passMatrix.set(t[0], t[1], t[4], t[5], t[12], t[13]), this.transform.setFromMatrix(this.passMatrix);\n }\n updateTransform() {\n this.setShapeTransform(),\n this.transform.updateTransform(this.parent.transform),\n (this.worldAlpha = this.alpha * this.parent.worldAlpha),\n this._bounds.updateID++;\n }\n updateLottieGrahpics(e) {\n const s = e.type;\n if ((this.clear(), (('st' === s || 'gs' === s) && 0 === e.wi) || !e.data._shouldRender || 0 === e.coOp)) return;\n const i = e.elements,\n n = i.length;\n for (let t = 0; t < n; t += 1) {\n const e = i[t].trNodes,\n s = e.length;\n for (let t = 0; t < s; t++)\n 'm' == e[t].t\n ? this.moveTo(e[t].p[0], e[t].p[1])\n : 'c' == e[t].t\n ? this.bezierCurveTo(e[t].pts[0], e[t].pts[1], e[t].pts[2], e[t].pts[3], e[t].pts[4], e[t].pts[5])\n : this.closePath();\n }\n ('st' !== s && 'gs' !== s) ||\n (e.da\n ? ((this.lineStyle.lineDash = e.da), (this.lineStyle.lineDashOffset = e.do))\n : (this.lineStyle.lineDash = [])),\n 'st' === s || 'gs' === s\n ? ((this.lineStyle.lineWidth = e.wi),\n (this.lineStyle.lineCap = e.lc),\n (this.lineStyle.lineJoin = e.lj),\n (this.lineStyle.miterLimit = e.ml || 0),\n (this.color = t.rgb2hex(e.co || e.grd)),\n (this.alpha = e.coOp),\n this.stroke())\n : ((this.color = t.rgb2hex(e.co || e.grd)), (this.alpha = e.coOp), this.fill());\n }\n}\nclass G extends r {\n constructor(t, e) {\n super(), (this.lottieElement = t), (this.config = e);\n const s = parseInt(e.color.replace('#', ''), 16);\n this.beginFill(s), this.drawRect(0, 0, e.rect.width, e.rect.height), this.endFill();\n }\n onSetupLottie() {\n if (this.lottieElement.hasValidMasks()) {\n const t = this.config.session.local;\n (this.graphicsMasks = new T(t)), (this.mask = this.graphicsMasks), this.addChild(this.mask);\n }\n }\n setHierarchy(t) {\n this.hierarchy = t;\n }\n show() {\n this.visible = !0;\n }\n hide() {\n this.visible = !1;\n }\n updateLottieTransform(t) {\n (this.x = t.x),\n (this.y = t.y),\n (this.pivot.x = t.anchorX),\n (this.pivot.y = t.anchorY),\n (this.scale.x = t.scaleX),\n (this.scale.y = t.scaleY),\n (this.rotation = t.rotation),\n (this.alpha = t.alpha);\n }\n updateLottieMasks(t) {\n this.graphicsMasks && this.graphicsMasks.updateMasks(t);\n }\n}\nclass R extends m {\n constructor(t, e) {\n const { texture: s, asset: i } = e;\n super(s),\n s.baseTexture.hasLoaded\n ? ((s.orig = new g(0, 0, i.w, i.h)), s._updateUvs())\n : s.baseTexture.on('loaded', () => {\n (s.orig = new g(0, 0, i.w, i.h)), s._updateUvs();\n }),\n (this.lottieElement = t),\n (this.config = e);\n }\n onSetupLottie() {\n if (this.lottieElement.hasValidMasks()) {\n const t = this.config.session.local;\n (this.graphicsMasks = new T(t)), (this.mask = this.graphicsMasks), this.addChild(this.mask);\n }\n }\n setHierarchy(t) {\n this.hierarchy = t;\n }\n show() {\n this.visible = !0;\n }\n hide() {\n this.visible = !1;\n }\n updateLottieTransform(t) {\n (this.x = t.x),\n (this.y = t.y),\n (this.pivot.x = t.anchorX),\n (this.pivot.y = t.anchorY),\n (this.scale.x = t.scaleX),\n (this.scale.y = t.scaleY),\n (this.rotation = t.rotation),\n (this.alpha = t.alpha);\n }\n updateLottieMasks(t) {\n this.graphicsMasks && this.graphicsMasks.updateMasks(t);\n }\n}\nconst U = /^(https?:)?\\/\\//;\nclass N extends e {\n constructor(t, { prefix: e, autoLoad: s = !0 }) {\n super(),\n (this.assets = t),\n (this.prefix = e || ''),\n (this.textures = {}),\n (this._total = 0),\n (this._failed = 0),\n (this._received = 0),\n (this.loaded = !1),\n s && this.load();\n }\n load() {\n this.assets.forEach(t => {\n const e = t.id,\n s = (function (t, e) {\n if (1 === t.e) return t.p;\n e && (e = e.replace(/\\/?$/, '/'));\n const s = t.u + t.p;\n let i = '';\n return (i = t.up ? t.up : U.test(s) ? s : e + s), i;\n })(t, this.prefix),\n i = y.fromImage(s, '*');\n (this.textures[e] = i),\n this._total++,\n i.baseTexture.hasLoaded\n ? (this._received++, this.emit('update'), this._received + this._failed >= this._total && this._onComplete())\n : (i.baseTexture.once('loaded', () => {\n this._received++, this.emit('update'), this._received + this._failed >= this._total && this._onComplete();\n }),\n i.baseTexture.once('error', () => {\n this._failed++, this.emit('update'), this._received + this._failed >= this._total && this._onComplete();\n }));\n });\n }\n _onComplete() {\n (this.loaded = !0),\n this.emit('complete'),\n this._failed > 0 && (this._failed >= this._total ? this.emit('fail') : this.emit('partlyfail', this._failed));\n }\n getTextureById(t) {\n return this.textures[t];\n }\n}\nfunction j(t) {\n return t.response && 'object' == typeof t.response\n ? t.response\n : t.response && 'string' == typeof t.response\n ? JSON.parse(t.response)\n : t.responseText\n ? JSON.parse(t.responseText)\n : void 0;\n}\nclass q extends e {\n constructor(t) {\n super(),\n (this.path = t),\n (this.onSuccess = this.onSuccess.bind(this)),\n (this.onFail = this.onFail.bind(this)),\n (function (t, e, s) {\n let i,\n n = new XMLHttpRequest();\n n.open('GET', t, !0);\n try {\n n.responseType = 'json';\n } catch (t) {\n console.error('lottie-pixi loadAjax:', t);\n }\n n.send(),\n (n.onreadystatechange = function () {\n if (4 == n.readyState)\n if (200 == n.status) (i = j(n)), e(i);\n else\n try {\n (i = j(n)), e(i);\n } catch (t) {\n s && s(t);\n }\n });\n })(t, this.onSuccess, this.onFail);\n }\n onSuccess(t) {\n this.emit('success', t), this.emit('complete', t);\n }\n onFail(t) {\n this.emit('fail', t), this.emit('error', t);\n }\n}\nconst Y = {\n Linear: { None: t => t },\n Ease: {\n In: (function () {\n const t = new s(0.42, 0, 1, 1);\n return function (e) {\n return t.get(e);\n };\n })(),\n Out: (function () {\n const t = new s(0, 0, 0.58, 1);\n return function (e) {\n return t.get(e);\n };\n })(),\n InOut: (function () {\n const t = new s(0.42, 0, 0.58, 1);\n return function (e) {\n return t.get(e);\n };\n })(),\n Bezier(t, e, i, n) {\n const r = new s(t, e, i, n);\n return function (t) {\n return r.get(t);\n };\n },\n },\n Elastic: {\n In: t => (0 === t ? 0 : 1 === t ? 1 : -Math.pow(2, 10 * (t - 1)) * Math.sin(5 * (t - 1.1) * Math.PI)),\n Out: t => (0 === t ? 0 : 1 === t ? 1 : Math.pow(2, -10 * t) * Math.sin(5 * (t - 0.1) * Math.PI) + 1),\n InOut: t =>\n 0 === t\n ? 0\n : 1 === t\n ? 1\n : (t *= 2) < 1\n ? -0.5 * Math.pow(2, 10 * (t - 1)) * Math.sin(5 * (t - 1.1) * Math.PI)\n : 0.5 * Math.pow(2, -10 * (t - 1)) * Math.sin(5 * (t - 1.1) * Math.PI) + 1,\n },\n Back: {\n In(t) {\n const e = 1.70158;\n return t * t * ((e + 1) * t - e);\n },\n Out(t) {\n const e = 1.70158;\n return --t * t * ((e + 1) * t + e) + 1;\n },\n InOut(t) {\n const e = 2.5949095;\n return (t *= 2) < 1 ? t * t * ((e + 1) * t - e) * 0.5 : 0.5 * ((t -= 2) * t * ((e + 1) * t + e) + 2);\n },\n },\n Bounce: {\n In: t => 1 - Y.Bounce.Out(1 - t),\n Out: t =>\n t < 1 / 2.75\n ? 7.5625 * t * t\n : t < 2 / 2.75\n ? 7.5625 * (t -= 1.5 / 2.75) * t + 0.75\n : t < 2.5 / 2.75\n ? 7.5625 * (t -= 2.25 / 2.75) * t + 0.9375\n : 7.5625 * (t -= 2.625 / 2.75) * t + 0.984375,\n InOut: t => (t < 0.5 ? 0.5 * Y.Bounce.In(2 * t) : 0.5 * Y.Bounce.Out(2 * t - 1) + 0.5),\n },\n};\nfunction J(s) {\n e.call(this),\n (this.element = s.element || {}),\n (this.duration = s.duration || 300),\n (this.living = !0),\n (this.resident = s.resident || !1),\n (this.infinite = s.infinite || !1),\n (this.alternate = s.alternate || !1),\n (this.repeats = s.repeats || 0),\n (this.delay = s.delay || 0),\n (this.wait = s.wait || 0),\n (this.timeScale = t.isNumber(s.timeScale) ? s.timeScale : 1),\n s.onComplete && this.on('complete', s.onComplete.bind(this)),\n s.onUpdate && this.on('update', s.onUpdate.bind(this)),\n this.init(),\n (this.paused = !1);\n}\nfunction V(e) {\n J.call(this, e), (e.from = e.from || {});\n for (const s in e.to) t.isUndefined(e.from[s]) && (e.from[s] = this.element[s]);\n (this.ease = e.ease || Y.Ease.InOut), (this.from = e.from), (this.to = e.to);\n}\nfunction H(e) {\n J.call(this, e),\n (this.dynamicProperties = []),\n (this._mdf = !1),\n (this.keyframes = t.copyJSON(e.keyframes)),\n (this.frameRate = e.frameRate || 30),\n (this.tpf = 1e3 / this.frameRate),\n (this.ip = t.isUndefined(e.ip) ? this.keyframes.ip : e.ip),\n (this.op = t.isUndefined(e.ip) ? this.keyframes.op : e.op),\n (this.tfs = this.op - this.ip),\n (this.duration = this.tfs * this.tpf),\n (this.ignoreProps = t.isArray(e.ignoreProps) ? e.ignoreProps : []),\n (this.transform = new i(this, this.keyframes.ks));\n}\nfunction $(t, e) {\n J.call(this, e),\n (this.runners = []),\n (this.queues = []),\n (this.cursor = 0),\n (this.total = 0),\n (this.alternate = !1),\n t && this.then(t);\n}\n(J.prototype = Object.create(e.prototype)),\n (J.prototype.update = function (e) {\n const s = this.direction * this.timeScale * e;\n if (this.waitCut > 0) return void (this.waitCut -= Math.abs(s));\n if (this.paused || !this.living || this.delayCut > 0)\n return void (this.delayCut > 0 && (this.delayCut -= Math.abs(s)));\n this.progress += s;\n let i = !1;\n const n = this.progress;\n let r;\n return (\n this.spill() &&\n (this.repeatsCut > 0 || this.infinite\n ? (this.repeatsCut > 0 && --this.repeatsCut,\n (this.delayCut = this.delay),\n this.alternate\n ? ((this.direction *= -1), (this.progress = t.codomainBounce(this.progress, 0, this.duration)))\n : ((this.direction = 1), (this.progress = t.euclideanModulo(this.progress, this.duration))))\n : (i = !0)),\n i\n ? (this.resident || (this.living = !1),\n (this.progress = t.clamp(n, 0, this.duration)),\n (r = this.nextPose()),\n this.emit('complete', r, n - this.progress))\n : ((r = this.nextPose()), this.emit('update', r, this.progress / this.duration)),\n r\n );\n }),\n (J.prototype.spill = function () {\n const t = this.progress <= 0 && -1 === this.direction,\n e = this.progress >= this.duration && 1 === this.direction;\n return t || e;\n }),\n (J.prototype.init = function () {\n (this.direction = 1),\n (this.progress = 0),\n (this.repeatsCut = this.repeats),\n (this.delayCut = this.delay),\n (this.waitCut = this.wait);\n }),\n (J.prototype.nextPose = function () {\n console.warn('should be overwrite');\n }),\n (J.prototype.linear = function (t, e, s) {\n return (e - t) * s + t;\n }),\n (J.prototype.setSpeed = function (t) {\n return (this.timeScale = t), this;\n }),\n (J.prototype.pause = function () {\n return (this.paused = !0), this;\n }),\n (J.prototype.resume = function () {\n return (this.paused = !1), this;\n }),\n (J.prototype.restart = J.prototype.resume),\n (J.prototype.stop = function () {\n return (this.repeats = 0), (this.infinite = !1), (this.progress = this.duration), this;\n }),\n (J.prototype.cancel = function () {\n return (this.living = !1), this;\n }),\n (V.prototype = Object.create(J.prototype)),\n (V.prototype.nextPose = function () {\n const t = {},\n e = this.ease(this.progress / this.duration);\n for (const s in this.to)\n void 0 !== this.element[s] && (this.element[s] = t[s] = this.linear(this.from[s], this.to[s], e));\n return t;\n }),\n (H.prototype = Object.create(J.prototype)),\n (H.prototype.prepareProperties = function (t) {\n const e = this.dynamicProperties.length;\n let s;\n for (s = 0; s < e; s += 1)\n this.dynamicProperties[s].getValue(t), this.dynamicProperties[s]._mdf && (this._mdf = !0);\n }),\n (H.prototype.addDynamicProperty = function (t) {\n -1 === this.dynamicProperties.indexOf(t) && this.dynamicProperties.push(t);\n }),\n (H.prototype.nextPose = function () {\n const t = {},\n e = this.ip + this.progress / this.tpf;\n return (\n this.prepareProperties(e),\n -1 === this.ignoreProps.indexOf('position') &&\n (-1 === this.ignoreProps.indexOf('x') && (t.x = this.element.x = this.transform.x),\n -1 === this.ignoreProps.indexOf('y') && (t.y = this.element.y = this.transform.y)),\n -1 === this.ignoreProps.indexOf('pivot') &&\n ((t.pivot = {}),\n -1 === this.ignoreProps.indexOf('pivotX') && (t.pivot.x = this.element.pivot.x = this.transform.anchorX),\n -1 === this.ignoreProps.indexOf('pivotY') && (t.pivot.y = this.element.pivot.y = this.transform.anchorY)),\n -1 === this.ignoreProps.indexOf('scale') &&\n ((t.scale = {}),\n -1 === this.ignoreProps.indexOf('scaleX') && (t.scale.x = this.element.scale.x = this.transform.scaleX),\n -1 === this.ignoreProps.indexOf('scaleY') && (t.scale.y = this.element.scale.y = this.transform.scaleY)),\n -1 === this.ignoreProps.indexOf('rotation') && (t.rotation = this.element.rotation = this.transform.rotation),\n -1 === this.ignoreProps.indexOf('alpha') && (t.alpha = this.element.alpha = this.transform.alpha),\n t\n );\n }),\n ($.prototype = Object.create(J.prototype)),\n ($.prototype.then = function (t) {\n return this.queues.push(t), (this.total = this.queues.length), this;\n }),\n ($.prototype.nextOne = function (t, e) {\n this.runners[this.cursor].init(), this.cursor++, (this._residueTime = Math.abs(e));\n }),\n ($.prototype.initOne = function () {\n const t = this.queues[this.cursor];\n (t.infinite = !1), (t.resident = !0), (t.element = this.element);\n let e = null;\n t.keyframes ? (e = new H(t)) : t.to && (e = new V(t)),\n null !== e && (e.on('complete', this.nextOne.bind(this)), this.runners.push(e));\n }),\n ($.prototype.nextPose = function (t) {\n return (\n !this.runners[this.cursor] && this.queues[this.cursor] && this.initOne(),\n this._residueTime > 0 && ((t += this._residueTime), (this._residueTime = 0)),\n this.runners[this.cursor].update(t)\n );\n }),\n ($.prototype.update = function (t) {\n if (this.wait > 0) return void (this.wait -= Math.abs(t));\n if (this.paused || !this.living || this.delayCut > 0)\n return void (this.delayCut > 0 && (this.delayCut -= Math.abs(t)));\n const e = this.cursor,\n s = this.nextPose(this.timeScale * t);\n return (\n this.emit('update', { index: e, pose: s }, this.progress / this.duration),\n this.spill() &&\n (this.repeats > 0 || this.infinite\n ? (this.repeats > 0 && --this.repeats, (this.delayCut = this.delay), (this.cursor = 0))\n : (this.resident || (this.living = !1), this.emit('complete', s))),\n s\n );\n }),\n ($.prototype.spill = function () {\n return this.cursor >= this.total;\n });\nconst K = { settings: w, UPDATE_PRIORITY: v, animationTicker: x.shared };\nfunction Q(t) {\n K.animationTicker = t;\n}\nfunction Z(t) {\n (this.element = t),\n (this.animates = []),\n (this.timeScale = 1),\n (this.paused = !1),\n (this.updateDeltaTime = this.updateDeltaTime.bind(this)),\n K.animationTicker.add(this.updateDeltaTime, K.UPDATE_PRIORITY.HIGH);\n}\n(Z.prototype.clearAnimators = function (t) {\n if (this.paused) return;\n const e = this.animates;\n for (let s = 0; s < t.length; s++) {\n const i = t[s];\n e[i].living || e[i].resident || this.animates.splice(i, 1);\n }\n}),\n (Z.prototype.updateDeltaTime = function (t) {\n if (this.animates.length <= 0) return;\n const e = t / K.settings.TARGET_FPMS;\n this.update(e);\n }),\n (Z.prototype.update = function (t) {\n if (this.paused) return;\n if (this.animates.length <= 0) return;\n t = this.timeScale * t;\n const e = [];\n for (let s = 0; s < this.animates.length; s++)\n this.animates[s].living || this.animates[s].resident ? this.animates[s].update(t) : e.push(s);\n e.length > 0 && this.clearAnimators(e);\n }),\n (Z.prototype.animate = function (t, e) {\n return (t.element = this.element), this._addMove(new V(t), e);\n }),\n (Z.prototype.queues = function (t, e, s) {\n return (e.element = this.element), this._addMove(new $(t, e), s);\n }),\n (Z.prototype.bodymovin = function (t, e) {\n return (t.element = this.element), this._addMove(new H(t), e);\n }),\n (Z.prototype._addMove = function (t, e) {\n return e && this.clearAll(), this.animates.push(t), t;\n }),\n (Z.prototype.pause = function () {\n this.paused = !0;\n }),\n (Z.prototype.resume = function () {\n this.paused = !1;\n }),\n (Z.prototype.restart = Z.prototype.resume),\n (Z.prototype.setSpeed = function (t) {\n this.timeScale = t;\n }),\n (Z.prototype.clearAll = function () {\n this.animates.length = 0;\n }),\n (b.prototype.setupAnimations = function () {\n this.animations || (this.animations = new Z(this));\n }),\n (b.prototype.animate = function (t, e) {\n return this.animations || this.setupAnimations(), this.animations.animate(t, e);\n }),\n (b.prototype.queues = function (t, e = {}, s) {\n return this.animations || this.setupAnimations(), this.animations.queues(t, e, s);\n }),\n (b.prototype.bodymovin = function (t, e) {\n return this.animations || this.setupAnimations(), this.animations.bodymovin(t, e);\n }),\n Object.defineProperties(b.prototype, {\n scaleXY: {\n get() {\n return this.scale.x;\n },\n set(t) {\n this.scale.set(t);\n },\n },\n scaleX: {\n get() {\n return this.scale.x;\n },\n set(t) {\n this.scale.x = t;\n },\n },\n scaleY: {\n get() {\n return this.scale.y;\n },\n set(t) {\n this.scale.y = t;\n },\n },\n pivotX: {\n get() {\n return this.pivot.x;\n },\n set(t) {\n this.pivot.x = t;\n },\n },\n pivotY: {\n get() {\n return this.pivot.y;\n },\n set(t) {\n this.pivot.y = t;\n },\n },\n }),\n (h.prototype.updateTransform = function () {\n this.emit('pretransform'),\n this._boundsID++,\n this.hierarchy && this.hierarchy.transform\n ? (this.hierarchy.updateTransform(), this.transform.updateTransform(this.hierarchy.transform))\n : this.transform.updateTransform(this.parent.transform),\n (this.worldAlpha = this.alpha * this.parent.worldAlpha);\n for (let t = 0, e = this.children.length; t < e; ++t) {\n const e = this.children[t];\n e.visible && e.updateTransform();\n }\n this.emit('posttransform');\n }),\n (h.prototype.containerUpdateTransform = h.prototype.updateTransform);\nclass tt extends e {\n constructor(t) {\n super(),\n (this.animate = null),\n t.keyframes &&\n t.useAESize &&\n (t.width !== t.keyframes.w || t.height !== t.keyframes.h) &&\n ((t.width = t.keyframes.w), (t.height = t.keyframes.h));\n const {\n view: e,\n width: s,\n height: i,\n transparent: r,\n antialias: h,\n preserveDrawingBuffer: o,\n resolution: a,\n forceCanvas: l,\n backgroundColor: p,\n clearBeforeRender: c,\n roundPixels: u,\n forceFXAA: d,\n legacy: f,\n powerPreference: m,\n sharedTicker: g,\n sharedLoader: y,\n } = t;\n (this.app = new P({\n view: e,\n width: s,\n height: i,\n transparent: r,\n antialias: h,\n preserveDrawingBuffer: o,\n resolution: a,\n forceCanvas: l,\n backgroundColor: p,\n clearBeforeRender: c,\n roundPixels: u,\n forceFXAA: d,\n legacy: f,\n powerPreference: m,\n sharedTicker: g,\n sharedLoader: y,\n })),\n (this.manager = new n(this.app)),\n (this.loaded = !1),\n this.parseData(t);\n }\n resizeWithAESize() {\n const { width: t, height: e } = this.app.renderer;\n (t === this.animate.keyframes.w && e === this.animate.keyframes.h) ||\n this.app.renderer.resize(this.animate.keyframes.w, this.animate.keyframes.h);\n }\n parseData(t) {\n (this.animate = this.manager.parseAnimation(t)),\n this.animate.isDisplayLoaded\n ? (t.useAESize && this.resizeWithAESize(), this.app.stage.addChild(this.animate.group))\n : this.animate.once('DisplayReady', () => {\n t.useAESize && this.resizeWithAESize(),\n this.app.stage.addChild(this.animate.group),\n this.emit('DisplayReady', this);\n }),\n this.animate.isImagesLoaded\n ? (this.loaded = !0)\n : (this.animate.once('success', () => {\n (this.loaded = !0), this.emit('success', this);\n }),\n this.animate.once('error', t => {\n this.emit('error', t);\n }));\n }\n}\nfunction et(e) {\n return (\n e.container && !e.view && (e.view = e.container),\n e.animationData && !e.keyframes && (e.keyframes = e.animationData),\n e.assetsPath && !e.prefix && (e.prefix = e.assetsPath.replace(/images\\/?$/, '')),\n e.initialSegment && !e.initSegment && (e.initSegment = e.initialSegment),\n t.isBoolean(e.autoplay) && !t.isBoolean(e.autoStart) && (e.autoStart = e.autoplay),\n t.isBoolean(e.loop) && !t.isBoolean(e.infinite) && (e.infinite = e.loop),\n (e.view = t.isString(e.view) ? document.querySelector(e.view) : e.view),\n (e.useAESize = !t.isBoolean(e.useAESize) || e.useAESize),\n new tt(e)\n );\n}\nexport {\n Y as Tween,\n et as loadAnimation,\n Q as useTicker,\n k as CompElement,\n z as PathLottie,\n G as SolidElement,\n R as SpriteElement,\n h as Container,\n q as LoadJson,\n N as LoadTexture,\n};\nexport {\n AnimationGroup,\n AnimationManager,\n BezierEasing,\n DisplayRegister,\n Eventer,\n LoaderRegister,\n PropertyFactory,\n Tools,\n TransformFrames,\n TransformProperty,\n} from './lottie-core';\n","'use strict';\n\nmodule.exports = Number.isFinite || function (value) {\n\treturn !(typeof value !== 'number' || value !== value || value === Infinity || value === -Infinity);\n};\n","// https://github.com/paulmillr/es6-shim\n// http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isinteger\nvar isFinite = require(\"is-finite\");\nmodule.exports = Number.isInteger || function(val) {\n return typeof val === \"number\" &&\n isFinite(val) &&\n Math.floor(val) === val;\n};\n","'use strict'\n\nvar isInteger = require('is-integer')\nvar isIntegerRegex = /^-?\\d+$/\n\nmodule.exports = function parseIntStrict (integer) {\n if (typeof integer === 'number') {\n return isInteger(integer) ? integer : undefined\n }\n if (typeof integer === 'string') {\n return isIntegerRegex.test(integer) ? parseInt(integer, 10) : undefined\n }\n}\n","'use strict'\n\nvar parseIntStrict = require('parse-int')\nvar REGEX = /OS (\\d\\d?_\\d(_\\d)?)/\n\nmodule.exports = function iOsVersion (agent) {\n if (!agent) return null\n\n var matches = REGEX.exec(agent)\n if (!matches) return null\n\n var parts = matches[1].split('_').map(parseIntStrict)\n\n return {\n major: parts[0],\n minor: parts[1],\n patch: parts[2] || 0\n }\n}\n","import iOSVersion from 'ios-version';\n\nconst { major } = iOSVersion(window.navigator.userAgent) || {};\n\n/**\n * dataURL 转成 blob\n * @param dataURL\n * @return blob\n */\nfunction dataURL2blob(dataURL) {\n let binaryString = atob(dataURL.split(',')[1]);\n let arrayBuffer = new ArrayBuffer(binaryString.length);\n let intArray = new Uint8Array(arrayBuffer);\n let mime = dataURL.split(',')[0].match(/:(.*?);/)[1];\n for (let i = 0, j = binaryString.length; i < j; i++) {\n intArray[i] = binaryString.charCodeAt(i);\n }\n let data = [intArray];\n let result;\n try {\n result = new Blob(data, { type: mime });\n } catch (error) {\n console.log(error);\n }\n return result;\n}\n\n/**\n * 创建新的URL 对象表示指定的 File 对象或 Blob 对象。\n * @param {string} dataURL base64\n */\nfunction dataURL2ObjUrl(dataURL) {\n window.URL = window.URL || window.webkitURL;\n if (window.URL && URL.createObjectURL) {\n // dataURL2blob 此方法需额外定义\n const blob = dataURL2blob(dataURL);\n return URL.createObjectURL(blob);\n }\n return dataURL;\n}\n\nexport function imageHandle(source) {\n const isBase64Reg = /^data:image\\/png;base64/;\n if (major <= 8 && isBase64Reg.test(source)) {\n return dataURL2ObjUrl(source);\n }\n\n return source;\n}\n","import { OBSERVER_TYPE, decorators, ComponentChanged, resource } from '@eva/eva.js';\nimport { Renderer, RendererManager, ContainerManager } from '@eva/plugin-renderer';\nimport {\n AnimationManager,\n DisplayRegister,\n LoaderRegister,\n CompElement,\n PathLottie,\n SolidElement,\n SpriteElement,\n Container,\n LoadTexture,\n LoadJson,\n} from './lottie-pixi';\nimport { imageHandle } from './utils';\nimport Lottie from './Lottie';\n\nfunction loadTexture(assets, options) {\n return new LoadTexture(assets, options);\n}\n\nfunction loadJson(path) {\n return new LoadJson(path);\n}\n\nLoaderRegister.registerLoaderByType(LoaderRegister.Type.Texture, loadTexture);\nLoaderRegister.registerLoaderByType(LoaderRegister.Type.Ajax, loadJson);\nDisplayRegister.registerDisplayByType(DisplayRegister.Type.Null, CompElement);\nDisplayRegister.registerDisplayByType(DisplayRegister.Type.Path, PathLottie);\nDisplayRegister.registerDisplayByType(DisplayRegister.Type.Shape, CompElement);\nDisplayRegister.registerDisplayByType(DisplayRegister.Type.Solid, SolidElement);\nDisplayRegister.registerDisplayByType(DisplayRegister.Type.Sprite, SpriteElement);\nDisplayRegister.registerDisplayByType(DisplayRegister.Type.Component, CompElement);\nDisplayRegister.registerDisplayByType(DisplayRegister.Type.Container, Container);\n\n@decorators.componentObserver({\n Lottie: [],\n})\nexport default class LottieSystem extends Renderer {\n static systemName = 'LottieSystem';\n public manager: any;\n public app: any;\n public renderSystem;\n public rendererManager: RendererManager;\n public containerManager: ContainerManager;\n public managerLife = [\n 'DisplayReady',\n 'ImageReady',\n 'success',\n 'error',\n 'complete',\n 'loopComplete',\n 'enterFrame',\n 'update',\n ];\n\n /**\n * System 初始化用,可以配置参数,游戏未开始\n *\n * System init, set params, game is not begain\n * @param param init params\n */\n init() {\n this.renderSystem = this.game.systems.find((s: any) => s.application);\n this.app = this.renderSystem.application;\n }\n\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'Lottie') {\n if (changed.type === OBSERVER_TYPE.ADD) {\n this.add(changed);\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.remove(changed);\n }\n }\n }\n\n async add(changed: ComponentChanged) {\n this.manager = new AnimationManager(this.app);\n const component = changed.component as Lottie;\n const container = this.renderSystem.containerManager.getContainer(changed.gameObject.id);\n if (!container) return;\n const { resource: rn, ...otherOpts } = component.options;\n const { data } = await resource.getResource(rn);\n const json = { ...(data.json || {}) };\n const assets = json.assets || [];\n assets.forEach(item => {\n if (item.p) item.p = imageHandle(item.p);\n });\n const anim = this.manager.parseAnimation({\n keyframes: json,\n ...otherOpts,\n });\n component.anim = anim;\n container.addChildAt(anim.group, 0);\n this.managerLife.forEach(eventName => {\n anim.on(eventName, e => component.emit(eventName, e));\n });\n if (anim.isImagesLoaded) component.emit('success', {});\n }\n\n remove(changed: ComponentChanged) {\n const component = changed.component as Lottie;\n const container = this.renderSystem.containerManager.getContainer(changed.gameObject.id);\n if (container) {\n container.removeChild(component.anim.group);\n component.anim.group.destory(true);\n }\n component.anim = null;\n }\n}\n","import { Component, decorators } from '@eva/eva.js';\nimport { IExpandOpts, IOptions } from './types';\nimport { Sprite, Text, TextStyle, Graphics } from 'pixi.js';\n\ninterface ExtendOptions extends IOptions {\n autoStart: boolean;\n}\n\nexport default class Lottie extends Component<IOptions> {\n @decorators.IDEProp\n slot: { [key: string]: string };\n\n static componentName: string = 'Lottie';\n public static application: any;\n public anim: any;\n public options: ExtendOptions;\n public loadStatus: boolean = false;\n public firstPlay: () => void | null = null;\n public slotCache: { [key: string]: any };\n public prevSlot: { [name: string]: any } = {};\n public currentSlot: { [name: string]: any } = {};\n\n constructor(options: IOptions) {\n super();\n this.options = {\n autoStart: false,\n ...options,\n };\n this.on('success', () => {\n this.loadStatus = true;\n const { ip, op } = this.anim.keyframes;\n for (let i = ip; i <= op; i++) {\n const event = `@${i}`;\n this.anim.on(event, e => this.emit(event, e));\n }\n this.firstPlay && this.firstPlay();\n });\n }\n\n play(\n params: number[] = [],\n expandOpts: IExpandOpts = {\n repeats: 0,\n },\n ) {\n if (!this.loadStatus) {\n this.firstPlay = () => {\n this.play(params, expandOpts);\n };\n return;\n }\n\n const { slot = [] } = expandOpts;\n slot.forEach(({ name, type, value, style = {} }) => {\n const { x, y, anchor = { x: 0, y: 0 }, pivot = { x: 0, y: 0 }, width, height } = style;\n if (type === 'IMAGE') {\n this.currentSlot[name] = Sprite.from(value);\n } else if (type === 'TEXT') {\n this.currentSlot[name] = new Text(value, new TextStyle(style));\n }\n if (x) this.currentSlot[name].x = x;\n if (y) this.currentSlot[name].y = y;\n if (width) this.currentSlot[name].width = width;\n if (height) this.currentSlot[name].height = height;\n this.currentSlot[name].anchor.set(anchor.x || 0, anchor.y || 0);\n this.currentSlot[name].pivot.set(\n this.currentSlot[name].width * (pivot.x || 0),\n this.currentSlot[name].height * (pivot.y || 0),\n );\n if (this.prevSlot[name]) this.anim.unbindSlot(name, this.prevSlot[name]);\n this.anim.bindSlot(name, this.currentSlot[name]);\n this.prevSlot[name] = this.currentSlot[name];\n });\n\n this.anim.playSegment(this.playParamsHandle(params), expandOpts);\n }\n\n playParamsHandle(params) {\n let p = [].concat(params);\n const { keyframes } = this.anim;\n if (!p.length || p.length > 2) {\n p = [keyframes.ip, keyframes.op];\n } else if (p.length === 1) {\n p = [p[0] % keyframes.op, keyframes.op];\n }\n return p;\n }\n\n onTap(name, callback) {\n const g = new Graphics();\n this.on('success', () => {\n const ele = this.anim.querySelector(name);\n const display = ele.display;\n g.beginFill(0xffffff);\n g.drawRect(0, 0, 100, 100);\n g.endFill();\n g.alpha = 0;\n display.addChild(g);\n ele.display.interactive = true;\n ele.display.on('pointertap', () => {\n callback();\n });\n });\n }\n}\n"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","toString","copyJSON","JSON","parse","stringify","isArray","isString","isNumber","isFunction","isUndefined","isBoolean","isObject","random","Math","euclideanModulo","codomainBounce","clamp","inRange","getAssets","id","console","error","rgb2hex","listeners","addEventListener","on","removeEventListener","off","h","splice","once","emit","slice","Ajax","Texture","a","u","completed","tt","td","hasMask","masksProperties","pt","k","l","ty","layers","refId","o","shapes","m","__used","ks","it","split","assets","chars","data","__converted","closed","cl","singleShape","__complete","Float32Array","S","x","M","Error","mX1","mY1","mX2","mY2","sampleValues","_preCompute","get","bind","_getTForX","abs","T","replace","w","D","Uint8ClampedArray","Int16Array","L","concat","F","newElement","release","A","C","_length","_maxLength","setPathData","setLength","doubleArrayLength","setXYAt","max","setTripleAt","reverse","clone","I","addShape","releaseShapes","E","V","N","q","O","outTypeExpressionMode","_hasOutTypeExpression","container","addDynamicProperty","dynamicProperties","indexOf","_isAnimated","iterateDynamicProperties","_mdf","getValue","initDynamicPropertyContainer","X","addedLength","percents","lengths","Y","totalLength","j","z","pow","sqrt","B","segmentLength","points","R","partialLength","point","K","G","floor","J","H","getSegmentsLength","getNewSegment","round","getPointInSegment","buildBezierData","pointOnLine2D","pointOnLine3D","U","PI","Z","Q","W","$","begin","end","total","type","update","pingpong","st","loopIn","min","loopOut","test","name","mode","offset","match","map","parseInt","et","ht","cos","sin","rt","interpolateValue","propType","pv","lastIndex","keyframes","to","bezierData","ti","__fnct","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","sh","atan2","asin","acos","getValueAtCurrentTime","_caching","setVValue","mult","processEffectsSequence","expression","frameId","effectsSequence","lock","_isFirstFrame","kf","addEffect","at","super","elem","vel","nt","comp","ot","lt","ct","interpolateShape","interpolateShapeCurrentTime","resetShape","paths","localShapeCollection","shapesEqual","dt","reset","ut","ft","convertEllToPath","gt","mt","sy","ir","is","convertToPath","convertStarToPath","convertPolygonToPath","or","os","yt","convertRectToPath","vt","_t","session","viewData","inv","hasMasks","kt","tan","props","shear","_identityCalculated","_identity","isIdentity","rotate","rotateX","rotateY","rotateZ","skew","skewFromAxis","scale","setTransform","translate","transform","applyToPoint","applyToX","applyToY","applyToZ","applyToPointArray","applyToTriplePoints","applyToPointStringified","toCSS","to2dCSS","cloneFromProps","equals","inversePoints","inversePoint","St","sequences","sequenceList","transform_key_count","addTransformSequence","transforms","finalTransform","processSequence","mProps","processSequences","getNewKey","xt","pos","Mt","styledShapes","tr","trNodes","elements","setAsAnimated","Pt","Tt","wt","Null","Path","Shape","Solid","Sprite","Component","Container","Dt","preTransforms","hd","displayType","display","innerDisplay","addChild","updateGrahpics","updateLottieGrahpics","Lt","pre","appliedTransformations","px","py","pz","rx","ry","rz","sk","sa","_isDirty","precalculateMatrix","autoOriented","globalData","frameRate","getValueAtTime","offsetTime","applyToMatrix","Ft","At","initModifierProperties","addShapeToModifier","shape","init","processKeys","Ct","bt","sValue","eValue","pathsData","calculateShapeEdges","releasePathsData","processShapes","totalShapeLength","addShapes","addPaths","addSegment","addSegmentFromArray","rd","processPath","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","matrix","applyTransforms","arr","elemsData","_currentCopies","_elements","_groups","unshift","resetElements","_processed","cloneElements","changeGroupRender","_render","ceil","ix","nm","reloadShapes","positions","distV","distO","distI","dc","maxDist","mouseX","mouseY","globalToLocal","last","It","Et","dataProps","dashArray","dashoffset","Vt","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","prop","comparePoints","Nt","keyframesManager","shapesData","stylesList","itemsData","prevViewData","shapeModifiers","processedElements","transformsManager","lcEnum","ljEnum","transformHelper","opacity","_opMdf","searchShapes","updateModifiers","updateShape","createStyleElement","co","lc","lj","ml","wi","da","do","style","addShapeToModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","searchProcessedElement","addProcessedElement","createGroupElement","createTransformElement","createShapeElement","addTransformToStyleList","removeTransformFromStyleList","closeStyles","_shouldRender","updateShapeTransform","updateStyledShape","pts","updatePath","updateFill","coOp","updateStroke","updateGradientFill","grd","qt","hs","anchorX","anchorY","scaleX","scaleY","rotation","alpha","Ot","masks","needUpdateOverlap","isOverlapMode","visible","initFrame","layer","local","global","isOverlapLayer","overlapMode","parseLayer","prepareProperties","_isParent","tm","updateFrame","ip","updateDisplay","_isRoot","show","hide","updateLottieTransform","updateLottieMasks","Xt","sr","fullname","idname","ln","classnames","bodymovin","hierarchy","lottieTreeParent","initBodymovin","onSetupLottie","hasValidMasks","setHierarchy","initDisplayInstance","Yt","maskComp","viewport","config","childNodes","jt","rect","width","sw","height","color","sc","zt","textureLoader","texture","getTextureById","asset","Bt","Rt","Kt","living","infinite","repeats","alternate","wait","delay","timeScale","frameNum","isPaused","direction","_lastFrame","_repeatsCut","_delayCut","_waitCut","segments","_segmentName","initSegment","_prefix","prefix","_autoLoad","autoLoad","_autoStart","autoStart","_justDisplayOnImagesLoaded","justDisplayOnImagesLoaded","_maskComp","jsonLoader","root","parent","group","isDisplayLoaded","isImagesLoaded","_copyJSON","_setupDate","path","lastIndexOf","substr","warn","_sourceData","fr","frameMult","_defaultSegment","beginFrame","endFrame","_timePerFrame","duration","filter","loaded","_pausedNeedSet","_buildElements","_justDisplayNeedSet","_extraCompositions","_createElements","ind","getDisplayByQuerySelector","querySelector","_queryMatch","_searchNodes","querySelectorAll","bindSlot","unbindSlot","removeChild","_emitFrame","_updateTime","hadEnded","_spill","frameToTime","setSpeed","playSegment","replay","goToAndStop","pause","goToAndPlay","resume","getDuration","setDirection","play","destroy","remove","Gt","_lastTime","_snippet","ticker","groups","start","add","parseAnimation","Date","now","stop","timeline","parentCompBox","lineStyle","updateLayerMask","moveTo","lineTo","bezierCurveTo","addHole","updateMasks","clear","beginFill","endFill","initCompMask","lottieElement","preCompMask","mask","graphicsMasks","pivot","join","buffer","set","setBuffer","gl","vertices","indices","Uint16Array","GLBuffer","createVertexBuffer","indexBuffer","createIndexBuffer","dirty","shader","vao","VertexArrayObject","addIndex","addAttribute","attributes","aVertexPosition","FLOAT","upload","isFinite","cmd","args","cmds","isClosed","lineDash","lineWidth","newPoints","toDrawOrNotToDraw","lineDashOffset","lineCap","lineJoin","miterLimit","registerPlugin","graphicsDataPool","primitiveShader","webGLData","CONTEXT_UID","onContextChange","renderer","render","getWebGLData","isDirty","updateGraphics","bindShader","state","setBlendMode","blendMode","uniforms","translationMatrix","worldTransform","toArray","hex2rgb","worldAlpha","bindVao","draw","TRIANGLES","drawType","buildStroke","buildFill","holes","earcut","attribState","context","resolution","tx","globalAlpha","setLineDash","beginPath","drawPath","strokeStyle","stroke","fillStyle","fill","isClockWise","getLength","closePath","_samplerPoints","currentPath","NORMAL","firstIsClockWise","preClockWiseStatus","endPath","_renderWebGL","setObjectRenderer","plugins","lottiegraphics","_renderCanvas","drawRect","baseTexture","hasLoaded","orig","_updateUvs","textures","_total","_failed","_received","load","forEach","up","fromImage","_onComplete","response","responseText","onSuccess","onFail","XMLHttpRequest","open","responseType","send","onreadystatechange","readyState","status","Linear","None","Ease","In","Out","InOut","Bezier","Elastic","Back","Bounce","element","resident","onComplete","onUpdate","paused","from","ease","tpf","tfs","ignoreProps","runners","queues","cursor","waitCut","delayCut","progress","spill","repeatsCut","nextPose","linear","restart","cancel","nextOne","_residueTime","initOne","index","pose","settings","UPDATE_PRIORITY","animationTicker","shared","animates","updateDeltaTime","HIGH","clearAnimators","TARGET_FPMS","animate","_addMove","clearAll","setupAnimations","animations","defineProperties","scaleXY","pivotX","pivotY","updateTransform","_boundsID","children","containerUpdateTransform","Number","Infinity","isInteger","val","isIntegerRegex","integer","undefined","REGEX","agent","matches","exec","parts","parseIntStrict","major","minor","patch","iOSVersion","window","navigator","userAgent","dataURL2ObjUrl","dataURL","URL","webkitURL","createObjectURL","blob","binaryString","atob","arrayBuffer","ArrayBuffer","intArray","Uint8Array","mime","charCodeAt","Blob","log","dataURL2blob","LoaderRegister","options","LoadTexture","LoadJson","DisplayRegister","CompElement","passMatrix","setShapeTransform","setFromMatrix","_bounds","updateID","SolidElement","SpriteElement","_this","LottieSystem","renderSystem","game","systems","find","application","app","changed","componentName","OBSERVER_TYPE","ADD","REMOVE","manager","AnimationManager","component","containerManager","getContainer","gameObject","_a","rn","otherOpts","getOwnPropertySymbols","propertyIsEnumerable","resource","getResource","_b","json","item","source","anim","addChildAt","managerLife","eventName","destory","componentObserver","Lottie","Renderer","_super","loadStatus","event_1","firstPlay","params","expandOpts","_c","anchor","_d","currentSlot","Text","TextStyle","prevSlot","playParamsHandle","callback","Graphics","ele","interactive","IDEProp"],"mappings":"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"}