{"version":3,"file":"2fbf9dd2-4b46372a0aecaff8e6b0.js","mappings":"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","sources":["webpack://gatsby-starter-default/./node_modules/@lottiefiles/react-lottie-player/dist/lottie-react.esm.js"],"sourcesContent":["import \"core-js/modules/esnext.global-this.js\";\nimport * as React from \"react\";\nimport { useState, useEffect } from \"react\";\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n\nvar _extendStatics = function extendStatics(t, e) {\n return (_extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (t, e) {\n t.__proto__ = e;\n } || function (t, e) {\n for (var r in e) {\n Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]);\n }\n })(t, e);\n};\n\nfunction __extends(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Class extends value \" + String(e) + \" is not a constructor or null\");\n\n function r() {\n this.constructor = t;\n }\n\n _extendStatics(t, e), t.prototype = null === e ? Object.create(e) : (r.prototype = e.prototype, new r());\n}\n\nvar _assign = function __assign() {\n return (_assign = Object.assign || function (t) {\n for (var e, r = 1, i = arguments.length; r < i; r++) {\n for (var a in e = arguments[r]) {\n Object.prototype.hasOwnProperty.call(e, a) && (t[a] = e[a]);\n }\n }\n\n return t;\n }).apply(this, arguments);\n};\n\nfunction __rest(t, e) {\n var r = {};\n\n for (var i in t) {\n Object.prototype.hasOwnProperty.call(t, i) && e.indexOf(i) < 0 && (r[i] = t[i]);\n }\n\n if (null != t && \"function\" == typeof Object.getOwnPropertySymbols) {\n var a = 0;\n\n for (i = Object.getOwnPropertySymbols(t); a < i.length; a++) {\n e.indexOf(i[a]) < 0 && Object.prototype.propertyIsEnumerable.call(t, i[a]) && (r[i[a]] = t[i[a]]);\n }\n }\n\n return r;\n}\n\nfunction __decorate(t, e, r, i) {\n var a,\n s = arguments.length,\n n = s < 3 ? e : null === i ? i = Object.getOwnPropertyDescriptor(e, r) : i;\n if (\"object\" == typeof Reflect && \"function\" == typeof Reflect.decorate) n = Reflect.decorate(t, e, r, i);else for (var o = t.length - 1; o >= 0; o--) {\n (a = t[o]) && (n = (s < 3 ? a(n) : s > 3 ? a(e, r, n) : a(e, r)) || n);\n }\n return s > 3 && n && Object.defineProperty(e, r, n), n;\n}\n\nfunction __param(t, e) {\n return function (r, i) {\n e(r, i, t);\n };\n}\n\nfunction __metadata(t, e) {\n if (\"object\" == typeof Reflect && \"function\" == typeof Reflect.metadata) return Reflect.metadata(t, e);\n}\n\nfunction __awaiter(t, e, r, i) {\n return new (r || (r = Promise))(function (a, s) {\n function n(t) {\n try {\n h(i.next(t));\n } catch (t) {\n s(t);\n }\n }\n\n function o(t) {\n try {\n h(i.throw(t));\n } catch (t) {\n s(t);\n }\n }\n\n function h(t) {\n var e;\n t.done ? a(t.value) : (e = t.value, e instanceof r ? e : new r(function (t) {\n t(e);\n })).then(n, o);\n }\n\n h((i = i.apply(t, e || [])).next());\n });\n}\n\nfunction __generator(t, e) {\n var r,\n i,\n a,\n s,\n n = {\n label: 0,\n sent: function sent() {\n if (1 & a[0]) throw a[1];\n return a[1];\n },\n trys: [],\n ops: []\n };\n return s = {\n next: o(0),\n throw: o(1),\n return: o(2)\n }, \"function\" == typeof Symbol && (s[Symbol.iterator] = function () {\n return this;\n }), s;\n\n function o(s) {\n return function (o) {\n return function (s) {\n if (r) throw new TypeError(\"Generator is already executing.\");\n\n for (; n;) {\n try {\n if (r = 1, i && (a = 2 & s[0] ? i.return : s[0] ? i.throw || ((a = i.return) && a.call(i), 0) : i.next) && !(a = a.call(i, s[1])).done) return a;\n\n switch (i = 0, a && (s = [2 & s[0], a.value]), s[0]) {\n case 0:\n case 1:\n a = s;\n break;\n\n case 4:\n return n.label++, {\n value: s[1],\n done: !1\n };\n\n case 5:\n n.label++, i = s[1], s = [0];\n continue;\n\n case 7:\n s = n.ops.pop(), n.trys.pop();\n continue;\n\n default:\n if (!(a = n.trys, (a = a.length > 0 && a[a.length - 1]) || 6 !== s[0] && 2 !== s[0])) {\n n = 0;\n continue;\n }\n\n if (3 === s[0] && (!a || s[1] > a[0] && s[1] < a[3])) {\n n.label = s[1];\n break;\n }\n\n if (6 === s[0] && n.label < a[1]) {\n n.label = a[1], a = s;\n break;\n }\n\n if (a && n.label < a[2]) {\n n.label = a[2], n.ops.push(s);\n break;\n }\n\n a[2] && n.ops.pop(), n.trys.pop();\n continue;\n }\n\n s = e.call(t, n);\n } catch (t) {\n s = [6, t], i = 0;\n } finally {\n r = a = 0;\n }\n }\n\n if (5 & s[0]) throw s[1];\n return {\n value: s[0] ? s[1] : void 0,\n done: !0\n };\n }([s, o]);\n };\n }\n}\n\nvar __createBinding = Object.create ? function (t, e, r, i) {\n void 0 === i && (i = r), Object.defineProperty(t, i, {\n enumerable: !0,\n get: function get() {\n return e[r];\n }\n });\n} : function (t, e, r, i) {\n void 0 === i && (i = r), t[i] = e[r];\n};\n\nfunction __exportStar(t, e) {\n for (var r in t) {\n \"default\" === r || Object.prototype.hasOwnProperty.call(e, r) || __createBinding(e, t, r);\n }\n}\n\nfunction __values(t) {\n var e = \"function\" == typeof Symbol && Symbol.iterator,\n r = e && t[e],\n i = 0;\n if (r) return r.call(t);\n if (t && \"number\" == typeof t.length) return {\n next: function next() {\n return t && i >= t.length && (t = void 0), {\n value: t && t[i++],\n done: !t\n };\n }\n };\n throw new TypeError(e ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nfunction __read(t, e) {\n var r = \"function\" == typeof Symbol && t[Symbol.iterator];\n if (!r) return t;\n var i,\n a,\n s = r.call(t),\n n = [];\n\n try {\n for (; (void 0 === e || e-- > 0) && !(i = s.next()).done;) {\n n.push(i.value);\n }\n } catch (t) {\n a = {\n error: t\n };\n } finally {\n try {\n i && !i.done && (r = s.return) && r.call(s);\n } finally {\n if (a) throw a.error;\n }\n }\n\n return n;\n}\n\nfunction __spread() {\n for (var t = [], e = 0; e < arguments.length; e++) {\n t = t.concat(__read(arguments[e]));\n }\n\n return t;\n}\n\nfunction __spreadArrays() {\n for (var t = 0, e = 0, r = arguments.length; e < r; e++) {\n t += arguments[e].length;\n }\n\n var i = Array(t),\n a = 0;\n\n for (e = 0; e < r; e++) {\n for (var s = arguments[e], n = 0, o = s.length; n < o; n++, a++) {\n i[a] = s[n];\n }\n }\n\n return i;\n}\n\nfunction __spreadArray(t, e, r) {\n if (r || 2 === arguments.length) for (var i, a = 0, s = e.length; a < s; a++) {\n !i && a in e || (i || (i = Array.prototype.slice.call(e, 0, a)), i[a] = e[a]);\n }\n return t.concat(i || Array.prototype.slice.call(e));\n}\n\nfunction __await(t) {\n return this instanceof __await ? (this.v = t, this) : new __await(t);\n}\n\nfunction __asyncGenerator(t, e, r) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var i,\n a = r.apply(t, e || []),\n s = [];\n return i = {}, n(\"next\"), n(\"throw\"), n(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n\n function n(t) {\n a[t] && (i[t] = function (e) {\n return new Promise(function (r, i) {\n s.push([t, e, r, i]) > 1 || o(t, e);\n });\n });\n }\n\n function o(t, e) {\n try {\n (r = a[t](e)).value instanceof __await ? Promise.resolve(r.value.v).then(h, l) : p(s[0][2], r);\n } catch (t) {\n p(s[0][3], t);\n }\n\n var r;\n }\n\n function h(t) {\n o(\"next\", t);\n }\n\n function l(t) {\n o(\"throw\", t);\n }\n\n function p(t, e) {\n t(e), s.shift(), s.length && o(s[0][0], s[0][1]);\n }\n}\n\nfunction __asyncDelegator(t) {\n var e, r;\n return e = {}, i(\"next\"), i(\"throw\", function (t) {\n throw t;\n }), i(\"return\"), e[Symbol.iterator] = function () {\n return this;\n }, e;\n\n function i(i, a) {\n e[i] = t[i] ? function (e) {\n return (r = !r) ? {\n value: __await(t[i](e)),\n done: \"return\" === i\n } : a ? a(e) : e;\n } : a;\n }\n}\n\nfunction __asyncValues(t) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var e,\n r = t[Symbol.asyncIterator];\n return r ? r.call(t) : (t = \"function\" == typeof __values ? __values(t) : t[Symbol.iterator](), e = {}, i(\"next\"), i(\"throw\"), i(\"return\"), e[Symbol.asyncIterator] = function () {\n return this;\n }, e);\n\n function i(r) {\n e[r] = t[r] && function (e) {\n return new Promise(function (i, a) {\n (function (t, e, r, i) {\n Promise.resolve(i).then(function (e) {\n t({\n value: e,\n done: r\n });\n }, e);\n })(i, a, (e = t[r](e)).done, e.value);\n });\n };\n }\n}\n\nfunction __makeTemplateObject(t, e) {\n return Object.defineProperty ? Object.defineProperty(t, \"raw\", {\n value: e\n }) : t.raw = e, t;\n}\n\nvar __setModuleDefault = Object.create ? function (t, e) {\n Object.defineProperty(t, \"default\", {\n enumerable: !0,\n value: e\n });\n} : function (t, e) {\n t.default = e;\n};\n\nfunction __importStar(t) {\n if (t && t.__esModule) return t;\n var e = {};\n if (null != t) for (var r in t) {\n \"default\" !== r && Object.prototype.hasOwnProperty.call(t, r) && __createBinding(e, t, r);\n }\n return __setModuleDefault(e, t), e;\n}\n\nfunction __importDefault(t) {\n return t && t.__esModule ? t : {\n default: t\n };\n}\n\nfunction __classPrivateFieldGet(t, e, r, i) {\n if (\"a\" === r && !i) throw new TypeError(\"Private accessor was defined without a getter\");\n if (\"function\" == typeof e ? t !== e || !i : !e.has(t)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return \"m\" === r ? i : \"a\" === r ? i.call(t) : i ? i.value : e.get(t);\n}\n\nfunction __classPrivateFieldSet(t, e, r, i, a) {\n if (\"m\" === i) throw new TypeError(\"Private method is not writable\");\n if (\"a\" === i && !a) throw new TypeError(\"Private accessor was defined without a setter\");\n if (\"function\" == typeof e ? t !== e || !a : !e.has(t)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return \"a\" === i ? a.call(t, r) : a ? a.value = r : e.set(t, r), r;\n}\n\nvar commonjsGlobal = \"undefined\" != typeof globalThis ? globalThis : \"undefined\" != typeof window ? window : \"undefined\" != typeof global ? global : \"undefined\" != typeof self ? self : {};\n\nfunction unwrapExports(t) {\n return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, \"default\") ? t.default : t;\n}\n\nfunction createCommonjsModule(t, e) {\n return t(e = {\n exports: {}\n }, e.exports), e.exports;\n}\n\nfunction getCjsExportFromNamespace(t) {\n return t && t.default || t;\n}\n\nfunction commonjsRequire() {\n throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\");\n}\n\nvar lottie = createCommonjsModule(function (module, exports) {\n \"undefined\" != typeof navigator && function (t, e) {\n module.exports = e();\n }(0, function () {\n var svgNS = \"http://www.w3.org/2000/svg\",\n locationHref = \"\",\n _useWebWorker = !1,\n initialDefaultFrame = -999999,\n setWebWorker = function setWebWorker(t) {\n _useWebWorker = !!t;\n },\n getWebWorker = function getWebWorker() {\n return _useWebWorker;\n },\n setLocationHref = function setLocationHref(t) {\n locationHref = t;\n },\n getLocationHref = function getLocationHref() {\n return locationHref;\n };\n\n function createTag(t) {\n return document.createElement(t);\n }\n\n function extendPrototype(t, e) {\n var r,\n i,\n a = t.length;\n\n for (r = 0; r < a; r += 1) {\n for (var s in i = t[r].prototype) {\n Object.prototype.hasOwnProperty.call(i, s) && (e.prototype[s] = i[s]);\n }\n }\n }\n\n function getDescriptor(t, e) {\n return Object.getOwnPropertyDescriptor(t, e);\n }\n\n function createProxyFunction(t) {\n function e() {}\n\n return e.prototype = t, e;\n }\n\n var audioControllerFactory = function () {\n function t(t) {\n this.audios = [], this.audioFactory = t, this._volume = 1, this._isMuted = !1;\n }\n\n return t.prototype = {\n addAudio: function addAudio(t) {\n this.audios.push(t);\n },\n pause: function pause() {\n var t,\n e = this.audios.length;\n\n for (t = 0; t < e; t += 1) {\n this.audios[t].pause();\n }\n },\n resume: function resume() {\n var t,\n e = this.audios.length;\n\n for (t = 0; t < e; t += 1) {\n this.audios[t].resume();\n }\n },\n setRate: function setRate(t) {\n var e,\n r = this.audios.length;\n\n for (e = 0; e < r; e += 1) {\n this.audios[e].setRate(t);\n }\n },\n createAudio: function createAudio(t) {\n return this.audioFactory ? this.audioFactory(t) : window.Howl ? new window.Howl({\n src: [t]\n }) : {\n isPlaying: !1,\n play: function play() {\n this.isPlaying = !0;\n },\n seek: function seek() {\n this.isPlaying = !1;\n },\n playing: function playing() {},\n rate: function rate() {},\n setVolume: function setVolume() {}\n };\n },\n setAudioFactory: function setAudioFactory(t) {\n this.audioFactory = t;\n },\n setVolume: function setVolume(t) {\n this._volume = t, this._updateVolume();\n },\n mute: function mute() {\n this._isMuted = !0, this._updateVolume();\n },\n unmute: function unmute() {\n this._isMuted = !1, this._updateVolume();\n },\n getVolume: function getVolume() {\n return this._volume;\n },\n _updateVolume: function _updateVolume() {\n var t,\n e = this.audios.length;\n\n for (t = 0; t < e; t += 1) {\n this.audios[t].volume(this._volume * (this._isMuted ? 0 : 1));\n }\n }\n }, function () {\n return new t();\n };\n }(),\n createTypedArray = function () {\n function t(t, e) {\n var r,\n i = 0,\n a = [];\n\n switch (t) {\n case \"int16\":\n case \"uint8c\":\n r = 1;\n break;\n\n default:\n r = 1.1;\n }\n\n for (i = 0; i < e; i += 1) {\n a.push(r);\n }\n\n return a;\n }\n\n return \"function\" == typeof Uint8ClampedArray && \"function\" == typeof Float32Array ? function (e, r) {\n return \"float32\" === e ? new Float32Array(r) : \"int16\" === e ? new Int16Array(r) : \"uint8c\" === e ? new Uint8ClampedArray(r) : t(e, r);\n } : t;\n }();\n\n function createSizedArray(t) {\n return Array.apply(null, {\n length: t\n });\n }\n\n function _typeof$6(t) {\n return (_typeof$6 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (t) {\n return typeof t;\n } : function (t) {\n return t && \"function\" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? \"symbol\" : typeof t;\n })(t);\n }\n\n var subframeEnabled = !0,\n expressionsPlugin = null,\n idPrefix = \"\",\n isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent),\n _shouldRoundValues = !1,\n bmPow = Math.pow,\n bmSqrt = Math.sqrt,\n bmFloor = Math.floor,\n bmMax = Math.max,\n bmMin = Math.min,\n BMMath = {};\n\n function ProjectInterface$1() {\n return {};\n }\n\n !function () {\n var t,\n e = [\"abs\", \"acos\", \"acosh\", \"asin\", \"asinh\", \"atan\", \"atanh\", \"atan2\", \"ceil\", \"cbrt\", \"expm1\", \"clz32\", \"cos\", \"cosh\", \"exp\", \"floor\", \"fround\", \"hypot\", \"imul\", \"log\", \"log1p\", \"log2\", \"log10\", \"max\", \"min\", \"pow\", \"random\", \"round\", \"sign\", \"sin\", \"sinh\", \"sqrt\", \"tan\", \"tanh\", \"trunc\", \"E\", \"LN10\", \"LN2\", \"LOG10E\", \"LOG2E\", \"PI\", \"SQRT1_2\", \"SQRT2\"],\n r = e.length;\n\n for (t = 0; t < r; t += 1) {\n BMMath[e[t]] = Math[e[t]];\n }\n }(), BMMath.random = Math.random, BMMath.abs = function (t) {\n if (\"object\" === _typeof$6(t) && t.length) {\n var e,\n r = createSizedArray(t.length),\n i = t.length;\n\n for (e = 0; e < i; e += 1) {\n r[e] = Math.abs(t[e]);\n }\n\n return r;\n }\n\n return Math.abs(t);\n };\n var defaultCurveSegments = 150,\n degToRads = Math.PI / 180,\n roundCorner = .5519;\n\n function roundValues(t) {\n _shouldRoundValues = !!t;\n }\n\n function bmRnd(t) {\n return _shouldRoundValues ? Math.round(t) : t;\n }\n\n function styleDiv(t) {\n t.style.position = \"absolute\", t.style.top = 0, t.style.left = 0, t.style.display = \"block\", t.style.transformOrigin = \"0 0\", t.style.webkitTransformOrigin = \"0 0\", t.style.backfaceVisibility = \"visible\", t.style.webkitBackfaceVisibility = \"visible\", t.style.transformStyle = \"preserve-3d\", t.style.webkitTransformStyle = \"preserve-3d\", t.style.mozTransformStyle = \"preserve-3d\";\n }\n\n function BMEnterFrameEvent(t, e, r, i) {\n this.type = t, this.currentTime = e, this.totalTime = r, this.direction = i < 0 ? -1 : 1;\n }\n\n function BMCompleteEvent(t, e) {\n this.type = t, this.direction = e < 0 ? -1 : 1;\n }\n\n function BMCompleteLoopEvent(t, e, r, i) {\n this.type = t, this.currentLoop = r, this.totalLoops = e, this.direction = i < 0 ? -1 : 1;\n }\n\n function BMSegmentStartEvent(t, e, r) {\n this.type = t, this.firstFrame = e, this.totalFrames = r;\n }\n\n function BMDestroyEvent(t, e) {\n this.type = t, this.target = e;\n }\n\n function BMRenderFrameErrorEvent(t, e) {\n this.type = \"renderFrameError\", this.nativeError = t, this.currentTime = e;\n }\n\n function BMConfigErrorEvent(t) {\n this.type = \"configError\", this.nativeError = t;\n }\n\n function BMAnimationConfigErrorEvent(t, e) {\n this.type = t, this.nativeError = e;\n }\n\n var createElementID = (_count = 0, function () {\n return idPrefix + \"__lottie_element_\" + (_count += 1);\n }),\n _count;\n\n function HSVtoRGB(t, e, r) {\n var i, a, s, n, o, h, l, p;\n\n switch (h = r * (1 - e), l = r * (1 - (o = 6 * t - (n = Math.floor(6 * t))) * e), p = r * (1 - (1 - o) * e), n % 6) {\n case 0:\n i = r, a = p, s = h;\n break;\n\n case 1:\n i = l, a = r, s = h;\n break;\n\n case 2:\n i = h, a = r, s = p;\n break;\n\n case 3:\n i = h, a = l, s = r;\n break;\n\n case 4:\n i = p, a = h, s = r;\n break;\n\n case 5:\n i = r, a = h, s = l;\n }\n\n return [i, a, s];\n }\n\n function RGBtoHSV(t, e, r) {\n var i,\n a = Math.max(t, e, r),\n s = Math.min(t, e, r),\n n = a - s,\n o = 0 === a ? 0 : n / a,\n h = a / 255;\n\n switch (a) {\n case s:\n i = 0;\n break;\n\n case t:\n i = e - r + n * (e < r ? 6 : 0), i /= 6 * n;\n break;\n\n case e:\n i = r - t + 2 * n, i /= 6 * n;\n break;\n\n case r:\n i = t - e + 4 * n, i /= 6 * n;\n }\n\n return [i, o, h];\n }\n\n function addSaturationToRGB(t, e) {\n var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);\n return r[1] += e, r[1] > 1 ? r[1] = 1 : r[1] <= 0 && (r[1] = 0), HSVtoRGB(r[0], r[1], r[2]);\n }\n\n function addBrightnessToRGB(t, e) {\n var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);\n return r[2] += e, r[2] > 1 ? r[2] = 1 : r[2] < 0 && (r[2] = 0), HSVtoRGB(r[0], r[1], r[2]);\n }\n\n function addHueToRGB(t, e) {\n var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);\n return r[0] += e / 360, r[0] > 1 ? r[0] -= 1 : r[0] < 0 && (r[0] += 1), HSVtoRGB(r[0], r[1], r[2]);\n }\n\n var rgbToHex = function () {\n var t,\n e,\n r = [];\n\n for (t = 0; t < 256; t += 1) {\n e = t.toString(16), r[t] = 1 === e.length ? \"0\" + e : e;\n }\n\n return function (t, e, i) {\n return t < 0 && (t = 0), e < 0 && (e = 0), i < 0 && (i = 0), \"#\" + r[t] + r[e] + r[i];\n };\n }(),\n setSubframeEnabled = function setSubframeEnabled(t) {\n subframeEnabled = !!t;\n },\n getSubframeEnabled = function getSubframeEnabled() {\n return subframeEnabled;\n },\n setExpressionsPlugin = function setExpressionsPlugin(t) {\n expressionsPlugin = t;\n },\n getExpressionsPlugin = function getExpressionsPlugin() {\n return expressionsPlugin;\n },\n setDefaultCurveSegments = function setDefaultCurveSegments(t) {\n defaultCurveSegments = t;\n },\n getDefaultCurveSegments = function getDefaultCurveSegments() {\n return defaultCurveSegments;\n },\n setIdPrefix = function setIdPrefix(t) {\n idPrefix = t;\n },\n getIdPrefix = function getIdPrefix() {\n return idPrefix;\n };\n\n function createNS(t) {\n return document.createElementNS(svgNS, t);\n }\n\n function _typeof$5(t) {\n return (_typeof$5 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (t) {\n return typeof t;\n } : function (t) {\n return t && \"function\" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? \"symbol\" : typeof t;\n })(t);\n }\n\n var dataManager = function () {\n var t,\n e,\n r = 1,\n i = [],\n a = {\n onmessage: function onmessage() {},\n postMessage: function postMessage(e) {\n t({\n data: e\n });\n }\n },\n s = {\n postMessage: function postMessage(t) {\n a.onmessage({\n data: t\n });\n }\n };\n\n function n() {\n e || ((e = function (e) {\n if (window.Worker && window.Blob && getWebWorker()) {\n var r = new Blob([\"var _workerSelf = self; self.onmessage = \", e.toString()], {\n type: \"text/javascript\"\n }),\n i = URL.createObjectURL(r);\n return new Worker(i);\n }\n\n return t = e, a;\n }(function (t) {\n if (s.dataManager || (s.dataManager = function () {\n function t(a, s) {\n var n,\n o,\n h,\n l,\n p,\n c,\n m = a.length;\n\n for (o = 0; o < m; o += 1) {\n if (\"ks\" in (n = a[o]) && !n.completed) {\n if (n.completed = !0, n.tt && (a[o - 1].td = n.tt), n.hasMask) {\n var d = n.masksProperties;\n\n for (l = d.length, h = 0; h < l; h += 1) {\n if (d[h].pt.k.i) i(d[h].pt.k);else for (c = d[h].pt.k.length, p = 0; p < c; p += 1) {\n d[h].pt.k[p].s && i(d[h].pt.k[p].s[0]), d[h].pt.k[p].e && i(d[h].pt.k[p].e[0]);\n }\n }\n }\n\n 0 === n.ty ? (n.layers = e(n.refId, s), t(n.layers, s)) : 4 === n.ty ? r(n.shapes) : 5 === n.ty && f(n);\n }\n }\n }\n\n function e(t, e) {\n var r = function (t, e) {\n for (var r = 0, i = e.length; r < i;) {\n if (e[r].id === t) return e[r];\n r += 1;\n }\n\n return null;\n }(t, e);\n\n return r ? r.layers.__used ? JSON.parse(JSON.stringify(r.layers)) : (r.layers.__used = !0, r.layers) : null;\n }\n\n function r(t) {\n var e, a, s;\n\n for (e = t.length - 1; e >= 0; e -= 1) {\n if (\"sh\" === t[e].ty) {\n if (t[e].ks.k.i) i(t[e].ks.k);else for (s = t[e].ks.k.length, a = 0; a < s; a += 1) {\n t[e].ks.k[a].s && i(t[e].ks.k[a].s[0]), t[e].ks.k[a].e && i(t[e].ks.k[a].e[0]);\n }\n } else \"gr\" === t[e].ty && r(t[e].it);\n }\n }\n\n function i(t) {\n var e,\n r = t.i.length;\n\n for (e = 0; e < r; e += 1) {\n t.i[e][0] += t.v[e][0], t.i[e][1] += t.v[e][1], t.o[e][0] += t.v[e][0], t.o[e][1] += t.v[e][1];\n }\n }\n\n function a(t, e) {\n var r = e ? e.split(\".\") : [100, 100, 100];\n return t[0] > r[0] || !(r[0] > t[0]) && (t[1] > r[1] || !(r[1] > t[1]) && (t[2] > r[2] || !(r[2] > t[2]) && null));\n }\n\n var s,\n n = function () {\n var t = [4, 4, 14];\n\n function e(t) {\n var e,\n r,\n i,\n a = t.length;\n\n for (e = 0; e < a; e += 1) {\n 5 === t[e].ty && (r = t[e], i = void 0, i = r.t.d, r.t.d = {\n k: [{\n s: i,\n t: 0\n }]\n });\n }\n }\n\n return function (r) {\n if (a(t, r.v) && (e(r.layers), r.assets)) {\n var i,\n s = r.assets.length;\n\n for (i = 0; i < s; i += 1) {\n r.assets[i].layers && e(r.assets[i].layers);\n }\n }\n };\n }(),\n o = (s = [4, 7, 99], function (t) {\n if (t.chars && !a(s, t.v)) {\n var e,\n i = t.chars.length;\n\n for (e = 0; e < i; e += 1) {\n var n = t.chars[e];\n n.data && n.data.shapes && (r(n.data.shapes), n.data.ip = 0, n.data.op = 99999, n.data.st = 0, n.data.sr = 1, n.data.ks = {\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n }\n }, t.chars[e].t || (n.data.shapes.push({\n ty: \"no\"\n }), n.data.shapes[0].it.push({\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n },\n sk: {\n k: 0,\n a: 0\n },\n sa: {\n k: 0,\n a: 0\n },\n ty: \"tr\"\n })));\n }\n }\n }),\n h = function () {\n var t = [5, 7, 15];\n\n function e(t) {\n var e,\n r,\n i,\n a = t.length;\n\n for (e = 0; e < a; e += 1) {\n 5 === t[e].ty && (r = t[e], i = void 0, \"number\" == typeof (i = r.t.p).a && (i.a = {\n a: 0,\n k: i.a\n }), \"number\" == typeof i.p && (i.p = {\n a: 0,\n k: i.p\n }), \"number\" == typeof i.r && (i.r = {\n a: 0,\n k: i.r\n }));\n }\n }\n\n return function (r) {\n if (a(t, r.v) && (e(r.layers), r.assets)) {\n var i,\n s = r.assets.length;\n\n for (i = 0; i < s; i += 1) {\n r.assets[i].layers && e(r.assets[i].layers);\n }\n }\n };\n }(),\n l = function () {\n var t = [4, 1, 9];\n\n function e(t) {\n var r,\n i,\n a,\n s = t.length;\n\n for (r = 0; r < s; r += 1) {\n if (\"gr\" === t[r].ty) e(t[r].it);else if (\"fl\" === t[r].ty || \"st\" === t[r].ty) if (t[r].c.k && t[r].c.k[0].i) for (a = t[r].c.k.length, i = 0; i < a; i += 1) {\n t[r].c.k[i].s && (t[r].c.k[i].s[0] /= 255, t[r].c.k[i].s[1] /= 255, t[r].c.k[i].s[2] /= 255, t[r].c.k[i].s[3] /= 255), t[r].c.k[i].e && (t[r].c.k[i].e[0] /= 255, t[r].c.k[i].e[1] /= 255, t[r].c.k[i].e[2] /= 255, t[r].c.k[i].e[3] /= 255);\n } else t[r].c.k[0] /= 255, t[r].c.k[1] /= 255, t[r].c.k[2] /= 255, t[r].c.k[3] /= 255;\n }\n }\n\n function r(t) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n 4 === t[r].ty && e(t[r].shapes);\n }\n }\n\n return function (e) {\n if (a(t, e.v) && (r(e.layers), e.assets)) {\n var i,\n s = e.assets.length;\n\n for (i = 0; i < s; i += 1) {\n e.assets[i].layers && r(e.assets[i].layers);\n }\n }\n };\n }(),\n p = function () {\n var t = [4, 4, 18];\n\n function e(t) {\n var r, i, a;\n\n for (r = t.length - 1; r >= 0; r -= 1) {\n if (\"sh\" === t[r].ty) {\n if (t[r].ks.k.i) t[r].ks.k.c = t[r].closed;else for (a = t[r].ks.k.length, i = 0; i < a; i += 1) {\n t[r].ks.k[i].s && (t[r].ks.k[i].s[0].c = t[r].closed), t[r].ks.k[i].e && (t[r].ks.k[i].e[0].c = t[r].closed);\n }\n } else \"gr\" === t[r].ty && e(t[r].it);\n }\n }\n\n function r(t) {\n var r,\n i,\n a,\n s,\n n,\n o,\n h = t.length;\n\n for (i = 0; i < h; i += 1) {\n if ((r = t[i]).hasMask) {\n var l = r.masksProperties;\n\n for (s = l.length, a = 0; a < s; a += 1) {\n if (l[a].pt.k.i) l[a].pt.k.c = l[a].cl;else for (o = l[a].pt.k.length, n = 0; n < o; n += 1) {\n l[a].pt.k[n].s && (l[a].pt.k[n].s[0].c = l[a].cl), l[a].pt.k[n].e && (l[a].pt.k[n].e[0].c = l[a].cl);\n }\n }\n }\n\n 4 === r.ty && e(r.shapes);\n }\n }\n\n return function (e) {\n if (a(t, e.v) && (r(e.layers), e.assets)) {\n var i,\n s = e.assets.length;\n\n for (i = 0; i < s; i += 1) {\n e.assets[i].layers && r(e.assets[i].layers);\n }\n }\n };\n }();\n\n function f(t) {\n 0 === t.t.a.length && t.t.p;\n }\n\n var c = {\n completeData: function completeData(r) {\n r.__complete || (l(r), n(r), o(r), h(r), p(r), t(r.layers, r.assets), function (r, i) {\n if (r) {\n var a = 0,\n s = r.length;\n\n for (a = 0; a < s; a += 1) {\n 1 === r[a].t && (r[a].data.layers = e(r[a].data.refId, i), t(r[a].data.layers, i));\n }\n }\n }(r.chars, r.assets), r.__complete = !0);\n }\n };\n return c.checkColors = l, c.checkChars = o, c.checkPathProperties = h, c.checkShapes = p, c.completeLayers = t, c;\n }()), s.assetLoader || (s.assetLoader = function () {\n function t(t) {\n var e = t.getResponseHeader(\"content-type\");\n return e && \"json\" === t.responseType && -1 !== e.indexOf(\"json\") || t.response && \"object\" === _typeof$5(t.response) ? t.response : t.response && \"string\" == typeof t.response ? JSON.parse(t.response) : t.responseText ? JSON.parse(t.responseText) : null;\n }\n\n return {\n load: function load(e, r, i, a) {\n var s,\n n = new XMLHttpRequest();\n\n try {\n n.responseType = \"json\";\n } catch (t) {}\n\n n.onreadystatechange = function () {\n if (4 === n.readyState) if (200 === n.status) s = t(n), i(s);else try {\n s = t(n), i(s);\n } catch (t) {\n a && a(t);\n }\n };\n\n try {\n n.open(\"GET\", e, !0);\n } catch (t) {\n n.open(\"GET\", r + \"/\" + e, !0);\n }\n\n n.send();\n }\n };\n }()), \"loadAnimation\" === t.data.type) s.assetLoader.load(t.data.path, t.data.fullPath, function (e) {\n s.dataManager.completeData(e), s.postMessage({\n id: t.data.id,\n payload: e,\n status: \"success\"\n });\n }, function () {\n s.postMessage({\n id: t.data.id,\n status: \"error\"\n });\n });else if (\"complete\" === t.data.type) {\n var e = t.data.animation;\n s.dataManager.completeData(e), s.postMessage({\n id: t.data.id,\n payload: e,\n status: \"success\"\n });\n } else \"loadData\" === t.data.type && s.assetLoader.load(t.data.path, t.data.fullPath, function (e) {\n s.postMessage({\n id: t.data.id,\n payload: e,\n status: \"success\"\n });\n }, function () {\n s.postMessage({\n id: t.data.id,\n status: \"error\"\n });\n });\n })).onmessage = function (t) {\n var e = t.data,\n r = e.id,\n a = i[r];\n i[r] = null, \"success\" === e.status ? a.onComplete(e.payload) : a.onError && a.onError();\n });\n }\n\n function o(t, e) {\n var a = \"processId_\" + (r += 1);\n return i[a] = {\n onComplete: t,\n onError: e\n }, a;\n }\n\n return {\n loadAnimation: function loadAnimation(t, r, i) {\n n();\n var a = o(r, i);\n e.postMessage({\n type: \"loadAnimation\",\n path: t,\n fullPath: window.location.origin + window.location.pathname,\n id: a\n });\n },\n loadData: function loadData(t, r, i) {\n n();\n var a = o(r, i);\n e.postMessage({\n type: \"loadData\",\n path: t,\n fullPath: window.location.origin + window.location.pathname,\n id: a\n });\n },\n completeAnimation: function completeAnimation(t, r, i) {\n n();\n var a = o(r, i);\n e.postMessage({\n type: \"complete\",\n animation: t,\n id: a\n });\n }\n };\n }(),\n ImagePreloader = function () {\n var t = function () {\n var t = createTag(\"canvas\");\n t.width = 1, t.height = 1;\n var e = t.getContext(\"2d\");\n return e.fillStyle = \"rgba(0,0,0,0)\", e.fillRect(0, 0, 1, 1), t;\n }();\n\n function e() {\n this.loadedAssets += 1, this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null);\n }\n\n function r() {\n this.loadedFootagesCount += 1, this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null);\n }\n\n function i(t, e, r) {\n var i = \"\";\n if (t.e) i = t.p;else if (e) {\n var a = t.p;\n -1 !== a.indexOf(\"images/\") && (a = a.split(\"/\")[1]), i = e + a;\n } else i = r, i += t.u ? t.u : \"\", i += t.p;\n return i;\n }\n\n function a(t) {\n var e = 0,\n r = setInterval(function () {\n (t.getBBox().width || e > 500) && (this._imageLoaded(), clearInterval(r)), e += 1;\n }.bind(this), 50);\n }\n\n function s(t) {\n var e = {\n assetData: t\n },\n r = i(t, this.assetsPath, this.path);\n return dataManager.loadData(r, function (t) {\n e.img = t, this._footageLoaded();\n }.bind(this), function () {\n e.img = {}, this._footageLoaded();\n }.bind(this)), e;\n }\n\n function n() {\n this._imageLoaded = e.bind(this), this._footageLoaded = r.bind(this), this.testImageLoaded = a.bind(this), this.createFootageData = s.bind(this), this.assetsPath = \"\", this.path = \"\", this.totalImages = 0, this.totalFootages = 0, this.loadedAssets = 0, this.loadedFootagesCount = 0, this.imagesLoadedCb = null, this.images = [];\n }\n\n return n.prototype = {\n loadAssets: function loadAssets(t, e) {\n var r;\n this.imagesLoadedCb = e;\n var i = t.length;\n\n for (r = 0; r < i; r += 1) {\n t[r].layers || (t[r].t && \"seq\" !== t[r].t ? 3 === t[r].t && (this.totalFootages += 1, this.images.push(this.createFootageData(t[r]))) : (this.totalImages += 1, this.images.push(this._createImageData(t[r]))));\n }\n },\n setAssetsPath: function setAssetsPath(t) {\n this.assetsPath = t || \"\";\n },\n setPath: function setPath(t) {\n this.path = t || \"\";\n },\n loadedImages: function loadedImages() {\n return this.totalImages === this.loadedAssets;\n },\n loadedFootages: function loadedFootages() {\n return this.totalFootages === this.loadedFootagesCount;\n },\n destroy: function destroy() {\n this.imagesLoadedCb = null, this.images.length = 0;\n },\n getAsset: function getAsset(t) {\n for (var e = 0, r = this.images.length; e < r;) {\n if (this.images[e].assetData === t) return this.images[e].img;\n e += 1;\n }\n\n return null;\n },\n createImgData: function createImgData(e) {\n var r = i(e, this.assetsPath, this.path),\n a = createTag(\"img\");\n a.crossOrigin = \"anonymous\", a.addEventListener(\"load\", this._imageLoaded, !1), a.addEventListener(\"error\", function () {\n s.img = t, this._imageLoaded();\n }.bind(this), !1), a.src = r;\n var s = {\n img: a,\n assetData: e\n };\n return s;\n },\n createImageData: function createImageData(e) {\n var r = i(e, this.assetsPath, this.path),\n a = createNS(\"image\");\n isSafari ? this.testImageLoaded(a) : a.addEventListener(\"load\", this._imageLoaded, !1), a.addEventListener(\"error\", function () {\n s.img = t, this._imageLoaded();\n }.bind(this), !1), a.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", r), this._elementHelper.append ? this._elementHelper.append(a) : this._elementHelper.appendChild(a);\n var s = {\n img: a,\n assetData: e\n };\n return s;\n },\n imageLoaded: e,\n footageLoaded: r,\n setCacheType: function setCacheType(t, e) {\n \"svg\" === t ? (this._elementHelper = e, this._createImageData = this.createImageData.bind(this)) : this._createImageData = this.createImgData.bind(this);\n }\n }, n;\n }();\n\n function BaseEvent() {}\n\n BaseEvent.prototype = {\n triggerEvent: function triggerEvent(t, e) {\n if (this._cbs[t]) for (var r = this._cbs[t], i = 0; i < r.length; i += 1) {\n r[i](e);\n }\n },\n addEventListener: function addEventListener(t, e) {\n return this._cbs[t] || (this._cbs[t] = []), this._cbs[t].push(e), function () {\n this.removeEventListener(t, e);\n }.bind(this);\n },\n removeEventListener: function removeEventListener(t, e) {\n if (e) {\n if (this._cbs[t]) {\n for (var r = 0, i = this._cbs[t].length; r < i;) {\n this._cbs[t][r] === e && (this._cbs[t].splice(r, 1), r -= 1, i -= 1), r += 1;\n }\n\n this._cbs[t].length || (this._cbs[t] = null);\n }\n } else this._cbs[t] = null;\n }\n };\n\n var markerParser = function () {\n function t(t) {\n for (var e, r = t.split(\"\\r\\n\"), i = {}, a = 0, s = 0; s < r.length; s += 1) {\n 2 === (e = r[s].split(\":\")).length && (i[e[0]] = e[1].trim(), a += 1);\n }\n\n if (0 === a) throw new Error();\n return i;\n }\n\n return function (e) {\n for (var r = [], i = 0; i < e.length; i += 1) {\n var a = e[i],\n s = {\n time: a.tm,\n duration: a.dr\n };\n\n try {\n s.payload = JSON.parse(e[i].cm);\n } catch (r) {\n try {\n s.payload = t(e[i].cm);\n } catch (t) {\n s.payload = {\n name: e[i]\n };\n }\n }\n\n r.push(s);\n }\n\n return r;\n };\n }(),\n ProjectInterface = function () {\n function t(t) {\n this.compositions.push(t);\n }\n\n return function () {\n function e(t) {\n for (var e = 0, r = this.compositions.length; e < r;) {\n if (this.compositions[e].data && this.compositions[e].data.nm === t) return this.compositions[e].prepareFrame && this.compositions[e].data.xt && this.compositions[e].prepareFrame(this.currentFrame), this.compositions[e].compInterface;\n e += 1;\n }\n\n return null;\n }\n\n return e.compositions = [], e.currentFrame = 0, e.registerComposition = t, e;\n };\n }(),\n renderers = {},\n registerRenderer = function registerRenderer(t, e) {\n renderers[t] = e;\n };\n\n function getRenderer(t) {\n return renderers[t];\n }\n\n function _typeof$4(t) {\n return (_typeof$4 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (t) {\n return typeof t;\n } : function (t) {\n return t && \"function\" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? \"symbol\" : typeof t;\n })(t);\n }\n\n var AnimationItem = function AnimationItem() {\n this._cbs = [], this.name = \"\", this.path = \"\", this.isLoaded = !1, this.currentFrame = 0, this.currentRawFrame = 0, this.firstFrame = 0, this.totalFrames = 0, this.frameRate = 0, this.frameMult = 0, this.playSpeed = 1, this.playDirection = 1, this.playCount = 0, this.animationData = {}, this.assets = [], this.isPaused = !0, this.autoplay = !1, this.loop = !0, this.renderer = null, this.animationID = createElementID(), this.assetsPath = \"\", this.timeCompleted = 0, this.segmentPos = 0, this.isSubframeEnabled = getSubframeEnabled(), this.segments = [], this._idle = !0, this._completedLoop = !1, this.projectInterface = ProjectInterface(), this.imagePreloader = new ImagePreloader(), this.audioController = audioControllerFactory(), this.markers = [], this.configAnimation = this.configAnimation.bind(this), this.onSetupError = this.onSetupError.bind(this), this.onSegmentComplete = this.onSegmentComplete.bind(this);\n };\n\n extendPrototype([BaseEvent], AnimationItem), AnimationItem.prototype.setParams = function (t) {\n (t.wrapper || t.container) && (this.wrapper = t.wrapper || t.container);\n var e = \"svg\";\n t.animType ? e = t.animType : t.renderer && (e = t.renderer);\n var r = getRenderer(e);\n this.renderer = new r(this, t.rendererSettings), this.imagePreloader.setCacheType(e, this.renderer.globalData.defs), this.renderer.setProjectInterface(this.projectInterface), this.animType = e, \"\" === t.loop || null === t.loop || void 0 === t.loop || !0 === t.loop ? this.loop = !0 : !1 === t.loop ? this.loop = !1 : this.loop = parseInt(t.loop, 10), this.autoplay = !(\"autoplay\" in t) || t.autoplay, this.name = t.name ? t.name : \"\", this.autoloadSegments = !Object.prototype.hasOwnProperty.call(t, \"autoloadSegments\") || t.autoloadSegments, this.assetsPath = t.assetsPath, this.initialSegment = t.initialSegment, t.audioFactory && this.audioController.setAudioFactory(t.audioFactory), t.animationData ? this.setupAnimation(t.animationData) : t.path && (-1 !== t.path.lastIndexOf(\"\\\\\") ? this.path = t.path.substr(0, t.path.lastIndexOf(\"\\\\\") + 1) : this.path = t.path.substr(0, t.path.lastIndexOf(\"/\") + 1), this.fileName = t.path.substr(t.path.lastIndexOf(\"/\") + 1), this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf(\".json\")), dataManager.loadAnimation(t.path, this.configAnimation, this.onSetupError));\n }, AnimationItem.prototype.onSetupError = function () {\n this.trigger(\"data_failed\");\n }, AnimationItem.prototype.setupAnimation = function (t) {\n dataManager.completeAnimation(t, this.configAnimation);\n }, AnimationItem.prototype.setData = function (t, e) {\n e && \"object\" !== _typeof$4(e) && (e = JSON.parse(e));\n var r = {\n wrapper: t,\n animationData: e\n },\n i = t.attributes;\n r.path = i.getNamedItem(\"data-animation-path\") ? i.getNamedItem(\"data-animation-path\").value : i.getNamedItem(\"data-bm-path\") ? i.getNamedItem(\"data-bm-path\").value : i.getNamedItem(\"bm-path\") ? i.getNamedItem(\"bm-path\").value : \"\", r.animType = i.getNamedItem(\"data-anim-type\") ? i.getNamedItem(\"data-anim-type\").value : i.getNamedItem(\"data-bm-type\") ? i.getNamedItem(\"data-bm-type\").value : i.getNamedItem(\"bm-type\") ? i.getNamedItem(\"bm-type\").value : i.getNamedItem(\"data-bm-renderer\") ? i.getNamedItem(\"data-bm-renderer\").value : i.getNamedItem(\"bm-renderer\") ? i.getNamedItem(\"bm-renderer\").value : \"canvas\";\n var a = i.getNamedItem(\"data-anim-loop\") ? i.getNamedItem(\"data-anim-loop\").value : i.getNamedItem(\"data-bm-loop\") ? i.getNamedItem(\"data-bm-loop\").value : i.getNamedItem(\"bm-loop\") ? i.getNamedItem(\"bm-loop\").value : \"\";\n \"false\" === a ? r.loop = !1 : \"true\" === a ? r.loop = !0 : \"\" !== a && (r.loop = parseInt(a, 10));\n var s = i.getNamedItem(\"data-anim-autoplay\") ? i.getNamedItem(\"data-anim-autoplay\").value : i.getNamedItem(\"data-bm-autoplay\") ? i.getNamedItem(\"data-bm-autoplay\").value : !i.getNamedItem(\"bm-autoplay\") || i.getNamedItem(\"bm-autoplay\").value;\n r.autoplay = \"false\" !== s, r.name = i.getNamedItem(\"data-name\") ? i.getNamedItem(\"data-name\").value : i.getNamedItem(\"data-bm-name\") ? i.getNamedItem(\"data-bm-name\").value : i.getNamedItem(\"bm-name\") ? i.getNamedItem(\"bm-name\").value : \"\", \"false\" === (i.getNamedItem(\"data-anim-prerender\") ? i.getNamedItem(\"data-anim-prerender\").value : i.getNamedItem(\"data-bm-prerender\") ? i.getNamedItem(\"data-bm-prerender\").value : i.getNamedItem(\"bm-prerender\") ? i.getNamedItem(\"bm-prerender\").value : \"\") && (r.prerender = !1), this.setParams(r);\n }, AnimationItem.prototype.includeLayers = function (t) {\n t.op > this.animationData.op && (this.animationData.op = t.op, this.totalFrames = Math.floor(t.op - this.animationData.ip));\n var e,\n r,\n i = this.animationData.layers,\n a = i.length,\n s = t.layers,\n n = s.length;\n\n for (r = 0; r < n; r += 1) {\n for (e = 0; e < a;) {\n if (i[e].id === s[r].id) {\n i[e] = s[r];\n break;\n }\n\n e += 1;\n }\n }\n\n if ((t.chars || t.fonts) && (this.renderer.globalData.fontManager.addChars(t.chars), this.renderer.globalData.fontManager.addFonts(t.fonts, this.renderer.globalData.defs)), t.assets) for (a = t.assets.length, e = 0; e < a; e += 1) {\n this.animationData.assets.push(t.assets[e]);\n }\n this.animationData.__complete = !1, dataManager.completeAnimation(this.animationData, this.onSegmentComplete);\n }, AnimationItem.prototype.onSegmentComplete = function (t) {\n this.animationData = t;\n var e = getExpressionsPlugin();\n e && e.initExpressions(this), this.loadNextSegment();\n }, AnimationItem.prototype.loadNextSegment = function () {\n var t = this.animationData.segments;\n if (!t || 0 === t.length || !this.autoloadSegments) return this.trigger(\"data_ready\"), void (this.timeCompleted = this.totalFrames);\n var e = t.shift();\n this.timeCompleted = e.time * this.frameRate;\n var r = this.path + this.fileName + \"_\" + this.segmentPos + \".json\";\n this.segmentPos += 1, dataManager.loadData(r, this.includeLayers.bind(this), function () {\n this.trigger(\"data_failed\");\n }.bind(this));\n }, AnimationItem.prototype.loadSegments = function () {\n this.animationData.segments || (this.timeCompleted = this.totalFrames), this.loadNextSegment();\n }, AnimationItem.prototype.imagesLoaded = function () {\n this.trigger(\"loaded_images\"), this.checkLoaded();\n }, AnimationItem.prototype.preloadImages = function () {\n this.imagePreloader.setAssetsPath(this.assetsPath), this.imagePreloader.setPath(this.path), this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\n }, AnimationItem.prototype.configAnimation = function (t) {\n if (this.renderer) try {\n this.animationData = t, this.initialSegment ? (this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]), this.firstFrame = Math.round(this.initialSegment[0])) : (this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip), this.firstFrame = Math.round(this.animationData.ip)), this.renderer.configAnimation(t), t.assets || (t.assets = []), this.assets = this.animationData.assets, this.frameRate = this.animationData.fr, this.frameMult = this.animationData.fr / 1e3, this.renderer.searchExtraCompositions(t.assets), this.markers = markerParser(t.markers || []), this.trigger(\"config_ready\"), this.preloadImages(), this.loadSegments(), this.updaFrameModifier(), this.waitForFontsLoaded(), this.isPaused && this.audioController.pause();\n } catch (t) {\n this.triggerConfigError(t);\n }\n }, AnimationItem.prototype.waitForFontsLoaded = function () {\n this.renderer && (this.renderer.globalData.fontManager.isLoaded ? this.checkLoaded() : setTimeout(this.waitForFontsLoaded.bind(this), 20));\n }, AnimationItem.prototype.checkLoaded = function () {\n if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || \"canvas\" !== this.renderer.rendererType) && this.imagePreloader.loadedFootages()) {\n this.isLoaded = !0;\n var t = getExpressionsPlugin();\n t && t.initExpressions(this), this.renderer.initItems(), setTimeout(function () {\n this.trigger(\"DOMLoaded\");\n }.bind(this), 0), this.gotoFrame(), this.autoplay && this.play();\n }\n }, AnimationItem.prototype.resize = function () {\n this.renderer.updateContainerSize();\n }, AnimationItem.prototype.setSubframe = function (t) {\n this.isSubframeEnabled = !!t;\n }, AnimationItem.prototype.gotoFrame = function () {\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame, this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted && (this.currentFrame = this.timeCompleted), this.trigger(\"enterFrame\"), this.renderFrame(), this.trigger(\"drawnFrame\");\n }, AnimationItem.prototype.renderFrame = function () {\n if (!1 !== this.isLoaded && this.renderer) try {\n this.renderer.renderFrame(this.currentFrame + this.firstFrame);\n } catch (t) {\n this.triggerRenderFrameError(t);\n }\n }, AnimationItem.prototype.play = function (t) {\n t && this.name !== t || !0 === this.isPaused && (this.isPaused = !1, this.audioController.resume(), this._idle && (this._idle = !1, this.trigger(\"_active\")));\n }, AnimationItem.prototype.pause = function (t) {\n t && this.name !== t || !1 === this.isPaused && (this.isPaused = !0, this._idle = !0, this.trigger(\"_idle\"), this.audioController.pause());\n }, AnimationItem.prototype.togglePause = function (t) {\n t && this.name !== t || (!0 === this.isPaused ? this.play() : this.pause());\n }, AnimationItem.prototype.stop = function (t) {\n t && this.name !== t || (this.pause(), this.playCount = 0, this._completedLoop = !1, this.setCurrentRawFrameValue(0));\n }, AnimationItem.prototype.getMarkerData = function (t) {\n for (var e, r = 0; r < this.markers.length; r += 1) {\n if ((e = this.markers[r]).payload && e.payload.name === t) return e;\n }\n\n return null;\n }, AnimationItem.prototype.goToAndStop = function (t, e, r) {\n if (!r || this.name === r) {\n var i = Number(t);\n\n if (isNaN(i)) {\n var a = this.getMarkerData(t);\n a && this.goToAndStop(a.time, !0);\n } else e ? this.setCurrentRawFrameValue(t) : this.setCurrentRawFrameValue(t * this.frameModifier);\n\n this.pause();\n }\n }, AnimationItem.prototype.goToAndPlay = function (t, e, r) {\n if (!r || this.name === r) {\n var i = Number(t);\n\n if (isNaN(i)) {\n var a = this.getMarkerData(t);\n a && (a.duration ? this.playSegments([a.time, a.time + a.duration], !0) : this.goToAndStop(a.time, !0));\n } else this.goToAndStop(i, e, r);\n\n this.play();\n }\n }, AnimationItem.prototype.advanceTime = function (t) {\n if (!0 !== this.isPaused && !1 !== this.isLoaded) {\n var e = this.currentRawFrame + t * this.frameModifier,\n r = !1;\n e >= this.totalFrames - 1 && this.frameModifier > 0 ? this.loop && this.playCount !== this.loop ? e >= this.totalFrames ? (this.playCount += 1, this.checkSegments(e % this.totalFrames) || (this.setCurrentRawFrameValue(e % this.totalFrames), this._completedLoop = !0, this.trigger(\"loopComplete\"))) : this.setCurrentRawFrameValue(e) : this.checkSegments(e > this.totalFrames ? e % this.totalFrames : 0) || (r = !0, e = this.totalFrames - 1) : e < 0 ? this.checkSegments(e % this.totalFrames) || (!this.loop || this.playCount-- <= 0 && !0 !== this.loop ? (r = !0, e = 0) : (this.setCurrentRawFrameValue(this.totalFrames + e % this.totalFrames), this._completedLoop ? this.trigger(\"loopComplete\") : this._completedLoop = !0)) : this.setCurrentRawFrameValue(e), r && (this.setCurrentRawFrameValue(e), this.pause(), this.trigger(\"complete\"));\n }\n }, AnimationItem.prototype.adjustSegment = function (t, e) {\n this.playCount = 0, t[1] < t[0] ? (this.frameModifier > 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(-1)), this.totalFrames = t[0] - t[1], this.timeCompleted = this.totalFrames, this.firstFrame = t[1], this.setCurrentRawFrameValue(this.totalFrames - .001 - e)) : t[1] > t[0] && (this.frameModifier < 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(1)), this.totalFrames = t[1] - t[0], this.timeCompleted = this.totalFrames, this.firstFrame = t[0], this.setCurrentRawFrameValue(.001 + e)), this.trigger(\"segmentStart\");\n }, AnimationItem.prototype.setSegment = function (t, e) {\n var r = -1;\n this.isPaused && (this.currentRawFrame + this.firstFrame < t ? r = t : this.currentRawFrame + this.firstFrame > e && (r = e - t)), this.firstFrame = t, this.totalFrames = e - t, this.timeCompleted = this.totalFrames, -1 !== r && this.goToAndStop(r, !0);\n }, AnimationItem.prototype.playSegments = function (t, e) {\n if (e && (this.segments.length = 0), \"object\" === _typeof$4(t[0])) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n this.segments.push(t[r]);\n }\n } else this.segments.push(t);\n\n this.segments.length && e && this.adjustSegment(this.segments.shift(), 0), this.isPaused && this.play();\n }, AnimationItem.prototype.resetSegments = function (t) {\n this.segments.length = 0, this.segments.push([this.animationData.ip, this.animationData.op]), t && this.checkSegments(0);\n }, AnimationItem.prototype.checkSegments = function (t) {\n return !!this.segments.length && (this.adjustSegment(this.segments.shift(), t), !0);\n }, AnimationItem.prototype.destroy = function (t) {\n t && this.name !== t || !this.renderer || (this.renderer.destroy(), this.imagePreloader.destroy(), this.trigger(\"destroy\"), this._cbs = null, this.onEnterFrame = null, this.onLoopComplete = null, this.onComplete = null, this.onSegmentStart = null, this.onDestroy = null, this.renderer = null, this.renderer = null, this.imagePreloader = null, this.projectInterface = null);\n }, AnimationItem.prototype.setCurrentRawFrameValue = function (t) {\n this.currentRawFrame = t, this.gotoFrame();\n }, AnimationItem.prototype.setSpeed = function (t) {\n this.playSpeed = t, this.updaFrameModifier();\n }, AnimationItem.prototype.setDirection = function (t) {\n this.playDirection = t < 0 ? -1 : 1, this.updaFrameModifier();\n }, AnimationItem.prototype.setVolume = function (t, e) {\n e && this.name !== e || this.audioController.setVolume(t);\n }, AnimationItem.prototype.getVolume = function () {\n return this.audioController.getVolume();\n }, AnimationItem.prototype.mute = function (t) {\n t && this.name !== t || this.audioController.mute();\n }, AnimationItem.prototype.unmute = function (t) {\n t && this.name !== t || this.audioController.unmute();\n }, AnimationItem.prototype.updaFrameModifier = function () {\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection, this.audioController.setRate(this.playSpeed * this.playDirection);\n }, AnimationItem.prototype.getPath = function () {\n return this.path;\n }, AnimationItem.prototype.getAssetsPath = function (t) {\n var e = \"\";\n if (t.e) e = t.p;else if (this.assetsPath) {\n var r = t.p;\n -1 !== r.indexOf(\"images/\") && (r = r.split(\"/\")[1]), e = this.assetsPath + r;\n } else e = this.path, e += t.u ? t.u : \"\", e += t.p;\n return e;\n }, AnimationItem.prototype.getAssetData = function (t) {\n for (var e = 0, r = this.assets.length; e < r;) {\n if (t === this.assets[e].id) return this.assets[e];\n e += 1;\n }\n\n return null;\n }, AnimationItem.prototype.hide = function () {\n this.renderer.hide();\n }, AnimationItem.prototype.show = function () {\n this.renderer.show();\n }, AnimationItem.prototype.getDuration = function (t) {\n return t ? this.totalFrames : this.totalFrames / this.frameRate;\n }, AnimationItem.prototype.trigger = function (t) {\n if (this._cbs && this._cbs[t]) switch (t) {\n case \"enterFrame\":\n case \"drawnFrame\":\n this.triggerEvent(t, new BMEnterFrameEvent(t, this.currentFrame, this.totalFrames, this.frameModifier));\n break;\n\n case \"loopComplete\":\n this.triggerEvent(t, new BMCompleteLoopEvent(t, this.loop, this.playCount, this.frameMult));\n break;\n\n case \"complete\":\n this.triggerEvent(t, new BMCompleteEvent(t, this.frameMult));\n break;\n\n case \"segmentStart\":\n this.triggerEvent(t, new BMSegmentStartEvent(t, this.firstFrame, this.totalFrames));\n break;\n\n case \"destroy\":\n this.triggerEvent(t, new BMDestroyEvent(t, this));\n break;\n\n default:\n this.triggerEvent(t);\n }\n \"enterFrame\" === t && this.onEnterFrame && this.onEnterFrame.call(this, new BMEnterFrameEvent(t, this.currentFrame, this.totalFrames, this.frameMult)), \"loopComplete\" === t && this.onLoopComplete && this.onLoopComplete.call(this, new BMCompleteLoopEvent(t, this.loop, this.playCount, this.frameMult)), \"complete\" === t && this.onComplete && this.onComplete.call(this, new BMCompleteEvent(t, this.frameMult)), \"segmentStart\" === t && this.onSegmentStart && this.onSegmentStart.call(this, new BMSegmentStartEvent(t, this.firstFrame, this.totalFrames)), \"destroy\" === t && this.onDestroy && this.onDestroy.call(this, new BMDestroyEvent(t, this));\n }, AnimationItem.prototype.triggerRenderFrameError = function (t) {\n var e = new BMRenderFrameErrorEvent(t, this.currentFrame);\n this.triggerEvent(\"error\", e), this.onError && this.onError.call(this, e);\n }, AnimationItem.prototype.triggerConfigError = function (t) {\n var e = new BMConfigErrorEvent(t, this.currentFrame);\n this.triggerEvent(\"error\", e), this.onError && this.onError.call(this, e);\n };\n\n var animationManager = function () {\n var t = {},\n e = [],\n r = 0,\n i = 0,\n a = 0,\n s = !0,\n n = !1;\n\n function o(t) {\n for (var r = 0, a = t.target; r < i;) {\n e[r].animation === a && (e.splice(r, 1), r -= 1, i -= 1, a.isPaused || p()), r += 1;\n }\n }\n\n function h(t, r) {\n if (!t) return null;\n\n for (var a = 0; a < i;) {\n if (e[a].elem === t && null !== e[a].elem) return e[a].animation;\n a += 1;\n }\n\n var s = new AnimationItem();\n return f(s, t), s.setData(t, r), s;\n }\n\n function l() {\n a += 1, d();\n }\n\n function p() {\n a -= 1;\n }\n\n function f(t, r) {\n t.addEventListener(\"destroy\", o), t.addEventListener(\"_active\", l), t.addEventListener(\"_idle\", p), e.push({\n elem: r,\n animation: t\n }), i += 1;\n }\n\n function c(t) {\n var o,\n h = t - r;\n\n for (o = 0; o < i; o += 1) {\n e[o].animation.advanceTime(h);\n }\n\n r = t, a && !n ? window.requestAnimationFrame(c) : s = !0;\n }\n\n function m(t) {\n r = t, window.requestAnimationFrame(c);\n }\n\n function d() {\n !n && a && s && (window.requestAnimationFrame(m), s = !1);\n }\n\n return t.registerAnimation = h, t.loadAnimation = function (t) {\n var e = new AnimationItem();\n return f(e, null), e.setParams(t), e;\n }, t.setSpeed = function (t, r) {\n var a;\n\n for (a = 0; a < i; a += 1) {\n e[a].animation.setSpeed(t, r);\n }\n }, t.setDirection = function (t, r) {\n var a;\n\n for (a = 0; a < i; a += 1) {\n e[a].animation.setDirection(t, r);\n }\n }, t.play = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.play(t);\n }\n }, t.pause = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.pause(t);\n }\n }, t.stop = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.stop(t);\n }\n }, t.togglePause = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.togglePause(t);\n }\n }, t.searchAnimations = function (t, e, r) {\n var i,\n a = [].concat([].slice.call(document.getElementsByClassName(\"lottie\")), [].slice.call(document.getElementsByClassName(\"bodymovin\"))),\n s = a.length;\n\n for (i = 0; i < s; i += 1) {\n r && a[i].setAttribute(\"data-bm-type\", r), h(a[i], t);\n }\n\n if (e && 0 === s) {\n r || (r = \"svg\");\n var n = document.getElementsByTagName(\"body\")[0];\n n.innerText = \"\";\n var o = createTag(\"div\");\n o.style.width = \"100%\", o.style.height = \"100%\", o.setAttribute(\"data-bm-type\", r), n.appendChild(o), h(o, t);\n }\n }, t.resize = function () {\n var t;\n\n for (t = 0; t < i; t += 1) {\n e[t].animation.resize();\n }\n }, t.goToAndStop = function (t, r, a) {\n var s;\n\n for (s = 0; s < i; s += 1) {\n e[s].animation.goToAndStop(t, r, a);\n }\n }, t.destroy = function (t) {\n var r;\n\n for (r = i - 1; r >= 0; r -= 1) {\n e[r].animation.destroy(t);\n }\n }, t.freeze = function () {\n n = !0;\n }, t.unfreeze = function () {\n n = !1, d();\n }, t.setVolume = function (t, r) {\n var a;\n\n for (a = 0; a < i; a += 1) {\n e[a].animation.setVolume(t, r);\n }\n }, t.mute = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.mute(t);\n }\n }, t.unmute = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.unmute(t);\n }\n }, t.getRegisteredAnimations = function () {\n var t,\n r = e.length,\n i = [];\n\n for (t = 0; t < r; t += 1) {\n i.push(e[t].animation);\n }\n\n return i;\n }, t;\n }(),\n BezierFactory = function () {\n var t = {\n getBezierEasing: function getBezierEasing(t, r, i, a, s) {\n var n = s || (\"bez_\" + t + \"_\" + r + \"_\" + i + \"_\" + a).replace(/\\./g, \"p\");\n if (e[n]) return e[n];\n var o = new h([t, r, i, a]);\n return e[n] = o, o;\n }\n },\n e = {};\n var r = \"function\" == typeof Float32Array;\n\n function i(t, e) {\n return 1 - 3 * e + 3 * t;\n }\n\n function a(t, e) {\n return 3 * e - 6 * t;\n }\n\n function s(t) {\n return 3 * t;\n }\n\n function n(t, e, r) {\n return ((i(e, r) * t + a(e, r)) * t + s(e)) * t;\n }\n\n function o(t, e, r) {\n return 3 * i(e, r) * t * t + 2 * a(e, r) * t + s(e);\n }\n\n function h(t) {\n this._p = t, this._mSampleValues = r ? new Float32Array(11) : new Array(11), this._precomputed = !1, this.get = this.get.bind(this);\n }\n\n return h.prototype = {\n get: function get(t) {\n var e = this._p[0],\n r = this._p[1],\n i = this._p[2],\n a = this._p[3];\n return this._precomputed || this._precompute(), e === r && i === a ? t : 0 === t ? 0 : 1 === t ? 1 : n(this._getTForX(t), r, a);\n },\n _precompute: function _precompute() {\n var t = this._p[0],\n e = this._p[1],\n r = this._p[2],\n i = this._p[3];\n this._precomputed = !0, t === e && r === i || this._calcSampleValues();\n },\n _calcSampleValues: function _calcSampleValues() {\n for (var t = this._p[0], e = this._p[2], r = 0; r < 11; ++r) {\n this._mSampleValues[r] = n(.1 * r, t, e);\n }\n },\n _getTForX: function _getTForX(t) {\n for (var e = this._p[0], r = this._p[2], i = this._mSampleValues, a = 0, s = 1; 10 !== s && i[s] <= t; ++s) {\n a += .1;\n }\n\n var h = a + .1 * ((t - i[--s]) / (i[s + 1] - i[s])),\n l = o(h, e, r);\n return l >= .001 ? function (t, e, r, i) {\n for (var a = 0; a < 4; ++a) {\n var s = o(e, r, i);\n if (0 === s) return e;\n e -= (n(e, r, i) - t) / s;\n }\n\n return e;\n }(t, h, e, r) : 0 === l ? h : function (t, e, r, i, a) {\n var s,\n o,\n h = 0;\n\n do {\n (s = n(o = e + (r - e) / 2, i, a) - t) > 0 ? r = o : e = o;\n } while (Math.abs(s) > 1e-7 && ++h < 10);\n\n return o;\n }(t, a, a + .1, e, r);\n }\n }, t;\n }(),\n pooling = {\n double: function double(t) {\n return t.concat(createSizedArray(t.length));\n }\n },\n poolFactory = function poolFactory(t, e, r) {\n var i = 0,\n a = t,\n s = createSizedArray(a);\n return {\n newElement: function newElement() {\n return i ? s[i -= 1] : e();\n },\n release: function release(t) {\n i === a && (s = pooling.double(s), a *= 2), r && r(t), s[i] = t, i += 1;\n }\n };\n },\n bezierLengthPool = poolFactory(8, function () {\n return {\n addedLength: 0,\n percents: createTypedArray(\"float32\", getDefaultCurveSegments()),\n lengths: createTypedArray(\"float32\", getDefaultCurveSegments())\n };\n }),\n segmentsLengthPool = poolFactory(8, function () {\n return {\n lengths: [],\n totalLength: 0\n };\n }, function (t) {\n var e,\n r = t.lengths.length;\n\n for (e = 0; e < r; e += 1) {\n bezierLengthPool.release(t.lengths[e]);\n }\n\n t.lengths.length = 0;\n });\n\n function bezFunction() {\n var t = Math;\n\n function e(t, e, r, i, a, s) {\n var n = t * i + e * a + r * s - a * i - s * t - r * e;\n return n > -.001 && n < .001;\n }\n\n var r = function r(t, e, _r, i) {\n var a,\n s,\n n,\n o,\n h,\n l,\n p = getDefaultCurveSegments(),\n f = 0,\n c = [],\n m = [],\n d = bezierLengthPool.newElement();\n\n for (n = _r.length, a = 0; a < p; a += 1) {\n for (h = a / (p - 1), l = 0, s = 0; s < n; s += 1) {\n o = bmPow(1 - h, 3) * t[s] + 3 * bmPow(1 - h, 2) * h * _r[s] + 3 * (1 - h) * bmPow(h, 2) * i[s] + bmPow(h, 3) * e[s], c[s] = o, null !== m[s] && (l += bmPow(c[s] - m[s], 2)), m[s] = c[s];\n }\n\n l && (f += l = bmSqrt(l)), d.percents[a] = h, d.lengths[a] = f;\n }\n\n return d.addedLength = f, d;\n };\n\n function i(t) {\n this.segmentLength = 0, this.points = new Array(t);\n }\n\n function a(t, e) {\n this.partialLength = t, this.point = e;\n }\n\n var s,\n n = (s = {}, function (t, r, n, o) {\n var h = (t[0] + \"_\" + t[1] + \"_\" + r[0] + \"_\" + r[1] + \"_\" + n[0] + \"_\" + n[1] + \"_\" + o[0] + \"_\" + o[1]).replace(/\\./g, \"p\");\n\n if (!s[h]) {\n var l,\n p,\n f,\n c,\n m,\n d,\n u,\n y = getDefaultCurveSegments(),\n g = 0,\n v = null;\n 2 === t.length && (t[0] !== r[0] || t[1] !== r[1]) && e(t[0], t[1], r[0], r[1], t[0] + n[0], t[1] + n[1]) && e(t[0], t[1], r[0], r[1], r[0] + o[0], r[1] + o[1]) && (y = 2);\n var b = new i(y);\n\n for (f = n.length, l = 0; l < y; l += 1) {\n for (u = createSizedArray(f), m = l / (y - 1), d = 0, p = 0; p < f; p += 1) {\n c = bmPow(1 - m, 3) * t[p] + 3 * bmPow(1 - m, 2) * m * (t[p] + n[p]) + 3 * (1 - m) * bmPow(m, 2) * (r[p] + o[p]) + bmPow(m, 3) * r[p], u[p] = c, null !== v && (d += bmPow(u[p] - v[p], 2));\n }\n\n g += d = bmSqrt(d), b.points[l] = new a(d, u), v = u;\n }\n\n b.segmentLength = g, s[h] = b;\n }\n\n return s[h];\n });\n\n function o(t, e) {\n var r = e.percents,\n i = e.lengths,\n a = r.length,\n s = bmFloor((a - 1) * t),\n n = t * e.addedLength,\n o = 0;\n if (s === a - 1 || 0 === s || n === i[s]) return r[s];\n\n for (var h = i[s] > n ? -1 : 1, l = !0; l;) {\n if (i[s] <= n && i[s + 1] > n ? (o = (n - i[s]) / (i[s + 1] - i[s]), l = !1) : s += h, s < 0 || s >= a - 1) {\n if (s === a - 1) return r[s];\n l = !1;\n }\n }\n\n return r[s] + (r[s + 1] - r[s]) * o;\n }\n\n var h = createTypedArray(\"float32\", 8);\n return {\n getSegmentsLength: function getSegmentsLength(t) {\n var e,\n i = segmentsLengthPool.newElement(),\n a = t.c,\n s = t.v,\n n = t.o,\n o = t.i,\n h = t._length,\n l = i.lengths,\n p = 0;\n\n for (e = 0; e < h - 1; e += 1) {\n l[e] = r(s[e], s[e + 1], n[e], o[e + 1]), p += l[e].addedLength;\n }\n\n return a && h && (l[e] = r(s[e], s[0], n[e], o[0]), p += l[e].addedLength), i.totalLength = p, i;\n },\n getNewSegment: function getNewSegment(e, r, i, a, s, n, l) {\n s < 0 ? s = 0 : s > 1 && (s = 1);\n\n var p,\n f = o(s, l),\n c = o(n = n > 1 ? 1 : n, l),\n m = e.length,\n d = 1 - f,\n u = 1 - c,\n y = d * d * d,\n g = f * d * d * 3,\n v = f * f * d * 3,\n b = f * f * f,\n x = d * d * u,\n E = f * d * u + d * f * u + d * d * c,\n P = f * f * u + d * f * c + f * d * c,\n S = f * f * c,\n _ = d * u * u,\n C = f * u * u + d * c * u + d * u * c,\n A = f * c * u + d * c * c + f * u * c,\n k = f * c * c,\n T = u * u * u,\n D = c * u * u + u * c * u + u * u * c,\n w = c * c * u + u * c * c + c * u * c,\n M = c * c * c;\n\n for (p = 0; p < m; p += 1) {\n h[4 * p] = t.round(1e3 * (y * e[p] + g * i[p] + v * a[p] + b * r[p])) / 1e3, h[4 * p + 1] = t.round(1e3 * (x * e[p] + E * i[p] + P * a[p] + S * r[p])) / 1e3, h[4 * p + 2] = t.round(1e3 * (_ * e[p] + C * i[p] + A * a[p] + k * r[p])) / 1e3, h[4 * p + 3] = t.round(1e3 * (T * e[p] + D * i[p] + w * a[p] + M * r[p])) / 1e3;\n }\n\n return h;\n },\n getPointInSegment: function getPointInSegment(e, r, i, a, s, n) {\n var h = o(s, n),\n l = 1 - h;\n return [t.round(1e3 * (l * l * l * e[0] + (h * l * l + l * h * l + l * l * h) * i[0] + (h * h * l + l * h * h + h * l * h) * a[0] + h * h * h * r[0])) / 1e3, t.round(1e3 * (l * l * l * e[1] + (h * l * l + l * h * l + l * l * h) * i[1] + (h * h * l + l * h * h + h * l * h) * a[1] + h * h * h * r[1])) / 1e3];\n },\n buildBezierData: n,\n pointOnLine2D: e,\n pointOnLine3D: function pointOnLine3D(r, i, a, s, n, o, h, l, p) {\n if (0 === a && 0 === o && 0 === p) return e(r, i, s, n, h, l);\n var f,\n c = t.sqrt(t.pow(s - r, 2) + t.pow(n - i, 2) + t.pow(o - a, 2)),\n m = t.sqrt(t.pow(h - r, 2) + t.pow(l - i, 2) + t.pow(p - a, 2)),\n d = t.sqrt(t.pow(h - s, 2) + t.pow(l - n, 2) + t.pow(p - o, 2));\n return (f = c > m ? c > d ? c - m - d : d - m - c : d > m ? d - m - c : m - c - d) > -1e-4 && f < 1e-4;\n }\n };\n }\n\n var bez = bezFunction(),\n PropertyFactory = function () {\n var t = initialDefaultFrame,\n e = Math.abs;\n\n function r(t, e) {\n var r,\n a = this.offsetTime;\n \"multidimensional\" === this.propType && (r = createTypedArray(\"float32\", this.pv.length));\n\n for (var s, n, o, h, l, p, f, c, m, d = e.lastIndex, u = d, y = this.keyframes.length - 1, g = !0; g;) {\n if (s = this.keyframes[u], n = this.keyframes[u + 1], u === y - 1 && t >= n.t - a) {\n s.h && (s = n), d = 0;\n break;\n }\n\n if (n.t - a > t) {\n d = u;\n break;\n }\n\n u < y - 1 ? u += 1 : (d = 0, g = !1);\n }\n\n o = this.keyframesMetadata[u] || {};\n var v,\n b = n.t - a,\n x = s.t - a;\n\n if (s.to) {\n o.bezierData || (o.bezierData = bez.buildBezierData(s.s, n.s || s.e, s.to, s.ti));\n var E = o.bezierData;\n\n if (t >= b || t < x) {\n var P = t >= b ? E.points.length - 1 : 0;\n\n for (l = E.points[P].point.length, h = 0; h < l; h += 1) {\n r[h] = E.points[P].point[h];\n }\n } else {\n o.__fnct ? m = o.__fnct : (m = BezierFactory.getBezierEasing(s.o.x, s.o.y, s.i.x, s.i.y, s.n).get, o.__fnct = m), p = m((t - x) / (b - x));\n\n var S,\n _ = E.segmentLength * p,\n C = e.lastFrame < t && e._lastKeyframeIndex === u ? e._lastAddedLength : 0;\n\n for (c = e.lastFrame < t && e._lastKeyframeIndex === u ? e._lastPoint : 0, g = !0, f = E.points.length; g;) {\n if (C += E.points[c].partialLength, 0 === _ || 0 === p || c === E.points.length - 1) {\n for (l = E.points[c].point.length, h = 0; h < l; h += 1) {\n r[h] = E.points[c].point[h];\n }\n\n break;\n }\n\n if (_ >= C && _ < C + E.points[c + 1].partialLength) {\n for (S = (_ - C) / E.points[c + 1].partialLength, l = E.points[c].point.length, h = 0; h < l; h += 1) {\n r[h] = E.points[c].point[h] + (E.points[c + 1].point[h] - E.points[c].point[h]) * S;\n }\n\n break;\n }\n\n c < f - 1 ? c += 1 : g = !1;\n }\n\n e._lastPoint = c, e._lastAddedLength = C - E.points[c].partialLength, e._lastKeyframeIndex = u;\n }\n } else {\n var A, k, T, D, w;\n if (y = s.s.length, v = n.s || s.e, this.sh && 1 !== s.h) {\n if (t >= b) r[0] = v[0], r[1] = v[1], r[2] = v[2];else if (t <= x) r[0] = s.s[0], r[1] = s.s[1], r[2] = s.s[2];else {\n !function (t, e) {\n var r = e[0],\n i = e[1],\n a = e[2],\n s = e[3],\n n = Math.atan2(2 * i * s - 2 * r * a, 1 - 2 * i * i - 2 * a * a),\n o = Math.asin(2 * r * i + 2 * a * s),\n h = Math.atan2(2 * r * s - 2 * i * a, 1 - 2 * r * r - 2 * a * a);\n t[0] = n / degToRads, t[1] = o / degToRads, t[2] = h / degToRads;\n }(r, function (t, e, r) {\n var i,\n a,\n s,\n n,\n o,\n h = [],\n l = t[0],\n p = t[1],\n f = t[2],\n c = t[3],\n m = e[0],\n d = e[1],\n u = e[2],\n y = e[3];\n (a = l * m + p * d + f * u + c * y) < 0 && (a = -a, m = -m, d = -d, u = -u, y = -y);\n 1 - a > 1e-6 ? (i = Math.acos(a), s = Math.sin(i), n = Math.sin((1 - r) * i) / s, o = Math.sin(r * i) / s) : (n = 1 - r, o = r);\n return h[0] = n * l + o * m, h[1] = n * p + o * d, h[2] = n * f + o * u, h[3] = n * c + o * y, h;\n }(i(s.s), i(v), (t - x) / (b - x)));\n }\n } else for (u = 0; u < y; u += 1) {\n 1 !== s.h && (t >= b ? p = 1 : t < x ? p = 0 : (s.o.x.constructor === Array ? (o.__fnct || (o.__fnct = []), o.__fnct[u] ? m = o.__fnct[u] : (A = void 0 === s.o.x[u] ? s.o.x[0] : s.o.x[u], k = void 0 === s.o.y[u] ? s.o.y[0] : s.o.y[u], T = void 0 === s.i.x[u] ? s.i.x[0] : s.i.x[u], D = void 0 === s.i.y[u] ? s.i.y[0] : s.i.y[u], m = BezierFactory.getBezierEasing(A, k, T, D).get, o.__fnct[u] = m)) : o.__fnct ? m = o.__fnct : (A = s.o.x, k = s.o.y, T = s.i.x, D = s.i.y, m = BezierFactory.getBezierEasing(A, k, T, D).get, s.keyframeMetadata = m), p = m((t - x) / (b - x)))), v = n.s || s.e, w = 1 === s.h ? s.s[u] : s.s[u] + (v[u] - s.s[u]) * p, \"multidimensional\" === this.propType ? r[u] = w : r = w;\n }\n }\n\n return e.lastIndex = d, r;\n }\n\n function i(t) {\n var e = t[0] * degToRads,\n r = t[1] * degToRads,\n i = t[2] * degToRads,\n a = Math.cos(e / 2),\n s = Math.cos(r / 2),\n n = Math.cos(i / 2),\n o = Math.sin(e / 2),\n h = Math.sin(r / 2),\n l = Math.sin(i / 2);\n return [o * h * n + a * s * l, o * s * n + a * h * l, a * h * n - o * s * l, a * s * n - o * h * l];\n }\n\n function a() {\n var e = this.comp.renderedFrame - this.offsetTime,\n r = this.keyframes[0].t - this.offsetTime,\n i = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n\n if (!(e === this._caching.lastFrame || this._caching.lastFrame !== t && (this._caching.lastFrame >= i && e >= i || this._caching.lastFrame < r && e < r))) {\n this._caching.lastFrame >= e && (this._caching._lastKeyframeIndex = -1, this._caching.lastIndex = 0);\n var a = this.interpolateValue(e, this._caching);\n this.pv = a;\n }\n\n return this._caching.lastFrame = e, this.pv;\n }\n\n function s(t) {\n var r;\n if (\"unidimensional\" === this.propType) r = t * this.mult, e(this.v - r) > 1e-5 && (this.v = r, this._mdf = !0);else for (var i = 0, a = this.v.length; i < a;) {\n r = t[i] * this.mult, e(this.v[i] - r) > 1e-5 && (this.v[i] = r, this._mdf = !0), i += 1;\n }\n }\n\n function n() {\n if (this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length) if (this.lock) this.setVValue(this.pv);else {\n var t;\n this.lock = !0, this._mdf = this._isFirstFrame;\n var e = this.effectsSequence.length,\n r = this.kf ? this.pv : this.data.k;\n\n for (t = 0; t < e; t += 1) {\n r = this.effectsSequence[t](r);\n }\n\n this.setVValue(r), this._isFirstFrame = !1, this.lock = !1, this.frameId = this.elem.globalData.frameId;\n }\n }\n\n function o(t) {\n this.effectsSequence.push(t), this.container.addDynamicProperty(this);\n }\n\n function h(t, e, r, i) {\n this.propType = \"unidimensional\", this.mult = r || 1, this.data = e, this.v = r ? e.k * r : e.k, this.pv = e.k, this._mdf = !1, this.elem = t, this.container = i, this.comp = t.comp, this.k = !1, this.kf = !1, this.vel = 0, this.effectsSequence = [], this._isFirstFrame = !0, this.getValue = n, this.setVValue = s, this.addEffect = o;\n }\n\n function l(t, e, r, i) {\n var a;\n this.propType = \"multidimensional\", this.mult = r || 1, this.data = e, this._mdf = !1, this.elem = t, this.container = i, this.comp = t.comp, this.k = !1, this.kf = !1, this.frameId = -1;\n var h = e.k.length;\n\n for (this.v = createTypedArray(\"float32\", h), this.pv = createTypedArray(\"float32\", h), this.vel = createTypedArray(\"float32\", h), a = 0; a < h; a += 1) {\n this.v[a] = e.k[a] * this.mult, this.pv[a] = e.k[a];\n }\n\n this._isFirstFrame = !0, this.effectsSequence = [], this.getValue = n, this.setVValue = s, this.addEffect = o;\n }\n\n function p(e, i, h, l) {\n this.propType = \"unidimensional\", this.keyframes = i.k, this.keyframesMetadata = [], this.offsetTime = e.data.st, this.frameId = -1, this._caching = {\n lastFrame: t,\n lastIndex: 0,\n value: 0,\n _lastKeyframeIndex: -1\n }, this.k = !0, this.kf = !0, this.data = i, this.mult = h || 1, this.elem = e, this.container = l, this.comp = e.comp, this.v = t, this.pv = t, this._isFirstFrame = !0, this.getValue = n, this.setVValue = s, this.interpolateValue = r, this.effectsSequence = [a.bind(this)], this.addEffect = o;\n }\n\n function f(e, i, h, l) {\n var p;\n this.propType = \"multidimensional\";\n var f,\n c,\n m,\n d,\n u = i.k.length;\n\n for (p = 0; p < u - 1; p += 1) {\n i.k[p].to && i.k[p].s && i.k[p + 1] && i.k[p + 1].s && (f = i.k[p].s, c = i.k[p + 1].s, m = i.k[p].to, d = i.k[p].ti, (2 === f.length && (f[0] !== c[0] || f[1] !== c[1]) && bez.pointOnLine2D(f[0], f[1], c[0], c[1], f[0] + m[0], f[1] + m[1]) && bez.pointOnLine2D(f[0], f[1], c[0], c[1], c[0] + d[0], c[1] + d[1]) || 3 === f.length && (f[0] !== c[0] || f[1] !== c[1] || f[2] !== c[2]) && bez.pointOnLine3D(f[0], f[1], f[2], c[0], c[1], c[2], f[0] + m[0], f[1] + m[1], f[2] + m[2]) && bez.pointOnLine3D(f[0], f[1], f[2], c[0], c[1], c[2], c[0] + d[0], c[1] + d[1], c[2] + d[2])) && (i.k[p].to = null, i.k[p].ti = null), f[0] === c[0] && f[1] === c[1] && 0 === m[0] && 0 === m[1] && 0 === d[0] && 0 === d[1] && (2 === f.length || f[2] === c[2] && 0 === m[2] && 0 === d[2]) && (i.k[p].to = null, i.k[p].ti = null));\n }\n\n this.effectsSequence = [a.bind(this)], this.data = i, this.keyframes = i.k, this.keyframesMetadata = [], this.offsetTime = e.data.st, this.k = !0, this.kf = !0, this._isFirstFrame = !0, this.mult = h || 1, this.elem = e, this.container = l, this.comp = e.comp, this.getValue = n, this.setVValue = s, this.interpolateValue = r, this.frameId = -1;\n var y = i.k[0].s.length;\n\n for (this.v = createTypedArray(\"float32\", y), this.pv = createTypedArray(\"float32\", y), p = 0; p < y; p += 1) {\n this.v[p] = t, this.pv[p] = t;\n }\n\n this._caching = {\n lastFrame: t,\n lastIndex: 0,\n value: createTypedArray(\"float32\", y)\n }, this.addEffect = o;\n }\n\n return {\n getProp: function getProp(t, e, r, i, a) {\n var s;\n if (e.k.length) {\n if (\"number\" == typeof e.k[0]) s = new l(t, e, i, a);else switch (r) {\n case 0:\n s = new p(t, e, i, a);\n break;\n\n case 1:\n s = new f(t, e, i, a);\n }\n } else s = new h(t, e, i, a);\n return s.effectsSequence.length && a.addDynamicProperty(s), s;\n }\n };\n }();\n\n function DynamicPropertyContainer() {}\n\n DynamicPropertyContainer.prototype = {\n addDynamicProperty: function addDynamicProperty(t) {\n -1 === this.dynamicProperties.indexOf(t) && (this.dynamicProperties.push(t), this.container.addDynamicProperty(this), this._isAnimated = !0);\n },\n iterateDynamicProperties: function iterateDynamicProperties() {\n var t;\n this._mdf = !1;\n var e = this.dynamicProperties.length;\n\n for (t = 0; t < e; t += 1) {\n this.dynamicProperties[t].getValue(), this.dynamicProperties[t]._mdf && (this._mdf = !0);\n }\n },\n initDynamicPropertyContainer: function initDynamicPropertyContainer(t) {\n this.container = t, this.dynamicProperties = [], this._mdf = !1, this._isAnimated = !1;\n }\n };\n var pointPool = poolFactory(8, function () {\n return createTypedArray(\"float32\", 2);\n });\n\n function ShapePath() {\n this.c = !1, this._length = 0, this._maxLength = 8, this.v = createSizedArray(this._maxLength), this.o = createSizedArray(this._maxLength), this.i = createSizedArray(this._maxLength);\n }\n\n ShapePath.prototype.setPathData = function (t, e) {\n this.c = t, this.setLength(e);\n\n for (var r = 0; r < e;) {\n this.v[r] = pointPool.newElement(), this.o[r] = pointPool.newElement(), this.i[r] = pointPool.newElement(), r += 1;\n }\n }, ShapePath.prototype.setLength = function (t) {\n for (; this._maxLength < t;) {\n this.doubleArrayLength();\n }\n\n this._length = t;\n }, ShapePath.prototype.doubleArrayLength = function () {\n this.v = this.v.concat(createSizedArray(this._maxLength)), this.i = this.i.concat(createSizedArray(this._maxLength)), this.o = this.o.concat(createSizedArray(this._maxLength)), this._maxLength *= 2;\n }, ShapePath.prototype.setXYAt = function (t, e, r, i, a) {\n var s;\n\n switch (this._length = Math.max(this._length, i + 1), this._length >= this._maxLength && this.doubleArrayLength(), r) {\n case \"v\":\n s = this.v;\n break;\n\n case \"i\":\n s = this.i;\n break;\n\n case \"o\":\n s = this.o;\n break;\n\n default:\n s = [];\n }\n\n (!s[i] || s[i] && !a) && (s[i] = pointPool.newElement()), s[i][0] = t, s[i][1] = e;\n }, ShapePath.prototype.setTripleAt = function (t, e, r, i, a, s, n, o) {\n this.setXYAt(t, e, \"v\", n, o), this.setXYAt(r, i, \"o\", n, o), this.setXYAt(a, s, \"i\", n, o);\n }, ShapePath.prototype.reverse = function () {\n var t = new ShapePath();\n t.setPathData(this.c, this._length);\n var e = this.v,\n r = this.o,\n i = this.i,\n a = 0;\n this.c && (t.setTripleAt(e[0][0], e[0][1], i[0][0], i[0][1], r[0][0], r[0][1], 0, !1), a = 1);\n var s,\n n = this._length - 1,\n o = this._length;\n\n for (s = a; s < o; s += 1) {\n t.setTripleAt(e[n][0], e[n][1], i[n][0], i[n][1], r[n][0], r[n][1], s, !1), n -= 1;\n }\n\n return t;\n };\n var shapePool = (factory = poolFactory(4, function () {\n return new ShapePath();\n }, function (t) {\n var e,\n r = t._length;\n\n for (e = 0; e < r; e += 1) {\n pointPool.release(t.v[e]), pointPool.release(t.i[e]), pointPool.release(t.o[e]), t.v[e] = null, t.i[e] = null, t.o[e] = null;\n }\n\n t._length = 0, t.c = !1;\n }), factory.clone = function (t) {\n var e,\n r = factory.newElement(),\n i = void 0 === t._length ? t.v.length : t._length;\n\n for (r.setLength(i), r.c = t.c, e = 0; e < i; e += 1) {\n r.setTripleAt(t.v[e][0], t.v[e][1], t.o[e][0], t.o[e][1], t.i[e][0], t.i[e][1], e);\n }\n\n return r;\n }, factory),\n factory;\n\n function ShapeCollection() {\n this._length = 0, this._maxLength = 4, this.shapes = createSizedArray(this._maxLength);\n }\n\n ShapeCollection.prototype.addShape = function (t) {\n this._length === this._maxLength && (this.shapes = this.shapes.concat(createSizedArray(this._maxLength)), this._maxLength *= 2), this.shapes[this._length] = t, this._length += 1;\n }, ShapeCollection.prototype.releaseShapes = function () {\n var t;\n\n for (t = 0; t < this._length; t += 1) {\n shapePool.release(this.shapes[t]);\n }\n\n this._length = 0;\n };\n\n var shapeCollectionPool = (ob = {\n newShapeCollection: function newShapeCollection() {\n return _length ? pool[_length -= 1] : new ShapeCollection();\n },\n release: function release(t) {\n var e,\n r = t._length;\n\n for (e = 0; e < r; e += 1) {\n shapePool.release(t.shapes[e]);\n }\n\n t._length = 0, _length === _maxLength && (pool = pooling.double(pool), _maxLength *= 2), pool[_length] = t, _length += 1;\n }\n }, _length = 0, _maxLength = 4, pool = createSizedArray(_maxLength), ob),\n ob,\n _length,\n _maxLength,\n pool,\n ShapePropertyFactory = function () {\n function t(t, e, r) {\n var i,\n a,\n s,\n n,\n o,\n h,\n l,\n p,\n f,\n c = r.lastIndex,\n m = this.keyframes;\n if (t < m[0].t - this.offsetTime) i = m[0].s[0], s = !0, c = 0;else if (t >= m[m.length - 1].t - this.offsetTime) i = m[m.length - 1].s ? m[m.length - 1].s[0] : m[m.length - 2].e[0], s = !0;else {\n for (var d, u, y, g = c, v = m.length - 1, b = !0; b && (d = m[g], !((u = m[g + 1]).t - this.offsetTime > t));) {\n g < v - 1 ? g += 1 : b = !1;\n }\n\n if (y = this.keyframesMetadata[g] || {}, c = g, !(s = 1 === d.h)) {\n if (t >= u.t - this.offsetTime) p = 1;else if (t < d.t - this.offsetTime) p = 0;else {\n var x;\n y.__fnct ? x = y.__fnct : (x = BezierFactory.getBezierEasing(d.o.x, d.o.y, d.i.x, d.i.y).get, y.__fnct = x), p = x((t - (d.t - this.offsetTime)) / (u.t - this.offsetTime - (d.t - this.offsetTime)));\n }\n a = u.s ? u.s[0] : d.e[0];\n }\n\n i = d.s[0];\n }\n\n for (h = e._length, l = i.i[0].length, r.lastIndex = c, n = 0; n < h; n += 1) {\n for (o = 0; o < l; o += 1) {\n f = s ? i.i[n][o] : i.i[n][o] + (a.i[n][o] - i.i[n][o]) * p, e.i[n][o] = f, f = s ? i.o[n][o] : i.o[n][o] + (a.o[n][o] - i.o[n][o]) * p, e.o[n][o] = f, f = s ? i.v[n][o] : i.v[n][o] + (a.v[n][o] - i.v[n][o]) * p, e.v[n][o] = f;\n }\n }\n }\n\n function e() {\n var t = this.comp.renderedFrame - this.offsetTime,\n e = this.keyframes[0].t - this.offsetTime,\n r = this.keyframes[this.keyframes.length - 1].t - this.offsetTime,\n i = this._caching.lastFrame;\n return -999999 !== i && (i < e && t < e || i > r && t > r) || (this._caching.lastIndex = i < t ? this._caching.lastIndex : 0, this.interpolateShape(t, this.pv, this._caching)), this._caching.lastFrame = t, this.pv;\n }\n\n function r() {\n this.paths = this.localShapeCollection;\n }\n\n function i(t) {\n (function (t, e) {\n if (t._length !== e._length || t.c !== e.c) return !1;\n var r,\n i = t._length;\n\n for (r = 0; r < i; r += 1) {\n if (t.v[r][0] !== e.v[r][0] || t.v[r][1] !== e.v[r][1] || t.o[r][0] !== e.o[r][0] || t.o[r][1] !== e.o[r][1] || t.i[r][0] !== e.i[r][0] || t.i[r][1] !== e.i[r][1]) return !1;\n }\n\n return !0;\n })(this.v, t) || (this.v = shapePool.clone(t), this.localShapeCollection.releaseShapes(), this.localShapeCollection.addShape(this.v), this._mdf = !0, this.paths = this.localShapeCollection);\n }\n\n function a() {\n if (this.elem.globalData.frameId !== this.frameId) if (this.effectsSequence.length) {\n if (this.lock) this.setVValue(this.pv);else {\n var t, e;\n this.lock = !0, this._mdf = !1, t = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k;\n var r = this.effectsSequence.length;\n\n for (e = 0; e < r; e += 1) {\n t = this.effectsSequence[e](t);\n }\n\n this.setVValue(t), this.lock = !1, this.frameId = this.elem.globalData.frameId;\n }\n } else this._mdf = !1;\n }\n\n function s(t, e, i) {\n this.propType = \"shape\", this.comp = t.comp, this.container = t, this.elem = t, this.data = e, this.k = !1, this.kf = !1, this._mdf = !1;\n var a = 3 === i ? e.pt.k : e.ks.k;\n this.v = shapePool.clone(a), this.pv = shapePool.clone(this.v), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.reset = r, this.effectsSequence = [];\n }\n\n function n(t) {\n this.effectsSequence.push(t), this.container.addDynamicProperty(this);\n }\n\n function o(t, i, a) {\n this.propType = \"shape\", this.comp = t.comp, this.elem = t, this.container = t, this.offsetTime = t.data.st, this.keyframes = 3 === a ? i.pt.k : i.ks.k, this.keyframesMetadata = [], this.k = !0, this.kf = !0;\n var s = this.keyframes[0].s[0].i.length;\n this.v = shapePool.newElement(), this.v.setPathData(this.keyframes[0].s[0].c, s), this.pv = shapePool.clone(this.v), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.lastFrame = -999999, this.reset = r, this._caching = {\n lastFrame: -999999,\n lastIndex: 0\n }, this.effectsSequence = [e.bind(this)];\n }\n\n s.prototype.interpolateShape = t, s.prototype.getValue = a, s.prototype.setVValue = i, s.prototype.addEffect = n, o.prototype.getValue = a, o.prototype.interpolateShape = t, o.prototype.setVValue = i, o.prototype.addEffect = n;\n\n var h = function () {\n var t = roundCorner;\n\n function e(t, e) {\n this.v = shapePool.newElement(), this.v.setPathData(!0, 4), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.localShapeCollection.addShape(this.v), this.d = e.d, this.elem = t, this.comp = t.comp, this.frameId = -1, this.initDynamicPropertyContainer(t), this.p = PropertyFactory.getProp(t, e.p, 1, 0, this), this.s = PropertyFactory.getProp(t, e.s, 1, 0, this), this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertEllToPath());\n }\n\n return e.prototype = {\n reset: r,\n getValue: function getValue() {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertEllToPath());\n },\n convertEllToPath: function convertEllToPath() {\n var e = this.p.v[0],\n r = this.p.v[1],\n i = this.s.v[0] / 2,\n a = this.s.v[1] / 2,\n s = 3 !== this.d,\n n = this.v;\n n.v[0][0] = e, n.v[0][1] = r - a, n.v[1][0] = s ? e + i : e - i, n.v[1][1] = r, n.v[2][0] = e, n.v[2][1] = r + a, n.v[3][0] = s ? e - i : e + i, n.v[3][1] = r, n.i[0][0] = s ? e - i * t : e + i * t, n.i[0][1] = r - a, n.i[1][0] = s ? e + i : e - i, n.i[1][1] = r - a * t, n.i[2][0] = s ? e + i * t : e - i * t, n.i[2][1] = r + a, n.i[3][0] = s ? e - i : e + i, n.i[3][1] = r + a * t, n.o[0][0] = s ? e + i * t : e - i * t, n.o[0][1] = r - a, n.o[1][0] = s ? e + i : e - i, n.o[1][1] = r + a * t, n.o[2][0] = s ? e - i * t : e + i * t, n.o[2][1] = r + a, n.o[3][0] = s ? e - i : e + i, n.o[3][1] = r - a * t;\n }\n }, extendPrototype([DynamicPropertyContainer], e), e;\n }(),\n l = function () {\n function t(t, e) {\n this.v = shapePool.newElement(), this.v.setPathData(!0, 0), this.elem = t, this.comp = t.comp, this.data = e, this.frameId = -1, this.d = e.d, this.initDynamicPropertyContainer(t), 1 === e.sy ? (this.ir = PropertyFactory.getProp(t, e.ir, 0, 0, this), this.is = PropertyFactory.getProp(t, e.is, 0, .01, this), this.convertToPath = this.convertStarToPath) : this.convertToPath = this.convertPolygonToPath, this.pt = PropertyFactory.getProp(t, e.pt, 0, 0, this), this.p = PropertyFactory.getProp(t, e.p, 1, 0, this), this.r = PropertyFactory.getProp(t, e.r, 0, degToRads, this), this.or = PropertyFactory.getProp(t, e.or, 0, 0, this), this.os = PropertyFactory.getProp(t, e.os, 0, .01, this), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.localShapeCollection.addShape(this.v), this.paths = this.localShapeCollection, this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertToPath());\n }\n\n return t.prototype = {\n reset: r,\n getValue: function getValue() {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertToPath());\n },\n convertStarToPath: function convertStarToPath() {\n var t,\n e,\n r,\n i,\n a = 2 * Math.floor(this.pt.v),\n s = 2 * Math.PI / a,\n n = !0,\n o = this.or.v,\n h = this.ir.v,\n l = this.os.v,\n p = this.is.v,\n f = 2 * Math.PI * o / (2 * a),\n c = 2 * Math.PI * h / (2 * a),\n m = -Math.PI / 2;\n m += this.r.v;\n var d = 3 === this.data.d ? -1 : 1;\n\n for (this.v._length = 0, t = 0; t < a; t += 1) {\n r = n ? l : p, i = n ? f : c;\n var u = (e = n ? o : h) * Math.cos(m),\n y = e * Math.sin(m),\n g = 0 === u && 0 === y ? 0 : y / Math.sqrt(u * u + y * y),\n v = 0 === u && 0 === y ? 0 : -u / Math.sqrt(u * u + y * y);\n u += +this.p.v[0], y += +this.p.v[1], this.v.setTripleAt(u, y, u - g * i * r * d, y - v * i * r * d, u + g * i * r * d, y + v * i * r * d, t, !0), n = !n, m += s * d;\n }\n },\n convertPolygonToPath: function convertPolygonToPath() {\n var t,\n e = Math.floor(this.pt.v),\n r = 2 * Math.PI / e,\n i = this.or.v,\n a = this.os.v,\n s = 2 * Math.PI * i / (4 * e),\n n = .5 * -Math.PI,\n o = 3 === this.data.d ? -1 : 1;\n\n for (n += this.r.v, this.v._length = 0, t = 0; t < e; t += 1) {\n var h = i * Math.cos(n),\n l = i * Math.sin(n),\n p = 0 === h && 0 === l ? 0 : l / Math.sqrt(h * h + l * l),\n f = 0 === h && 0 === l ? 0 : -h / Math.sqrt(h * h + l * l);\n h += +this.p.v[0], l += +this.p.v[1], this.v.setTripleAt(h, l, h - p * s * a * o, l - f * s * a * o, h + p * s * a * o, l + f * s * a * o, t, !0), n += r * o;\n }\n\n this.paths.length = 0, this.paths[0] = this.v;\n }\n }, extendPrototype([DynamicPropertyContainer], t), t;\n }(),\n p = function () {\n function t(t, e) {\n this.v = shapePool.newElement(), this.v.c = !0, this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.localShapeCollection.addShape(this.v), this.paths = this.localShapeCollection, this.elem = t, this.comp = t.comp, this.frameId = -1, this.d = e.d, this.initDynamicPropertyContainer(t), this.p = PropertyFactory.getProp(t, e.p, 1, 0, this), this.s = PropertyFactory.getProp(t, e.s, 1, 0, this), this.r = PropertyFactory.getProp(t, e.r, 0, 0, this), this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertRectToPath());\n }\n\n return t.prototype = {\n convertRectToPath: function convertRectToPath() {\n var t = this.p.v[0],\n e = this.p.v[1],\n r = this.s.v[0] / 2,\n i = this.s.v[1] / 2,\n a = bmMin(r, i, this.r.v),\n s = a * (1 - roundCorner);\n this.v._length = 0, 2 === this.d || 1 === this.d ? (this.v.setTripleAt(t + r, e - i + a, t + r, e - i + a, t + r, e - i + s, 0, !0), this.v.setTripleAt(t + r, e + i - a, t + r, e + i - s, t + r, e + i - a, 1, !0), 0 !== a ? (this.v.setTripleAt(t + r - a, e + i, t + r - a, e + i, t + r - s, e + i, 2, !0), this.v.setTripleAt(t - r + a, e + i, t - r + s, e + i, t - r + a, e + i, 3, !0), this.v.setTripleAt(t - r, e + i - a, t - r, e + i - a, t - r, e + i - s, 4, !0), this.v.setTripleAt(t - r, e - i + a, t - r, e - i + s, t - r, e - i + a, 5, !0), this.v.setTripleAt(t - r + a, e - i, t - r + a, e - i, t - r + s, e - i, 6, !0), this.v.setTripleAt(t + r - a, e - i, t + r - s, e - i, t + r - a, e - i, 7, !0)) : (this.v.setTripleAt(t - r, e + i, t - r + s, e + i, t - r, e + i, 2), this.v.setTripleAt(t - r, e - i, t - r, e - i + s, t - r, e - i, 3))) : (this.v.setTripleAt(t + r, e - i + a, t + r, e - i + s, t + r, e - i + a, 0, !0), 0 !== a ? (this.v.setTripleAt(t + r - a, e - i, t + r - a, e - i, t + r - s, e - i, 1, !0), this.v.setTripleAt(t - r + a, e - i, t - r + s, e - i, t - r + a, e - i, 2, !0), this.v.setTripleAt(t - r, e - i + a, t - r, e - i + a, t - r, e - i + s, 3, !0), this.v.setTripleAt(t - r, e + i - a, t - r, e + i - s, t - r, e + i - a, 4, !0), this.v.setTripleAt(t - r + a, e + i, t - r + a, e + i, t - r + s, e + i, 5, !0), this.v.setTripleAt(t + r - a, e + i, t + r - s, e + i, t + r - a, e + i, 6, !0), this.v.setTripleAt(t + r, e + i - a, t + r, e + i - a, t + r, e + i - s, 7, !0)) : (this.v.setTripleAt(t - r, e - i, t - r + s, e - i, t - r, e - i, 1, !0), this.v.setTripleAt(t - r, e + i, t - r, e + i - s, t - r, e + i, 2, !0), this.v.setTripleAt(t + r, e + i, t + r - s, e + i, t + r, e + i, 3, !0)));\n },\n getValue: function getValue() {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertRectToPath());\n },\n reset: r\n }, extendPrototype([DynamicPropertyContainer], t), t;\n }();\n\n var f = {\n getShapeProp: function getShapeProp(t, e, r) {\n var i;\n return 3 === r || 4 === r ? i = (3 === r ? e.pt : e.ks).k.length ? new o(t, e, r) : new s(t, e, r) : 5 === r ? i = new p(t, e) : 6 === r ? i = new h(t, e) : 7 === r && (i = new l(t, e)), i.k && t.addDynamicProperty(i), i;\n },\n getConstructorFunction: function getConstructorFunction() {\n return s;\n },\n getKeyframedConstructorFunction: function getKeyframedConstructorFunction() {\n return o;\n }\n };\n return f;\n }(),\n Matrix = function () {\n var t = Math.cos,\n e = Math.sin,\n r = Math.tan,\n i = Math.round;\n\n function a() {\n return this.props[0] = 1, this.props[1] = 0, this.props[2] = 0, this.props[3] = 0, this.props[4] = 0, this.props[5] = 1, this.props[6] = 0, this.props[7] = 0, this.props[8] = 0, this.props[9] = 0, this.props[10] = 1, this.props[11] = 0, this.props[12] = 0, this.props[13] = 0, this.props[14] = 0, this.props[15] = 1, this;\n }\n\n function s(r) {\n if (0 === r) return this;\n var i = t(r),\n a = e(r);\n return this._t(i, -a, 0, 0, a, i, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function n(r) {\n if (0 === r) return this;\n var i = t(r),\n a = e(r);\n return this._t(1, 0, 0, 0, 0, i, -a, 0, 0, a, i, 0, 0, 0, 0, 1);\n }\n\n function o(r) {\n if (0 === r) return this;\n var i = t(r),\n a = e(r);\n return this._t(i, 0, a, 0, 0, 1, 0, 0, -a, 0, i, 0, 0, 0, 0, 1);\n }\n\n function h(r) {\n if (0 === r) return this;\n var i = t(r),\n a = e(r);\n return this._t(i, -a, 0, 0, a, i, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function l(t, e) {\n return this._t(1, e, t, 1, 0, 0);\n }\n\n function p(t, e) {\n return this.shear(r(t), r(e));\n }\n\n function f(i, a) {\n var s = t(a),\n n = e(a);\n return this._t(s, n, 0, 0, -n, s, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, r(i), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(s, -n, 0, 0, n, s, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function c(t, e, r) {\n return r || 0 === r || (r = 1), 1 === t && 1 === e && 1 === r ? this : this._t(t, 0, 0, 0, 0, e, 0, 0, 0, 0, r, 0, 0, 0, 0, 1);\n }\n\n function m(t, e, r, i, a, s, n, o, h, l, p, f, c, m, d, u) {\n return this.props[0] = t, this.props[1] = e, this.props[2] = r, this.props[3] = i, this.props[4] = a, this.props[5] = s, this.props[6] = n, this.props[7] = o, this.props[8] = h, this.props[9] = l, this.props[10] = p, this.props[11] = f, this.props[12] = c, this.props[13] = m, this.props[14] = d, this.props[15] = u, this;\n }\n\n function d(t, e, r) {\n return r = r || 0, 0 !== t || 0 !== e || 0 !== r ? this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, t, e, r, 1) : this;\n }\n\n function u(t, e, r, i, a, s, n, o, h, l, p, f, c, m, d, u) {\n var y = this.props;\n if (1 === t && 0 === e && 0 === r && 0 === i && 0 === a && 1 === s && 0 === n && 0 === o && 0 === h && 0 === l && 1 === p && 0 === f) return y[12] = y[12] * t + y[15] * c, y[13] = y[13] * s + y[15] * m, y[14] = y[14] * p + y[15] * d, y[15] *= u, this._identityCalculated = !1, this;\n var g = y[0],\n v = y[1],\n b = y[2],\n x = y[3],\n E = y[4],\n P = y[5],\n S = y[6],\n _ = y[7],\n C = y[8],\n A = y[9],\n k = y[10],\n T = y[11],\n D = y[12],\n w = y[13],\n M = y[14],\n F = y[15];\n return y[0] = g * t + v * a + b * h + x * c, y[1] = g * e + v * s + b * l + x * m, y[2] = g * r + v * n + b * p + x * d, y[3] = g * i + v * o + b * f + x * u, y[4] = E * t + P * a + S * h + _ * c, y[5] = E * e + P * s + S * l + _ * m, y[6] = E * r + P * n + S * p + _ * d, y[7] = E * i + P * o + S * f + _ * u, y[8] = C * t + A * a + k * h + T * c, y[9] = C * e + A * s + k * l + T * m, y[10] = C * r + A * n + k * p + T * d, y[11] = C * i + A * o + k * f + T * u, y[12] = D * t + w * a + M * h + F * c, y[13] = D * e + w * s + M * l + F * m, y[14] = D * r + w * n + M * p + F * d, y[15] = D * i + w * o + M * f + F * u, this._identityCalculated = !1, this;\n }\n\n function y() {\n return this._identityCalculated || (this._identity = !(1 !== this.props[0] || 0 !== this.props[1] || 0 !== this.props[2] || 0 !== this.props[3] || 0 !== this.props[4] || 1 !== this.props[5] || 0 !== this.props[6] || 0 !== this.props[7] || 0 !== this.props[8] || 0 !== this.props[9] || 1 !== this.props[10] || 0 !== this.props[11] || 0 !== this.props[12] || 0 !== this.props[13] || 0 !== this.props[14] || 1 !== this.props[15]), this._identityCalculated = !0), this._identity;\n }\n\n function g(t) {\n for (var e = 0; e < 16;) {\n if (t.props[e] !== this.props[e]) return !1;\n e += 1;\n }\n\n return !0;\n }\n\n function v(t) {\n var e;\n\n for (e = 0; e < 16; e += 1) {\n t.props[e] = this.props[e];\n }\n\n return t;\n }\n\n function b(t) {\n var e;\n\n for (e = 0; e < 16; e += 1) {\n this.props[e] = t[e];\n }\n }\n\n function x(t, e, r) {\n return {\n x: t * this.props[0] + e * this.props[4] + r * this.props[8] + this.props[12],\n y: t * this.props[1] + e * this.props[5] + r * this.props[9] + this.props[13],\n z: t * this.props[2] + e * this.props[6] + r * this.props[10] + this.props[14]\n };\n }\n\n function E(t, e, r) {\n return t * this.props[0] + e * this.props[4] + r * this.props[8] + this.props[12];\n }\n\n function P(t, e, r) {\n return t * this.props[1] + e * this.props[5] + r * this.props[9] + this.props[13];\n }\n\n function S(t, e, r) {\n return t * this.props[2] + e * this.props[6] + r * this.props[10] + this.props[14];\n }\n\n function _() {\n var t = this.props[0] * this.props[5] - this.props[1] * this.props[4],\n e = this.props[5] / t,\n r = -this.props[1] / t,\n i = -this.props[4] / t,\n a = this.props[0] / t,\n s = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / t,\n n = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / t,\n o = new Matrix();\n return o.props[0] = e, o.props[1] = r, o.props[4] = i, o.props[5] = a, o.props[12] = s, o.props[13] = n, o;\n }\n\n function C(t) {\n return this.getInverseMatrix().applyToPointArray(t[0], t[1], t[2] || 0);\n }\n\n function A(t) {\n var e,\n r = t.length,\n i = [];\n\n for (e = 0; e < r; e += 1) {\n i[e] = C(t[e]);\n }\n\n return i;\n }\n\n function k(t, e, r) {\n var i = createTypedArray(\"float32\", 6);\n if (this.isIdentity()) i[0] = t[0], i[1] = t[1], i[2] = e[0], i[3] = e[1], i[4] = r[0], i[5] = r[1];else {\n var a = this.props[0],\n s = this.props[1],\n n = this.props[4],\n o = this.props[5],\n h = this.props[12],\n l = this.props[13];\n i[0] = t[0] * a + t[1] * n + h, i[1] = t[0] * s + t[1] * o + l, i[2] = e[0] * a + e[1] * n + h, i[3] = e[0] * s + e[1] * o + l, i[4] = r[0] * a + r[1] * n + h, i[5] = r[0] * s + r[1] * o + l;\n }\n return i;\n }\n\n function T(t, e, r) {\n return this.isIdentity() ? [t, e, r] : [t * this.props[0] + e * this.props[4] + r * this.props[8] + this.props[12], t * this.props[1] + e * this.props[5] + r * this.props[9] + this.props[13], t * this.props[2] + e * this.props[6] + r * this.props[10] + this.props[14]];\n }\n\n function D(t, e) {\n if (this.isIdentity()) return t + \",\" + e;\n var r = this.props;\n return Math.round(100 * (t * r[0] + e * r[4] + r[12])) / 100 + \",\" + Math.round(100 * (t * r[1] + e * r[5] + r[13])) / 100;\n }\n\n function w() {\n for (var t = 0, e = this.props, r = \"matrix3d(\"; t < 16;) {\n r += i(1e4 * e[t]) / 1e4, r += 15 === t ? \")\" : \",\", t += 1;\n }\n\n return r;\n }\n\n function M(t) {\n return t < 1e-6 && t > 0 || t > -1e-6 && t < 0 ? i(1e4 * t) / 1e4 : t;\n }\n\n function F() {\n var t = this.props;\n return \"matrix(\" + M(t[0]) + \",\" + M(t[1]) + \",\" + M(t[4]) + \",\" + M(t[5]) + \",\" + M(t[12]) + \",\" + M(t[13]) + \")\";\n }\n\n return function () {\n this.reset = a, this.rotate = s, this.rotateX = n, this.rotateY = o, this.rotateZ = h, this.skew = p, this.skewFromAxis = f, this.shear = l, this.scale = c, this.setTransform = m, this.translate = d, this.transform = u, this.applyToPoint = x, this.applyToX = E, this.applyToY = P, this.applyToZ = S, this.applyToPointArray = T, this.applyToTriplePoints = k, this.applyToPointStringified = D, this.toCSS = w, this.to2dCSS = F, this.clone = v, this.cloneFromProps = b, this.equals = g, this.inversePoints = A, this.inversePoint = C, this.getInverseMatrix = _, this._t = this.transform, this.isIdentity = y, this._identity = !0, this._identityCalculated = !1, this.props = createTypedArray(\"float32\", 16), this.reset();\n };\n }();\n\n function _typeof$3(t) {\n return (_typeof$3 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (t) {\n return typeof t;\n } : function (t) {\n return t && \"function\" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? \"symbol\" : typeof t;\n })(t);\n }\n\n var lottie = {},\n standalone = \"__[STANDALONE]__\",\n animationData = \"__[ANIMATIONDATA]__\",\n renderer = \"\",\n queryString;\n\n function setLocation(t) {\n setLocationHref(t);\n }\n\n function searchAnimations() {\n !0 === standalone ? animationManager.searchAnimations(animationData, standalone, renderer) : animationManager.searchAnimations();\n }\n\n function setSubframeRendering(t) {\n setSubframeEnabled(t);\n }\n\n function setPrefix(t) {\n setIdPrefix(t);\n }\n\n function loadAnimation(t) {\n return !0 === standalone && (t.animationData = JSON.parse(animationData)), animationManager.loadAnimation(t);\n }\n\n function setQuality(t) {\n if (\"string\" == typeof t) switch (t) {\n case \"high\":\n setDefaultCurveSegments(200);\n break;\n\n default:\n case \"medium\":\n setDefaultCurveSegments(50);\n break;\n\n case \"low\":\n setDefaultCurveSegments(10);\n } else !isNaN(t) && t > 1 && setDefaultCurveSegments(t);\n getDefaultCurveSegments() >= 50 ? roundValues(!1) : roundValues(!0);\n }\n\n function inBrowser() {\n return \"undefined\" != typeof navigator;\n }\n\n function installPlugin(t, e) {\n \"expressions\" === t && setExpressionsPlugin(e);\n }\n\n function getFactory(t) {\n switch (t) {\n case \"propertyFactory\":\n return PropertyFactory;\n\n case \"shapePropertyFactory\":\n return ShapePropertyFactory;\n\n case \"matrix\":\n return Matrix;\n\n default:\n return null;\n }\n }\n\n function checkReady() {\n \"complete\" === document.readyState && (clearInterval(readyStateCheckInterval), searchAnimations());\n }\n\n function getQueryVariable(t) {\n for (var e = queryString.split(\"&\"), r = 0; r < e.length; r += 1) {\n var i = e[r].split(\"=\");\n if (decodeURIComponent(i[0]) == t) return decodeURIComponent(i[1]);\n }\n\n return null;\n }\n\n if (lottie.play = animationManager.play, lottie.pause = animationManager.pause, lottie.setLocationHref = setLocation, lottie.togglePause = animationManager.togglePause, lottie.setSpeed = animationManager.setSpeed, lottie.setDirection = animationManager.setDirection, lottie.stop = animationManager.stop, lottie.searchAnimations = searchAnimations, lottie.registerAnimation = animationManager.registerAnimation, lottie.loadAnimation = loadAnimation, lottie.setSubframeRendering = setSubframeRendering, lottie.resize = animationManager.resize, lottie.goToAndStop = animationManager.goToAndStop, lottie.destroy = animationManager.destroy, lottie.setQuality = setQuality, lottie.inBrowser = inBrowser, lottie.installPlugin = installPlugin, lottie.freeze = animationManager.freeze, lottie.unfreeze = animationManager.unfreeze, lottie.setVolume = animationManager.setVolume, lottie.mute = animationManager.mute, lottie.unmute = animationManager.unmute, lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations, lottie.useWebWorker = setWebWorker, lottie.setIDPrefix = setPrefix, lottie.__getFactory = getFactory, lottie.version = \"5.9.1\", standalone) {\n var scripts = document.getElementsByTagName(\"script\"),\n index = scripts.length - 1,\n myScript = scripts[index] || {\n src: \"\"\n };\n queryString = myScript.src.replace(/^[^\\?]+\\??/, \"\"), renderer = getQueryVariable(\"renderer\");\n }\n\n var readyStateCheckInterval = setInterval(checkReady, 100);\n\n try {\n \"object\" !== _typeof$3(exports) && (window.bodymovin = lottie);\n } catch (t) {}\n\n var ShapeModifiers = function () {\n var t = {},\n e = {};\n return t.registerModifier = function (t, r) {\n e[t] || (e[t] = r);\n }, t.getModifier = function (t, r, i) {\n return new e[t](r, i);\n }, t;\n }();\n\n function ShapeModifier() {}\n\n function TrimModifier() {}\n\n function PuckerAndBloatModifier() {}\n\n ShapeModifier.prototype.initModifierProperties = function () {}, ShapeModifier.prototype.addShapeToModifier = function () {}, ShapeModifier.prototype.addShape = function (t) {\n if (!this.closed) {\n t.sh.container.addDynamicProperty(t.sh);\n var e = {\n shape: t.sh,\n data: t,\n localShapeCollection: shapeCollectionPool.newShapeCollection()\n };\n this.shapes.push(e), this.addShapeToModifier(e), this._isAnimated && t.setAsAnimated();\n }\n }, ShapeModifier.prototype.init = function (t, e) {\n this.shapes = [], this.elem = t, this.initDynamicPropertyContainer(t), this.initModifierProperties(t, e), this.frameId = initialDefaultFrame, this.closed = !1, this.k = !1, this.dynamicProperties.length ? this.k = !0 : this.getValue(!0);\n }, ShapeModifier.prototype.processKeys = function () {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties());\n }, extendPrototype([DynamicPropertyContainer], ShapeModifier), extendPrototype([ShapeModifier], TrimModifier), TrimModifier.prototype.initModifierProperties = function (t, e) {\n this.s = PropertyFactory.getProp(t, e.s, 0, .01, this), this.e = PropertyFactory.getProp(t, e.e, 0, .01, this), this.o = PropertyFactory.getProp(t, e.o, 0, 0, this), this.sValue = 0, this.eValue = 0, this.getValue = this.processKeys, this.m = e.m, this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\n }, TrimModifier.prototype.addShapeToModifier = function (t) {\n t.pathsData = [];\n }, TrimModifier.prototype.calculateShapeEdges = function (t, e, r, i, a) {\n var s = [];\n e <= 1 ? s.push({\n s: t,\n e: e\n }) : t >= 1 ? s.push({\n s: t - 1,\n e: e - 1\n }) : (s.push({\n s: t,\n e: 1\n }), s.push({\n s: 0,\n e: e - 1\n }));\n var n,\n o,\n h = [],\n l = s.length;\n\n for (n = 0; n < l; n += 1) {\n var p, f;\n if (!((o = s[n]).e * a < i || o.s * a > i + r)) p = o.s * a <= i ? 0 : (o.s * a - i) / r, f = o.e * a >= i + r ? 1 : (o.e * a - i) / r, h.push([p, f]);\n }\n\n return h.length || h.push([0, 0]), h;\n }, TrimModifier.prototype.releasePathsData = function (t) {\n var e,\n r = t.length;\n\n for (e = 0; e < r; e += 1) {\n segmentsLengthPool.release(t[e]);\n }\n\n return t.length = 0, t;\n }, TrimModifier.prototype.processShapes = function (t) {\n var e, r, i, a;\n\n if (this._mdf || t) {\n var s = this.o.v % 360 / 360;\n\n if (s < 0 && (s += 1), (e = this.s.v > 1 ? 1 + s : this.s.v < 0 ? 0 + s : this.s.v + s) > (r = this.e.v > 1 ? 1 + s : this.e.v < 0 ? 0 + s : this.e.v + s)) {\n var n = e;\n e = r, r = n;\n }\n\n e = 1e-4 * Math.round(1e4 * e), r = 1e-4 * Math.round(1e4 * r), this.sValue = e, this.eValue = r;\n } else e = this.sValue, r = this.eValue;\n\n var o,\n h,\n l,\n p,\n f,\n c = this.shapes.length,\n m = 0;\n if (r === e) for (a = 0; a < c; a += 1) {\n this.shapes[a].localShapeCollection.releaseShapes(), this.shapes[a].shape._mdf = !0, this.shapes[a].shape.paths = this.shapes[a].localShapeCollection, this._mdf && (this.shapes[a].pathsData.length = 0);\n } else if (1 === r && 0 === e || 0 === r && 1 === e) {\n if (this._mdf) for (a = 0; a < c; a += 1) {\n this.shapes[a].pathsData.length = 0, this.shapes[a].shape._mdf = !0;\n }\n } else {\n var d,\n u,\n y = [];\n\n for (a = 0; a < c; a += 1) {\n if ((d = this.shapes[a]).shape._mdf || this._mdf || t || 2 === this.m) {\n if (h = (i = d.shape.paths)._length, f = 0, !d.shape._mdf && d.pathsData.length) f = d.totalShapeLength;else {\n for (l = this.releasePathsData(d.pathsData), o = 0; o < h; o += 1) {\n p = bez.getSegmentsLength(i.shapes[o]), l.push(p), f += p.totalLength;\n }\n\n d.totalShapeLength = f, d.pathsData = l;\n }\n m += f, d.shape._mdf = !0;\n } else d.shape.paths = d.localShapeCollection;\n }\n\n var g,\n v = e,\n b = r,\n x = 0;\n\n for (a = c - 1; a >= 0; a -= 1) {\n if ((d = this.shapes[a]).shape._mdf) {\n for ((u = d.localShapeCollection).releaseShapes(), 2 === this.m && c > 1 ? (g = this.calculateShapeEdges(e, r, d.totalShapeLength, x, m), x += d.totalShapeLength) : g = [[v, b]], h = g.length, o = 0; o < h; o += 1) {\n v = g[o][0], b = g[o][1], y.length = 0, b <= 1 ? y.push({\n s: d.totalShapeLength * v,\n e: d.totalShapeLength * b\n }) : v >= 1 ? y.push({\n s: d.totalShapeLength * (v - 1),\n e: d.totalShapeLength * (b - 1)\n }) : (y.push({\n s: d.totalShapeLength * v,\n e: d.totalShapeLength\n }), y.push({\n s: 0,\n e: d.totalShapeLength * (b - 1)\n }));\n var E = this.addShapes(d, y[0]);\n\n if (y[0].s !== y[0].e) {\n if (y.length > 1) if (d.shape.paths.shapes[d.shape.paths._length - 1].c) {\n var P = E.pop();\n this.addPaths(E, u), E = this.addShapes(d, y[1], P);\n } else this.addPaths(E, u), E = this.addShapes(d, y[1]);\n this.addPaths(E, u);\n }\n }\n\n d.shape.paths = u;\n }\n }\n }\n }, TrimModifier.prototype.addPaths = function (t, e) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n e.addShape(t[r]);\n }\n }, TrimModifier.prototype.addSegment = function (t, e, r, i, a, s, n) {\n a.setXYAt(e[0], e[1], \"o\", s), a.setXYAt(r[0], r[1], \"i\", s + 1), n && a.setXYAt(t[0], t[1], \"v\", s), a.setXYAt(i[0], i[1], \"v\", s + 1);\n }, TrimModifier.prototype.addSegmentFromArray = function (t, e, r, i) {\n e.setXYAt(t[1], t[5], \"o\", r), e.setXYAt(t[2], t[6], \"i\", r + 1), i && e.setXYAt(t[0], t[4], \"v\", r), e.setXYAt(t[3], t[7], \"v\", r + 1);\n }, TrimModifier.prototype.addShapes = function (t, e, r) {\n var i,\n a,\n s,\n n,\n o,\n h,\n l,\n p,\n f = t.pathsData,\n c = t.shape.paths.shapes,\n m = t.shape.paths._length,\n d = 0,\n u = [],\n y = !0;\n\n for (r ? (o = r._length, p = r._length) : (r = shapePool.newElement(), o = 0, p = 0), u.push(r), i = 0; i < m; i += 1) {\n for (h = f[i].lengths, r.c = c[i].c, s = c[i].c ? h.length : h.length + 1, a = 1; a < s; a += 1) {\n if (d + (n = h[a - 1]).addedLength < e.s) d += n.addedLength, r.c = !1;else {\n if (d > e.e) {\n r.c = !1;\n break;\n }\n\n e.s <= d && e.e >= d + n.addedLength ? (this.addSegment(c[i].v[a - 1], c[i].o[a - 1], c[i].i[a], c[i].v[a], r, o, y), y = !1) : (l = bez.getNewSegment(c[i].v[a - 1], c[i].v[a], c[i].o[a - 1], c[i].i[a], (e.s - d) / n.addedLength, (e.e - d) / n.addedLength, h[a - 1]), this.addSegmentFromArray(l, r, o, y), y = !1, r.c = !1), d += n.addedLength, o += 1;\n }\n }\n\n if (c[i].c && h.length) {\n if (n = h[a - 1], d <= e.e) {\n var g = h[a - 1].addedLength;\n e.s <= d && e.e >= d + g ? (this.addSegment(c[i].v[a - 1], c[i].o[a - 1], c[i].i[0], c[i].v[0], r, o, y), y = !1) : (l = bez.getNewSegment(c[i].v[a - 1], c[i].v[0], c[i].o[a - 1], c[i].i[0], (e.s - d) / g, (e.e - d) / g, h[a - 1]), this.addSegmentFromArray(l, r, o, y), y = !1, r.c = !1);\n } else r.c = !1;\n\n d += n.addedLength, o += 1;\n }\n\n if (r._length && (r.setXYAt(r.v[p][0], r.v[p][1], \"i\", p), r.setXYAt(r.v[r._length - 1][0], r.v[r._length - 1][1], \"o\", r._length - 1)), d > e.e) break;\n i < m - 1 && (r = shapePool.newElement(), y = !0, u.push(r), o = 0);\n }\n\n return u;\n }, extendPrototype([ShapeModifier], PuckerAndBloatModifier), PuckerAndBloatModifier.prototype.initModifierProperties = function (t, e) {\n this.getValue = this.processKeys, this.amount = PropertyFactory.getProp(t, e.a, 0, null, this), this._isAnimated = !!this.amount.effectsSequence.length;\n }, PuckerAndBloatModifier.prototype.processPath = function (t, e) {\n var r = e / 100,\n i = [0, 0],\n a = t._length,\n s = 0;\n\n for (s = 0; s < a; s += 1) {\n i[0] += t.v[s][0], i[1] += t.v[s][1];\n }\n\n i[0] /= a, i[1] /= a;\n var n,\n o,\n h,\n l,\n p,\n f,\n c = shapePool.newElement();\n\n for (c.c = t.c, s = 0; s < a; s += 1) {\n n = t.v[s][0] + (i[0] - t.v[s][0]) * r, o = t.v[s][1] + (i[1] - t.v[s][1]) * r, h = t.o[s][0] + (i[0] - t.o[s][0]) * -r, l = t.o[s][1] + (i[1] - t.o[s][1]) * -r, p = t.i[s][0] + (i[0] - t.i[s][0]) * -r, f = t.i[s][1] + (i[1] - t.i[s][1]) * -r, c.setTripleAt(n, o, h, l, p, f, s);\n }\n\n return c;\n }, PuckerAndBloatModifier.prototype.processShapes = function (t) {\n var e,\n r,\n i,\n a,\n s,\n n,\n o = this.shapes.length,\n h = this.amount.v;\n if (0 !== h) for (r = 0; r < o; r += 1) {\n if (n = (s = this.shapes[r]).localShapeCollection, s.shape._mdf || this._mdf || t) for (n.releaseShapes(), s.shape._mdf = !0, e = s.shape.paths.shapes, a = s.shape.paths._length, i = 0; i < a; i += 1) {\n n.addShape(this.processPath(e[i], h));\n }\n s.shape.paths = s.localShapeCollection;\n }\n this.dynamicProperties.length || (this._mdf = !1);\n };\n\n var TransformPropertyFactory = function () {\n var t = [0, 0];\n\n function e(t, e, r) {\n if (this.elem = t, this.frameId = -1, this.propType = \"transform\", this.data = e, this.v = new Matrix(), this.pre = new Matrix(), this.appliedTransformations = 0, this.initDynamicPropertyContainer(r || t), e.p && e.p.s ? (this.px = PropertyFactory.getProp(t, e.p.x, 0, 0, this), this.py = PropertyFactory.getProp(t, e.p.y, 0, 0, this), e.p.z && (this.pz = PropertyFactory.getProp(t, e.p.z, 0, 0, this))) : this.p = PropertyFactory.getProp(t, e.p || {\n k: [0, 0, 0]\n }, 1, 0, this), e.rx) {\n if (this.rx = PropertyFactory.getProp(t, e.rx, 0, degToRads, this), this.ry = PropertyFactory.getProp(t, e.ry, 0, degToRads, this), this.rz = PropertyFactory.getProp(t, e.rz, 0, degToRads, this), e.or.k[0].ti) {\n var i,\n a = e.or.k.length;\n\n for (i = 0; i < a; i += 1) {\n e.or.k[i].to = null, e.or.k[i].ti = null;\n }\n }\n\n this.or = PropertyFactory.getProp(t, e.or, 1, degToRads, this), this.or.sh = !0;\n } else this.r = PropertyFactory.getProp(t, e.r || {\n k: 0\n }, 0, degToRads, this);\n\n e.sk && (this.sk = PropertyFactory.getProp(t, e.sk, 0, degToRads, this), this.sa = PropertyFactory.getProp(t, e.sa, 0, degToRads, this)), this.a = PropertyFactory.getProp(t, e.a || {\n k: [0, 0, 0]\n }, 1, 0, this), this.s = PropertyFactory.getProp(t, e.s || {\n k: [100, 100, 100]\n }, 1, .01, this), e.o ? this.o = PropertyFactory.getProp(t, e.o, 0, .01, t) : this.o = {\n _mdf: !1,\n v: 1\n }, this._isDirty = !0, this.dynamicProperties.length || this.getValue(!0);\n }\n\n return e.prototype = {\n applyToMatrix: function applyToMatrix(t) {\n var e = this._mdf;\n this.iterateDynamicProperties(), this._mdf = this._mdf || e, this.a && t.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.s && t.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && t.skewFromAxis(-this.sk.v, this.sa.v), this.r ? t.rotate(-this.r.v) : t.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.data.p.s ? this.data.p.z ? t.translate(this.px.v, this.py.v, -this.pz.v) : t.translate(this.px.v, this.py.v, 0) : t.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n },\n getValue: function getValue(e) {\n if (this.elem.globalData.frameId !== this.frameId) {\n if (this._isDirty && (this.precalculateMatrix(), this._isDirty = !1), this.iterateDynamicProperties(), this._mdf || e) {\n var r;\n\n if (this.v.cloneFromProps(this.pre.props), this.appliedTransformations < 1 && this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.appliedTransformations < 2 && this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && this.appliedTransformations < 3 && this.v.skewFromAxis(-this.sk.v, this.sa.v), this.r && this.appliedTransformations < 4 ? this.v.rotate(-this.r.v) : !this.r && this.appliedTransformations < 4 && this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.autoOriented) {\n var i, a;\n if (r = this.elem.globalData.frameRate, this.p && this.p.keyframes && this.p.getValueAtTime) this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t ? (i = this.p.getValueAtTime((this.p.keyframes[0].t + .01) / r, 0), a = this.p.getValueAtTime(this.p.keyframes[0].t / r, 0)) : this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t ? (i = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / r, 0), a = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - .05) / r, 0)) : (i = this.p.pv, a = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - .01) / r, this.p.offsetTime));else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n i = [], a = [];\n var s = this.px,\n n = this.py;\n s._caching.lastFrame + s.offsetTime <= s.keyframes[0].t ? (i[0] = s.getValueAtTime((s.keyframes[0].t + .01) / r, 0), i[1] = n.getValueAtTime((n.keyframes[0].t + .01) / r, 0), a[0] = s.getValueAtTime(s.keyframes[0].t / r, 0), a[1] = n.getValueAtTime(n.keyframes[0].t / r, 0)) : s._caching.lastFrame + s.offsetTime >= s.keyframes[s.keyframes.length - 1].t ? (i[0] = s.getValueAtTime(s.keyframes[s.keyframes.length - 1].t / r, 0), i[1] = n.getValueAtTime(n.keyframes[n.keyframes.length - 1].t / r, 0), a[0] = s.getValueAtTime((s.keyframes[s.keyframes.length - 1].t - .01) / r, 0), a[1] = n.getValueAtTime((n.keyframes[n.keyframes.length - 1].t - .01) / r, 0)) : (i = [s.pv, n.pv], a[0] = s.getValueAtTime((s._caching.lastFrame + s.offsetTime - .01) / r, s.offsetTime), a[1] = n.getValueAtTime((n._caching.lastFrame + n.offsetTime - .01) / r, n.offsetTime));\n } else i = a = t;\n this.v.rotate(-Math.atan2(i[1] - a[1], i[0] - a[0]));\n }\n\n this.data.p && this.data.p.s ? this.data.p.z ? this.v.translate(this.px.v, this.py.v, -this.pz.v) : this.v.translate(this.px.v, this.py.v, 0) : this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n\n this.frameId = this.elem.globalData.frameId;\n }\n },\n precalculateMatrix: function precalculateMatrix() {\n if (!this.a.k && (this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.appliedTransformations = 1, !this.s.effectsSequence.length)) {\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\n this.r ? this.r.effectsSequence.length || (this.pre.rotate(-this.r.v), this.appliedTransformations = 4) : this.rz.effectsSequence.length || this.ry.effectsSequence.length || this.rx.effectsSequence.length || this.or.effectsSequence.length || (this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.appliedTransformations = 4);\n }\n },\n autoOrient: function autoOrient() {}\n }, extendPrototype([DynamicPropertyContainer], e), e.prototype.addDynamicProperty = function (t) {\n this._addDynamicProperty(t), this.elem.addDynamicProperty(t), this._isDirty = !0;\n }, e.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty, {\n getTransformProperty: function getTransformProperty(t, r, i) {\n return new e(t, r, i);\n }\n };\n }();\n\n function RepeaterModifier() {}\n\n function RoundCornersModifier() {}\n\n function getFontProperties(t) {\n for (var e = t.fStyle ? t.fStyle.split(\" \") : [], r = \"normal\", i = \"normal\", a = e.length, s = 0; s < a; s += 1) {\n switch (e[s].toLowerCase()) {\n case \"italic\":\n i = \"italic\";\n break;\n\n case \"bold\":\n r = \"700\";\n break;\n\n case \"black\":\n r = \"900\";\n break;\n\n case \"medium\":\n r = \"500\";\n break;\n\n case \"regular\":\n case \"normal\":\n r = \"400\";\n break;\n\n case \"light\":\n case \"thin\":\n r = \"200\";\n }\n }\n\n return {\n style: i,\n weight: t.fWeight || r\n };\n }\n\n extendPrototype([ShapeModifier], RepeaterModifier), RepeaterModifier.prototype.initModifierProperties = function (t, e) {\n this.getValue = this.processKeys, this.c = PropertyFactory.getProp(t, e.c, 0, null, this), this.o = PropertyFactory.getProp(t, e.o, 0, null, this), this.tr = TransformPropertyFactory.getTransformProperty(t, e.tr, this), this.so = PropertyFactory.getProp(t, e.tr.so, 0, .01, this), this.eo = PropertyFactory.getProp(t, e.tr.eo, 0, .01, this), this.data = e, this.dynamicProperties.length || this.getValue(!0), this._isAnimated = !!this.dynamicProperties.length, this.pMatrix = new Matrix(), this.rMatrix = new Matrix(), this.sMatrix = new Matrix(), this.tMatrix = new Matrix(), this.matrix = new Matrix();\n }, RepeaterModifier.prototype.applyTransforms = function (t, e, r, i, a, s) {\n var n = s ? -1 : 1,\n o = i.s.v[0] + (1 - i.s.v[0]) * (1 - a),\n h = i.s.v[1] + (1 - i.s.v[1]) * (1 - a);\n t.translate(i.p.v[0] * n * a, i.p.v[1] * n * a, i.p.v[2]), e.translate(-i.a.v[0], -i.a.v[1], i.a.v[2]), e.rotate(-i.r.v * n * a), e.translate(i.a.v[0], i.a.v[1], i.a.v[2]), r.translate(-i.a.v[0], -i.a.v[1], i.a.v[2]), r.scale(s ? 1 / o : o, s ? 1 / h : h), r.translate(i.a.v[0], i.a.v[1], i.a.v[2]);\n }, RepeaterModifier.prototype.init = function (t, e, r, i) {\n for (this.elem = t, this.arr = e, this.pos = r, this.elemsData = i, this._currentCopies = 0, this._elements = [], this._groups = [], this.frameId = -1, this.initDynamicPropertyContainer(t), this.initModifierProperties(t, e[r]); r > 0;) {\n r -= 1, this._elements.unshift(e[r]);\n }\n\n this.dynamicProperties.length ? this.k = !0 : this.getValue(!0);\n }, RepeaterModifier.prototype.resetElements = function (t) {\n var e,\n r = t.length;\n\n for (e = 0; e < r; e += 1) {\n t[e]._processed = !1, \"gr\" === t[e].ty && this.resetElements(t[e].it);\n }\n }, RepeaterModifier.prototype.cloneElements = function (t) {\n var e = JSON.parse(JSON.stringify(t));\n return this.resetElements(e), e;\n }, RepeaterModifier.prototype.changeGroupRender = function (t, e) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n t[r]._render = e, \"gr\" === t[r].ty && this.changeGroupRender(t[r].it, e);\n }\n }, RepeaterModifier.prototype.processShapes = function (t) {\n var e,\n r,\n i,\n a,\n s,\n n = !1;\n\n if (this._mdf || t) {\n var o,\n h = Math.ceil(this.c.v);\n\n if (this._groups.length < h) {\n for (; this._groups.length < h;) {\n var l = {\n it: this.cloneElements(this._elements),\n ty: \"gr\"\n };\n l.it.push({\n a: {\n a: 0,\n ix: 1,\n k: [0, 0]\n },\n nm: \"Transform\",\n o: {\n a: 0,\n ix: 7,\n k: 100\n },\n p: {\n a: 0,\n ix: 2,\n k: [0, 0]\n },\n r: {\n a: 1,\n ix: 6,\n k: [{\n s: 0,\n e: 0,\n t: 0\n }, {\n s: 0,\n e: 0,\n t: 1\n }]\n },\n s: {\n a: 0,\n ix: 3,\n k: [100, 100]\n },\n sa: {\n a: 0,\n ix: 5,\n k: 0\n },\n sk: {\n a: 0,\n ix: 4,\n k: 0\n },\n ty: \"tr\"\n }), this.arr.splice(0, 0, l), this._groups.splice(0, 0, l), this._currentCopies += 1;\n }\n\n this.elem.reloadShapes(), n = !0;\n }\n\n for (s = 0, i = 0; i <= this._groups.length - 1; i += 1) {\n if (o = s < h, this._groups[i]._render = o, this.changeGroupRender(this._groups[i].it, o), !o) {\n var p = this.elemsData[i].it,\n f = p[p.length - 1];\n 0 !== f.transform.op.v ? (f.transform.op._mdf = !0, f.transform.op.v = 0) : f.transform.op._mdf = !1;\n }\n\n s += 1;\n }\n\n this._currentCopies = h;\n var c = this.o.v,\n m = c % 1,\n d = c > 0 ? Math.floor(c) : Math.ceil(c),\n u = this.pMatrix.props,\n y = this.rMatrix.props,\n g = this.sMatrix.props;\n this.pMatrix.reset(), this.rMatrix.reset(), this.sMatrix.reset(), this.tMatrix.reset(), this.matrix.reset();\n var v,\n b,\n x = 0;\n\n if (c > 0) {\n for (; x < d;) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), x += 1;\n }\n\n m && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, m, !1), x += m);\n } else if (c < 0) {\n for (; x > d;) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !0), x -= 1;\n }\n\n m && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -m, !0), x -= m);\n }\n\n for (i = 1 === this.data.m ? 0 : this._currentCopies - 1, a = 1 === this.data.m ? 1 : -1, s = this._currentCopies; s;) {\n if (b = (r = (e = this.elemsData[i].it)[e.length - 1].transform.mProps.v.props).length, e[e.length - 1].transform.mProps._mdf = !0, e[e.length - 1].transform.op._mdf = !0, e[e.length - 1].transform.op.v = 1 === this._currentCopies ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1)), 0 !== x) {\n for ((0 !== i && 1 === a || i !== this._currentCopies - 1 && -1 === a) && this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), this.matrix.transform(y[0], y[1], y[2], y[3], y[4], y[5], y[6], y[7], y[8], y[9], y[10], y[11], y[12], y[13], y[14], y[15]), this.matrix.transform(g[0], g[1], g[2], g[3], g[4], g[5], g[6], g[7], g[8], g[9], g[10], g[11], g[12], g[13], g[14], g[15]), this.matrix.transform(u[0], u[1], u[2], u[3], u[4], u[5], u[6], u[7], u[8], u[9], u[10], u[11], u[12], u[13], u[14], u[15]), v = 0; v < b; v += 1) {\n r[v] = this.matrix.props[v];\n }\n\n this.matrix.reset();\n } else for (this.matrix.reset(), v = 0; v < b; v += 1) {\n r[v] = this.matrix.props[v];\n }\n\n x += 1, s -= 1, i += a;\n }\n } else for (s = this._currentCopies, i = 0, a = 1; s;) {\n r = (e = this.elemsData[i].it)[e.length - 1].transform.mProps.v.props, e[e.length - 1].transform.mProps._mdf = !1, e[e.length - 1].transform.op._mdf = !1, s -= 1, i += a;\n }\n\n return n;\n }, RepeaterModifier.prototype.addShape = function () {}, extendPrototype([ShapeModifier], RoundCornersModifier), RoundCornersModifier.prototype.initModifierProperties = function (t, e) {\n this.getValue = this.processKeys, this.rd = PropertyFactory.getProp(t, e.r, 0, null, this), this._isAnimated = !!this.rd.effectsSequence.length;\n }, RoundCornersModifier.prototype.processPath = function (t, e) {\n var r,\n i = shapePool.newElement();\n i.c = t.c;\n var a,\n s,\n n,\n o,\n h,\n l,\n p,\n f,\n c,\n m,\n d,\n u,\n y = t._length,\n g = 0;\n\n for (r = 0; r < y; r += 1) {\n a = t.v[r], n = t.o[r], s = t.i[r], a[0] === n[0] && a[1] === n[1] && a[0] === s[0] && a[1] === s[1] ? 0 !== r && r !== y - 1 || t.c ? (o = 0 === r ? t.v[y - 1] : t.v[r - 1], l = (h = Math.sqrt(Math.pow(a[0] - o[0], 2) + Math.pow(a[1] - o[1], 2))) ? Math.min(h / 2, e) / h : 0, p = d = a[0] + (o[0] - a[0]) * l, f = u = a[1] - (a[1] - o[1]) * l, c = p - (p - a[0]) * roundCorner, m = f - (f - a[1]) * roundCorner, i.setTripleAt(p, f, c, m, d, u, g), g += 1, o = r === y - 1 ? t.v[0] : t.v[r + 1], l = (h = Math.sqrt(Math.pow(a[0] - o[0], 2) + Math.pow(a[1] - o[1], 2))) ? Math.min(h / 2, e) / h : 0, p = c = a[0] + (o[0] - a[0]) * l, f = m = a[1] + (o[1] - a[1]) * l, d = p - (p - a[0]) * roundCorner, u = f - (f - a[1]) * roundCorner, i.setTripleAt(p, f, c, m, d, u, g), g += 1) : (i.setTripleAt(a[0], a[1], n[0], n[1], s[0], s[1], g), g += 1) : (i.setTripleAt(t.v[r][0], t.v[r][1], t.o[r][0], t.o[r][1], t.i[r][0], t.i[r][1], g), g += 1);\n }\n\n return i;\n }, RoundCornersModifier.prototype.processShapes = function (t) {\n var e,\n r,\n i,\n a,\n s,\n n,\n o = this.shapes.length,\n h = this.rd.v;\n if (0 !== h) for (r = 0; r < o; r += 1) {\n if (n = (s = this.shapes[r]).localShapeCollection, s.shape._mdf || this._mdf || t) for (n.releaseShapes(), s.shape._mdf = !0, e = s.shape.paths.shapes, a = s.shape.paths._length, i = 0; i < a; i += 1) {\n n.addShape(this.processPath(e[i], h));\n }\n s.shape.paths = s.localShapeCollection;\n }\n this.dynamicProperties.length || (this._mdf = !1);\n };\n\n var FontManager = function () {\n var t = {\n w: 0,\n size: 0,\n shapes: [],\n data: {\n shapes: []\n }\n },\n e = [];\n e = e.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n var r = [\"d83cdffb\", \"d83cdffc\", \"d83cdffd\", \"d83cdffe\", \"d83cdfff\"],\n i = [65039, 8205];\n\n function a(t, e) {\n var r = createTag(\"span\");\n r.setAttribute(\"aria-hidden\", !0), r.style.fontFamily = e;\n var i = createTag(\"span\");\n i.innerText = \"giItT1WQy@!-/#\", r.style.position = \"absolute\", r.style.left = \"-10000px\", r.style.top = \"-10000px\", r.style.fontSize = \"300px\", r.style.fontVariant = \"normal\", r.style.fontStyle = \"normal\", r.style.fontWeight = \"normal\", r.style.letterSpacing = \"0\", r.appendChild(i), document.body.appendChild(r);\n var a = i.offsetWidth;\n return i.style.fontFamily = function (t) {\n var e,\n r = t.split(\",\"),\n i = r.length,\n a = [];\n\n for (e = 0; e < i; e += 1) {\n \"sans-serif\" !== r[e] && \"monospace\" !== r[e] && a.push(r[e]);\n }\n\n return a.join(\",\");\n }(t) + \", \" + e, {\n node: i,\n w: a,\n parent: r\n };\n }\n\n function s(t, e) {\n var r = createNS(\"text\");\n r.style.fontSize = \"100px\";\n var i = getFontProperties(e);\n return r.setAttribute(\"font-family\", e.fFamily), r.setAttribute(\"font-style\", i.style), r.setAttribute(\"font-weight\", i.weight), r.textContent = \"1\", e.fClass ? (r.style.fontFamily = \"inherit\", r.setAttribute(\"class\", e.fClass)) : r.style.fontFamily = e.fFamily, t.appendChild(r), createTag(\"canvas\").getContext(\"2d\").font = e.fWeight + \" \" + e.fStyle + \" 100px \" + e.fFamily, r;\n }\n\n var n = function n() {\n this.fonts = [], this.chars = null, this.typekitLoaded = 0, this.isLoaded = !1, this._warned = !1, this.initTime = Date.now(), this.setIsLoadedBinded = this.setIsLoaded.bind(this), this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n };\n\n return n.isModifier = function (t, e) {\n var i = t.toString(16) + e.toString(16);\n return -1 !== r.indexOf(i);\n }, n.isZeroWidthJoiner = function (t, e) {\n return e ? t === i[0] && e === i[1] : t === i[1];\n }, n.isCombinedCharacter = function (t) {\n return -1 !== e.indexOf(t);\n }, n.prototype = {\n addChars: function addChars(t) {\n if (t) {\n var e;\n this.chars || (this.chars = []);\n var r,\n i,\n a = t.length,\n s = this.chars.length;\n\n for (e = 0; e < a; e += 1) {\n for (r = 0, i = !1; r < s;) {\n this.chars[r].style === t[e].style && this.chars[r].fFamily === t[e].fFamily && this.chars[r].ch === t[e].ch && (i = !0), r += 1;\n }\n\n i || (this.chars.push(t[e]), s += 1);\n }\n }\n },\n addFonts: function addFonts(t, e) {\n if (t) {\n if (this.chars) return this.isLoaded = !0, void (this.fonts = t.list);\n var r,\n i = t.list,\n n = i.length,\n o = n;\n\n for (r = 0; r < n; r += 1) {\n var h,\n l,\n p = !0;\n\n if (i[r].loaded = !1, i[r].monoCase = a(i[r].fFamily, \"monospace\"), i[r].sansCase = a(i[r].fFamily, \"sans-serif\"), i[r].fPath) {\n if (\"p\" === i[r].fOrigin || 3 === i[r].origin) {\n if ((h = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + i[r].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + i[r].fFamily + '\"]')).length > 0 && (p = !1), p) {\n var f = createTag(\"style\");\n f.setAttribute(\"f-forigin\", i[r].fOrigin), f.setAttribute(\"f-origin\", i[r].origin), f.setAttribute(\"f-family\", i[r].fFamily), f.type = \"text/css\", f.innerText = \"@font-face {font-family: \" + i[r].fFamily + \"; font-style: normal; src: url('\" + i[r].fPath + \"');}\", e.appendChild(f);\n }\n } else if (\"g\" === i[r].fOrigin || 1 === i[r].origin) {\n for (h = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]'), l = 0; l < h.length; l += 1) {\n -1 !== h[l].href.indexOf(i[r].fPath) && (p = !1);\n }\n\n if (p) {\n var c = createTag(\"link\");\n c.setAttribute(\"f-forigin\", i[r].fOrigin), c.setAttribute(\"f-origin\", i[r].origin), c.type = \"text/css\", c.rel = \"stylesheet\", c.href = i[r].fPath, document.body.appendChild(c);\n }\n } else if (\"t\" === i[r].fOrigin || 2 === i[r].origin) {\n for (h = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]'), l = 0; l < h.length; l += 1) {\n i[r].fPath === h[l].src && (p = !1);\n }\n\n if (p) {\n var m = createTag(\"link\");\n m.setAttribute(\"f-forigin\", i[r].fOrigin), m.setAttribute(\"f-origin\", i[r].origin), m.setAttribute(\"rel\", \"stylesheet\"), m.setAttribute(\"href\", i[r].fPath), e.appendChild(m);\n }\n }\n } else i[r].loaded = !0, o -= 1;\n\n i[r].helper = s(e, i[r]), i[r].cache = {}, this.fonts.push(i[r]);\n }\n\n 0 === o ? this.isLoaded = !0 : setTimeout(this.checkLoadedFonts.bind(this), 100);\n } else this.isLoaded = !0;\n },\n getCharData: function getCharData(e, r, i) {\n for (var a = 0, s = this.chars.length; a < s;) {\n if (this.chars[a].ch === e && this.chars[a].style === r && this.chars[a].fFamily === i) return this.chars[a];\n a += 1;\n }\n\n return (\"string\" == typeof e && 13 !== e.charCodeAt(0) || !e) && console && console.warn && !this._warned && (this._warned = !0), t;\n },\n getFontByName: function getFontByName(t) {\n for (var e = 0, r = this.fonts.length; e < r;) {\n if (this.fonts[e].fName === t) return this.fonts[e];\n e += 1;\n }\n\n return this.fonts[0];\n },\n measureText: function measureText(t, e, r) {\n var i = this.getFontByName(e),\n a = t.charCodeAt(0);\n\n if (!i.cache[a + 1]) {\n var s = i.helper;\n\n if (\" \" === t) {\n s.textContent = \"|\" + t + \"|\";\n var n = s.getComputedTextLength();\n s.textContent = \"||\";\n var o = s.getComputedTextLength();\n i.cache[a + 1] = (n - o) / 100;\n } else s.textContent = t, i.cache[a + 1] = s.getComputedTextLength() / 100;\n }\n\n return i.cache[a + 1] * r;\n },\n checkLoadedFonts: function checkLoadedFonts() {\n var t,\n e,\n r,\n i = this.fonts.length,\n a = i;\n\n for (t = 0; t < i; t += 1) {\n this.fonts[t].loaded ? a -= 1 : \"n\" === this.fonts[t].fOrigin || 0 === this.fonts[t].origin ? this.fonts[t].loaded = !0 : (e = this.fonts[t].monoCase.node, r = this.fonts[t].monoCase.w, e.offsetWidth !== r ? (a -= 1, this.fonts[t].loaded = !0) : (e = this.fonts[t].sansCase.node, r = this.fonts[t].sansCase.w, e.offsetWidth !== r && (a -= 1, this.fonts[t].loaded = !0)), this.fonts[t].loaded && (this.fonts[t].sansCase.parent.parentNode.removeChild(this.fonts[t].sansCase.parent), this.fonts[t].monoCase.parent.parentNode.removeChild(this.fonts[t].monoCase.parent)));\n }\n\n 0 !== a && Date.now() - this.initTime < 5e3 ? setTimeout(this.checkLoadedFontsBinded, 20) : setTimeout(this.setIsLoadedBinded, 10);\n },\n setIsLoaded: function setIsLoaded() {\n this.isLoaded = !0;\n }\n }, n;\n }();\n\n function RenderableElement() {}\n\n RenderableElement.prototype = {\n initRenderable: function initRenderable() {\n this.isInRange = !1, this.hidden = !1, this.isTransparent = !1, this.renderableComponents = [];\n },\n addRenderableComponent: function addRenderableComponent(t) {\n -1 === this.renderableComponents.indexOf(t) && this.renderableComponents.push(t);\n },\n removeRenderableComponent: function removeRenderableComponent(t) {\n -1 !== this.renderableComponents.indexOf(t) && this.renderableComponents.splice(this.renderableComponents.indexOf(t), 1);\n },\n prepareRenderableFrame: function prepareRenderableFrame(t) {\n this.checkLayerLimits(t);\n },\n checkTransparency: function checkTransparency() {\n this.finalTransform.mProp.o.v <= 0 ? !this.isTransparent && this.globalData.renderConfig.hideOnTransparent && (this.isTransparent = !0, this.hide()) : this.isTransparent && (this.isTransparent = !1, this.show());\n },\n checkLayerLimits: function checkLayerLimits(t) {\n this.data.ip - this.data.st <= t && this.data.op - this.data.st > t ? !0 !== this.isInRange && (this.globalData._mdf = !0, this._mdf = !0, this.isInRange = !0, this.show()) : !1 !== this.isInRange && (this.globalData._mdf = !0, this.isInRange = !1, this.hide());\n },\n renderRenderable: function renderRenderable() {\n var t,\n e = this.renderableComponents.length;\n\n for (t = 0; t < e; t += 1) {\n this.renderableComponents[t].renderFrame(this._isFirstFrame);\n }\n },\n sourceRectAtTime: function sourceRectAtTime() {\n return {\n top: 0,\n left: 0,\n width: 100,\n height: 100\n };\n },\n getLayerSize: function getLayerSize() {\n return 5 === this.data.ty ? {\n w: this.data.textData.width,\n h: this.data.textData.height\n } : {\n w: this.data.width,\n h: this.data.height\n };\n }\n };\n\n var MaskManagerInterface = function () {\n function t(t, e) {\n this._mask = t, this._data = e;\n }\n\n Object.defineProperty(t.prototype, \"maskPath\", {\n get: function get() {\n return this._mask.prop.k && this._mask.prop.getValue(), this._mask.prop;\n }\n }), Object.defineProperty(t.prototype, \"maskOpacity\", {\n get: function get() {\n return this._mask.op.k && this._mask.op.getValue(), 100 * this._mask.op.v;\n }\n });\n return function (e) {\n var r,\n i = createSizedArray(e.viewData.length),\n a = e.viewData.length;\n\n for (r = 0; r < a; r += 1) {\n i[r] = new t(e.viewData[r], e.masksProperties[r]);\n }\n\n return function (t) {\n for (r = 0; r < a;) {\n if (e.masksProperties[r].nm === t) return i[r];\n r += 1;\n }\n\n return null;\n };\n };\n }(),\n ExpressionPropertyInterface = function () {\n var t = {\n pv: 0,\n v: 0,\n mult: 1\n },\n e = {\n pv: [0, 0, 0],\n v: [0, 0, 0],\n mult: 1\n };\n\n function r(t, e, r) {\n Object.defineProperty(t, \"velocity\", {\n get: function get() {\n return e.getVelocityAtTime(e.comp.currentFrame);\n }\n }), t.numKeys = e.keyframes ? e.keyframes.length : 0, t.key = function (i) {\n if (!t.numKeys) return 0;\n var a = \"\";\n a = \"s\" in e.keyframes[i - 1] ? e.keyframes[i - 1].s : \"e\" in e.keyframes[i - 2] ? e.keyframes[i - 2].e : e.keyframes[i - 2].s;\n var s = \"unidimensional\" === r ? new Number(a) : Object.assign({}, a);\n return s.time = e.keyframes[i - 1].t / e.elem.comp.globalData.frameRate, s.value = \"unidimensional\" === r ? a[0] : a, s;\n }, t.valueAtTime = e.getValueAtTime, t.speedAtTime = e.getSpeedAtTime, t.velocityAtTime = e.getVelocityAtTime, t.propertyGroup = e.propertyGroup;\n }\n\n function i() {\n return t;\n }\n\n return function (a) {\n return a ? \"unidimensional\" === a.propType ? function (e) {\n e && \"pv\" in e || (e = t);\n var i = 1 / e.mult,\n a = e.pv * i,\n s = new Number(a);\n return s.value = a, r(s, e, \"unidimensional\"), function () {\n return e.k && e.getValue(), a = e.v * i, s.value !== a && ((s = new Number(a)).value = a, r(s, e, \"unidimensional\")), s;\n };\n }(a) : function (t) {\n t && \"pv\" in t || (t = e);\n var i = 1 / t.mult,\n a = t.data && t.data.l || t.pv.length,\n s = createTypedArray(\"float32\", a),\n n = createTypedArray(\"float32\", a);\n return s.value = n, r(s, t, \"multidimensional\"), function () {\n t.k && t.getValue();\n\n for (var e = 0; e < a; e += 1) {\n n[e] = t.v[e] * i, s[e] = n[e];\n }\n\n return s;\n };\n }(a) : i;\n };\n }(),\n TransformExpressionInterface = function TransformExpressionInterface(t) {\n function e(t) {\n switch (t) {\n case \"scale\":\n case \"Scale\":\n case \"ADBE Scale\":\n case 6:\n return e.scale;\n\n case \"rotation\":\n case \"Rotation\":\n case \"ADBE Rotation\":\n case \"ADBE Rotate Z\":\n case 10:\n return e.rotation;\n\n case \"ADBE Rotate X\":\n return e.xRotation;\n\n case \"ADBE Rotate Y\":\n return e.yRotation;\n\n case \"position\":\n case \"Position\":\n case \"ADBE Position\":\n case 2:\n return e.position;\n\n case \"ADBE Position_0\":\n return e.xPosition;\n\n case \"ADBE Position_1\":\n return e.yPosition;\n\n case \"ADBE Position_2\":\n return e.zPosition;\n\n case \"anchorPoint\":\n case \"AnchorPoint\":\n case \"Anchor Point\":\n case \"ADBE AnchorPoint\":\n case 1:\n return e.anchorPoint;\n\n case \"opacity\":\n case \"Opacity\":\n case 11:\n return e.opacity;\n\n default:\n return null;\n }\n }\n\n var r, i, a, s;\n return Object.defineProperty(e, \"rotation\", {\n get: ExpressionPropertyInterface(t.r || t.rz)\n }), Object.defineProperty(e, \"zRotation\", {\n get: ExpressionPropertyInterface(t.rz || t.r)\n }), Object.defineProperty(e, \"xRotation\", {\n get: ExpressionPropertyInterface(t.rx)\n }), Object.defineProperty(e, \"yRotation\", {\n get: ExpressionPropertyInterface(t.ry)\n }), Object.defineProperty(e, \"scale\", {\n get: ExpressionPropertyInterface(t.s)\n }), t.p ? s = ExpressionPropertyInterface(t.p) : (r = ExpressionPropertyInterface(t.px), i = ExpressionPropertyInterface(t.py), t.pz && (a = ExpressionPropertyInterface(t.pz))), Object.defineProperty(e, \"position\", {\n get: function get() {\n return t.p ? s() : [r(), i(), a ? a() : 0];\n }\n }), Object.defineProperty(e, \"xPosition\", {\n get: ExpressionPropertyInterface(t.px)\n }), Object.defineProperty(e, \"yPosition\", {\n get: ExpressionPropertyInterface(t.py)\n }), Object.defineProperty(e, \"zPosition\", {\n get: ExpressionPropertyInterface(t.pz)\n }), Object.defineProperty(e, \"anchorPoint\", {\n get: ExpressionPropertyInterface(t.a)\n }), Object.defineProperty(e, \"opacity\", {\n get: ExpressionPropertyInterface(t.o)\n }), Object.defineProperty(e, \"skew\", {\n get: ExpressionPropertyInterface(t.sk)\n }), Object.defineProperty(e, \"skewAxis\", {\n get: ExpressionPropertyInterface(t.sa)\n }), Object.defineProperty(e, \"orientation\", {\n get: ExpressionPropertyInterface(t.or)\n }), e;\n },\n LayerExpressionInterface = function () {\n function t(t) {\n var e = new Matrix();\n void 0 !== t ? this._elem.finalTransform.mProp.getValueAtTime(t).clone(e) : this._elem.finalTransform.mProp.applyToMatrix(e);\n return e;\n }\n\n function e(t, e) {\n var r = this.getMatrix(e);\n return r.props[12] = 0, r.props[13] = 0, r.props[14] = 0, this.applyPoint(r, t);\n }\n\n function r(t, e) {\n var r = this.getMatrix(e);\n return this.applyPoint(r, t);\n }\n\n function i(t, e) {\n var r = this.getMatrix(e);\n return r.props[12] = 0, r.props[13] = 0, r.props[14] = 0, this.invertPoint(r, t);\n }\n\n function a(t, e) {\n var r = this.getMatrix(e);\n return this.invertPoint(r, t);\n }\n\n function s(t, e) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var r,\n i = this._elem.hierarchy.length;\n\n for (r = 0; r < i; r += 1) {\n this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(t);\n }\n }\n\n return t.applyToPointArray(e[0], e[1], e[2] || 0);\n }\n\n function n(t, e) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var r,\n i = this._elem.hierarchy.length;\n\n for (r = 0; r < i; r += 1) {\n this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(t);\n }\n }\n\n return t.inversePoint(e);\n }\n\n function o(t) {\n var e = new Matrix();\n\n if (e.reset(), this._elem.finalTransform.mProp.applyToMatrix(e), this._elem.hierarchy && this._elem.hierarchy.length) {\n var r,\n i = this._elem.hierarchy.length;\n\n for (r = 0; r < i; r += 1) {\n this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(e);\n }\n\n return e.inversePoint(t);\n }\n\n return e.inversePoint(t);\n }\n\n function h() {\n return [1, 1, 1, 1];\n }\n\n return function (l) {\n var p;\n\n function f(t) {\n switch (t) {\n case \"ADBE Root Vectors Group\":\n case \"Contents\":\n case 2:\n return f.shapeInterface;\n\n case 1:\n case 6:\n case \"Transform\":\n case \"transform\":\n case \"ADBE Transform Group\":\n return p;\n\n case 4:\n case \"ADBE Effect Parade\":\n case \"effects\":\n case \"Effects\":\n return f.effect;\n\n case \"ADBE Text Properties\":\n return f.textInterface;\n\n default:\n return null;\n }\n }\n\n f.getMatrix = t, f.invertPoint = n, f.applyPoint = s, f.toWorld = r, f.toWorldVec = e, f.fromWorld = a, f.fromWorldVec = i, f.toComp = r, f.fromComp = o, f.sampleImage = h, f.sourceRectAtTime = l.sourceRectAtTime.bind(l), f._elem = l;\n var c = getDescriptor(p = TransformExpressionInterface(l.finalTransform.mProp), \"anchorPoint\");\n return Object.defineProperties(f, {\n hasParent: {\n get: function get() {\n return l.hierarchy.length;\n }\n },\n parent: {\n get: function get() {\n return l.hierarchy[0].layerInterface;\n }\n },\n rotation: getDescriptor(p, \"rotation\"),\n scale: getDescriptor(p, \"scale\"),\n position: getDescriptor(p, \"position\"),\n opacity: getDescriptor(p, \"opacity\"),\n anchorPoint: c,\n anchor_point: c,\n transform: {\n get: function get() {\n return p;\n }\n },\n active: {\n get: function get() {\n return l.isInRange;\n }\n }\n }), f.startTime = l.data.st, f.index = l.data.ind, f.source = l.data.refId, f.height = 0 === l.data.ty ? l.data.h : 100, f.width = 0 === l.data.ty ? l.data.w : 100, f.inPoint = l.data.ip / l.comp.globalData.frameRate, f.outPoint = l.data.op / l.comp.globalData.frameRate, f._name = l.data.nm, f.registerMaskInterface = function (t) {\n f.mask = new MaskManagerInterface(t, l);\n }, f.registerEffectsInterface = function (t) {\n f.effect = t;\n }, f;\n };\n }(),\n propertyGroupFactory = function propertyGroupFactory(t, e) {\n return function (r) {\n return (r = void 0 === r ? 1 : r) <= 0 ? t : e(r - 1);\n };\n },\n PropertyInterface = function PropertyInterface(t, e) {\n var r = {\n _name: t\n };\n return function (t) {\n return (t = void 0 === t ? 1 : t) <= 0 ? r : e(t - 1);\n };\n },\n EffectsExpressionInterface = function () {\n function t(r, i, a, s) {\n function n(t) {\n for (var e = r.ef, i = 0, a = e.length; i < a;) {\n if (t === e[i].nm || t === e[i].mn || t === e[i].ix) return 5 === e[i].ty ? l[i] : l[i]();\n i += 1;\n }\n\n throw new Error();\n }\n\n var o,\n h = propertyGroupFactory(n, a),\n l = [],\n p = r.ef.length;\n\n for (o = 0; o < p; o += 1) {\n 5 === r.ef[o].ty ? l.push(t(r.ef[o], i.effectElements[o], i.effectElements[o].propertyGroup, s)) : l.push(e(i.effectElements[o], r.ef[o].ty, s, h));\n }\n\n return \"ADBE Color Control\" === r.mn && Object.defineProperty(n, \"color\", {\n get: function get() {\n return l[0]();\n }\n }), Object.defineProperties(n, {\n numProperties: {\n get: function get() {\n return r.np;\n }\n },\n _name: {\n value: r.nm\n },\n propertyGroup: {\n value: h\n }\n }), n.enabled = 0 !== r.en, n.active = n.enabled, n;\n }\n\n function e(t, e, r, i) {\n var a = ExpressionPropertyInterface(t.p);\n return t.p.setGroupProperty && t.p.setGroupProperty(PropertyInterface(\"\", i)), function () {\n return 10 === e ? r.comp.compInterface(t.p.v) : a();\n };\n }\n\n return {\n createEffectsInterface: function createEffectsInterface(e, r) {\n if (e.effectsManager) {\n var i,\n a = [],\n s = e.data.ef,\n n = e.effectsManager.effectElements.length;\n\n for (i = 0; i < n; i += 1) {\n a.push(t(s[i], e.effectsManager.effectElements[i], r, e));\n }\n\n var o = e.data.ef || [],\n h = function h(t) {\n for (i = 0, n = o.length; i < n;) {\n if (t === o[i].nm || t === o[i].mn || t === o[i].ix) return a[i];\n i += 1;\n }\n\n return null;\n };\n\n return Object.defineProperty(h, \"numProperties\", {\n get: function get() {\n return o.length;\n }\n }), h;\n }\n\n return null;\n }\n };\n }(),\n CompExpressionInterface = function CompExpressionInterface(t) {\n function e(e) {\n for (var r = 0, i = t.layers.length; r < i;) {\n if (t.layers[r].nm === e || t.layers[r].ind === e) return t.elements[r].layerInterface;\n r += 1;\n }\n\n return null;\n }\n\n return Object.defineProperty(e, \"_name\", {\n value: t.data.nm\n }), e.layer = e, e.pixelAspect = 1, e.height = t.data.h || t.globalData.compSize.h, e.width = t.data.w || t.globalData.compSize.w, e.pixelAspect = 1, e.frameDuration = 1 / t.globalData.frameRate, e.displayStartTime = 0, e.numLayers = t.layers.length, e;\n },\n ShapePathInterface = function ShapePathInterface(t, e, r) {\n var i = e.sh;\n\n function a(t) {\n return \"Shape\" === t || \"shape\" === t || \"Path\" === t || \"path\" === t || \"ADBE Vector Shape\" === t || 2 === t ? a.path : null;\n }\n\n var s = propertyGroupFactory(a, r);\n return i.setGroupProperty(PropertyInterface(\"Path\", s)), Object.defineProperties(a, {\n path: {\n get: function get() {\n return i.k && i.getValue(), i;\n }\n },\n shape: {\n get: function get() {\n return i.k && i.getValue(), i;\n }\n },\n _name: {\n value: t.nm\n },\n ix: {\n value: t.ix\n },\n propertyIndex: {\n value: t.ix\n },\n mn: {\n value: t.mn\n },\n propertyGroup: {\n value: r\n }\n }), a;\n },\n ShapeExpressionInterface = function () {\n function t(t, o, m) {\n var d,\n u = [],\n y = t ? t.length : 0;\n\n for (d = 0; d < y; d += 1) {\n \"gr\" === t[d].ty ? u.push(e(t[d], o[d], m)) : \"fl\" === t[d].ty ? u.push(r(t[d], o[d], m)) : \"st\" === t[d].ty ? u.push(s(t[d], o[d], m)) : \"tm\" === t[d].ty ? u.push(n(t[d], o[d], m)) : \"tr\" === t[d].ty || (\"el\" === t[d].ty ? u.push(h(t[d], o[d], m)) : \"sr\" === t[d].ty ? u.push(l(t[d], o[d], m)) : \"sh\" === t[d].ty ? u.push(ShapePathInterface(t[d], o[d], m)) : \"rc\" === t[d].ty ? u.push(p(t[d], o[d], m)) : \"rd\" === t[d].ty ? u.push(f(t[d], o[d], m)) : \"rp\" === t[d].ty ? u.push(c(t[d], o[d], m)) : \"gf\" === t[d].ty ? u.push(i(t[d], o[d], m)) : u.push(a(t[d], o[d])));\n }\n\n return u;\n }\n\n function e(e, r, i) {\n var a = function a(t) {\n switch (t) {\n case \"ADBE Vectors Group\":\n case \"Contents\":\n case 2:\n return a.content;\n\n default:\n return a.transform;\n }\n };\n\n a.propertyGroup = propertyGroupFactory(a, i);\n\n var s = function (e, r, i) {\n var a,\n s = function s(t) {\n for (var e = 0, r = a.length; e < r;) {\n if (a[e]._name === t || a[e].mn === t || a[e].propertyIndex === t || a[e].ix === t || a[e].ind === t) return a[e];\n e += 1;\n }\n\n return \"number\" == typeof t ? a[t - 1] : null;\n };\n\n s.propertyGroup = propertyGroupFactory(s, i), a = t(e.it, r.it, s.propertyGroup), s.numProperties = a.length;\n var n = o(e.it[e.it.length - 1], r.it[r.it.length - 1], s.propertyGroup);\n return s.transform = n, s.propertyIndex = e.cix, s._name = e.nm, s;\n }(e, r, a.propertyGroup),\n n = o(e.it[e.it.length - 1], r.it[r.it.length - 1], a.propertyGroup);\n\n return a.content = s, a.transform = n, Object.defineProperty(a, \"_name\", {\n get: function get() {\n return e.nm;\n }\n }), a.numProperties = e.np, a.propertyIndex = e.ix, a.nm = e.nm, a.mn = e.mn, a;\n }\n\n function r(t, e, r) {\n function i(t) {\n return \"Color\" === t || \"color\" === t ? i.color : \"Opacity\" === t || \"opacity\" === t ? i.opacity : null;\n }\n\n return Object.defineProperties(i, {\n color: {\n get: ExpressionPropertyInterface(e.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(e.o)\n },\n _name: {\n value: t.nm\n },\n mn: {\n value: t.mn\n }\n }), e.c.setGroupProperty(PropertyInterface(\"Color\", r)), e.o.setGroupProperty(PropertyInterface(\"Opacity\", r)), i;\n }\n\n function i(t, e, r) {\n function i(t) {\n return \"Start Point\" === t || \"start point\" === t ? i.startPoint : \"End Point\" === t || \"end point\" === t ? i.endPoint : \"Opacity\" === t || \"opacity\" === t ? i.opacity : null;\n }\n\n return Object.defineProperties(i, {\n startPoint: {\n get: ExpressionPropertyInterface(e.s)\n },\n endPoint: {\n get: ExpressionPropertyInterface(e.e)\n },\n opacity: {\n get: ExpressionPropertyInterface(e.o)\n },\n type: {\n get: function get() {\n return \"a\";\n }\n },\n _name: {\n value: t.nm\n },\n mn: {\n value: t.mn\n }\n }), e.s.setGroupProperty(PropertyInterface(\"Start Point\", r)), e.e.setGroupProperty(PropertyInterface(\"End Point\", r)), e.o.setGroupProperty(PropertyInterface(\"Opacity\", r)), i;\n }\n\n function a() {\n return function () {\n return null;\n };\n }\n\n function s(t, e, r) {\n var i,\n a = propertyGroupFactory(l, r),\n s = propertyGroupFactory(h, a);\n\n function n(r) {\n Object.defineProperty(h, t.d[r].nm, {\n get: ExpressionPropertyInterface(e.d.dataProps[r].p)\n });\n }\n\n var o = t.d ? t.d.length : 0,\n h = {};\n\n for (i = 0; i < o; i += 1) {\n n(i), e.d.dataProps[i].p.setGroupProperty(s);\n }\n\n function l(t) {\n return \"Color\" === t || \"color\" === t ? l.color : \"Opacity\" === t || \"opacity\" === t ? l.opacity : \"Stroke Width\" === t || \"stroke width\" === t ? l.strokeWidth : null;\n }\n\n return Object.defineProperties(l, {\n color: {\n get: ExpressionPropertyInterface(e.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(e.o)\n },\n strokeWidth: {\n get: ExpressionPropertyInterface(e.w)\n },\n dash: {\n get: function get() {\n return h;\n }\n },\n _name: {\n value: t.nm\n },\n mn: {\n value: t.mn\n }\n }), e.c.setGroupProperty(PropertyInterface(\"Color\", a)), e.o.setGroupProperty(PropertyInterface(\"Opacity\", a)), e.w.setGroupProperty(PropertyInterface(\"Stroke Width\", a)), l;\n }\n\n function n(t, e, r) {\n function i(e) {\n return e === t.e.ix || \"End\" === e || \"end\" === e ? i.end : e === t.s.ix ? i.start : e === t.o.ix ? i.offset : null;\n }\n\n var a = propertyGroupFactory(i, r);\n return i.propertyIndex = t.ix, e.s.setGroupProperty(PropertyInterface(\"Start\", a)), e.e.setGroupProperty(PropertyInterface(\"End\", a)), e.o.setGroupProperty(PropertyInterface(\"Offset\", a)), i.propertyIndex = t.ix, i.propertyGroup = r, Object.defineProperties(i, {\n start: {\n get: ExpressionPropertyInterface(e.s)\n },\n end: {\n get: ExpressionPropertyInterface(e.e)\n },\n offset: {\n get: ExpressionPropertyInterface(e.o)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n function o(t, e, r) {\n function i(e) {\n return t.a.ix === e || \"Anchor Point\" === e ? i.anchorPoint : t.o.ix === e || \"Opacity\" === e ? i.opacity : t.p.ix === e || \"Position\" === e ? i.position : t.r.ix === e || \"Rotation\" === e || \"ADBE Vector Rotation\" === e ? i.rotation : t.s.ix === e || \"Scale\" === e ? i.scale : t.sk && t.sk.ix === e || \"Skew\" === e ? i.skew : t.sa && t.sa.ix === e || \"Skew Axis\" === e ? i.skewAxis : null;\n }\n\n var a = propertyGroupFactory(i, r);\n return e.transform.mProps.o.setGroupProperty(PropertyInterface(\"Opacity\", a)), e.transform.mProps.p.setGroupProperty(PropertyInterface(\"Position\", a)), e.transform.mProps.a.setGroupProperty(PropertyInterface(\"Anchor Point\", a)), e.transform.mProps.s.setGroupProperty(PropertyInterface(\"Scale\", a)), e.transform.mProps.r.setGroupProperty(PropertyInterface(\"Rotation\", a)), e.transform.mProps.sk && (e.transform.mProps.sk.setGroupProperty(PropertyInterface(\"Skew\", a)), e.transform.mProps.sa.setGroupProperty(PropertyInterface(\"Skew Angle\", a))), e.transform.op.setGroupProperty(PropertyInterface(\"Opacity\", a)), Object.defineProperties(i, {\n opacity: {\n get: ExpressionPropertyInterface(e.transform.mProps.o)\n },\n position: {\n get: ExpressionPropertyInterface(e.transform.mProps.p)\n },\n anchorPoint: {\n get: ExpressionPropertyInterface(e.transform.mProps.a)\n },\n scale: {\n get: ExpressionPropertyInterface(e.transform.mProps.s)\n },\n rotation: {\n get: ExpressionPropertyInterface(e.transform.mProps.r)\n },\n skew: {\n get: ExpressionPropertyInterface(e.transform.mProps.sk)\n },\n skewAxis: {\n get: ExpressionPropertyInterface(e.transform.mProps.sa)\n },\n _name: {\n value: t.nm\n }\n }), i.ty = \"tr\", i.mn = t.mn, i.propertyGroup = r, i;\n }\n\n function h(t, e, r) {\n function i(e) {\n return t.p.ix === e ? i.position : t.s.ix === e ? i.size : null;\n }\n\n var a = propertyGroupFactory(i, r);\n i.propertyIndex = t.ix;\n var s = \"tm\" === e.sh.ty ? e.sh.prop : e.sh;\n return s.s.setGroupProperty(PropertyInterface(\"Size\", a)), s.p.setGroupProperty(PropertyInterface(\"Position\", a)), Object.defineProperties(i, {\n size: {\n get: ExpressionPropertyInterface(s.s)\n },\n position: {\n get: ExpressionPropertyInterface(s.p)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n function l(t, e, r) {\n function i(e) {\n return t.p.ix === e ? i.position : t.r.ix === e ? i.rotation : t.pt.ix === e ? i.points : t.or.ix === e || \"ADBE Vector Star Outer Radius\" === e ? i.outerRadius : t.os.ix === e ? i.outerRoundness : !t.ir || t.ir.ix !== e && \"ADBE Vector Star Inner Radius\" !== e ? t.is && t.is.ix === e ? i.innerRoundness : null : i.innerRadius;\n }\n\n var a = propertyGroupFactory(i, r),\n s = \"tm\" === e.sh.ty ? e.sh.prop : e.sh;\n return i.propertyIndex = t.ix, s.or.setGroupProperty(PropertyInterface(\"Outer Radius\", a)), s.os.setGroupProperty(PropertyInterface(\"Outer Roundness\", a)), s.pt.setGroupProperty(PropertyInterface(\"Points\", a)), s.p.setGroupProperty(PropertyInterface(\"Position\", a)), s.r.setGroupProperty(PropertyInterface(\"Rotation\", a)), t.ir && (s.ir.setGroupProperty(PropertyInterface(\"Inner Radius\", a)), s.is.setGroupProperty(PropertyInterface(\"Inner Roundness\", a))), Object.defineProperties(i, {\n position: {\n get: ExpressionPropertyInterface(s.p)\n },\n rotation: {\n get: ExpressionPropertyInterface(s.r)\n },\n points: {\n get: ExpressionPropertyInterface(s.pt)\n },\n outerRadius: {\n get: ExpressionPropertyInterface(s.or)\n },\n outerRoundness: {\n get: ExpressionPropertyInterface(s.os)\n },\n innerRadius: {\n get: ExpressionPropertyInterface(s.ir)\n },\n innerRoundness: {\n get: ExpressionPropertyInterface(s.is)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n function p(t, e, r) {\n function i(e) {\n return t.p.ix === e ? i.position : t.r.ix === e ? i.roundness : t.s.ix === e || \"Size\" === e || \"ADBE Vector Rect Size\" === e ? i.size : null;\n }\n\n var a = propertyGroupFactory(i, r),\n s = \"tm\" === e.sh.ty ? e.sh.prop : e.sh;\n return i.propertyIndex = t.ix, s.p.setGroupProperty(PropertyInterface(\"Position\", a)), s.s.setGroupProperty(PropertyInterface(\"Size\", a)), s.r.setGroupProperty(PropertyInterface(\"Rotation\", a)), Object.defineProperties(i, {\n position: {\n get: ExpressionPropertyInterface(s.p)\n },\n roundness: {\n get: ExpressionPropertyInterface(s.r)\n },\n size: {\n get: ExpressionPropertyInterface(s.s)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n function f(t, e, r) {\n function i(e) {\n return t.r.ix === e || \"Round Corners 1\" === e ? i.radius : null;\n }\n\n var a = propertyGroupFactory(i, r),\n s = e;\n return i.propertyIndex = t.ix, s.rd.setGroupProperty(PropertyInterface(\"Radius\", a)), Object.defineProperties(i, {\n radius: {\n get: ExpressionPropertyInterface(s.rd)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n function c(t, e, r) {\n function i(e) {\n return t.c.ix === e || \"Copies\" === e ? i.copies : t.o.ix === e || \"Offset\" === e ? i.offset : null;\n }\n\n var a = propertyGroupFactory(i, r),\n s = e;\n return i.propertyIndex = t.ix, s.c.setGroupProperty(PropertyInterface(\"Copies\", a)), s.o.setGroupProperty(PropertyInterface(\"Offset\", a)), Object.defineProperties(i, {\n copies: {\n get: ExpressionPropertyInterface(s.c)\n },\n offset: {\n get: ExpressionPropertyInterface(s.o)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n return function (e, r, i) {\n var a;\n\n function s(t) {\n if (\"number\" == typeof t) return 0 === (t = void 0 === t ? 1 : t) ? i : a[t - 1];\n\n for (var e = 0, r = a.length; e < r;) {\n if (a[e]._name === t) return a[e];\n e += 1;\n }\n\n return null;\n }\n\n return s.propertyGroup = propertyGroupFactory(s, function () {\n return i;\n }), a = t(e, r, s.propertyGroup), s.numProperties = a.length, s._name = \"Contents\", s;\n };\n }(),\n TextExpressionInterface = function TextExpressionInterface(t) {\n var e;\n\n function r(t) {\n switch (t) {\n case \"ADBE Text Document\":\n return r.sourceText;\n\n default:\n return null;\n }\n }\n\n return Object.defineProperty(r, \"sourceText\", {\n get: function get() {\n t.textProperty.getValue();\n var r = t.textProperty.currentData.t;\n return void 0 !== r && (t.textProperty.currentData.t = void 0, (e = new String(r)).value = r || new String(r)), e;\n }\n }), r;\n },\n getBlendMode = (blendModeEnums = {\n 0: \"source-over\",\n 1: \"multiply\",\n 2: \"screen\",\n 3: \"overlay\",\n 4: \"darken\",\n 5: \"lighten\",\n 6: \"color-dodge\",\n 7: \"color-burn\",\n 8: \"hard-light\",\n 9: \"soft-light\",\n 10: \"difference\",\n 11: \"exclusion\",\n 12: \"hue\",\n 13: \"saturation\",\n 14: \"color\",\n 15: \"luminosity\"\n }, function (t) {\n return blendModeEnums[t] || \"\";\n }),\n blendModeEnums;\n\n function SliderEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n\n function AngleEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n\n function ColorEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 1, 0, r);\n }\n\n function PointEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 1, 0, r);\n }\n\n function LayerIndexEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n\n function MaskIndexEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n\n function CheckboxEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n\n function NoValueEffect() {\n this.p = {};\n }\n\n function EffectsManager(t, e) {\n var r,\n i = t.ef || [];\n this.effectElements = [];\n var a,\n s = i.length;\n\n for (r = 0; r < s; r += 1) {\n a = new GroupEffect(i[r], e), this.effectElements.push(a);\n }\n }\n\n function GroupEffect(t, e) {\n this.init(t, e);\n }\n\n function BaseElement() {}\n\n function FrameElement() {}\n\n function _typeof$2(t) {\n return (_typeof$2 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (t) {\n return typeof t;\n } : function (t) {\n return t && \"function\" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? \"symbol\" : typeof t;\n })(t);\n }\n\n extendPrototype([DynamicPropertyContainer], GroupEffect), GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties, GroupEffect.prototype.init = function (t, e) {\n var r;\n this.data = t, this.effectElements = [], this.initDynamicPropertyContainer(e);\n var i,\n a = this.data.ef.length,\n s = this.data.ef;\n\n for (r = 0; r < a; r += 1) {\n switch (i = null, s[r].ty) {\n case 0:\n i = new SliderEffect(s[r], e, this);\n break;\n\n case 1:\n i = new AngleEffect(s[r], e, this);\n break;\n\n case 2:\n i = new ColorEffect(s[r], e, this);\n break;\n\n case 3:\n i = new PointEffect(s[r], e, this);\n break;\n\n case 4:\n case 7:\n i = new CheckboxEffect(s[r], e, this);\n break;\n\n case 10:\n i = new LayerIndexEffect(s[r], e, this);\n break;\n\n case 11:\n i = new MaskIndexEffect(s[r], e, this);\n break;\n\n case 5:\n i = new EffectsManager(s[r], e, this);\n break;\n\n default:\n i = new NoValueEffect(s[r], e, this);\n }\n\n i && this.effectElements.push(i);\n }\n }, BaseElement.prototype = {\n checkMasks: function checkMasks() {\n if (!this.data.hasMask) return !1;\n\n for (var t = 0, e = this.data.masksProperties.length; t < e;) {\n if (\"n\" !== this.data.masksProperties[t].mode && !1 !== this.data.masksProperties[t].cl) return !0;\n t += 1;\n }\n\n return !1;\n },\n initExpressions: function initExpressions() {\n this.layerInterface = LayerExpressionInterface(this), this.data.hasMask && this.maskManager && this.layerInterface.registerMaskInterface(this.maskManager);\n var t = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\n this.layerInterface.registerEffectsInterface(t), 0 === this.data.ty || this.data.xt ? this.compInterface = CompExpressionInterface(this) : 4 === this.data.ty ? (this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface), this.layerInterface.content = this.layerInterface.shapeInterface) : 5 === this.data.ty && (this.layerInterface.textInterface = TextExpressionInterface(this), this.layerInterface.text = this.layerInterface.textInterface);\n },\n setBlendMode: function setBlendMode() {\n var t = getBlendMode(this.data.bm);\n (this.baseElement || this.layerElement).style[\"mix-blend-mode\"] = t;\n },\n initBaseData: function initBaseData(t, e, r) {\n this.globalData = e, this.comp = r, this.data = t, this.layerId = createElementID(), this.data.sr || (this.data.sr = 1), this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\n },\n getType: function getType() {\n return this.type;\n },\n sourceRectAtTime: function sourceRectAtTime() {}\n }, FrameElement.prototype = {\n initFrame: function initFrame() {\n this._isFirstFrame = !1, this.dynamicProperties = [], this._mdf = !1;\n },\n prepareProperties: function prepareProperties(t, e) {\n var r,\n i = this.dynamicProperties.length;\n\n for (r = 0; r < i; r += 1) {\n (e || this._isParent && \"transform\" === this.dynamicProperties[r].propType) && (this.dynamicProperties[r].getValue(), this.dynamicProperties[r]._mdf && (this.globalData._mdf = !0, this._mdf = !0));\n }\n },\n addDynamicProperty: function addDynamicProperty(t) {\n -1 === this.dynamicProperties.indexOf(t) && this.dynamicProperties.push(t);\n }\n };\n var FootageInterface = (dataInterfaceFactory = function dataInterfaceFactory(t) {\n function e(t) {\n return \"Outline\" === t ? e.outlineInterface() : null;\n }\n\n return e._name = \"Outline\", e.outlineInterface = function (t) {\n var e = \"\",\n r = t.getFootageData();\n\n function i(t) {\n if (r[t]) return e = t, \"object\" === _typeof$2(r = r[t]) ? i : r;\n var a = t.indexOf(e);\n\n if (-1 !== a) {\n var s = parseInt(t.substr(a + e.length), 10);\n return \"object\" === _typeof$2(r = r[s]) ? i : r;\n }\n\n return \"\";\n }\n\n return function () {\n return e = \"\", r = t.getFootageData(), i;\n };\n }(t), e;\n }, function (t) {\n function e(t) {\n return \"Data\" === t ? e.dataInterface : null;\n }\n\n return e._name = \"Data\", e.dataInterface = dataInterfaceFactory(t), e;\n }),\n dataInterfaceFactory;\n\n function FootageElement(t, e, r) {\n this.initFrame(), this.initRenderable(), this.assetData = e.getAssetData(t.refId), this.footageData = e.imageLoader.getAsset(this.assetData), this.initBaseData(t, e, r);\n }\n\n function AudioElement(t, e, r) {\n this.initFrame(), this.initRenderable(), this.assetData = e.getAssetData(t.refId), this.initBaseData(t, e, r), this._isPlaying = !1, this._canPlay = !1;\n var i = this.globalData.getAssetsPath(this.assetData);\n this.audio = this.globalData.audioController.createAudio(i), this._currentTime = 0, this.globalData.audioController.addAudio(this), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n };\n }\n\n function BaseRenderer() {}\n\n function TransformElement() {}\n\n function MaskElement(t, e, r) {\n this.data = t, this.element = e, this.globalData = r, this.storedData = [], this.masksProperties = this.data.masksProperties || [], this.maskElement = null;\n var i,\n a,\n s = this.globalData.defs,\n n = this.masksProperties ? this.masksProperties.length : 0;\n this.viewData = createSizedArray(n), this.solidPath = \"\";\n var o,\n h,\n l,\n p,\n f,\n c,\n m = this.masksProperties,\n d = 0,\n u = [],\n y = createElementID(),\n g = \"clipPath\",\n v = \"clip-path\";\n\n for (i = 0; i < n; i += 1) {\n if ((\"a\" !== m[i].mode && \"n\" !== m[i].mode || m[i].inv || 100 !== m[i].o.k || m[i].o.x) && (g = \"mask\", v = \"mask\"), \"s\" !== m[i].mode && \"i\" !== m[i].mode || 0 !== d ? l = null : ((l = createNS(\"rect\")).setAttribute(\"fill\", \"#ffffff\"), l.setAttribute(\"width\", this.element.comp.data.w || 0), l.setAttribute(\"height\", this.element.comp.data.h || 0), u.push(l)), a = createNS(\"path\"), \"n\" === m[i].mode) this.viewData[i] = {\n op: PropertyFactory.getProp(this.element, m[i].o, 0, .01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, m[i], 3),\n elem: a,\n lastPath: \"\"\n }, s.appendChild(a);else {\n var b;\n\n if (d += 1, a.setAttribute(\"fill\", \"s\" === m[i].mode ? \"#000000\" : \"#ffffff\"), a.setAttribute(\"clip-rule\", \"nonzero\"), 0 !== m[i].x.k ? (g = \"mask\", v = \"mask\", c = PropertyFactory.getProp(this.element, m[i].x, 0, null, this.element), b = createElementID(), (p = createNS(\"filter\")).setAttribute(\"id\", b), (f = createNS(\"feMorphology\")).setAttribute(\"operator\", \"erode\"), f.setAttribute(\"in\", \"SourceGraphic\"), f.setAttribute(\"radius\", \"0\"), p.appendChild(f), s.appendChild(p), a.setAttribute(\"stroke\", \"s\" === m[i].mode ? \"#000000\" : \"#ffffff\")) : (f = null, c = null), this.storedData[i] = {\n elem: a,\n x: c,\n expan: f,\n lastPath: \"\",\n lastOperator: \"\",\n filterId: b,\n lastRadius: 0\n }, \"i\" === m[i].mode) {\n h = u.length;\n var x = createNS(\"g\");\n\n for (o = 0; o < h; o += 1) {\n x.appendChild(u[o]);\n }\n\n var E = createNS(\"mask\");\n E.setAttribute(\"mask-type\", \"alpha\"), E.setAttribute(\"id\", y + \"_\" + d), E.appendChild(a), s.appendChild(E), x.setAttribute(\"mask\", \"url(\" + getLocationHref() + \"#\" + y + \"_\" + d + \")\"), u.length = 0, u.push(x);\n } else u.push(a);\n\n m[i].inv && !this.solidPath && (this.solidPath = this.createLayerSolidPath()), this.viewData[i] = {\n elem: a,\n lastPath: \"\",\n op: PropertyFactory.getProp(this.element, m[i].o, 0, .01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, m[i], 3),\n invRect: l\n }, this.viewData[i].prop.k || this.drawPath(m[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n }\n\n for (this.maskElement = createNS(g), n = u.length, i = 0; i < n; i += 1) {\n this.maskElement.appendChild(u[i]);\n }\n\n d > 0 && (this.maskElement.setAttribute(\"id\", y), this.element.maskedElement.setAttribute(v, \"url(\" + getLocationHref() + \"#\" + y + \")\"), s.appendChild(this.maskElement)), this.viewData.length && this.element.addRenderableComponent(this);\n }\n\n FootageElement.prototype.prepareFrame = function () {}, extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement), FootageElement.prototype.getBaseElement = function () {\n return null;\n }, FootageElement.prototype.renderFrame = function () {}, FootageElement.prototype.destroy = function () {}, FootageElement.prototype.initExpressions = function () {\n this.layerInterface = FootageInterface(this);\n }, FootageElement.prototype.getFootageData = function () {\n return this.footageData;\n }, AudioElement.prototype.prepareFrame = function (t) {\n if (this.prepareRenderableFrame(t, !0), this.prepareProperties(t, !0), this.tm._placeholder) this._currentTime = t / this.data.sr;else {\n var e = this.tm.v;\n this._currentTime = e;\n }\n }, extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement), AudioElement.prototype.renderFrame = function () {\n this.isInRange && this._canPlay && (this._isPlaying ? (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > .1) && this.audio.seek(this._currentTime / this.globalData.frameRate) : (this.audio.play(), this.audio.seek(this._currentTime / this.globalData.frameRate), this._isPlaying = !0));\n }, AudioElement.prototype.show = function () {}, AudioElement.prototype.hide = function () {\n this.audio.pause(), this._isPlaying = !1;\n }, AudioElement.prototype.pause = function () {\n this.audio.pause(), this._isPlaying = !1, this._canPlay = !1;\n }, AudioElement.prototype.resume = function () {\n this._canPlay = !0;\n }, AudioElement.prototype.setRate = function (t) {\n this.audio.rate(t);\n }, AudioElement.prototype.volume = function (t) {\n this.audio.volume(t);\n }, AudioElement.prototype.getBaseElement = function () {\n return null;\n }, AudioElement.prototype.destroy = function () {}, AudioElement.prototype.sourceRectAtTime = function () {}, AudioElement.prototype.initExpressions = function () {}, BaseRenderer.prototype.checkLayers = function (t) {\n var e,\n r,\n i = this.layers.length;\n\n for (this.completeLayers = !0, e = i - 1; e >= 0; e -= 1) {\n this.elements[e] || (r = this.layers[e]).ip - r.st <= t - this.layers[e].st && r.op - r.st > t - this.layers[e].st && this.buildItem(e), this.completeLayers = !!this.elements[e] && this.completeLayers;\n }\n\n this.checkPendingElements();\n }, BaseRenderer.prototype.createItem = function (t) {\n switch (t.ty) {\n case 2:\n return this.createImage(t);\n\n case 0:\n return this.createComp(t);\n\n case 1:\n return this.createSolid(t);\n\n case 3:\n return this.createNull(t);\n\n case 4:\n return this.createShape(t);\n\n case 5:\n return this.createText(t);\n\n case 6:\n return this.createAudio(t);\n\n case 13:\n return this.createCamera(t);\n\n case 15:\n return this.createFootage(t);\n\n default:\n return this.createNull(t);\n }\n }, BaseRenderer.prototype.createCamera = function () {\n throw new Error(\"You're using a 3d camera. Try the html renderer.\");\n }, BaseRenderer.prototype.createAudio = function (t) {\n return new AudioElement(t, this.globalData, this);\n }, BaseRenderer.prototype.createFootage = function (t) {\n return new FootageElement(t, this.globalData, this);\n }, BaseRenderer.prototype.buildAllItems = function () {\n var t,\n e = this.layers.length;\n\n for (t = 0; t < e; t += 1) {\n this.buildItem(t);\n }\n\n this.checkPendingElements();\n }, BaseRenderer.prototype.includeLayers = function (t) {\n var e;\n this.completeLayers = !1;\n var r,\n i = t.length,\n a = this.layers.length;\n\n for (e = 0; e < i; e += 1) {\n for (r = 0; r < a;) {\n if (this.layers[r].id === t[e].id) {\n this.layers[r] = t[e];\n break;\n }\n\n r += 1;\n }\n }\n }, BaseRenderer.prototype.setProjectInterface = function (t) {\n this.globalData.projectInterface = t;\n }, BaseRenderer.prototype.initItems = function () {\n this.globalData.progressiveLoad || this.buildAllItems();\n }, BaseRenderer.prototype.buildElementParenting = function (t, e, r) {\n for (var i = this.elements, a = this.layers, s = 0, n = a.length; s < n;) {\n a[s].ind == e && (i[s] && !0 !== i[s] ? (r.push(i[s]), i[s].setAsParent(), void 0 !== a[s].parent ? this.buildElementParenting(t, a[s].parent, r) : t.setHierarchy(r)) : (this.buildItem(s), this.addPendingElement(t))), s += 1;\n }\n }, BaseRenderer.prototype.addPendingElement = function (t) {\n this.pendingElements.push(t);\n }, BaseRenderer.prototype.searchExtraCompositions = function (t) {\n var e,\n r = t.length;\n\n for (e = 0; e < r; e += 1) {\n if (t[e].xt) {\n var i = this.createComp(t[e]);\n i.initExpressions(), this.globalData.projectInterface.registerComposition(i);\n }\n }\n }, BaseRenderer.prototype.setupGlobalData = function (t, e) {\n this.globalData.fontManager = new FontManager(), this.globalData.fontManager.addChars(t.chars), this.globalData.fontManager.addFonts(t.fonts, e), this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem), this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem), this.globalData.imageLoader = this.animationItem.imagePreloader, this.globalData.audioController = this.animationItem.audioController, this.globalData.frameId = 0, this.globalData.frameRate = t.fr, this.globalData.nm = t.nm, this.globalData.compSize = {\n w: t.w,\n h: t.h\n };\n }, TransformElement.prototype = {\n initTransform: function initTransform() {\n this.finalTransform = {\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {\n o: 0\n },\n _matMdf: !1,\n _opMdf: !1,\n mat: new Matrix()\n }, this.data.ao && (this.finalTransform.mProp.autoOriented = !0), this.data.ty;\n },\n renderTransform: function renderTransform() {\n if (this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame, this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame, this.hierarchy) {\n var t,\n e = this.finalTransform.mat,\n r = 0,\n i = this.hierarchy.length;\n if (!this.finalTransform._matMdf) for (; r < i;) {\n if (this.hierarchy[r].finalTransform.mProp._mdf) {\n this.finalTransform._matMdf = !0;\n break;\n }\n\n r += 1;\n }\n if (this.finalTransform._matMdf) for (t = this.finalTransform.mProp.v.props, e.cloneFromProps(t), r = 0; r < i; r += 1) {\n t = this.hierarchy[r].finalTransform.mProp.v.props, e.transform(t[0], t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8], t[9], t[10], t[11], t[12], t[13], t[14], t[15]);\n }\n }\n },\n globalToLocal: function globalToLocal(t) {\n var e = [];\n e.push(this.finalTransform);\n\n for (var r, i = !0, a = this.comp; i;) {\n a.finalTransform ? (a.data.hasMask && e.splice(0, 0, a.finalTransform), a = a.comp) : i = !1;\n }\n\n var s,\n n = e.length;\n\n for (r = 0; r < n; r += 1) {\n s = e[r].mat.applyToPointArray(0, 0, 0), t = [t[0] - s[0], t[1] - s[1], 0];\n }\n\n return t;\n },\n mHelper: new Matrix()\n }, MaskElement.prototype.getMaskProperty = function (t) {\n return this.viewData[t].prop;\n }, MaskElement.prototype.renderFrame = function (t) {\n var e,\n r = this.element.finalTransform.mat,\n i = this.masksProperties.length;\n\n for (e = 0; e < i; e += 1) {\n if ((this.viewData[e].prop._mdf || t) && this.drawPath(this.masksProperties[e], this.viewData[e].prop.v, this.viewData[e]), (this.viewData[e].op._mdf || t) && this.viewData[e].elem.setAttribute(\"fill-opacity\", this.viewData[e].op.v), \"n\" !== this.masksProperties[e].mode && (this.viewData[e].invRect && (this.element.finalTransform.mProp._mdf || t) && this.viewData[e].invRect.setAttribute(\"transform\", r.getInverseMatrix().to2dCSS()), this.storedData[e].x && (this.storedData[e].x._mdf || t))) {\n var a = this.storedData[e].expan;\n this.storedData[e].x.v < 0 ? (\"erode\" !== this.storedData[e].lastOperator && (this.storedData[e].lastOperator = \"erode\", this.storedData[e].elem.setAttribute(\"filter\", \"url(\" + getLocationHref() + \"#\" + this.storedData[e].filterId + \")\")), a.setAttribute(\"radius\", -this.storedData[e].x.v)) : (\"dilate\" !== this.storedData[e].lastOperator && (this.storedData[e].lastOperator = \"dilate\", this.storedData[e].elem.setAttribute(\"filter\", null)), this.storedData[e].elem.setAttribute(\"stroke-width\", 2 * this.storedData[e].x.v));\n }\n }\n }, MaskElement.prototype.getMaskelement = function () {\n return this.maskElement;\n }, MaskElement.prototype.createLayerSolidPath = function () {\n var t = \"M0,0 \";\n return t += \" h\" + this.globalData.compSize.w, t += \" v\" + this.globalData.compSize.h, t += \" h-\" + this.globalData.compSize.w, t += \" v-\" + this.globalData.compSize.h + \" \";\n }, MaskElement.prototype.drawPath = function (t, e, r) {\n var i,\n a,\n s = \" M\" + e.v[0][0] + \",\" + e.v[0][1];\n\n for (a = e._length, i = 1; i < a; i += 1) {\n s += \" C\" + e.o[i - 1][0] + \",\" + e.o[i - 1][1] + \" \" + e.i[i][0] + \",\" + e.i[i][1] + \" \" + e.v[i][0] + \",\" + e.v[i][1];\n }\n\n if (e.c && a > 1 && (s += \" C\" + e.o[i - 1][0] + \",\" + e.o[i - 1][1] + \" \" + e.i[0][0] + \",\" + e.i[0][1] + \" \" + e.v[0][0] + \",\" + e.v[0][1]), r.lastPath !== s) {\n var n = \"\";\n r.elem && (e.c && (n = t.inv ? this.solidPath + s : s), r.elem.setAttribute(\"d\", n)), r.lastPath = s;\n }\n }, MaskElement.prototype.destroy = function () {\n this.element = null, this.globalData = null, this.maskElement = null, this.data = null, this.masksProperties = null;\n };\n\n var filtersFactory = function () {\n var t = {};\n return t.createFilter = function (t, e) {\n var r = createNS(\"filter\");\n r.setAttribute(\"id\", t), !0 !== e && (r.setAttribute(\"filterUnits\", \"objectBoundingBox\"), r.setAttribute(\"x\", \"0%\"), r.setAttribute(\"y\", \"0%\"), r.setAttribute(\"width\", \"100%\"), r.setAttribute(\"height\", \"100%\"));\n return r;\n }, t.createAlphaToLuminanceFilter = function () {\n var t = createNS(\"feColorMatrix\");\n return t.setAttribute(\"type\", \"matrix\"), t.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t.setAttribute(\"values\", \"0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1\"), t;\n }, t;\n }(),\n featureSupport = function () {\n var t = {\n maskType: !0\n };\n return (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) && (t.maskType = !1), t;\n }();\n\n function SVGTintFilter(t, e) {\n this.filterManager = e;\n var r = createNS(\"feColorMatrix\");\n\n if (r.setAttribute(\"type\", \"matrix\"), r.setAttribute(\"color-interpolation-filters\", \"linearRGB\"), r.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"), r.setAttribute(\"result\", \"f1\"), t.appendChild(r), (r = createNS(\"feColorMatrix\")).setAttribute(\"type\", \"matrix\"), r.setAttribute(\"color-interpolation-filters\", \"sRGB\"), r.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"), r.setAttribute(\"result\", \"f2\"), t.appendChild(r), this.matrixFilter = r, 100 !== e.effectElements[2].p.v || e.effectElements[2].p.k) {\n var i,\n a = createNS(\"feMerge\");\n t.appendChild(a), (i = createNS(\"feMergeNode\")).setAttribute(\"in\", \"SourceGraphic\"), a.appendChild(i), (i = createNS(\"feMergeNode\")).setAttribute(\"in\", \"f2\"), a.appendChild(i);\n }\n }\n\n function SVGFillFilter(t, e) {\n this.filterManager = e;\n var r = createNS(\"feColorMatrix\");\n r.setAttribute(\"type\", \"matrix\"), r.setAttribute(\"color-interpolation-filters\", \"sRGB\"), r.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"), t.appendChild(r), this.matrixFilter = r;\n }\n\n function SVGStrokeEffect(t, e) {\n this.initialized = !1, this.filterManager = e, this.elem = t, this.paths = [];\n }\n\n function SVGTritoneFilter(t, e) {\n this.filterManager = e;\n var r = createNS(\"feColorMatrix\");\n r.setAttribute(\"type\", \"matrix\"), r.setAttribute(\"color-interpolation-filters\", \"linearRGB\"), r.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"), r.setAttribute(\"result\", \"f1\"), t.appendChild(r);\n var i = createNS(\"feComponentTransfer\");\n i.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t.appendChild(i), this.matrixFilter = i;\n var a = createNS(\"feFuncR\");\n a.setAttribute(\"type\", \"table\"), i.appendChild(a), this.feFuncR = a;\n var s = createNS(\"feFuncG\");\n s.setAttribute(\"type\", \"table\"), i.appendChild(s), this.feFuncG = s;\n var n = createNS(\"feFuncB\");\n n.setAttribute(\"type\", \"table\"), i.appendChild(n), this.feFuncB = n;\n }\n\n function SVGProLevelsFilter(t, e) {\n this.filterManager = e;\n var r = this.filterManager.effectElements,\n i = createNS(\"feComponentTransfer\");\n (r[10].p.k || 0 !== r[10].p.v || r[11].p.k || 1 !== r[11].p.v || r[12].p.k || 1 !== r[12].p.v || r[13].p.k || 0 !== r[13].p.v || r[14].p.k || 1 !== r[14].p.v) && (this.feFuncR = this.createFeFunc(\"feFuncR\", i)), (r[17].p.k || 0 !== r[17].p.v || r[18].p.k || 1 !== r[18].p.v || r[19].p.k || 1 !== r[19].p.v || r[20].p.k || 0 !== r[20].p.v || r[21].p.k || 1 !== r[21].p.v) && (this.feFuncG = this.createFeFunc(\"feFuncG\", i)), (r[24].p.k || 0 !== r[24].p.v || r[25].p.k || 1 !== r[25].p.v || r[26].p.k || 1 !== r[26].p.v || r[27].p.k || 0 !== r[27].p.v || r[28].p.k || 1 !== r[28].p.v) && (this.feFuncB = this.createFeFunc(\"feFuncB\", i)), (r[31].p.k || 0 !== r[31].p.v || r[32].p.k || 1 !== r[32].p.v || r[33].p.k || 1 !== r[33].p.v || r[34].p.k || 0 !== r[34].p.v || r[35].p.k || 1 !== r[35].p.v) && (this.feFuncA = this.createFeFunc(\"feFuncA\", i)), (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) && (i.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t.appendChild(i), i = createNS(\"feComponentTransfer\")), (r[3].p.k || 0 !== r[3].p.v || r[4].p.k || 1 !== r[4].p.v || r[5].p.k || 1 !== r[5].p.v || r[6].p.k || 0 !== r[6].p.v || r[7].p.k || 1 !== r[7].p.v) && (i.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t.appendChild(i), this.feFuncRComposed = this.createFeFunc(\"feFuncR\", i), this.feFuncGComposed = this.createFeFunc(\"feFuncG\", i), this.feFuncBComposed = this.createFeFunc(\"feFuncB\", i));\n }\n\n function SVGDropShadowEffect(t, e) {\n var r = e.container.globalData.renderConfig.filterSize;\n t.setAttribute(\"x\", r.x), t.setAttribute(\"y\", r.y), t.setAttribute(\"width\", r.width), t.setAttribute(\"height\", r.height), this.filterManager = e;\n var i = createNS(\"feGaussianBlur\");\n i.setAttribute(\"in\", \"SourceAlpha\"), i.setAttribute(\"result\", \"drop_shadow_1\"), i.setAttribute(\"stdDeviation\", \"0\"), this.feGaussianBlur = i, t.appendChild(i);\n var a = createNS(\"feOffset\");\n a.setAttribute(\"dx\", \"25\"), a.setAttribute(\"dy\", \"0\"), a.setAttribute(\"in\", \"drop_shadow_1\"), a.setAttribute(\"result\", \"drop_shadow_2\"), this.feOffset = a, t.appendChild(a);\n var s = createNS(\"feFlood\");\n s.setAttribute(\"flood-color\", \"#00ff00\"), s.setAttribute(\"flood-opacity\", \"1\"), s.setAttribute(\"result\", \"drop_shadow_3\"), this.feFlood = s, t.appendChild(s);\n var n = createNS(\"feComposite\");\n n.setAttribute(\"in\", \"drop_shadow_3\"), n.setAttribute(\"in2\", \"drop_shadow_2\"), n.setAttribute(\"operator\", \"in\"), n.setAttribute(\"result\", \"drop_shadow_4\"), t.appendChild(n);\n var o,\n h = createNS(\"feMerge\");\n t.appendChild(h), o = createNS(\"feMergeNode\"), h.appendChild(o), (o = createNS(\"feMergeNode\")).setAttribute(\"in\", \"SourceGraphic\"), this.feMergeNode = o, this.feMerge = h, this.originalNodeAdded = !1, h.appendChild(o);\n }\n\n SVGTintFilter.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n var e = this.filterManager.effectElements[0].p.v,\n r = this.filterManager.effectElements[1].p.v,\n i = this.filterManager.effectElements[2].p.v / 100;\n this.matrixFilter.setAttribute(\"values\", r[0] - e[0] + \" 0 0 0 \" + e[0] + \" \" + (r[1] - e[1]) + \" 0 0 0 \" + e[1] + \" \" + (r[2] - e[2]) + \" 0 0 0 \" + e[2] + \" 0 0 0 \" + i + \" 0\");\n }\n }, SVGFillFilter.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n var e = this.filterManager.effectElements[2].p.v,\n r = this.filterManager.effectElements[6].p.v;\n this.matrixFilter.setAttribute(\"values\", \"0 0 0 0 \" + e[0] + \" 0 0 0 0 \" + e[1] + \" 0 0 0 0 \" + e[2] + \" 0 0 0 \" + r + \" 0\");\n }\n }, SVGStrokeEffect.prototype.initialize = function () {\n var t,\n e,\n r,\n i,\n a = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n\n for (1 === this.filterManager.effectElements[1].p.v ? (i = this.elem.maskManager.masksProperties.length, r = 0) : i = (r = this.filterManager.effectElements[0].p.v - 1) + 1, (e = createNS(\"g\")).setAttribute(\"fill\", \"none\"), e.setAttribute(\"stroke-linecap\", \"round\"), e.setAttribute(\"stroke-dashoffset\", 1); r < i; r += 1) {\n t = createNS(\"path\"), e.appendChild(t), this.paths.push({\n p: t,\n m: r\n });\n }\n\n if (3 === this.filterManager.effectElements[10].p.v) {\n var s = createNS(\"mask\"),\n n = createElementID();\n s.setAttribute(\"id\", n), s.setAttribute(\"mask-type\", \"alpha\"), s.appendChild(e), this.elem.globalData.defs.appendChild(s);\n var o = createNS(\"g\");\n\n for (o.setAttribute(\"mask\", \"url(\" + getLocationHref() + \"#\" + n + \")\"); a[0];) {\n o.appendChild(a[0]);\n }\n\n this.elem.layerElement.appendChild(o), this.masker = s, e.setAttribute(\"stroke\", \"#fff\");\n } else if (1 === this.filterManager.effectElements[10].p.v || 2 === this.filterManager.effectElements[10].p.v) {\n if (2 === this.filterManager.effectElements[10].p.v) for (a = this.elem.layerElement.children || this.elem.layerElement.childNodes; a.length;) {\n this.elem.layerElement.removeChild(a[0]);\n }\n this.elem.layerElement.appendChild(e), this.elem.layerElement.removeAttribute(\"mask\"), e.setAttribute(\"stroke\", \"#fff\");\n }\n\n this.initialized = !0, this.pathMasker = e;\n }, SVGStrokeEffect.prototype.renderFrame = function (t) {\n var e;\n this.initialized || this.initialize();\n var r,\n i,\n a = this.paths.length;\n\n for (e = 0; e < a; e += 1) {\n if (-1 !== this.paths[e].m && (r = this.elem.maskManager.viewData[this.paths[e].m], i = this.paths[e].p, (t || this.filterManager._mdf || r.prop._mdf) && i.setAttribute(\"d\", r.lastPath), t || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || r.prop._mdf)) {\n var s;\n\n if (0 !== this.filterManager.effectElements[7].p.v || 100 !== this.filterManager.effectElements[8].p.v) {\n var n = .01 * Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v),\n o = .01 * Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v),\n h = i.getTotalLength();\n s = \"0 0 0 \" + h * n + \" \";\n var l,\n p = h * (o - n),\n f = 1 + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * .01,\n c = Math.floor(p / f);\n\n for (l = 0; l < c; l += 1) {\n s += \"1 \" + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * .01 + \" \";\n }\n\n s += \"0 \" + 10 * h + \" 0 0\";\n } else s = \"1 \" + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * .01;\n\n i.setAttribute(\"stroke-dasharray\", s);\n }\n }\n\n if ((t || this.filterManager.effectElements[4].p._mdf) && this.pathMasker.setAttribute(\"stroke-width\", 2 * this.filterManager.effectElements[4].p.v), (t || this.filterManager.effectElements[6].p._mdf) && this.pathMasker.setAttribute(\"opacity\", this.filterManager.effectElements[6].p.v), (1 === this.filterManager.effectElements[10].p.v || 2 === this.filterManager.effectElements[10].p.v) && (t || this.filterManager.effectElements[3].p._mdf)) {\n var m = this.filterManager.effectElements[3].p.v;\n this.pathMasker.setAttribute(\"stroke\", \"rgb(\" + bmFloor(255 * m[0]) + \",\" + bmFloor(255 * m[1]) + \",\" + bmFloor(255 * m[2]) + \")\");\n }\n }, SVGTritoneFilter.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n var e = this.filterManager.effectElements[0].p.v,\n r = this.filterManager.effectElements[1].p.v,\n i = this.filterManager.effectElements[2].p.v,\n a = i[0] + \" \" + r[0] + \" \" + e[0],\n s = i[1] + \" \" + r[1] + \" \" + e[1],\n n = i[2] + \" \" + r[2] + \" \" + e[2];\n this.feFuncR.setAttribute(\"tableValues\", a), this.feFuncG.setAttribute(\"tableValues\", s), this.feFuncB.setAttribute(\"tableValues\", n);\n }\n }, SVGProLevelsFilter.prototype.createFeFunc = function (t, e) {\n var r = createNS(t);\n return r.setAttribute(\"type\", \"table\"), e.appendChild(r), r;\n }, SVGProLevelsFilter.prototype.getTableValue = function (t, e, r, i, a) {\n for (var s, n, o = 0, h = Math.min(t, e), l = Math.max(t, e), p = Array.call(null, {\n length: 256\n }), f = 0, c = a - i, m = e - t; o <= 256;) {\n n = (s = o / 256) <= h ? m < 0 ? a : i : s >= l ? m < 0 ? i : a : i + c * Math.pow((s - t) / m, 1 / r), p[f] = n, f += 1, o += 256 / 255;\n }\n\n return p.join(\" \");\n }, SVGProLevelsFilter.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n var e,\n r = this.filterManager.effectElements;\n this.feFuncRComposed && (t || r[3].p._mdf || r[4].p._mdf || r[5].p._mdf || r[6].p._mdf || r[7].p._mdf) && (e = this.getTableValue(r[3].p.v, r[4].p.v, r[5].p.v, r[6].p.v, r[7].p.v), this.feFuncRComposed.setAttribute(\"tableValues\", e), this.feFuncGComposed.setAttribute(\"tableValues\", e), this.feFuncBComposed.setAttribute(\"tableValues\", e)), this.feFuncR && (t || r[10].p._mdf || r[11].p._mdf || r[12].p._mdf || r[13].p._mdf || r[14].p._mdf) && (e = this.getTableValue(r[10].p.v, r[11].p.v, r[12].p.v, r[13].p.v, r[14].p.v), this.feFuncR.setAttribute(\"tableValues\", e)), this.feFuncG && (t || r[17].p._mdf || r[18].p._mdf || r[19].p._mdf || r[20].p._mdf || r[21].p._mdf) && (e = this.getTableValue(r[17].p.v, r[18].p.v, r[19].p.v, r[20].p.v, r[21].p.v), this.feFuncG.setAttribute(\"tableValues\", e)), this.feFuncB && (t || r[24].p._mdf || r[25].p._mdf || r[26].p._mdf || r[27].p._mdf || r[28].p._mdf) && (e = this.getTableValue(r[24].p.v, r[25].p.v, r[26].p.v, r[27].p.v, r[28].p.v), this.feFuncB.setAttribute(\"tableValues\", e)), this.feFuncA && (t || r[31].p._mdf || r[32].p._mdf || r[33].p._mdf || r[34].p._mdf || r[35].p._mdf) && (e = this.getTableValue(r[31].p.v, r[32].p.v, r[33].p.v, r[34].p.v, r[35].p.v), this.feFuncA.setAttribute(\"tableValues\", e));\n }\n }, SVGDropShadowEffect.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n if ((t || this.filterManager.effectElements[4].p._mdf) && this.feGaussianBlur.setAttribute(\"stdDeviation\", this.filterManager.effectElements[4].p.v / 4), t || this.filterManager.effectElements[0].p._mdf) {\n var e = this.filterManager.effectElements[0].p.v;\n this.feFlood.setAttribute(\"flood-color\", rgbToHex(Math.round(255 * e[0]), Math.round(255 * e[1]), Math.round(255 * e[2])));\n }\n\n if ((t || this.filterManager.effectElements[1].p._mdf) && this.feFlood.setAttribute(\"flood-opacity\", this.filterManager.effectElements[1].p.v / 255), t || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\n var r = this.filterManager.effectElements[3].p.v,\n i = (this.filterManager.effectElements[2].p.v - 90) * degToRads,\n a = r * Math.cos(i),\n s = r * Math.sin(i);\n this.feOffset.setAttribute(\"dx\", a), this.feOffset.setAttribute(\"dy\", s);\n }\n }\n };\n var _svgMatteSymbols = [];\n\n function SVGMatte3Effect(t, e, r) {\n this.initialized = !1, this.filterManager = e, this.filterElem = t, this.elem = r, r.matteElement = createNS(\"g\"), r.matteElement.appendChild(r.layerElement), r.matteElement.appendChild(r.transformedElement), r.baseElement = r.matteElement;\n }\n\n function SVGGaussianBlurEffect(t, e) {\n t.setAttribute(\"x\", \"-100%\"), t.setAttribute(\"y\", \"-100%\"), t.setAttribute(\"width\", \"300%\"), t.setAttribute(\"height\", \"300%\"), this.filterManager = e;\n var r = createNS(\"feGaussianBlur\");\n t.appendChild(r), this.feGaussianBlur = r;\n }\n\n SVGMatte3Effect.prototype.findSymbol = function (t) {\n for (var e = 0, r = _svgMatteSymbols.length; e < r;) {\n if (_svgMatteSymbols[e] === t) return _svgMatteSymbols[e];\n e += 1;\n }\n\n return null;\n }, SVGMatte3Effect.prototype.replaceInParent = function (t, e) {\n var r = t.layerElement.parentNode;\n\n if (r) {\n for (var i, a = r.children, s = 0, n = a.length; s < n && a[s] !== t.layerElement;) {\n s += 1;\n }\n\n s <= n - 2 && (i = a[s + 1]);\n var o = createNS(\"use\");\n o.setAttribute(\"href\", \"#\" + e), i ? r.insertBefore(o, i) : r.appendChild(o);\n }\n }, SVGMatte3Effect.prototype.setElementAsMask = function (t, e) {\n if (!this.findSymbol(e)) {\n var r = createElementID(),\n i = createNS(\"mask\");\n i.setAttribute(\"id\", e.layerId), i.setAttribute(\"mask-type\", \"alpha\"), _svgMatteSymbols.push(e);\n var a = t.globalData.defs;\n a.appendChild(i);\n var s = createNS(\"symbol\");\n s.setAttribute(\"id\", r), this.replaceInParent(e, r), s.appendChild(e.layerElement), a.appendChild(s);\n var n = createNS(\"use\");\n n.setAttribute(\"href\", \"#\" + r), i.appendChild(n), e.data.hd = !1, e.show();\n }\n\n t.setMatte(e.layerId);\n }, SVGMatte3Effect.prototype.initialize = function () {\n for (var t = this.filterManager.effectElements[0].p.v, e = this.elem.comp.elements, r = 0, i = e.length; r < i;) {\n e[r] && e[r].data.ind === t && this.setElementAsMask(this.elem, e[r]), r += 1;\n }\n\n this.initialized = !0;\n }, SVGMatte3Effect.prototype.renderFrame = function () {\n this.initialized || this.initialize();\n }, SVGGaussianBlurEffect.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n var e = .3 * this.filterManager.effectElements[0].p.v,\n r = this.filterManager.effectElements[1].p.v,\n i = 3 == r ? 0 : e,\n a = 2 == r ? 0 : e;\n this.feGaussianBlur.setAttribute(\"stdDeviation\", i + \" \" + a);\n var s = 1 == this.filterManager.effectElements[2].p.v ? \"wrap\" : \"duplicate\";\n this.feGaussianBlur.setAttribute(\"edgeMode\", s);\n }\n };\n var registeredEffects = {};\n\n function SVGEffects(t) {\n var e,\n r,\n i = t.data.ef ? t.data.ef.length : 0,\n a = createElementID(),\n s = filtersFactory.createFilter(a, !0),\n n = 0;\n\n for (this.filters = [], e = 0; e < i; e += 1) {\n r = null;\n var o = t.data.ef[e].ty;\n if (registeredEffects[o]) r = new (0, registeredEffects[o].effect)(s, t.effectsManager.effectElements[e], t), registeredEffects[o].countsAsEffect && (n += 1);\n 20 === t.data.ef[e].ty ? (n += 1, r = new SVGTintFilter(s, t.effectsManager.effectElements[e])) : 21 === t.data.ef[e].ty ? (n += 1, r = new SVGFillFilter(s, t.effectsManager.effectElements[e])) : 22 === t.data.ef[e].ty ? r = new SVGStrokeEffect(t, t.effectsManager.effectElements[e]) : 23 === t.data.ef[e].ty ? (n += 1, r = new SVGTritoneFilter(s, t.effectsManager.effectElements[e])) : 24 === t.data.ef[e].ty ? (n += 1, r = new SVGProLevelsFilter(s, t.effectsManager.effectElements[e])) : 25 === t.data.ef[e].ty ? (n += 1, r = new SVGDropShadowEffect(s, t.effectsManager.effectElements[e])) : 28 === t.data.ef[e].ty ? r = new SVGMatte3Effect(s, t.effectsManager.effectElements[e], t) : 29 === t.data.ef[e].ty && (n += 1, r = new SVGGaussianBlurEffect(s, t.effectsManager.effectElements[e])), r && this.filters.push(r);\n }\n\n n && (t.globalData.defs.appendChild(s), t.layerElement.setAttribute(\"filter\", \"url(\" + getLocationHref() + \"#\" + a + \")\")), this.filters.length && t.addRenderableComponent(this);\n }\n\n function registerEffect(t, e, r) {\n registeredEffects[t] = {\n effect: e,\n countsAsEffect: r\n };\n }\n\n function SVGBaseElement() {}\n\n function HierarchyElement() {}\n\n function RenderableDOMElement() {}\n\n function IImageElement(t, e, r) {\n this.assetData = e.getAssetData(t.refId), this.initElement(t, e, r), this.sourceRect = {\n top: 0,\n left: 0,\n width: this.assetData.w,\n height: this.assetData.h\n };\n }\n\n function ProcessedElement(t, e) {\n this.elem = t, this.pos = e;\n }\n\n function IShapeElement() {}\n\n SVGEffects.prototype.renderFrame = function (t) {\n var e,\n r = this.filters.length;\n\n for (e = 0; e < r; e += 1) {\n this.filters[e].renderFrame(t);\n }\n }, SVGBaseElement.prototype = {\n initRendererElement: function initRendererElement() {\n this.layerElement = createNS(\"g\");\n },\n createContainerElements: function createContainerElements() {\n this.matteElement = createNS(\"g\"), this.transformedElement = this.layerElement, this.maskedElement = this.layerElement, this._sizeChanged = !1;\n var t,\n e,\n r,\n i = null;\n\n if (this.data.td) {\n if (3 == this.data.td || 1 == this.data.td) {\n var a = createNS(\"mask\");\n a.setAttribute(\"id\", this.layerId), a.setAttribute(\"mask-type\", 3 == this.data.td ? \"luminance\" : \"alpha\"), a.appendChild(this.layerElement), i = a, this.globalData.defs.appendChild(a), featureSupport.maskType || 1 != this.data.td || (a.setAttribute(\"mask-type\", \"luminance\"), t = createElementID(), e = filtersFactory.createFilter(t), this.globalData.defs.appendChild(e), e.appendChild(filtersFactory.createAlphaToLuminanceFilter()), (r = createNS(\"g\")).appendChild(this.layerElement), i = r, a.appendChild(r), r.setAttribute(\"filter\", \"url(\" + getLocationHref() + \"#\" + t + \")\"));\n } else if (2 == this.data.td) {\n var s = createNS(\"mask\");\n s.setAttribute(\"id\", this.layerId), s.setAttribute(\"mask-type\", \"alpha\");\n var n = createNS(\"g\");\n s.appendChild(n), t = createElementID(), e = filtersFactory.createFilter(t);\n var o = createNS(\"feComponentTransfer\");\n o.setAttribute(\"in\", \"SourceGraphic\"), e.appendChild(o);\n var h = createNS(\"feFuncA\");\n h.setAttribute(\"type\", \"table\"), h.setAttribute(\"tableValues\", \"1.0 0.0\"), o.appendChild(h), this.globalData.defs.appendChild(e);\n var l = createNS(\"rect\");\n l.setAttribute(\"width\", this.comp.data.w), l.setAttribute(\"height\", this.comp.data.h), l.setAttribute(\"x\", \"0\"), l.setAttribute(\"y\", \"0\"), l.setAttribute(\"fill\", \"#ffffff\"), l.setAttribute(\"opacity\", \"0\"), n.setAttribute(\"filter\", \"url(\" + getLocationHref() + \"#\" + t + \")\"), n.appendChild(l), n.appendChild(this.layerElement), i = n, featureSupport.maskType || (s.setAttribute(\"mask-type\", \"luminance\"), e.appendChild(filtersFactory.createAlphaToLuminanceFilter()), r = createNS(\"g\"), n.appendChild(l), r.appendChild(this.layerElement), i = r, n.appendChild(r)), this.globalData.defs.appendChild(s);\n }\n } else this.data.tt ? (this.matteElement.appendChild(this.layerElement), i = this.matteElement, this.baseElement = this.matteElement) : this.baseElement = this.layerElement;\n\n if (this.data.ln && this.layerElement.setAttribute(\"id\", this.data.ln), this.data.cl && this.layerElement.setAttribute(\"class\", this.data.cl), 0 === this.data.ty && !this.data.hd) {\n var p = createNS(\"clipPath\"),\n f = createNS(\"path\");\n f.setAttribute(\"d\", \"M0,0 L\" + this.data.w + \",0 L\" + this.data.w + \",\" + this.data.h + \" L0,\" + this.data.h + \"z\");\n var c = createElementID();\n\n if (p.setAttribute(\"id\", c), p.appendChild(f), this.globalData.defs.appendChild(p), this.checkMasks()) {\n var m = createNS(\"g\");\n m.setAttribute(\"clip-path\", \"url(\" + getLocationHref() + \"#\" + c + \")\"), m.appendChild(this.layerElement), this.transformedElement = m, i ? i.appendChild(this.transformedElement) : this.baseElement = this.transformedElement;\n } else this.layerElement.setAttribute(\"clip-path\", \"url(\" + getLocationHref() + \"#\" + c + \")\");\n }\n\n 0 !== this.data.bm && this.setBlendMode();\n },\n renderElement: function renderElement() {\n this.finalTransform._matMdf && this.transformedElement.setAttribute(\"transform\", this.finalTransform.mat.to2dCSS()), this.finalTransform._opMdf && this.transformedElement.setAttribute(\"opacity\", this.finalTransform.mProp.o.v);\n },\n destroyBaseElement: function destroyBaseElement() {\n this.layerElement = null, this.matteElement = null, this.maskManager.destroy();\n },\n getBaseElement: function getBaseElement() {\n return this.data.hd ? null : this.baseElement;\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData), this.renderableEffectsManager = new SVGEffects(this);\n },\n setMatte: function setMatte(t) {\n this.matteElement && this.matteElement.setAttribute(\"mask\", \"url(\" + getLocationHref() + \"#\" + t + \")\");\n }\n }, HierarchyElement.prototype = {\n initHierarchy: function initHierarchy() {\n this.hierarchy = [], this._isParent = !1, this.checkParenting();\n },\n setHierarchy: function setHierarchy(t) {\n this.hierarchy = t;\n },\n setAsParent: function setAsParent() {\n this._isParent = !0;\n },\n checkParenting: function checkParenting() {\n void 0 !== this.data.parent && this.comp.buildElementParenting(this, this.data.parent, []);\n }\n }, extendPrototype([RenderableElement, createProxyFunction({\n initElement: function initElement(t, e, r) {\n this.initFrame(), this.initBaseData(t, e, r), this.initTransform(t, e, r), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide();\n },\n hide: function hide() {\n this.hidden || this.isInRange && !this.isTransparent || ((this.baseElement || this.layerElement).style.display = \"none\", this.hidden = !0);\n },\n show: function show() {\n this.isInRange && !this.isTransparent && (this.data.hd || ((this.baseElement || this.layerElement).style.display = \"block\"), this.hidden = !1, this._isFirstFrame = !0);\n },\n renderFrame: function renderFrame() {\n this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = !1));\n },\n renderInnerContent: function renderInnerContent() {},\n prepareFrame: function prepareFrame(t) {\n this._mdf = !1, this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange), this.checkTransparency();\n },\n destroy: function destroy() {\n this.innerElem = null, this.destroyBaseElement();\n }\n })], RenderableDOMElement), extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement), IImageElement.prototype.createContent = function () {\n var t = this.globalData.getAssetsPath(this.assetData);\n this.innerElem = createNS(\"image\"), this.innerElem.setAttribute(\"width\", this.assetData.w + \"px\"), this.innerElem.setAttribute(\"height\", this.assetData.h + \"px\"), this.innerElem.setAttribute(\"preserveAspectRatio\", this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio), this.innerElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", t), this.layerElement.appendChild(this.innerElem);\n }, IImageElement.prototype.sourceRectAtTime = function () {\n return this.sourceRect;\n }, IShapeElement.prototype = {\n addShapeToModifiers: function addShapeToModifiers(t) {\n var e,\n r = this.shapeModifiers.length;\n\n for (e = 0; e < r; e += 1) {\n this.shapeModifiers[e].addShape(t);\n }\n },\n isShapeInAnimatedModifiers: function isShapeInAnimatedModifiers(t) {\n for (var e = this.shapeModifiers.length; 0 < e;) {\n if (this.shapeModifiers[0].isAnimatedWithShape(t)) return !0;\n }\n\n return !1;\n },\n renderModifiers: function renderModifiers() {\n if (this.shapeModifiers.length) {\n var t,\n e = this.shapes.length;\n\n for (t = 0; t < e; t += 1) {\n this.shapes[t].sh.reset();\n }\n\n for (t = (e = this.shapeModifiers.length) - 1; t >= 0 && !this.shapeModifiers[t].processShapes(this._isFirstFrame); t -= 1) {\n ;\n }\n }\n },\n searchProcessedElement: function searchProcessedElement(t) {\n for (var e = this.processedElements, r = 0, i = e.length; r < i;) {\n if (e[r].elem === t) return e[r].pos;\n r += 1;\n }\n\n return 0;\n },\n addProcessedElement: function addProcessedElement(t, e) {\n for (var r = this.processedElements, i = r.length; i;) {\n if (r[i -= 1].elem === t) return void (r[i].pos = e);\n }\n\n r.push(new ProcessedElement(t, e));\n },\n prepareFrame: function prepareFrame(t) {\n this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange);\n }\n };\n var lineCapEnum = {\n 1: \"butt\",\n 2: \"round\",\n 3: \"square\"\n },\n lineJoinEnum = {\n 1: \"miter\",\n 2: \"round\",\n 3: \"bevel\"\n };\n\n function SVGShapeData(t, e, r) {\n this.caches = [], this.styles = [], this.transformers = t, this.lStr = \"\", this.sh = r, this.lvl = e, this._isAnimated = !!r.k;\n\n for (var i = 0, a = t.length; i < a;) {\n if (t[i].mProps.dynamicProperties.length) {\n this._isAnimated = !0;\n break;\n }\n\n i += 1;\n }\n }\n\n function SVGStyleData(t, e) {\n this.data = t, this.type = t.ty, this.d = \"\", this.lvl = e, this._mdf = !1, this.closed = !0 === t.hd, this.pElem = createNS(\"path\"), this.msElem = null;\n }\n\n function DashProperty(t, e, r, i) {\n var a;\n this.elem = t, this.frameId = -1, this.dataProps = createSizedArray(e.length), this.renderer = r, this.k = !1, this.dashStr = \"\", this.dashArray = createTypedArray(\"float32\", e.length ? e.length - 1 : 0), this.dashoffset = createTypedArray(\"float32\", 1), this.initDynamicPropertyContainer(i);\n var s,\n n = e.length || 0;\n\n for (a = 0; a < n; a += 1) {\n s = PropertyFactory.getProp(t, e[a].v, 0, 0, this), this.k = s.k || this.k, this.dataProps[a] = {\n n: e[a].n,\n p: s\n };\n }\n\n this.k || this.getValue(!0), this._isAnimated = this.k;\n }\n\n function SVGStrokeStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.o = PropertyFactory.getProp(t, e.o, 0, .01, this), this.w = PropertyFactory.getProp(t, e.w, 0, null, this), this.d = new DashProperty(t, e.d || {}, \"svg\", this), this.c = PropertyFactory.getProp(t, e.c, 1, 255, this), this.style = r, this._isAnimated = !!this._isAnimated;\n }\n\n function SVGFillStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.o = PropertyFactory.getProp(t, e.o, 0, .01, this), this.c = PropertyFactory.getProp(t, e.c, 1, 255, this), this.style = r;\n }\n\n function SVGNoStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.style = r;\n }\n\n function GradientProperty(t, e, r) {\n this.data = e, this.c = createTypedArray(\"uint8c\", 4 * e.p);\n var i = e.k.k[0].s ? e.k.k[0].s.length - 4 * e.p : e.k.k.length - 4 * e.p;\n this.o = createTypedArray(\"float32\", i), this._cmdf = !1, this._omdf = !1, this._collapsable = this.checkCollapsable(), this._hasOpacity = i, this.initDynamicPropertyContainer(r), this.prop = PropertyFactory.getProp(t, e.k, 1, null, this), this.k = this.prop.k, this.getValue(!0);\n }\n\n function SVGGradientFillStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.initGradientData(t, e, r);\n }\n\n function SVGGradientStrokeStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.w = PropertyFactory.getProp(t, e.w, 0, null, this), this.d = new DashProperty(t, e.d || {}, \"svg\", this), this.initGradientData(t, e, r), this._isAnimated = !!this._isAnimated;\n }\n\n function ShapeGroupData() {\n this.it = [], this.prevViewData = [], this.gr = createNS(\"g\");\n }\n\n function SVGTransformData(t, e, r) {\n this.transform = {\n mProps: t,\n op: e,\n container: r\n }, this.elements = [], this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n }\n\n SVGShapeData.prototype.setAsAnimated = function () {\n this._isAnimated = !0;\n }, SVGStyleData.prototype.reset = function () {\n this.d = \"\", this._mdf = !1;\n }, DashProperty.prototype.getValue = function (t) {\n if ((this.elem.globalData.frameId !== this.frameId || t) && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf = this._mdf || t, this._mdf)) {\n var e = 0,\n r = this.dataProps.length;\n\n for (\"svg\" === this.renderer && (this.dashStr = \"\"), e = 0; e < r; e += 1) {\n \"o\" !== this.dataProps[e].n ? \"svg\" === this.renderer ? this.dashStr += \" \" + this.dataProps[e].p.v : this.dashArray[e] = this.dataProps[e].p.v : this.dashoffset[0] = this.dataProps[e].p.v;\n }\n }\n }, extendPrototype([DynamicPropertyContainer], DashProperty), extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData), extendPrototype([DynamicPropertyContainer], SVGFillStyleData), extendPrototype([DynamicPropertyContainer], SVGNoStyleData), GradientProperty.prototype.comparePoints = function (t, e) {\n for (var r = 0, i = this.o.length / 2; r < i;) {\n if (Math.abs(t[4 * r] - t[4 * e + 2 * r]) > .01) return !1;\n r += 1;\n }\n\n return !0;\n }, GradientProperty.prototype.checkCollapsable = function () {\n if (this.o.length / 2 != this.c.length / 4) return !1;\n if (this.data.k.k[0].s) for (var t = 0, e = this.data.k.k.length; t < e;) {\n if (!this.comparePoints(this.data.k.k[t].s, this.data.p)) return !1;\n t += 1;\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) return !1;\n return !0;\n }, GradientProperty.prototype.getValue = function (t) {\n if (this.prop.getValue(), this._mdf = !1, this._cmdf = !1, this._omdf = !1, this.prop._mdf || t) {\n var e,\n r,\n i,\n a = 4 * this.data.p;\n\n for (e = 0; e < a; e += 1) {\n r = e % 4 == 0 ? 100 : 255, i = Math.round(this.prop.v[e] * r), this.c[e] !== i && (this.c[e] = i, this._cmdf = !t);\n }\n\n if (this.o.length) for (a = this.prop.v.length, e = 4 * this.data.p; e < a; e += 1) {\n r = e % 2 == 0 ? 100 : 1, i = e % 2 == 0 ? Math.round(100 * this.prop.v[e]) : this.prop.v[e], this.o[e - 4 * this.data.p] !== i && (this.o[e - 4 * this.data.p] = i, this._omdf = !t);\n }\n this._mdf = !t;\n }\n }, extendPrototype([DynamicPropertyContainer], GradientProperty), SVGGradientFillStyleData.prototype.initGradientData = function (t, e, r) {\n this.o = PropertyFactory.getProp(t, e.o, 0, .01, this), this.s = PropertyFactory.getProp(t, e.s, 1, null, this), this.e = PropertyFactory.getProp(t, e.e, 1, null, this), this.h = PropertyFactory.getProp(t, e.h || {\n k: 0\n }, 0, .01, this), this.a = PropertyFactory.getProp(t, e.a || {\n k: 0\n }, 0, degToRads, this), this.g = new GradientProperty(t, e.g, this), this.style = r, this.stops = [], this.setGradientData(r.pElem, e), this.setGradientOpacity(e, r), this._isAnimated = !!this._isAnimated;\n }, SVGGradientFillStyleData.prototype.setGradientData = function (t, e) {\n var r = createElementID(),\n i = createNS(1 === e.t ? \"linearGradient\" : \"radialGradient\");\n i.setAttribute(\"id\", r), i.setAttribute(\"spreadMethod\", \"pad\"), i.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n var a,\n s,\n n,\n o = [];\n\n for (n = 4 * e.g.p, s = 0; s < n; s += 4) {\n a = createNS(\"stop\"), i.appendChild(a), o.push(a);\n }\n\n t.setAttribute(\"gf\" === e.ty ? \"fill\" : \"stroke\", \"url(\" + getLocationHref() + \"#\" + r + \")\"), this.gf = i, this.cst = o;\n }, SVGGradientFillStyleData.prototype.setGradientOpacity = function (t, e) {\n if (this.g._hasOpacity && !this.g._collapsable) {\n var r,\n i,\n a,\n s = createNS(\"mask\"),\n n = createNS(\"path\");\n s.appendChild(n);\n var o = createElementID(),\n h = createElementID();\n s.setAttribute(\"id\", h);\n var l = createNS(1 === t.t ? \"linearGradient\" : \"radialGradient\");\n l.setAttribute(\"id\", o), l.setAttribute(\"spreadMethod\", \"pad\"), l.setAttribute(\"gradientUnits\", \"userSpaceOnUse\"), a = t.g.k.k[0].s ? t.g.k.k[0].s.length : t.g.k.k.length;\n var p = this.stops;\n\n for (i = 4 * t.g.p; i < a; i += 2) {\n (r = createNS(\"stop\")).setAttribute(\"stop-color\", \"rgb(255,255,255)\"), l.appendChild(r), p.push(r);\n }\n\n n.setAttribute(\"gf\" === t.ty ? \"fill\" : \"stroke\", \"url(\" + getLocationHref() + \"#\" + o + \")\"), \"gs\" === t.ty && (n.setAttribute(\"stroke-linecap\", lineCapEnum[t.lc || 2]), n.setAttribute(\"stroke-linejoin\", lineJoinEnum[t.lj || 2]), 1 === t.lj && n.setAttribute(\"stroke-miterlimit\", t.ml)), this.of = l, this.ms = s, this.ost = p, this.maskId = h, e.msElem = n;\n }\n }, extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData), extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n\n var buildShapeString = function buildShapeString(t, e, r, i) {\n if (0 === e) return \"\";\n var a,\n s = t.o,\n n = t.i,\n o = t.v,\n h = \" M\" + i.applyToPointStringified(o[0][0], o[0][1]);\n\n for (a = 1; a < e; a += 1) {\n h += \" C\" + i.applyToPointStringified(s[a - 1][0], s[a - 1][1]) + \" \" + i.applyToPointStringified(n[a][0], n[a][1]) + \" \" + i.applyToPointStringified(o[a][0], o[a][1]);\n }\n\n return r && e && (h += \" C\" + i.applyToPointStringified(s[a - 1][0], s[a - 1][1]) + \" \" + i.applyToPointStringified(n[0][0], n[0][1]) + \" \" + i.applyToPointStringified(o[0][0], o[0][1]), h += \"z\"), h;\n },\n SVGElementsRenderer = function () {\n var t = new Matrix(),\n e = new Matrix();\n\n function r(t, e, r) {\n (r || e.transform.op._mdf) && e.transform.container.setAttribute(\"opacity\", e.transform.op.v), (r || e.transform.mProps._mdf) && e.transform.container.setAttribute(\"transform\", e.transform.mProps.v.to2dCSS());\n }\n\n function i() {}\n\n function a(r, i, a) {\n var s,\n n,\n o,\n h,\n l,\n p,\n f,\n c,\n m,\n d,\n u,\n y = i.styles.length,\n g = i.lvl;\n\n for (p = 0; p < y; p += 1) {\n if (h = i.sh._mdf || a, i.styles[p].lvl < g) {\n for (c = e.reset(), d = g - i.styles[p].lvl, u = i.transformers.length - 1; !h && d > 0;) {\n h = i.transformers[u].mProps._mdf || h, d -= 1, u -= 1;\n }\n\n if (h) for (d = g - i.styles[p].lvl, u = i.transformers.length - 1; d > 0;) {\n m = i.transformers[u].mProps.v.props, c.transform(m[0], m[1], m[2], m[3], m[4], m[5], m[6], m[7], m[8], m[9], m[10], m[11], m[12], m[13], m[14], m[15]), d -= 1, u -= 1;\n }\n } else c = t;\n\n if (n = (f = i.sh.paths)._length, h) {\n for (o = \"\", s = 0; s < n; s += 1) {\n (l = f.shapes[s]) && l._length && (o += buildShapeString(l, l._length, l.c, c));\n }\n\n i.caches[p] = o;\n } else o = i.caches[p];\n\n i.styles[p].d += !0 === r.hd ? \"\" : o, i.styles[p]._mdf = h || i.styles[p]._mdf;\n }\n }\n\n function s(t, e, r) {\n var i = e.style;\n (e.c._mdf || r) && i.pElem.setAttribute(\"fill\", \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"), (e.o._mdf || r) && i.pElem.setAttribute(\"fill-opacity\", e.o.v);\n }\n\n function n(t, e, r) {\n o(t, e, r), h(t, e, r);\n }\n\n function o(t, e, r) {\n var i,\n a,\n s,\n n,\n o,\n h = e.gf,\n l = e.g._hasOpacity,\n p = e.s.v,\n f = e.e.v;\n\n if (e.o._mdf || r) {\n var c = \"gf\" === t.ty ? \"fill-opacity\" : \"stroke-opacity\";\n e.style.pElem.setAttribute(c, e.o.v);\n }\n\n if (e.s._mdf || r) {\n var m = 1 === t.t ? \"x1\" : \"cx\",\n d = \"x1\" === m ? \"y1\" : \"cy\";\n h.setAttribute(m, p[0]), h.setAttribute(d, p[1]), l && !e.g._collapsable && (e.of.setAttribute(m, p[0]), e.of.setAttribute(d, p[1]));\n }\n\n if (e.g._cmdf || r) {\n i = e.cst;\n var u = e.g.c;\n\n for (s = i.length, a = 0; a < s; a += 1) {\n (n = i[a]).setAttribute(\"offset\", u[4 * a] + \"%\"), n.setAttribute(\"stop-color\", \"rgb(\" + u[4 * a + 1] + \",\" + u[4 * a + 2] + \",\" + u[4 * a + 3] + \")\");\n }\n }\n\n if (l && (e.g._omdf || r)) {\n var y = e.g.o;\n\n for (s = (i = e.g._collapsable ? e.cst : e.ost).length, a = 0; a < s; a += 1) {\n n = i[a], e.g._collapsable || n.setAttribute(\"offset\", y[2 * a] + \"%\"), n.setAttribute(\"stop-opacity\", y[2 * a + 1]);\n }\n }\n\n if (1 === t.t) (e.e._mdf || r) && (h.setAttribute(\"x2\", f[0]), h.setAttribute(\"y2\", f[1]), l && !e.g._collapsable && (e.of.setAttribute(\"x2\", f[0]), e.of.setAttribute(\"y2\", f[1])));else if ((e.s._mdf || e.e._mdf || r) && (o = Math.sqrt(Math.pow(p[0] - f[0], 2) + Math.pow(p[1] - f[1], 2)), h.setAttribute(\"r\", o), l && !e.g._collapsable && e.of.setAttribute(\"r\", o)), e.e._mdf || e.h._mdf || e.a._mdf || r) {\n o || (o = Math.sqrt(Math.pow(p[0] - f[0], 2) + Math.pow(p[1] - f[1], 2)));\n var g = Math.atan2(f[1] - p[1], f[0] - p[0]),\n v = e.h.v;\n v >= 1 ? v = .99 : v <= -1 && (v = -.99);\n var b = o * v,\n x = Math.cos(g + e.a.v) * b + p[0],\n E = Math.sin(g + e.a.v) * b + p[1];\n h.setAttribute(\"fx\", x), h.setAttribute(\"fy\", E), l && !e.g._collapsable && (e.of.setAttribute(\"fx\", x), e.of.setAttribute(\"fy\", E));\n }\n }\n\n function h(t, e, r) {\n var i = e.style,\n a = e.d;\n a && (a._mdf || r) && a.dashStr && (i.pElem.setAttribute(\"stroke-dasharray\", a.dashStr), i.pElem.setAttribute(\"stroke-dashoffset\", a.dashoffset[0])), e.c && (e.c._mdf || r) && i.pElem.setAttribute(\"stroke\", \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"), (e.o._mdf || r) && i.pElem.setAttribute(\"stroke-opacity\", e.o.v), (e.w._mdf || r) && (i.pElem.setAttribute(\"stroke-width\", e.w.v), i.msElem && i.msElem.setAttribute(\"stroke-width\", e.w.v));\n }\n\n return {\n createRenderFunction: function createRenderFunction(t) {\n switch (t.ty) {\n case \"fl\":\n return s;\n\n case \"gf\":\n return o;\n\n case \"gs\":\n return n;\n\n case \"st\":\n return h;\n\n case \"sh\":\n case \"el\":\n case \"rc\":\n case \"sr\":\n return a;\n\n case \"tr\":\n return r;\n\n case \"no\":\n return i;\n\n default:\n return null;\n }\n }\n };\n }();\n\n function SVGShapeElement(t, e, r) {\n this.shapes = [], this.shapesData = t.shapes, this.stylesList = [], this.shapeModifiers = [], this.itemsData = [], this.processedElements = [], this.animatedContents = [], this.initElement(t, e, r), this.prevViewData = [];\n }\n\n function LetterProps(t, e, r, i, a, s) {\n this.o = t, this.sw = e, this.sc = r, this.fc = i, this.m = a, this.p = s, this._mdf = {\n o: !0,\n sw: !!e,\n sc: !!r,\n fc: !!i,\n m: !0,\n p: !0\n };\n }\n\n function TextProperty(t, e) {\n this._frameId = initialDefaultFrame, this.pv = \"\", this.v = \"\", this.kf = !1, this._isFirstFrame = !0, this._mdf = !1, this.data = e, this.elem = t, this.comp = this.elem.comp, this.keysIndex = 0, this.canResize = !1, this.minimumFontSize = 1, this.effectsSequence = [], this.currentData = {\n ascent: 0,\n boxWidth: this.defaultBoxWidth,\n f: \"\",\n fStyle: \"\",\n fWeight: \"\",\n fc: \"\",\n j: \"\",\n justifyOffset: \"\",\n l: [],\n lh: 0,\n lineWidths: [],\n ls: \"\",\n of: \"\",\n s: \"\",\n sc: \"\",\n sw: 0,\n t: 0,\n tr: 0,\n sz: 0,\n ps: null,\n fillColorAnim: !1,\n strokeColorAnim: !1,\n strokeWidthAnim: !1,\n yOffset: 0,\n finalSize: 0,\n finalText: [],\n finalLineHeight: 0,\n __complete: !1\n }, this.copyData(this.currentData, this.data.d.k[0].s), this.searchProperty() || this.completeTextData(this.currentData);\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement), SVGShapeElement.prototype.initSecondaryElement = function () {}, SVGShapeElement.prototype.identityMatrix = new Matrix(), SVGShapeElement.prototype.buildExpressionInterface = function () {}, SVGShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0), this.filterUniqueShapes();\n }, SVGShapeElement.prototype.filterUniqueShapes = function () {\n var t,\n e,\n r,\n i,\n a = this.shapes.length,\n s = this.stylesList.length,\n n = [],\n o = !1;\n\n for (r = 0; r < s; r += 1) {\n for (i = this.stylesList[r], o = !1, n.length = 0, t = 0; t < a; t += 1) {\n -1 !== (e = this.shapes[t]).styles.indexOf(i) && (n.push(e), o = e._isAnimated || o);\n }\n\n n.length > 1 && o && this.setShapesAsAnimated(n);\n }\n }, SVGShapeElement.prototype.setShapesAsAnimated = function (t) {\n var e,\n r = t.length;\n\n for (e = 0; e < r; e += 1) {\n t[e].setAsAnimated();\n }\n }, SVGShapeElement.prototype.createStyleElement = function (t, e) {\n var r,\n i = new SVGStyleData(t, e),\n a = i.pElem;\n if (\"st\" === t.ty) r = new SVGStrokeStyleData(this, t, i);else if (\"fl\" === t.ty) r = new SVGFillStyleData(this, t, i);else if (\"gf\" === t.ty || \"gs\" === t.ty) {\n r = new (\"gf\" === t.ty ? SVGGradientFillStyleData : SVGGradientStrokeStyleData)(this, t, i), this.globalData.defs.appendChild(r.gf), r.maskId && (this.globalData.defs.appendChild(r.ms), this.globalData.defs.appendChild(r.of), a.setAttribute(\"mask\", \"url(\" + getLocationHref() + \"#\" + r.maskId + \")\"));\n } else \"no\" === t.ty && (r = new SVGNoStyleData(this, t, i));\n return \"st\" !== t.ty && \"gs\" !== t.ty || (a.setAttribute(\"stroke-linecap\", lineCapEnum[t.lc || 2]), a.setAttribute(\"stroke-linejoin\", lineJoinEnum[t.lj || 2]), a.setAttribute(\"fill-opacity\", \"0\"), 1 === t.lj && a.setAttribute(\"stroke-miterlimit\", t.ml)), 2 === t.r && a.setAttribute(\"fill-rule\", \"evenodd\"), t.ln && a.setAttribute(\"id\", t.ln), t.cl && a.setAttribute(\"class\", t.cl), t.bm && (a.style[\"mix-blend-mode\"] = getBlendMode(t.bm)), this.stylesList.push(i), this.addToAnimatedContents(t, r), r;\n }, SVGShapeElement.prototype.createGroupElement = function (t) {\n var e = new ShapeGroupData();\n return t.ln && e.gr.setAttribute(\"id\", t.ln), t.cl && e.gr.setAttribute(\"class\", t.cl), t.bm && (e.gr.style[\"mix-blend-mode\"] = getBlendMode(t.bm)), e;\n }, SVGShapeElement.prototype.createTransformElement = function (t, e) {\n var r = TransformPropertyFactory.getTransformProperty(this, t, this),\n i = new SVGTransformData(r, r.o, e);\n return this.addToAnimatedContents(t, i), i;\n }, SVGShapeElement.prototype.createShapeElement = function (t, e, r) {\n var i = 4;\n \"rc\" === t.ty ? i = 5 : \"el\" === t.ty ? i = 6 : \"sr\" === t.ty && (i = 7);\n var a = new SVGShapeData(e, r, ShapePropertyFactory.getShapeProp(this, t, i, this));\n return this.shapes.push(a), this.addShapeToModifiers(a), this.addToAnimatedContents(t, a), a;\n }, SVGShapeElement.prototype.addToAnimatedContents = function (t, e) {\n for (var r = 0, i = this.animatedContents.length; r < i;) {\n if (this.animatedContents[r].element === e) return;\n r += 1;\n }\n\n this.animatedContents.push({\n fn: SVGElementsRenderer.createRenderFunction(t),\n element: e,\n data: t\n });\n }, SVGShapeElement.prototype.setElementStyles = function (t) {\n var e,\n r = t.styles,\n i = this.stylesList.length;\n\n for (e = 0; e < i; e += 1) {\n this.stylesList[e].closed || r.push(this.stylesList[e]);\n }\n }, SVGShapeElement.prototype.reloadShapes = function () {\n var t;\n this._isFirstFrame = !0;\n var e = this.itemsData.length;\n\n for (t = 0; t < e; t += 1) {\n this.prevViewData[t] = this.itemsData[t];\n }\n\n for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0), this.filterUniqueShapes(), e = this.dynamicProperties.length, t = 0; t < e; t += 1) {\n this.dynamicProperties[t].getValue();\n }\n\n this.renderModifiers();\n }, SVGShapeElement.prototype.searchShapes = function (t, e, r, i, a, s, n) {\n var o,\n h,\n l,\n p,\n f,\n c,\n m = [].concat(s),\n d = t.length - 1,\n u = [],\n y = [];\n\n for (o = d; o >= 0; o -= 1) {\n if ((c = this.searchProcessedElement(t[o])) ? e[o] = r[c - 1] : t[o]._render = n, \"fl\" === t[o].ty || \"st\" === t[o].ty || \"gf\" === t[o].ty || \"gs\" === t[o].ty || \"no\" === t[o].ty) c ? e[o].style.closed = !1 : e[o] = this.createStyleElement(t[o], a), t[o]._render && e[o].style.pElem.parentNode !== i && i.appendChild(e[o].style.pElem), u.push(e[o].style);else if (\"gr\" === t[o].ty) {\n if (c) for (l = e[o].it.length, h = 0; h < l; h += 1) {\n e[o].prevViewData[h] = e[o].it[h];\n } else e[o] = this.createGroupElement(t[o]);\n this.searchShapes(t[o].it, e[o].it, e[o].prevViewData, e[o].gr, a + 1, m, n), t[o]._render && e[o].gr.parentNode !== i && i.appendChild(e[o].gr);\n } else \"tr\" === t[o].ty ? (c || (e[o] = this.createTransformElement(t[o], i)), p = e[o].transform, m.push(p)) : \"sh\" === t[o].ty || \"rc\" === t[o].ty || \"el\" === t[o].ty || \"sr\" === t[o].ty ? (c || (e[o] = this.createShapeElement(t[o], m, a)), this.setElementStyles(e[o])) : \"tm\" === t[o].ty || \"rd\" === t[o].ty || \"ms\" === t[o].ty || \"pb\" === t[o].ty ? (c ? (f = e[o]).closed = !1 : ((f = ShapeModifiers.getModifier(t[o].ty)).init(this, t[o]), e[o] = f, this.shapeModifiers.push(f)), y.push(f)) : \"rp\" === t[o].ty && (c ? (f = e[o]).closed = !0 : (f = ShapeModifiers.getModifier(t[o].ty), e[o] = f, f.init(this, t, o, e), this.shapeModifiers.push(f), n = !1), y.push(f));\n this.addProcessedElement(t[o], o + 1);\n }\n\n for (d = u.length, o = 0; o < d; o += 1) {\n u[o].closed = !0;\n }\n\n for (d = y.length, o = 0; o < d; o += 1) {\n y[o].closed = !0;\n }\n }, SVGShapeElement.prototype.renderInnerContent = function () {\n var t;\n this.renderModifiers();\n var e = this.stylesList.length;\n\n for (t = 0; t < e; t += 1) {\n this.stylesList[t].reset();\n }\n\n for (this.renderShape(), t = 0; t < e; t += 1) {\n (this.stylesList[t]._mdf || this._isFirstFrame) && (this.stylesList[t].msElem && (this.stylesList[t].msElem.setAttribute(\"d\", this.stylesList[t].d), this.stylesList[t].d = \"M0 0\" + this.stylesList[t].d), this.stylesList[t].pElem.setAttribute(\"d\", this.stylesList[t].d || \"M0 0\"));\n }\n }, SVGShapeElement.prototype.renderShape = function () {\n var t,\n e,\n r = this.animatedContents.length;\n\n for (t = 0; t < r; t += 1) {\n e = this.animatedContents[t], (this._isFirstFrame || e.element._isAnimated) && !0 !== e.data && e.fn(e.data, e.element, this._isFirstFrame);\n }\n }, SVGShapeElement.prototype.destroy = function () {\n this.destroyBaseElement(), this.shapesData = null, this.itemsData = null;\n }, LetterProps.prototype.update = function (t, e, r, i, a, s) {\n this._mdf.o = !1, this._mdf.sw = !1, this._mdf.sc = !1, this._mdf.fc = !1, this._mdf.m = !1, this._mdf.p = !1;\n var n = !1;\n return this.o !== t && (this.o = t, this._mdf.o = !0, n = !0), this.sw !== e && (this.sw = e, this._mdf.sw = !0, n = !0), this.sc !== r && (this.sc = r, this._mdf.sc = !0, n = !0), this.fc !== i && (this.fc = i, this._mdf.fc = !0, n = !0), this.m !== a && (this.m = a, this._mdf.m = !0, n = !0), !s.length || this.p[0] === s[0] && this.p[1] === s[1] && this.p[4] === s[4] && this.p[5] === s[5] && this.p[12] === s[12] && this.p[13] === s[13] || (this.p = s, this._mdf.p = !0, n = !0), n;\n }, TextProperty.prototype.defaultBoxWidth = [0, 0], TextProperty.prototype.copyData = function (t, e) {\n for (var r in e) {\n Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]);\n }\n\n return t;\n }, TextProperty.prototype.setCurrentData = function (t) {\n t.__complete || this.completeTextData(t), this.currentData = t, this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth, this._mdf = !0;\n }, TextProperty.prototype.searchProperty = function () {\n return this.searchKeyframes();\n }, TextProperty.prototype.searchKeyframes = function () {\n return this.kf = this.data.d.k.length > 1, this.kf && this.addEffect(this.getKeyframeValue.bind(this)), this.kf;\n }, TextProperty.prototype.addEffect = function (t) {\n this.effectsSequence.push(t), this.elem.addDynamicProperty(this);\n }, TextProperty.prototype.getValue = function (t) {\n if (this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length || t) {\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\n var e = this.currentData,\n r = this.keysIndex;\n if (this.lock) this.setCurrentData(this.currentData);else {\n var i;\n this.lock = !0, this._mdf = !1;\n var a = this.effectsSequence.length,\n s = t || this.data.d.k[this.keysIndex].s;\n\n for (i = 0; i < a; i += 1) {\n s = r !== this.keysIndex ? this.effectsSequence[i](s, s.t) : this.effectsSequence[i](this.currentData, s.t);\n }\n\n e !== s && this.setCurrentData(s), this.v = this.currentData, this.pv = this.v, this.lock = !1, this.frameId = this.elem.globalData.frameId;\n }\n }\n }, TextProperty.prototype.getKeyframeValue = function () {\n for (var t = this.data.d.k, e = this.elem.comp.renderedFrame, r = 0, i = t.length; r <= i - 1 && !(r === i - 1 || t[r + 1].t > e);) {\n r += 1;\n }\n\n return this.keysIndex !== r && (this.keysIndex = r), this.data.d.k[this.keysIndex].s;\n }, TextProperty.prototype.buildFinalText = function (t) {\n for (var e, r, i = [], a = 0, s = t.length, n = !1; a < s;) {\n e = t.charCodeAt(a), FontManager.isCombinedCharacter(e) ? i[i.length - 1] += t.charAt(a) : e >= 55296 && e <= 56319 ? (r = t.charCodeAt(a + 1)) >= 56320 && r <= 57343 ? (n || FontManager.isModifier(e, r) ? (i[i.length - 1] += t.substr(a, 2), n = !1) : i.push(t.substr(a, 2)), a += 1) : i.push(t.charAt(a)) : e > 56319 ? (r = t.charCodeAt(a + 1), FontManager.isZeroWidthJoiner(e, r) ? (n = !0, i[i.length - 1] += t.substr(a, 2), a += 1) : i.push(t.charAt(a))) : FontManager.isZeroWidthJoiner(e) ? (i[i.length - 1] += t.charAt(a), n = !0) : i.push(t.charAt(a)), a += 1;\n }\n\n return i;\n }, TextProperty.prototype.completeTextData = function (t) {\n t.__complete = !0;\n var e,\n r,\n i,\n a,\n s,\n n,\n o,\n h = this.elem.globalData.fontManager,\n l = this.data,\n p = [],\n f = 0,\n c = l.m.g,\n m = 0,\n d = 0,\n u = 0,\n y = [],\n g = 0,\n v = 0,\n b = h.getFontByName(t.f),\n x = 0,\n E = getFontProperties(b);\n t.fWeight = E.weight, t.fStyle = E.style, t.finalSize = t.s, t.finalText = this.buildFinalText(t.t), r = t.finalText.length, t.finalLineHeight = t.lh;\n var P,\n S = t.tr / 1e3 * t.finalSize;\n if (t.sz) for (var _, C, A = !0, k = t.sz[0], T = t.sz[1]; A;) {\n _ = 0, g = 0, r = (C = this.buildFinalText(t.t)).length, S = t.tr / 1e3 * t.finalSize;\n var D = -1;\n\n for (e = 0; e < r; e += 1) {\n P = C[e].charCodeAt(0), i = !1, \" \" === C[e] ? D = e : 13 !== P && 3 !== P || (g = 0, i = !0, _ += t.finalLineHeight || 1.2 * t.finalSize), h.chars ? (o = h.getCharData(C[e], b.fStyle, b.fFamily), x = i ? 0 : o.w * t.finalSize / 100) : x = h.measureText(C[e], t.f, t.finalSize), g + x > k && \" \" !== C[e] ? (-1 === D ? r += 1 : e = D, _ += t.finalLineHeight || 1.2 * t.finalSize, C.splice(e, D === e ? 1 : 0, \"\\r\"), D = -1, g = 0) : (g += x, g += S);\n }\n\n _ += b.ascent * t.finalSize / 100, this.canResize && t.finalSize > this.minimumFontSize && T < _ ? (t.finalSize -= 1, t.finalLineHeight = t.finalSize * t.lh / t.s) : (t.finalText = C, r = t.finalText.length, A = !1);\n }\n g = -S, x = 0;\n var w,\n M = 0;\n\n for (e = 0; e < r; e += 1) {\n if (i = !1, 13 === (P = (w = t.finalText[e]).charCodeAt(0)) || 3 === P ? (M = 0, y.push(g), v = g > v ? g : v, g = -2 * S, a = \"\", i = !0, u += 1) : a = w, h.chars ? (o = h.getCharData(w, b.fStyle, h.getFontByName(t.f).fFamily), x = i ? 0 : o.w * t.finalSize / 100) : x = h.measureText(a, t.f, t.finalSize), \" \" === w ? M += x + S : (g += x + S + M, M = 0), p.push({\n l: x,\n an: x,\n add: m,\n n: i,\n anIndexes: [],\n val: a,\n line: u,\n animatorJustifyOffset: 0\n }), 2 == c) {\n if (m += x, \"\" === a || \" \" === a || e === r - 1) {\n for (\"\" !== a && \" \" !== a || (m -= x); d <= e;) {\n p[d].an = m, p[d].ind = f, p[d].extra = x, d += 1;\n }\n\n f += 1, m = 0;\n }\n } else if (3 == c) {\n if (m += x, \"\" === a || e === r - 1) {\n for (\"\" === a && (m -= x); d <= e;) {\n p[d].an = m, p[d].ind = f, p[d].extra = x, d += 1;\n }\n\n m = 0, f += 1;\n }\n } else p[f].ind = f, p[f].extra = 0, f += 1;\n }\n\n if (t.l = p, v = g > v ? g : v, y.push(g), t.sz) t.boxWidth = t.sz[0], t.justifyOffset = 0;else switch (t.boxWidth = v, t.j) {\n case 1:\n t.justifyOffset = -t.boxWidth;\n break;\n\n case 2:\n t.justifyOffset = -t.boxWidth / 2;\n break;\n\n default:\n t.justifyOffset = 0;\n }\n t.lineWidths = y;\n var F,\n I,\n R,\n B,\n V = l.a;\n n = V.length;\n var L = [];\n\n for (s = 0; s < n; s += 1) {\n for ((F = V[s]).a.sc && (t.strokeColorAnim = !0), F.a.sw && (t.strokeWidthAnim = !0), (F.a.fc || F.a.fh || F.a.fs || F.a.fb) && (t.fillColorAnim = !0), B = 0, R = F.s.b, e = 0; e < r; e += 1) {\n (I = p[e]).anIndexes[s] = B, (1 == R && \"\" !== I.val || 2 == R && \"\" !== I.val && \" \" !== I.val || 3 == R && (I.n || \" \" == I.val || e == r - 1) || 4 == R && (I.n || e == r - 1)) && (1 === F.s.rn && L.push(B), B += 1);\n }\n\n l.a[s].s.totalChars = B;\n var z,\n G = -1;\n if (1 === F.s.rn) for (e = 0; e < r; e += 1) {\n G != (I = p[e]).anIndexes[s] && (G = I.anIndexes[s], z = L.splice(Math.floor(Math.random() * L.length), 1)[0]), I.anIndexes[s] = z;\n }\n }\n\n t.yOffset = t.finalLineHeight || 1.2 * t.finalSize, t.ls = t.ls || 0, t.ascent = b.ascent * t.finalSize / 100;\n }, TextProperty.prototype.updateDocumentData = function (t, e) {\n e = void 0 === e ? this.keysIndex : e;\n var r = this.copyData({}, this.data.d.k[e].s);\n r = this.copyData(r, t), this.data.d.k[e].s = r, this.recalculate(e), this.elem.addDynamicProperty(this);\n }, TextProperty.prototype.recalculate = function (t) {\n var e = this.data.d.k[t].s;\n e.__complete = !1, this.keysIndex = 0, this._isFirstFrame = !0, this.getValue(e);\n }, TextProperty.prototype.canResizeFont = function (t) {\n this.canResize = t, this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this);\n }, TextProperty.prototype.setMinimumFontSize = function (t) {\n this.minimumFontSize = Math.floor(t) || 1, this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this);\n };\n\n var TextSelectorProp = function () {\n var t = Math.max,\n e = Math.min,\n r = Math.floor;\n\n function i(t, e) {\n this._currentTextLength = -1, this.k = !1, this.data = e, this.elem = t, this.comp = t.comp, this.finalS = 0, this.finalE = 0, this.initDynamicPropertyContainer(t), this.s = PropertyFactory.getProp(t, e.s || {\n k: 0\n }, 0, 0, this), this.e = \"e\" in e ? PropertyFactory.getProp(t, e.e, 0, 0, this) : {\n v: 100\n }, this.o = PropertyFactory.getProp(t, e.o || {\n k: 0\n }, 0, 0, this), this.xe = PropertyFactory.getProp(t, e.xe || {\n k: 0\n }, 0, 0, this), this.ne = PropertyFactory.getProp(t, e.ne || {\n k: 0\n }, 0, 0, this), this.sm = PropertyFactory.getProp(t, e.sm || {\n k: 100\n }, 0, 0, this), this.a = PropertyFactory.getProp(t, e.a, 0, .01, this), this.dynamicProperties.length || this.getValue();\n }\n\n return i.prototype = {\n getMult: function getMult(i) {\n this._currentTextLength !== this.elem.textProperty.currentData.l.length && this.getValue();\n var a = 0,\n s = 0,\n n = 1,\n o = 1;\n this.ne.v > 0 ? a = this.ne.v / 100 : s = -this.ne.v / 100, this.xe.v > 0 ? n = 1 - this.xe.v / 100 : o = 1 + this.xe.v / 100;\n var h = BezierFactory.getBezierEasing(a, s, n, o).get,\n l = 0,\n p = this.finalS,\n f = this.finalE,\n c = this.data.sh;\n if (2 === c) l = h(l = f === p ? i >= f ? 1 : 0 : t(0, e(.5 / (f - p) + (i - p) / (f - p), 1)));else if (3 === c) l = h(l = f === p ? i >= f ? 0 : 1 : 1 - t(0, e(.5 / (f - p) + (i - p) / (f - p), 1)));else if (4 === c) f === p ? l = 0 : (l = t(0, e(.5 / (f - p) + (i - p) / (f - p), 1))) < .5 ? l *= 2 : l = 1 - 2 * (l - .5), l = h(l);else if (5 === c) {\n if (f === p) l = 0;else {\n var m = f - p,\n d = -m / 2 + (i = e(t(0, i + .5 - p), f - p)),\n u = m / 2;\n l = Math.sqrt(1 - d * d / (u * u));\n }\n l = h(l);\n } else 6 === c ? (f === p ? l = 0 : (i = e(t(0, i + .5 - p), f - p), l = (1 + Math.cos(Math.PI + 2 * Math.PI * i / (f - p))) / 2), l = h(l)) : (i >= r(p) && (l = t(0, e(i - p < 0 ? e(f, 1) - (p - i) : f - i, 1))), l = h(l));\n\n if (100 !== this.sm.v) {\n var y = .01 * this.sm.v;\n 0 === y && (y = 1e-8);\n var g = .5 - .5 * y;\n l < g ? l = 0 : (l = (l - g) / y) > 1 && (l = 1);\n }\n\n return l * this.a.v;\n },\n getValue: function getValue(t) {\n this.iterateDynamicProperties(), this._mdf = t || this._mdf, this._currentTextLength = this.elem.textProperty.currentData.l.length || 0, t && 2 === this.data.r && (this.e.v = this._currentTextLength);\n var e = 2 === this.data.r ? 1 : 100 / this.data.totalChars,\n r = this.o.v / e,\n i = this.s.v / e + r,\n a = this.e.v / e + r;\n\n if (i > a) {\n var s = i;\n i = a, a = s;\n }\n\n this.finalS = i, this.finalE = a;\n }\n }, extendPrototype([DynamicPropertyContainer], i), {\n getTextSelectorProp: function getTextSelectorProp(t, e, r) {\n return new i(t, e, r);\n }\n };\n }();\n\n function TextAnimatorDataProperty(t, e, r) {\n var i = {\n propType: !1\n },\n a = PropertyFactory.getProp,\n s = e.a;\n this.a = {\n r: s.r ? a(t, s.r, 0, degToRads, r) : i,\n rx: s.rx ? a(t, s.rx, 0, degToRads, r) : i,\n ry: s.ry ? a(t, s.ry, 0, degToRads, r) : i,\n sk: s.sk ? a(t, s.sk, 0, degToRads, r) : i,\n sa: s.sa ? a(t, s.sa, 0, degToRads, r) : i,\n s: s.s ? a(t, s.s, 1, .01, r) : i,\n a: s.a ? a(t, s.a, 1, 0, r) : i,\n o: s.o ? a(t, s.o, 0, .01, r) : i,\n p: s.p ? a(t, s.p, 1, 0, r) : i,\n sw: s.sw ? a(t, s.sw, 0, 0, r) : i,\n sc: s.sc ? a(t, s.sc, 1, 0, r) : i,\n fc: s.fc ? a(t, s.fc, 1, 0, r) : i,\n fh: s.fh ? a(t, s.fh, 0, 0, r) : i,\n fs: s.fs ? a(t, s.fs, 0, .01, r) : i,\n fb: s.fb ? a(t, s.fb, 0, .01, r) : i,\n t: s.t ? a(t, s.t, 0, 0, r) : i\n }, this.s = TextSelectorProp.getTextSelectorProp(t, e.s, r), this.s.t = e.s.t;\n }\n\n function TextAnimatorProperty(t, e, r) {\n this._isFirstFrame = !0, this._hasMaskedPath = !1, this._frameId = -1, this._textData = t, this._renderType = e, this._elem = r, this._animatorsData = createSizedArray(this._textData.a.length), this._pathData = {}, this._moreOptions = {\n alignment: {}\n }, this.renderedLetters = [], this.lettersChangedFlag = !1, this.initDynamicPropertyContainer(r);\n }\n\n function ITextElement() {}\n\n TextAnimatorProperty.prototype.searchProperties = function () {\n var t,\n e,\n r = this._textData.a.length,\n i = PropertyFactory.getProp;\n\n for (t = 0; t < r; t += 1) {\n e = this._textData.a[t], this._animatorsData[t] = new TextAnimatorDataProperty(this._elem, e, this);\n }\n\n this._textData.p && \"m\" in this._textData.p ? (this._pathData = {\n a: i(this._elem, this._textData.p.a, 0, 0, this),\n f: i(this._elem, this._textData.p.f, 0, 0, this),\n l: i(this._elem, this._textData.p.l, 0, 0, this),\n r: i(this._elem, this._textData.p.r, 0, 0, this),\n p: i(this._elem, this._textData.p.p, 0, 0, this),\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\n }, this._hasMaskedPath = !0) : this._hasMaskedPath = !1, this._moreOptions.alignment = i(this._elem, this._textData.m.a, 1, 0, this);\n }, TextAnimatorProperty.prototype.getMeasures = function (t, e) {\n if (this.lettersChangedFlag = e, this._mdf || this._isFirstFrame || e || this._hasMaskedPath && this._pathData.m._mdf) {\n this._isFirstFrame = !1;\n var r,\n i,\n a,\n s,\n n,\n o,\n h,\n l,\n p,\n f,\n c,\n m,\n d,\n u,\n y,\n g,\n v,\n b,\n x,\n E = this._moreOptions.alignment.v,\n P = this._animatorsData,\n S = this._textData,\n _ = this.mHelper,\n C = this._renderType,\n A = this.renderedLetters.length,\n k = t.l;\n\n if (this._hasMaskedPath) {\n if (x = this._pathData.m, !this._pathData.n || this._pathData._mdf) {\n var T,\n D = x.v;\n\n for (this._pathData.r.v && (D = D.reverse()), n = {\n tLength: 0,\n segments: []\n }, s = D._length - 1, g = 0, a = 0; a < s; a += 1) {\n T = bez.buildBezierData(D.v[a], D.v[a + 1], [D.o[a][0] - D.v[a][0], D.o[a][1] - D.v[a][1]], [D.i[a + 1][0] - D.v[a + 1][0], D.i[a + 1][1] - D.v[a + 1][1]]), n.tLength += T.segmentLength, n.segments.push(T), g += T.segmentLength;\n }\n\n a = s, x.v.c && (T = bez.buildBezierData(D.v[a], D.v[0], [D.o[a][0] - D.v[a][0], D.o[a][1] - D.v[a][1]], [D.i[0][0] - D.v[0][0], D.i[0][1] - D.v[0][1]]), n.tLength += T.segmentLength, n.segments.push(T), g += T.segmentLength), this._pathData.pi = n;\n }\n\n if (n = this._pathData.pi, o = this._pathData.f.v, c = 0, f = 1, l = 0, p = !0, u = n.segments, o < 0 && x.v.c) for (n.tLength < Math.abs(o) && (o = -Math.abs(o) % n.tLength), f = (d = u[c = u.length - 1].points).length - 1; o < 0;) {\n o += d[f].partialLength, (f -= 1) < 0 && (f = (d = u[c -= 1].points).length - 1);\n }\n m = (d = u[c].points)[f - 1], y = (h = d[f]).partialLength;\n }\n\n s = k.length, r = 0, i = 0;\n var w,\n M,\n F,\n I,\n R,\n B = 1.2 * t.finalSize * .714,\n V = !0;\n F = P.length;\n var L,\n z,\n G,\n N,\n O,\n H,\n j,\n q,\n W,\n $,\n Y,\n X,\n K = -1,\n J = o,\n U = c,\n Z = f,\n Q = -1,\n tt = \"\",\n et = this.defaultPropsArray;\n\n if (2 === t.j || 1 === t.j) {\n var rt = 0,\n it = 0,\n at = 2 === t.j ? -.5 : -1,\n st = 0,\n nt = !0;\n\n for (a = 0; a < s; a += 1) {\n if (k[a].n) {\n for (rt && (rt += it); st < a;) {\n k[st].animatorJustifyOffset = rt, st += 1;\n }\n\n rt = 0, nt = !0;\n } else {\n for (M = 0; M < F; M += 1) {\n (w = P[M].a).t.propType && (nt && 2 === t.j && (it += w.t.v * at), (R = P[M].s.getMult(k[a].anIndexes[M], S.a[M].s.totalChars)).length ? rt += w.t.v * R[0] * at : rt += w.t.v * R * at);\n }\n\n nt = !1;\n }\n }\n\n for (rt && (rt += it); st < a;) {\n k[st].animatorJustifyOffset = rt, st += 1;\n }\n }\n\n for (a = 0; a < s; a += 1) {\n if (_.reset(), N = 1, k[a].n) r = 0, i += t.yOffset, i += V ? 1 : 0, o = J, V = !1, this._hasMaskedPath && (f = Z, m = (d = u[c = U].points)[f - 1], y = (h = d[f]).partialLength, l = 0), tt = \"\", Y = \"\", W = \"\", X = \"\", et = this.defaultPropsArray;else {\n if (this._hasMaskedPath) {\n if (Q !== k[a].line) {\n switch (t.j) {\n case 1:\n o += g - t.lineWidths[k[a].line];\n break;\n\n case 2:\n o += (g - t.lineWidths[k[a].line]) / 2;\n }\n\n Q = k[a].line;\n }\n\n K !== k[a].ind && (k[K] && (o += k[K].extra), o += k[a].an / 2, K = k[a].ind), o += E[0] * k[a].an * .005;\n var ot = 0;\n\n for (M = 0; M < F; M += 1) {\n (w = P[M].a).p.propType && ((R = P[M].s.getMult(k[a].anIndexes[M], S.a[M].s.totalChars)).length ? ot += w.p.v[0] * R[0] : ot += w.p.v[0] * R), w.a.propType && ((R = P[M].s.getMult(k[a].anIndexes[M], S.a[M].s.totalChars)).length ? ot += w.a.v[0] * R[0] : ot += w.a.v[0] * R);\n }\n\n for (p = !0, this._pathData.a.v && (o = .5 * k[0].an + (g - this._pathData.f.v - .5 * k[0].an - .5 * k[k.length - 1].an) * K / (s - 1), o += this._pathData.f.v); p;) {\n l + y >= o + ot || !d ? (v = (o + ot - l) / h.partialLength, z = m.point[0] + (h.point[0] - m.point[0]) * v, G = m.point[1] + (h.point[1] - m.point[1]) * v, _.translate(-E[0] * k[a].an * .005, -E[1] * B * .01), p = !1) : d && (l += h.partialLength, (f += 1) >= d.length && (f = 0, u[c += 1] ? d = u[c].points : x.v.c ? (f = 0, d = u[c = 0].points) : (l -= h.partialLength, d = null)), d && (m = h, y = (h = d[f]).partialLength));\n }\n\n L = k[a].an / 2 - k[a].add, _.translate(-L, 0, 0);\n } else L = k[a].an / 2 - k[a].add, _.translate(-L, 0, 0), _.translate(-E[0] * k[a].an * .005, -E[1] * B * .01, 0);\n\n for (M = 0; M < F; M += 1) {\n (w = P[M].a).t.propType && (R = P[M].s.getMult(k[a].anIndexes[M], S.a[M].s.totalChars), 0 === r && 0 === t.j || (this._hasMaskedPath ? R.length ? o += w.t.v * R[0] : o += w.t.v * R : R.length ? r += w.t.v * R[0] : r += w.t.v * R));\n }\n\n for (t.strokeWidthAnim && (H = t.sw || 0), t.strokeColorAnim && (O = t.sc ? [t.sc[0], t.sc[1], t.sc[2]] : [0, 0, 0]), t.fillColorAnim && t.fc && (j = [t.fc[0], t.fc[1], t.fc[2]]), M = 0; M < F; M += 1) {\n (w = P[M].a).a.propType && ((R = P[M].s.getMult(k[a].anIndexes[M], S.a[M].s.totalChars)).length ? _.translate(-w.a.v[0] * R[0], -w.a.v[1] * R[1], w.a.v[2] * R[2]) : _.translate(-w.a.v[0] * R, -w.a.v[1] * R, w.a.v[2] * R));\n }\n\n for (M = 0; M < F; M += 1) {\n (w = P[M].a).s.propType && ((R = P[M].s.getMult(k[a].anIndexes[M], S.a[M].s.totalChars)).length ? _.scale(1 + (w.s.v[0] - 1) * R[0], 1 + (w.s.v[1] - 1) * R[1], 1) : _.scale(1 + (w.s.v[0] - 1) * R, 1 + (w.s.v[1] - 1) * R, 1));\n }\n\n for (M = 0; M < F; M += 1) {\n if (w = P[M].a, R = P[M].s.getMult(k[a].anIndexes[M], S.a[M].s.totalChars), w.sk.propType && (R.length ? _.skewFromAxis(-w.sk.v * R[0], w.sa.v * R[1]) : _.skewFromAxis(-w.sk.v * R, w.sa.v * R)), w.r.propType && (R.length ? _.rotateZ(-w.r.v * R[2]) : _.rotateZ(-w.r.v * R)), w.ry.propType && (R.length ? _.rotateY(w.ry.v * R[1]) : _.rotateY(w.ry.v * R)), w.rx.propType && (R.length ? _.rotateX(w.rx.v * R[0]) : _.rotateX(w.rx.v * R)), w.o.propType && (R.length ? N += (w.o.v * R[0] - N) * R[0] : N += (w.o.v * R - N) * R), t.strokeWidthAnim && w.sw.propType && (R.length ? H += w.sw.v * R[0] : H += w.sw.v * R), t.strokeColorAnim && w.sc.propType) for (q = 0; q < 3; q += 1) {\n R.length ? O[q] += (w.sc.v[q] - O[q]) * R[0] : O[q] += (w.sc.v[q] - O[q]) * R;\n }\n\n if (t.fillColorAnim && t.fc) {\n if (w.fc.propType) for (q = 0; q < 3; q += 1) {\n R.length ? j[q] += (w.fc.v[q] - j[q]) * R[0] : j[q] += (w.fc.v[q] - j[q]) * R;\n }\n w.fh.propType && (j = R.length ? addHueToRGB(j, w.fh.v * R[0]) : addHueToRGB(j, w.fh.v * R)), w.fs.propType && (j = R.length ? addSaturationToRGB(j, w.fs.v * R[0]) : addSaturationToRGB(j, w.fs.v * R)), w.fb.propType && (j = R.length ? addBrightnessToRGB(j, w.fb.v * R[0]) : addBrightnessToRGB(j, w.fb.v * R));\n }\n }\n\n for (M = 0; M < F; M += 1) {\n (w = P[M].a).p.propType && (R = P[M].s.getMult(k[a].anIndexes[M], S.a[M].s.totalChars), this._hasMaskedPath ? R.length ? _.translate(0, w.p.v[1] * R[0], -w.p.v[2] * R[1]) : _.translate(0, w.p.v[1] * R, -w.p.v[2] * R) : R.length ? _.translate(w.p.v[0] * R[0], w.p.v[1] * R[1], -w.p.v[2] * R[2]) : _.translate(w.p.v[0] * R, w.p.v[1] * R, -w.p.v[2] * R));\n }\n\n if (t.strokeWidthAnim && (W = H < 0 ? 0 : H), t.strokeColorAnim && ($ = \"rgb(\" + Math.round(255 * O[0]) + \",\" + Math.round(255 * O[1]) + \",\" + Math.round(255 * O[2]) + \")\"), t.fillColorAnim && t.fc && (Y = \"rgb(\" + Math.round(255 * j[0]) + \",\" + Math.round(255 * j[1]) + \",\" + Math.round(255 * j[2]) + \")\"), this._hasMaskedPath) {\n if (_.translate(0, -t.ls), _.translate(0, E[1] * B * .01 + i, 0), this._pathData.p.v) {\n b = (h.point[1] - m.point[1]) / (h.point[0] - m.point[0]);\n var ht = 180 * Math.atan(b) / Math.PI;\n h.point[0] < m.point[0] && (ht += 180), _.rotate(-ht * Math.PI / 180);\n }\n\n _.translate(z, G, 0), o -= E[0] * k[a].an * .005, k[a + 1] && K !== k[a + 1].ind && (o += k[a].an / 2, o += .001 * t.tr * t.finalSize);\n } else {\n switch (_.translate(r, i, 0), t.ps && _.translate(t.ps[0], t.ps[1] + t.ascent, 0), t.j) {\n case 1:\n _.translate(k[a].animatorJustifyOffset + t.justifyOffset + (t.boxWidth - t.lineWidths[k[a].line]), 0, 0);\n\n break;\n\n case 2:\n _.translate(k[a].animatorJustifyOffset + t.justifyOffset + (t.boxWidth - t.lineWidths[k[a].line]) / 2, 0, 0);\n\n }\n\n _.translate(0, -t.ls), _.translate(L, 0, 0), _.translate(E[0] * k[a].an * .005, E[1] * B * .01, 0), r += k[a].l + .001 * t.tr * t.finalSize;\n }\n\n \"html\" === C ? tt = _.toCSS() : \"svg\" === C ? tt = _.to2dCSS() : et = [_.props[0], _.props[1], _.props[2], _.props[3], _.props[4], _.props[5], _.props[6], _.props[7], _.props[8], _.props[9], _.props[10], _.props[11], _.props[12], _.props[13], _.props[14], _.props[15]], X = N;\n }\n A <= a ? (I = new LetterProps(X, W, $, Y, tt, et), this.renderedLetters.push(I), A += 1, this.lettersChangedFlag = !0) : (I = this.renderedLetters[a], this.lettersChangedFlag = I.update(X, W, $, Y, tt, et) || this.lettersChangedFlag);\n }\n }\n }, TextAnimatorProperty.prototype.getValue = function () {\n this._elem.globalData.frameId !== this._frameId && (this._frameId = this._elem.globalData.frameId, this.iterateDynamicProperties());\n }, TextAnimatorProperty.prototype.mHelper = new Matrix(), TextAnimatorProperty.prototype.defaultPropsArray = [], extendPrototype([DynamicPropertyContainer], TextAnimatorProperty), ITextElement.prototype.initElement = function (t, e, r) {\n this.lettersChangedFlag = !0, this.initFrame(), this.initBaseData(t, e, r), this.textProperty = new TextProperty(this, t.t, this.dynamicProperties), this.textAnimator = new TextAnimatorProperty(t.t, this.renderType, this), this.initTransform(t, e, r), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide(), this.textAnimator.searchProperties(this.dynamicProperties);\n }, ITextElement.prototype.prepareFrame = function (t) {\n this._mdf = !1, this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange), (this.textProperty._mdf || this.textProperty._isFirstFrame) && (this.buildNewText(), this.textProperty._isFirstFrame = !1, this.textProperty._mdf = !1);\n }, ITextElement.prototype.createPathShape = function (t, e) {\n var r,\n i,\n a = e.length,\n s = \"\";\n\n for (r = 0; r < a; r += 1) {\n \"sh\" === e[r].ty && (i = e[r].ks.k, s += buildShapeString(i, i.i.length, !0, t));\n }\n\n return s;\n }, ITextElement.prototype.updateDocumentData = function (t, e) {\n this.textProperty.updateDocumentData(t, e);\n }, ITextElement.prototype.canResizeFont = function (t) {\n this.textProperty.canResizeFont(t);\n }, ITextElement.prototype.setMinimumFontSize = function (t) {\n this.textProperty.setMinimumFontSize(t);\n }, ITextElement.prototype.applyTextPropertiesToMatrix = function (t, e, r, i, a) {\n switch (t.ps && e.translate(t.ps[0], t.ps[1] + t.ascent, 0), e.translate(0, -t.ls, 0), t.j) {\n case 1:\n e.translate(t.justifyOffset + (t.boxWidth - t.lineWidths[r]), 0, 0);\n break;\n\n case 2:\n e.translate(t.justifyOffset + (t.boxWidth - t.lineWidths[r]) / 2, 0, 0);\n }\n\n e.translate(i, a, 0);\n }, ITextElement.prototype.buildColor = function (t) {\n return \"rgb(\" + Math.round(255 * t[0]) + \",\" + Math.round(255 * t[1]) + \",\" + Math.round(255 * t[2]) + \")\";\n }, ITextElement.prototype.emptyProp = new LetterProps(), ITextElement.prototype.destroy = function () {};\n var emptyShapeData = {\n shapes: []\n };\n\n function SVGTextLottieElement(t, e, r) {\n this.textSpans = [], this.renderType = \"svg\", this.initElement(t, e, r);\n }\n\n function ISolidElement(t, e, r) {\n this.initElement(t, e, r);\n }\n\n function NullElement(t, e, r) {\n this.initFrame(), this.initBaseData(t, e, r), this.initFrame(), this.initTransform(t, e, r), this.initHierarchy();\n }\n\n function SVGRendererBase() {}\n\n function ICompElement() {}\n\n function SVGCompElement(t, e, r) {\n this.layers = t.layers, this.supports3d = !0, this.completeLayers = !1, this.pendingElements = [], this.elements = this.layers ? createSizedArray(this.layers.length) : [], this.initElement(t, e, r), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n };\n }\n\n function SVGRenderer(t, e) {\n this.animationItem = t, this.layers = null, this.renderedFrame = -1, this.svgElement = createNS(\"svg\");\n var r = \"\";\n\n if (e && e.title) {\n var i = createNS(\"title\"),\n a = createElementID();\n i.setAttribute(\"id\", a), i.textContent = e.title, this.svgElement.appendChild(i), r += a;\n }\n\n if (e && e.description) {\n var s = createNS(\"desc\"),\n n = createElementID();\n s.setAttribute(\"id\", n), s.textContent = e.description, this.svgElement.appendChild(s), r += \" \" + n;\n }\n\n r && this.svgElement.setAttribute(\"aria-labelledby\", r);\n var o = createNS(\"defs\");\n this.svgElement.appendChild(o);\n var h = createNS(\"g\");\n this.svgElement.appendChild(h), this.layerElement = h, this.renderConfig = {\n preserveAspectRatio: e && e.preserveAspectRatio || \"xMidYMid meet\",\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\n contentVisibility: e && e.contentVisibility || \"visible\",\n progressiveLoad: e && e.progressiveLoad || !1,\n hideOnTransparent: !(e && !1 === e.hideOnTransparent),\n viewBoxOnly: e && e.viewBoxOnly || !1,\n viewBoxSize: e && e.viewBoxSize || !1,\n className: e && e.className || \"\",\n id: e && e.id || \"\",\n focusable: e && e.focusable,\n filterSize: {\n width: e && e.filterSize && e.filterSize.width || \"100%\",\n height: e && e.filterSize && e.filterSize.height || \"100%\",\n x: e && e.filterSize && e.filterSize.x || \"0%\",\n y: e && e.filterSize && e.filterSize.y || \"0%\"\n }\n }, this.globalData = {\n _mdf: !1,\n frameNum: -1,\n defs: o,\n renderConfig: this.renderConfig\n }, this.elements = [], this.pendingElements = [], this.destroyed = !1, this.rendererType = \"svg\";\n }\n\n function CVContextData() {\n var t;\n this.saved = [], this.cArrPos = 0, this.cTr = new Matrix(), this.cO = 1;\n\n for (this.savedOp = createTypedArray(\"float32\", 15), t = 0; t < 15; t += 1) {\n this.saved[t] = createTypedArray(\"float32\", 16);\n }\n\n this._length = 15;\n }\n\n function ShapeTransformManager() {\n this.sequences = {}, this.sequenceList = [], this.transform_key_count = 0;\n }\n\n function CVEffects() {}\n\n function CVMaskElement(t, e) {\n var r;\n this.data = t, this.element = e, this.masksProperties = this.data.masksProperties || [], this.viewData = createSizedArray(this.masksProperties.length);\n var i = this.masksProperties.length,\n a = !1;\n\n for (r = 0; r < i; r += 1) {\n \"n\" !== this.masksProperties[r].mode && (a = !0), this.viewData[r] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[r], 3);\n }\n\n this.hasMasks = a, a && this.element.addRenderableComponent(this);\n }\n\n function CVBaseElement() {}\n\n function CVShapeData(t, e, r, i) {\n this.styledShapes = [], this.tr = [0, 0, 0, 0, 0, 0];\n var a,\n s = 4;\n \"rc\" === e.ty ? s = 5 : \"el\" === e.ty ? s = 6 : \"sr\" === e.ty && (s = 7), this.sh = ShapePropertyFactory.getShapeProp(t, e, s, t);\n var n,\n o = r.length;\n\n for (a = 0; a < o; a += 1) {\n r[a].closed || (n = {\n transforms: i.addTransformSequence(r[a].transforms),\n trNodes: []\n }, this.styledShapes.push(n), r[a].elements.push(n));\n }\n }\n\n function CVShapeElement(t, e, r) {\n this.shapes = [], this.shapesData = t.shapes, this.stylesList = [], this.itemsData = [], this.prevViewData = [], this.shapeModifiers = [], this.processedElements = [], this.transformsManager = new ShapeTransformManager(), this.initElement(t, e, r);\n }\n\n function CVTextElement(t, e, r) {\n this.textSpans = [], this.yOffset = 0, this.fillColorAnim = !1, this.strokeColorAnim = !1, this.strokeWidthAnim = !1, this.stroke = !1, this.fill = !1, this.justifyOffset = 0, this.currentRender = null, this.renderType = \"canvas\", this.values = {\n fill: \"rgba(0,0,0,0)\",\n stroke: \"rgba(0,0,0,0)\",\n sWidth: 0,\n fValue: \"\"\n }, this.initElement(t, e, r);\n }\n\n function CVImageElement(t, e, r) {\n this.assetData = e.getAssetData(t.refId), this.img = e.imageLoader.getAsset(this.assetData), this.initElement(t, e, r);\n }\n\n function CVSolidElement(t, e, r) {\n this.initElement(t, e, r);\n }\n\n function CanvasRendererBase(t, e) {\n this.animationItem = t, this.renderConfig = {\n clearCanvas: !e || void 0 === e.clearCanvas || e.clearCanvas,\n context: e && e.context || null,\n progressiveLoad: e && e.progressiveLoad || !1,\n preserveAspectRatio: e && e.preserveAspectRatio || \"xMidYMid meet\",\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\n contentVisibility: e && e.contentVisibility || \"visible\",\n className: e && e.className || \"\",\n id: e && e.id || \"\"\n }, this.renderConfig.dpr = e && e.dpr || 1, this.animationItem.wrapper && (this.renderConfig.dpr = e && e.dpr || window.devicePixelRatio || 1), this.renderedFrame = -1, this.globalData = {\n frameNum: -1,\n _mdf: !1,\n renderConfig: this.renderConfig,\n currentGlobalAlpha: -1\n }, this.contextData = new CVContextData(), this.elements = [], this.pendingElements = [], this.transformMat = new Matrix(), this.completeLayers = !1, this.rendererType = \"canvas\";\n }\n\n function CVCompElement(t, e, r) {\n this.completeLayers = !1, this.layers = t.layers, this.pendingElements = [], this.elements = createSizedArray(this.layers.length), this.initElement(t, e, r), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n };\n }\n\n function CanvasRenderer(t, e) {\n this.animationItem = t, this.renderConfig = {\n clearCanvas: !e || void 0 === e.clearCanvas || e.clearCanvas,\n context: e && e.context || null,\n progressiveLoad: e && e.progressiveLoad || !1,\n preserveAspectRatio: e && e.preserveAspectRatio || \"xMidYMid meet\",\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\n contentVisibility: e && e.contentVisibility || \"visible\",\n className: e && e.className || \"\",\n id: e && e.id || \"\"\n }, this.renderConfig.dpr = e && e.dpr || 1, this.animationItem.wrapper && (this.renderConfig.dpr = e && e.dpr || window.devicePixelRatio || 1), this.renderedFrame = -1, this.globalData = {\n frameNum: -1,\n _mdf: !1,\n renderConfig: this.renderConfig,\n currentGlobalAlpha: -1\n }, this.contextData = new CVContextData(), this.elements = [], this.pendingElements = [], this.transformMat = new Matrix(), this.completeLayers = !1, this.rendererType = \"canvas\";\n }\n\n function HBaseElement() {}\n\n function HSolidElement(t, e, r) {\n this.initElement(t, e, r);\n }\n\n function HShapeElement(t, e, r) {\n this.shapes = [], this.shapesData = t.shapes, this.stylesList = [], this.shapeModifiers = [], this.itemsData = [], this.processedElements = [], this.animatedContents = [], this.shapesContainer = createNS(\"g\"), this.initElement(t, e, r), this.prevViewData = [], this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n }\n\n function HTextElement(t, e, r) {\n this.textSpans = [], this.textPaths = [], this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n }, this.renderType = \"svg\", this.isMasked = !1, this.initElement(t, e, r);\n }\n\n function HCameraElement(t, e, r) {\n this.initFrame(), this.initBaseData(t, e, r), this.initHierarchy();\n var i = PropertyFactory.getProp;\n\n if (this.pe = i(this, t.pe, 0, 0, this), t.ks.p.s ? (this.px = i(this, t.ks.p.x, 1, 0, this), this.py = i(this, t.ks.p.y, 1, 0, this), this.pz = i(this, t.ks.p.z, 1, 0, this)) : this.p = i(this, t.ks.p, 1, 0, this), t.ks.a && (this.a = i(this, t.ks.a, 1, 0, this)), t.ks.or.k.length && t.ks.or.k[0].to) {\n var a,\n s = t.ks.or.k.length;\n\n for (a = 0; a < s; a += 1) {\n t.ks.or.k[a].to = null, t.ks.or.k[a].ti = null;\n }\n }\n\n this.or = i(this, t.ks.or, 1, degToRads, this), this.or.sh = !0, this.rx = i(this, t.ks.rx, 0, degToRads, this), this.ry = i(this, t.ks.ry, 0, degToRads, this), this.rz = i(this, t.ks.rz, 0, degToRads, this), this.mat = new Matrix(), this._prevMat = new Matrix(), this._isFirstFrame = !0, this.finalTransform = {\n mProp: this\n };\n }\n\n function HImageElement(t, e, r) {\n this.assetData = e.getAssetData(t.refId), this.initElement(t, e, r);\n }\n\n function HybridRendererBase(t, e) {\n this.animationItem = t, this.layers = null, this.renderedFrame = -1, this.renderConfig = {\n className: e && e.className || \"\",\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\n hideOnTransparent: !(e && !1 === e.hideOnTransparent),\n filterSize: {\n width: e && e.filterSize && e.filterSize.width || \"400%\",\n height: e && e.filterSize && e.filterSize.height || \"400%\",\n x: e && e.filterSize && e.filterSize.x || \"-100%\",\n y: e && e.filterSize && e.filterSize.y || \"-100%\"\n }\n }, this.globalData = {\n _mdf: !1,\n frameNum: -1,\n renderConfig: this.renderConfig\n }, this.pendingElements = [], this.elements = [], this.threeDElements = [], this.destroyed = !1, this.camera = null, this.supports3d = !0, this.rendererType = \"html\";\n }\n\n function HCompElement(t, e, r) {\n this.layers = t.layers, this.supports3d = !t.hasMask, this.completeLayers = !1, this.pendingElements = [], this.elements = this.layers ? createSizedArray(this.layers.length) : [], this.initElement(t, e, r), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n };\n }\n\n function HybridRenderer(t, e) {\n this.animationItem = t, this.layers = null, this.renderedFrame = -1, this.renderConfig = {\n className: e && e.className || \"\",\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\n hideOnTransparent: !(e && !1 === e.hideOnTransparent),\n filterSize: {\n width: e && e.filterSize && e.filterSize.width || \"400%\",\n height: e && e.filterSize && e.filterSize.height || \"400%\",\n x: e && e.filterSize && e.filterSize.x || \"-100%\",\n y: e && e.filterSize && e.filterSize.y || \"-100%\"\n }\n }, this.globalData = {\n _mdf: !1,\n frameNum: -1,\n renderConfig: this.renderConfig\n }, this.pendingElements = [], this.elements = [], this.threeDElements = [], this.destroyed = !1, this.camera = null, this.supports3d = !0, this.rendererType = \"html\";\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement), SVGTextLottieElement.prototype.createContent = function () {\n this.data.singleShape && !this.globalData.fontManager.chars && (this.textContainer = createNS(\"text\"));\n }, SVGTextLottieElement.prototype.buildTextContents = function (t) {\n for (var e = 0, r = t.length, i = [], a = \"\"; e < r;) {\n t[e] === String.fromCharCode(13) || t[e] === String.fromCharCode(3) ? (i.push(a), a = \"\") : a += t[e], e += 1;\n }\n\n return i.push(a), i;\n }, SVGTextLottieElement.prototype.buildNewText = function () {\n var t, e;\n this.addDynamicProperty(this);\n var r = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(r ? r.l.length : 0), r.fc ? this.layerElement.setAttribute(\"fill\", this.buildColor(r.fc)) : this.layerElement.setAttribute(\"fill\", \"rgba(0,0,0,0)\"), r.sc && (this.layerElement.setAttribute(\"stroke\", this.buildColor(r.sc)), this.layerElement.setAttribute(\"stroke-width\", r.sw)), this.layerElement.setAttribute(\"font-size\", r.finalSize);\n var i = this.globalData.fontManager.getFontByName(r.f);\n if (i.fClass) this.layerElement.setAttribute(\"class\", i.fClass);else {\n this.layerElement.setAttribute(\"font-family\", i.fFamily);\n var a = r.fWeight,\n s = r.fStyle;\n this.layerElement.setAttribute(\"font-style\", s), this.layerElement.setAttribute(\"font-weight\", a);\n }\n this.layerElement.setAttribute(\"aria-label\", r.t);\n var n,\n o = r.l || [],\n h = !!this.globalData.fontManager.chars;\n e = o.length;\n var l = this.mHelper,\n p = this.data.singleShape,\n f = 0,\n c = 0,\n m = !0,\n d = .001 * r.tr * r.finalSize;\n\n if (!p || h || r.sz) {\n var u,\n y = this.textSpans.length;\n\n for (t = 0; t < e; t += 1) {\n if (this.textSpans[t] || (this.textSpans[t] = {\n span: null,\n childSpan: null,\n glyph: null\n }), !h || !p || 0 === t) {\n if (n = y > t ? this.textSpans[t].span : createNS(h ? \"g\" : \"text\"), y <= t) {\n if (n.setAttribute(\"stroke-linecap\", \"butt\"), n.setAttribute(\"stroke-linejoin\", \"round\"), n.setAttribute(\"stroke-miterlimit\", \"4\"), this.textSpans[t].span = n, h) {\n var g = createNS(\"g\");\n n.appendChild(g), this.textSpans[t].childSpan = g;\n }\n\n this.textSpans[t].span = n, this.layerElement.appendChild(n);\n }\n\n n.style.display = \"inherit\";\n }\n\n if (l.reset(), l.scale(r.finalSize / 100, r.finalSize / 100), p && (o[t].n && (f = -d, c += r.yOffset, c += m ? 1 : 0, m = !1), this.applyTextPropertiesToMatrix(r, l, o[t].line, f, c), f += o[t].l || 0, f += d), h) {\n var v;\n if (1 === (u = this.globalData.fontManager.getCharData(r.finalText[t], i.fStyle, this.globalData.fontManager.getFontByName(r.f).fFamily)).t) v = new SVGCompElement(u.data, this.globalData, this);else {\n var b = emptyShapeData;\n u.data && u.data.shapes && (b = u.data), v = new SVGShapeElement(b, this.globalData, this);\n }\n this.textSpans[t].glyph = v, v._debug = !0, v.prepareFrame(0), v.renderFrame(), this.textSpans[t].childSpan.appendChild(v.layerElement), this.textSpans[t].childSpan.setAttribute(\"transform\", \"scale(\" + r.finalSize / 100 + \",\" + r.finalSize / 100 + \")\");\n } else p && n.setAttribute(\"transform\", \"translate(\" + l.props[12] + \",\" + l.props[13] + \")\"), n.textContent = o[t].val, n.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n }\n\n p && n && n.setAttribute(\"d\", \"\");\n } else {\n var x = this.textContainer,\n E = \"start\";\n\n switch (r.j) {\n case 1:\n E = \"end\";\n break;\n\n case 2:\n E = \"middle\";\n break;\n\n default:\n E = \"start\";\n }\n\n x.setAttribute(\"text-anchor\", E), x.setAttribute(\"letter-spacing\", d);\n var P = this.buildTextContents(r.finalText);\n\n for (e = P.length, c = r.ps ? r.ps[1] + r.ascent : 0, t = 0; t < e; t += 1) {\n (n = this.textSpans[t].span || createNS(\"tspan\")).textContent = P[t], n.setAttribute(\"x\", 0), n.setAttribute(\"y\", c), n.style.display = \"inherit\", x.appendChild(n), this.textSpans[t] || (this.textSpans[t] = {\n span: null,\n glyph: null\n }), this.textSpans[t].span = n, c += r.finalLineHeight;\n }\n\n this.layerElement.appendChild(x);\n }\n\n for (; t < this.textSpans.length;) {\n this.textSpans[t].span.style.display = \"none\", t += 1;\n }\n\n this._sizeChanged = !0;\n }, SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n if (this.prepareFrame(this.comp.renderedFrame - this.data.st), this.renderInnerContent(), this._sizeChanged) {\n this._sizeChanged = !1;\n var t = this.layerElement.getBBox();\n this.bbox = {\n top: t.y,\n left: t.x,\n width: t.width,\n height: t.height\n };\n }\n\n return this.bbox;\n }, SVGTextLottieElement.prototype.getValue = function () {\n var t,\n e,\n r = this.textSpans.length;\n\n for (this.renderedFrame = this.comp.renderedFrame, t = 0; t < r; t += 1) {\n (e = this.textSpans[t].glyph) && (e.prepareFrame(this.comp.renderedFrame - this.data.st), e._mdf && (this._mdf = !0));\n }\n }, SVGTextLottieElement.prototype.renderInnerContent = function () {\n if ((!this.data.singleShape || this._mdf) && (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag)) {\n var t, e;\n this._sizeChanged = !0;\n var r,\n i,\n a,\n s = this.textAnimator.renderedLetters,\n n = this.textProperty.currentData.l;\n\n for (e = n.length, t = 0; t < e; t += 1) {\n n[t].n || (r = s[t], i = this.textSpans[t].span, (a = this.textSpans[t].glyph) && a.renderFrame(), r._mdf.m && i.setAttribute(\"transform\", r.m), r._mdf.o && i.setAttribute(\"opacity\", r.o), r._mdf.sw && i.setAttribute(\"stroke-width\", r.sw), r._mdf.sc && i.setAttribute(\"stroke\", r.sc), r._mdf.fc && i.setAttribute(\"fill\", r.fc));\n }\n }\n }, extendPrototype([IImageElement], ISolidElement), ISolidElement.prototype.createContent = function () {\n var t = createNS(\"rect\");\n t.setAttribute(\"width\", this.data.sw), t.setAttribute(\"height\", this.data.sh), t.setAttribute(\"fill\", this.data.sc), this.layerElement.appendChild(t);\n }, NullElement.prototype.prepareFrame = function (t) {\n this.prepareProperties(t, !0);\n }, NullElement.prototype.renderFrame = function () {}, NullElement.prototype.getBaseElement = function () {\n return null;\n }, NullElement.prototype.destroy = function () {}, NullElement.prototype.sourceRectAtTime = function () {}, NullElement.prototype.hide = function () {}, extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement), extendPrototype([BaseRenderer], SVGRendererBase), SVGRendererBase.prototype.createNull = function (t) {\n return new NullElement(t, this.globalData, this);\n }, SVGRendererBase.prototype.createShape = function (t) {\n return new SVGShapeElement(t, this.globalData, this);\n }, SVGRendererBase.prototype.createText = function (t) {\n return new SVGTextLottieElement(t, this.globalData, this);\n }, SVGRendererBase.prototype.createImage = function (t) {\n return new IImageElement(t, this.globalData, this);\n }, SVGRendererBase.prototype.createSolid = function (t) {\n return new ISolidElement(t, this.globalData, this);\n }, SVGRendererBase.prototype.configAnimation = function (t) {\n this.svgElement.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\"), this.renderConfig.viewBoxSize ? this.svgElement.setAttribute(\"viewBox\", this.renderConfig.viewBoxSize) : this.svgElement.setAttribute(\"viewBox\", \"0 0 \" + t.w + \" \" + t.h), this.renderConfig.viewBoxOnly || (this.svgElement.setAttribute(\"width\", t.w), this.svgElement.setAttribute(\"height\", t.h), this.svgElement.style.width = \"100%\", this.svgElement.style.height = \"100%\", this.svgElement.style.transform = \"translate3d(0,0,0)\", this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility), this.renderConfig.className && this.svgElement.setAttribute(\"class\", this.renderConfig.className), this.renderConfig.id && this.svgElement.setAttribute(\"id\", this.renderConfig.id), void 0 !== this.renderConfig.focusable && this.svgElement.setAttribute(\"focusable\", this.renderConfig.focusable), this.svgElement.setAttribute(\"preserveAspectRatio\", this.renderConfig.preserveAspectRatio), this.animationItem.wrapper.appendChild(this.svgElement);\n var e = this.globalData.defs;\n this.setupGlobalData(t, e), this.globalData.progressiveLoad = this.renderConfig.progressiveLoad, this.data = t;\n var r = createNS(\"clipPath\"),\n i = createNS(\"rect\");\n i.setAttribute(\"width\", t.w), i.setAttribute(\"height\", t.h), i.setAttribute(\"x\", 0), i.setAttribute(\"y\", 0);\n var a = createElementID();\n r.setAttribute(\"id\", a), r.appendChild(i), this.layerElement.setAttribute(\"clip-path\", \"url(\" + getLocationHref() + \"#\" + a + \")\"), e.appendChild(r), this.layers = t.layers, this.elements = createSizedArray(t.layers.length);\n }, SVGRendererBase.prototype.destroy = function () {\n var t;\n this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\"), this.layerElement = null, this.globalData.defs = null;\n var e = this.layers ? this.layers.length : 0;\n\n for (t = 0; t < e; t += 1) {\n this.elements[t] && this.elements[t].destroy();\n }\n\n this.elements.length = 0, this.destroyed = !0, this.animationItem = null;\n }, SVGRendererBase.prototype.updateContainerSize = function () {}, SVGRendererBase.prototype.buildItem = function (t) {\n var e = this.elements;\n\n if (!e[t] && 99 !== this.layers[t].ty) {\n e[t] = !0;\n var r = this.createItem(this.layers[t]);\n e[t] = r, getExpressionsPlugin() && (0 === this.layers[t].ty && this.globalData.projectInterface.registerComposition(r), r.initExpressions()), this.appendElementInPos(r, t), this.layers[t].tt && (this.elements[t - 1] && !0 !== this.elements[t - 1] ? r.setMatte(e[t - 1].layerId) : (this.buildItem(t - 1), this.addPendingElement(r)));\n }\n }, SVGRendererBase.prototype.checkPendingElements = function () {\n for (; this.pendingElements.length;) {\n var t = this.pendingElements.pop();\n if (t.checkParenting(), t.data.tt) for (var e = 0, r = this.elements.length; e < r;) {\n if (this.elements[e] === t) {\n t.setMatte(this.elements[e - 1].layerId);\n break;\n }\n\n e += 1;\n }\n }\n }, SVGRendererBase.prototype.renderFrame = function (t) {\n if (this.renderedFrame !== t && !this.destroyed) {\n var e;\n null === t ? t = this.renderedFrame : this.renderedFrame = t, this.globalData.frameNum = t, this.globalData.frameId += 1, this.globalData.projectInterface.currentFrame = t, this.globalData._mdf = !1;\n var r = this.layers.length;\n\n for (this.completeLayers || this.checkLayers(t), e = r - 1; e >= 0; e -= 1) {\n (this.completeLayers || this.elements[e]) && this.elements[e].prepareFrame(t - this.layers[e].st);\n }\n\n if (this.globalData._mdf) for (e = 0; e < r; e += 1) {\n (this.completeLayers || this.elements[e]) && this.elements[e].renderFrame();\n }\n }\n }, SVGRendererBase.prototype.appendElementInPos = function (t, e) {\n var r = t.getBaseElement();\n\n if (r) {\n for (var i, a = 0; a < e;) {\n this.elements[a] && !0 !== this.elements[a] && this.elements[a].getBaseElement() && (i = this.elements[a].getBaseElement()), a += 1;\n }\n\n i ? this.layerElement.insertBefore(r, i) : this.layerElement.appendChild(r);\n }\n }, SVGRendererBase.prototype.hide = function () {\n this.layerElement.style.display = \"none\";\n }, SVGRendererBase.prototype.show = function () {\n this.layerElement.style.display = \"block\";\n }, extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement), ICompElement.prototype.initElement = function (t, e, r) {\n this.initFrame(), this.initBaseData(t, e, r), this.initTransform(t, e, r), this.initRenderable(), this.initHierarchy(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), !this.data.xt && e.progressiveLoad || this.buildAllItems(), this.hide();\n }, ICompElement.prototype.prepareFrame = function (t) {\n if (this._mdf = !1, this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange), this.isInRange || this.data.xt) {\n if (this.tm._placeholder) this.renderedFrame = t / this.data.sr;else {\n var e = this.tm.v;\n e === this.data.op && (e = this.data.op - 1), this.renderedFrame = e;\n }\n var r,\n i = this.elements.length;\n\n for (this.completeLayers || this.checkLayers(this.renderedFrame), r = i - 1; r >= 0; r -= 1) {\n (this.completeLayers || this.elements[r]) && (this.elements[r].prepareFrame(this.renderedFrame - this.layers[r].st), this.elements[r]._mdf && (this._mdf = !0));\n }\n }\n }, ICompElement.prototype.renderInnerContent = function () {\n var t,\n e = this.layers.length;\n\n for (t = 0; t < e; t += 1) {\n (this.completeLayers || this.elements[t]) && this.elements[t].renderFrame();\n }\n }, ICompElement.prototype.setElements = function (t) {\n this.elements = t;\n }, ICompElement.prototype.getElements = function () {\n return this.elements;\n }, ICompElement.prototype.destroyElements = function () {\n var t,\n e = this.layers.length;\n\n for (t = 0; t < e; t += 1) {\n this.elements[t] && this.elements[t].destroy();\n }\n }, ICompElement.prototype.destroy = function () {\n this.destroyElements(), this.destroyBaseElement();\n }, extendPrototype([SVGRendererBase, ICompElement, SVGBaseElement], SVGCompElement), SVGCompElement.prototype.createComp = function (t) {\n return new SVGCompElement(t, this.globalData, this);\n }, extendPrototype([SVGRendererBase], SVGRenderer), SVGRenderer.prototype.createComp = function (t) {\n return new SVGCompElement(t, this.globalData, this);\n }, CVContextData.prototype.duplicate = function () {\n var t = 2 * this._length,\n e = this.savedOp;\n this.savedOp = createTypedArray(\"float32\", t), this.savedOp.set(e);\n var r = 0;\n\n for (r = this._length; r < t; r += 1) {\n this.saved[r] = createTypedArray(\"float32\", 16);\n }\n\n this._length = t;\n }, CVContextData.prototype.reset = function () {\n this.cArrPos = 0, this.cTr.reset(), this.cO = 1;\n }, ShapeTransformManager.prototype = {\n addTransformSequence: function addTransformSequence(t) {\n var e,\n r = t.length,\n i = \"_\";\n\n for (e = 0; e < r; e += 1) {\n i += t[e].transform.key + \"_\";\n }\n\n var a = this.sequences[i];\n return a || (a = {\n transforms: [].concat(t),\n finalTransform: new Matrix(),\n _mdf: !1\n }, this.sequences[i] = a, this.sequenceList.push(a)), a;\n },\n processSequence: function processSequence(t, e) {\n for (var r, i = 0, a = t.transforms.length, s = e; i < a && !e;) {\n if (t.transforms[i].transform.mProps._mdf) {\n s = !0;\n break;\n }\n\n i += 1;\n }\n\n if (s) for (t.finalTransform.reset(), i = a - 1; i >= 0; i -= 1) {\n r = t.transforms[i].transform.mProps.v.props, t.finalTransform.transform(r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8], r[9], r[10], r[11], r[12], r[13], r[14], r[15]);\n }\n t._mdf = s;\n },\n processSequences: function processSequences(t) {\n var e,\n r = this.sequenceList.length;\n\n for (e = 0; e < r; e += 1) {\n this.processSequence(this.sequenceList[e], t);\n }\n },\n getNewKey: function getNewKey() {\n return this.transform_key_count += 1, \"_\" + this.transform_key_count;\n }\n }, CVEffects.prototype.renderFrame = function () {}, CVMaskElement.prototype.renderFrame = function () {\n if (this.hasMasks) {\n var t,\n e,\n r,\n i,\n a = this.element.finalTransform.mat,\n s = this.element.canvasContext,\n n = this.masksProperties.length;\n\n for (s.beginPath(), t = 0; t < n; t += 1) {\n if (\"n\" !== this.masksProperties[t].mode) {\n var o;\n this.masksProperties[t].inv && (s.moveTo(0, 0), s.lineTo(this.element.globalData.compSize.w, 0), s.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h), s.lineTo(0, this.element.globalData.compSize.h), s.lineTo(0, 0)), i = this.viewData[t].v, e = a.applyToPointArray(i.v[0][0], i.v[0][1], 0), s.moveTo(e[0], e[1]);\n var h = i._length;\n\n for (o = 1; o < h; o += 1) {\n r = a.applyToTriplePoints(i.o[o - 1], i.i[o], i.v[o]), s.bezierCurveTo(r[0], r[1], r[2], r[3], r[4], r[5]);\n }\n\n r = a.applyToTriplePoints(i.o[o - 1], i.i[0], i.v[0]), s.bezierCurveTo(r[0], r[1], r[2], r[3], r[4], r[5]);\n }\n }\n\n this.element.globalData.renderer.save(!0), s.clip();\n }\n }, CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty, CVMaskElement.prototype.destroy = function () {\n this.element = null;\n }, CVBaseElement.prototype = {\n createElements: function createElements() {},\n initRendererElement: function initRendererElement() {},\n createContainerElements: function createContainerElements() {\n this.canvasContext = this.globalData.canvasContext, this.renderableEffectsManager = new CVEffects(this);\n },\n createContent: function createContent() {},\n setBlendMode: function setBlendMode() {\n var t = this.globalData;\n\n if (t.blendMode !== this.data.bm) {\n t.blendMode = this.data.bm;\n var e = getBlendMode(this.data.bm);\n t.canvasContext.globalCompositeOperation = e;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new CVMaskElement(this.data, this);\n },\n hideElement: function hideElement() {\n this.hidden || this.isInRange && !this.isTransparent || (this.hidden = !0);\n },\n showElement: function showElement() {\n this.isInRange && !this.isTransparent && (this.hidden = !1, this._isFirstFrame = !0, this.maskManager._isFirstFrame = !0);\n },\n renderFrame: function renderFrame() {\n if (!this.hidden && !this.data.hd) {\n this.renderTransform(), this.renderRenderable(), this.setBlendMode();\n var t = 0 === this.data.ty;\n this.globalData.renderer.save(t), this.globalData.renderer.ctxTransform(this.finalTransform.mat.props), this.globalData.renderer.ctxOpacity(this.finalTransform.mProp.o.v), this.renderInnerContent(), this.globalData.renderer.restore(t), this.maskManager.hasMasks && this.globalData.renderer.restore(!0), this._isFirstFrame && (this._isFirstFrame = !1);\n }\n },\n destroy: function destroy() {\n this.canvasContext = null, this.data = null, this.globalData = null, this.maskManager.destroy();\n },\n mHelper: new Matrix()\n }, CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement, CVBaseElement.prototype.show = CVBaseElement.prototype.showElement, CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated, extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement), CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement, CVShapeElement.prototype.transformHelper = {\n opacity: 1,\n _opMdf: !1\n }, CVShapeElement.prototype.dashResetter = [], CVShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, []);\n }, CVShapeElement.prototype.createStyleElement = function (t, e) {\n var r = {\n data: t,\n type: t.ty,\n preTransforms: this.transformsManager.addTransformSequence(e),\n transforms: [],\n elements: [],\n closed: !0 === t.hd\n },\n i = {};\n\n if (\"fl\" === t.ty || \"st\" === t.ty ? (i.c = PropertyFactory.getProp(this, t.c, 1, 255, this), i.c.k || (r.co = \"rgb(\" + bmFloor(i.c.v[0]) + \",\" + bmFloor(i.c.v[1]) + \",\" + bmFloor(i.c.v[2]) + \")\")) : \"gf\" !== t.ty && \"gs\" !== t.ty || (i.s = PropertyFactory.getProp(this, t.s, 1, null, this), i.e = PropertyFactory.getProp(this, t.e, 1, null, this), i.h = PropertyFactory.getProp(this, t.h || {\n k: 0\n }, 0, .01, this), i.a = PropertyFactory.getProp(this, t.a || {\n k: 0\n }, 0, degToRads, this), i.g = new GradientProperty(this, t.g, this)), i.o = PropertyFactory.getProp(this, t.o, 0, .01, this), \"st\" === t.ty || \"gs\" === t.ty) {\n if (r.lc = lineCapEnum[t.lc || 2], r.lj = lineJoinEnum[t.lj || 2], 1 == t.lj && (r.ml = t.ml), i.w = PropertyFactory.getProp(this, t.w, 0, null, this), i.w.k || (r.wi = i.w.v), t.d) {\n var a = new DashProperty(this, t.d, \"canvas\", this);\n i.d = a, i.d.k || (r.da = i.d.dashArray, r.do = i.d.dashoffset[0]);\n }\n } else r.r = 2 === t.r ? \"evenodd\" : \"nonzero\";\n\n return this.stylesList.push(r), i.style = r, i;\n }, CVShapeElement.prototype.createGroupElement = function () {\n return {\n it: [],\n prevViewData: []\n };\n }, CVShapeElement.prototype.createTransformElement = function (t) {\n return {\n transform: {\n opacity: 1,\n _opMdf: !1,\n key: this.transformsManager.getNewKey(),\n op: PropertyFactory.getProp(this, t.o, 0, .01, this),\n mProps: TransformPropertyFactory.getTransformProperty(this, t, this)\n }\n };\n }, CVShapeElement.prototype.createShapeElement = function (t) {\n var e = new CVShapeData(this, t, this.stylesList, this.transformsManager);\n return this.shapes.push(e), this.addShapeToModifiers(e), e;\n }, CVShapeElement.prototype.reloadShapes = function () {\n var t;\n this._isFirstFrame = !0;\n var e = this.itemsData.length;\n\n for (t = 0; t < e; t += 1) {\n this.prevViewData[t] = this.itemsData[t];\n }\n\n for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, []), e = this.dynamicProperties.length, t = 0; t < e; t += 1) {\n this.dynamicProperties[t].getValue();\n }\n\n this.renderModifiers(), this.transformsManager.processSequences(this._isFirstFrame);\n }, CVShapeElement.prototype.addTransformToStyleList = function (t) {\n var e,\n r = this.stylesList.length;\n\n for (e = 0; e < r; e += 1) {\n this.stylesList[e].closed || this.stylesList[e].transforms.push(t);\n }\n }, CVShapeElement.prototype.removeTransformFromStyleList = function () {\n var t,\n e = this.stylesList.length;\n\n for (t = 0; t < e; t += 1) {\n this.stylesList[t].closed || this.stylesList[t].transforms.pop();\n }\n }, CVShapeElement.prototype.closeStyles = function (t) {\n var e,\n r = t.length;\n\n for (e = 0; e < r; e += 1) {\n t[e].closed = !0;\n }\n }, CVShapeElement.prototype.searchShapes = function (t, e, r, i, a) {\n var s,\n n,\n o,\n h,\n l,\n p,\n f = t.length - 1,\n c = [],\n m = [],\n d = [].concat(a);\n\n for (s = f; s >= 0; s -= 1) {\n if ((h = this.searchProcessedElement(t[s])) ? e[s] = r[h - 1] : t[s]._shouldRender = i, \"fl\" === t[s].ty || \"st\" === t[s].ty || \"gf\" === t[s].ty || \"gs\" === t[s].ty) h ? e[s].style.closed = !1 : e[s] = this.createStyleElement(t[s], d), c.push(e[s].style);else if (\"gr\" === t[s].ty) {\n if (h) for (o = e[s].it.length, n = 0; n < o; n += 1) {\n e[s].prevViewData[n] = e[s].it[n];\n } else e[s] = this.createGroupElement(t[s]);\n this.searchShapes(t[s].it, e[s].it, e[s].prevViewData, i, d);\n } else \"tr\" === t[s].ty ? (h || (p = this.createTransformElement(t[s]), e[s] = p), d.push(e[s]), this.addTransformToStyleList(e[s])) : \"sh\" === t[s].ty || \"rc\" === t[s].ty || \"el\" === t[s].ty || \"sr\" === t[s].ty ? h || (e[s] = this.createShapeElement(t[s])) : \"tm\" === t[s].ty || \"rd\" === t[s].ty || \"pb\" === t[s].ty ? (h ? (l = e[s]).closed = !1 : ((l = ShapeModifiers.getModifier(t[s].ty)).init(this, t[s]), e[s] = l, this.shapeModifiers.push(l)), m.push(l)) : \"rp\" === t[s].ty && (h ? (l = e[s]).closed = !0 : (l = ShapeModifiers.getModifier(t[s].ty), e[s] = l, l.init(this, t, s, e), this.shapeModifiers.push(l), i = !1), m.push(l));\n this.addProcessedElement(t[s], s + 1);\n }\n\n for (this.removeTransformFromStyleList(), this.closeStyles(c), f = m.length, s = 0; s < f; s += 1) {\n m[s].closed = !0;\n }\n }, CVShapeElement.prototype.renderInnerContent = function () {\n this.transformHelper.opacity = 1, this.transformHelper._opMdf = !1, this.renderModifiers(), this.transformsManager.processSequences(this._isFirstFrame), this.renderShape(this.transformHelper, this.shapesData, this.itemsData, !0);\n }, CVShapeElement.prototype.renderShapeTransform = function (t, e) {\n (t._opMdf || e.op._mdf || this._isFirstFrame) && (e.opacity = t.opacity, e.opacity *= e.op.v, e._opMdf = !0);\n }, CVShapeElement.prototype.drawLayer = function () {\n var t,\n e,\n r,\n i,\n a,\n s,\n n,\n o,\n h,\n l = this.stylesList.length,\n p = this.globalData.renderer,\n f = this.globalData.canvasContext;\n\n for (t = 0; t < l; t += 1) {\n if ((\"st\" !== (o = (h = this.stylesList[t]).type) && \"gs\" !== o || 0 !== h.wi) && h.data._shouldRender && 0 !== h.coOp && 0 !== this.globalData.currentGlobalAlpha) {\n for (p.save(), s = h.elements, \"st\" === o || \"gs\" === o ? (f.strokeStyle = \"st\" === o ? h.co : h.grd, f.lineWidth = h.wi, f.lineCap = h.lc, f.lineJoin = h.lj, f.miterLimit = h.ml || 0) : f.fillStyle = \"fl\" === o ? h.co : h.grd, p.ctxOpacity(h.coOp), \"st\" !== o && \"gs\" !== o && f.beginPath(), p.ctxTransform(h.preTransforms.finalTransform.props), r = s.length, e = 0; e < r; e += 1) {\n for (\"st\" !== o && \"gs\" !== o || (f.beginPath(), h.da && (f.setLineDash(h.da), f.lineDashOffset = h.do)), a = (n = s[e].trNodes).length, i = 0; i < a; i += 1) {\n \"m\" === n[i].t ? f.moveTo(n[i].p[0], n[i].p[1]) : \"c\" === n[i].t ? f.bezierCurveTo(n[i].pts[0], n[i].pts[1], n[i].pts[2], n[i].pts[3], n[i].pts[4], n[i].pts[5]) : f.closePath();\n }\n\n \"st\" !== o && \"gs\" !== o || (f.stroke(), h.da && f.setLineDash(this.dashResetter));\n }\n\n \"st\" !== o && \"gs\" !== o && f.fill(h.r), p.restore();\n }\n }\n }, CVShapeElement.prototype.renderShape = function (t, e, r, i) {\n var a, s;\n\n for (s = t, a = e.length - 1; a >= 0; a -= 1) {\n \"tr\" === e[a].ty ? (s = r[a].transform, this.renderShapeTransform(t, s)) : \"sh\" === e[a].ty || \"el\" === e[a].ty || \"rc\" === e[a].ty || \"sr\" === e[a].ty ? this.renderPath(e[a], r[a]) : \"fl\" === e[a].ty ? this.renderFill(e[a], r[a], s) : \"st\" === e[a].ty ? this.renderStroke(e[a], r[a], s) : \"gf\" === e[a].ty || \"gs\" === e[a].ty ? this.renderGradientFill(e[a], r[a], s) : \"gr\" === e[a].ty ? this.renderShape(s, e[a].it, r[a].it) : e[a].ty;\n }\n\n i && this.drawLayer();\n }, CVShapeElement.prototype.renderStyledShape = function (t, e) {\n if (this._isFirstFrame || e._mdf || t.transforms._mdf) {\n var r,\n i,\n a,\n s = t.trNodes,\n n = e.paths,\n o = n._length;\n s.length = 0;\n var h = t.transforms.finalTransform;\n\n for (a = 0; a < o; a += 1) {\n var l = n.shapes[a];\n\n if (l && l.v) {\n for (i = l._length, r = 1; r < i; r += 1) {\n 1 === r && s.push({\n t: \"m\",\n p: h.applyToPointArray(l.v[0][0], l.v[0][1], 0)\n }), s.push({\n t: \"c\",\n pts: h.applyToTriplePoints(l.o[r - 1], l.i[r], l.v[r])\n });\n }\n\n 1 === i && s.push({\n t: \"m\",\n p: h.applyToPointArray(l.v[0][0], l.v[0][1], 0)\n }), l.c && i && (s.push({\n t: \"c\",\n pts: h.applyToTriplePoints(l.o[r - 1], l.i[0], l.v[0])\n }), s.push({\n t: \"z\"\n }));\n }\n }\n\n t.trNodes = s;\n }\n }, CVShapeElement.prototype.renderPath = function (t, e) {\n if (!0 !== t.hd && t._shouldRender) {\n var r,\n i = e.styledShapes.length;\n\n for (r = 0; r < i; r += 1) {\n this.renderStyledShape(e.styledShapes[r], e.sh);\n }\n }\n }, CVShapeElement.prototype.renderFill = function (t, e, r) {\n var i = e.style;\n (e.c._mdf || this._isFirstFrame) && (i.co = \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"), (e.o._mdf || r._opMdf || this._isFirstFrame) && (i.coOp = e.o.v * r.opacity);\n }, CVShapeElement.prototype.renderGradientFill = function (t, e, r) {\n var i,\n a = e.style;\n\n if (!a.grd || e.g._mdf || e.s._mdf || e.e._mdf || 1 !== t.t && (e.h._mdf || e.a._mdf)) {\n var s,\n n = this.globalData.canvasContext,\n o = e.s.v,\n h = e.e.v;\n if (1 === t.t) i = n.createLinearGradient(o[0], o[1], h[0], h[1]);else {\n var l = Math.sqrt(Math.pow(o[0] - h[0], 2) + Math.pow(o[1] - h[1], 2)),\n p = Math.atan2(h[1] - o[1], h[0] - o[0]),\n f = e.h.v;\n f >= 1 ? f = .99 : f <= -1 && (f = -.99);\n var c = l * f,\n m = Math.cos(p + e.a.v) * c + o[0],\n d = Math.sin(p + e.a.v) * c + o[1];\n i = n.createRadialGradient(m, d, 0, o[0], o[1], l);\n }\n var u = t.g.p,\n y = e.g.c,\n g = 1;\n\n for (s = 0; s < u; s += 1) {\n e.g._hasOpacity && e.g._collapsable && (g = e.g.o[2 * s + 1]), i.addColorStop(y[4 * s] / 100, \"rgba(\" + y[4 * s + 1] + \",\" + y[4 * s + 2] + \",\" + y[4 * s + 3] + \",\" + g + \")\");\n }\n\n a.grd = i;\n }\n\n a.coOp = e.o.v * r.opacity;\n }, CVShapeElement.prototype.renderStroke = function (t, e, r) {\n var i = e.style,\n a = e.d;\n a && (a._mdf || this._isFirstFrame) && (i.da = a.dashArray, i.do = a.dashoffset[0]), (e.c._mdf || this._isFirstFrame) && (i.co = \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"), (e.o._mdf || r._opMdf || this._isFirstFrame) && (i.coOp = e.o.v * r.opacity), (e.w._mdf || this._isFirstFrame) && (i.wi = e.w.v);\n }, CVShapeElement.prototype.destroy = function () {\n this.shapesData = null, this.globalData = null, this.canvasContext = null, this.stylesList.length = 0, this.itemsData.length = 0;\n }, extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement), CVTextElement.prototype.tHelper = createTag(\"canvas\").getContext(\"2d\"), CVTextElement.prototype.buildNewText = function () {\n var t = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(t.l ? t.l.length : 0);\n var e = !1;\n t.fc ? (e = !0, this.values.fill = this.buildColor(t.fc)) : this.values.fill = \"rgba(0,0,0,0)\", this.fill = e;\n var r = !1;\n t.sc && (r = !0, this.values.stroke = this.buildColor(t.sc), this.values.sWidth = t.sw);\n var i,\n a,\n s,\n n,\n o,\n h,\n l,\n p,\n f,\n c,\n m,\n d,\n u = this.globalData.fontManager.getFontByName(t.f),\n y = t.l,\n g = this.mHelper;\n this.stroke = r, this.values.fValue = t.finalSize + \"px \" + this.globalData.fontManager.getFontByName(t.f).fFamily, a = t.finalText.length;\n var v = this.data.singleShape,\n b = .001 * t.tr * t.finalSize,\n x = 0,\n E = 0,\n P = !0,\n S = 0;\n\n for (i = 0; i < a; i += 1) {\n n = (s = this.globalData.fontManager.getCharData(t.finalText[i], u.fStyle, this.globalData.fontManager.getFontByName(t.f).fFamily)) && s.data || {}, g.reset(), v && y[i].n && (x = -b, E += t.yOffset, E += P ? 1 : 0, P = !1), f = (l = n.shapes ? n.shapes[0].it : []).length, g.scale(t.finalSize / 100, t.finalSize / 100), v && this.applyTextPropertiesToMatrix(t, g, y[i].line, x, E), m = createSizedArray(f - 1);\n var _ = 0;\n\n for (p = 0; p < f; p += 1) {\n if (\"sh\" === l[p].ty) {\n for (h = l[p].ks.k.i.length, c = l[p].ks.k, d = [], o = 1; o < h; o += 1) {\n 1 === o && d.push(g.applyToX(c.v[0][0], c.v[0][1], 0), g.applyToY(c.v[0][0], c.v[0][1], 0)), d.push(g.applyToX(c.o[o - 1][0], c.o[o - 1][1], 0), g.applyToY(c.o[o - 1][0], c.o[o - 1][1], 0), g.applyToX(c.i[o][0], c.i[o][1], 0), g.applyToY(c.i[o][0], c.i[o][1], 0), g.applyToX(c.v[o][0], c.v[o][1], 0), g.applyToY(c.v[o][0], c.v[o][1], 0));\n }\n\n d.push(g.applyToX(c.o[o - 1][0], c.o[o - 1][1], 0), g.applyToY(c.o[o - 1][0], c.o[o - 1][1], 0), g.applyToX(c.i[0][0], c.i[0][1], 0), g.applyToY(c.i[0][0], c.i[0][1], 0), g.applyToX(c.v[0][0], c.v[0][1], 0), g.applyToY(c.v[0][0], c.v[0][1], 0)), m[_] = d, _ += 1;\n }\n }\n\n v && (x += y[i].l, x += b), this.textSpans[S] ? this.textSpans[S].elem = m : this.textSpans[S] = {\n elem: m\n }, S += 1;\n }\n }, CVTextElement.prototype.renderInnerContent = function () {\n var t,\n e,\n r,\n i,\n a,\n s,\n n = this.canvasContext;\n n.font = this.values.fValue, n.lineCap = \"butt\", n.lineJoin = \"miter\", n.miterLimit = 4, this.data.singleShape || this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n var o,\n h = this.textAnimator.renderedLetters,\n l = this.textProperty.currentData.l;\n e = l.length;\n var p,\n f,\n c = null,\n m = null,\n d = null;\n\n for (t = 0; t < e; t += 1) {\n if (!l[t].n) {\n if ((o = h[t]) && (this.globalData.renderer.save(), this.globalData.renderer.ctxTransform(o.p), this.globalData.renderer.ctxOpacity(o.o)), this.fill) {\n for (o && o.fc ? c !== o.fc && (c = o.fc, n.fillStyle = o.fc) : c !== this.values.fill && (c = this.values.fill, n.fillStyle = this.values.fill), i = (p = this.textSpans[t].elem).length, this.globalData.canvasContext.beginPath(), r = 0; r < i; r += 1) {\n for (s = (f = p[r]).length, this.globalData.canvasContext.moveTo(f[0], f[1]), a = 2; a < s; a += 6) {\n this.globalData.canvasContext.bezierCurveTo(f[a], f[a + 1], f[a + 2], f[a + 3], f[a + 4], f[a + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath(), this.globalData.canvasContext.fill();\n }\n\n if (this.stroke) {\n for (o && o.sw ? d !== o.sw && (d = o.sw, n.lineWidth = o.sw) : d !== this.values.sWidth && (d = this.values.sWidth, n.lineWidth = this.values.sWidth), o && o.sc ? m !== o.sc && (m = o.sc, n.strokeStyle = o.sc) : m !== this.values.stroke && (m = this.values.stroke, n.strokeStyle = this.values.stroke), i = (p = this.textSpans[t].elem).length, this.globalData.canvasContext.beginPath(), r = 0; r < i; r += 1) {\n for (s = (f = p[r]).length, this.globalData.canvasContext.moveTo(f[0], f[1]), a = 2; a < s; a += 6) {\n this.globalData.canvasContext.bezierCurveTo(f[a], f[a + 1], f[a + 2], f[a + 3], f[a + 4], f[a + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath(), this.globalData.canvasContext.stroke();\n }\n\n o && this.globalData.renderer.restore();\n }\n }\n }, extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement), CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement, CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame, CVImageElement.prototype.createContent = function () {\n if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\n var t = createTag(\"canvas\");\n t.width = this.assetData.w, t.height = this.assetData.h;\n var e,\n r,\n i = t.getContext(\"2d\"),\n a = this.img.width,\n s = this.img.height,\n n = a / s,\n o = this.assetData.w / this.assetData.h,\n h = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\n n > o && \"xMidYMid slice\" === h || n < o && \"xMidYMid slice\" !== h ? e = (r = s) * o : r = (e = a) / o, i.drawImage(this.img, (a - e) / 2, (s - r) / 2, e, r, 0, 0, this.assetData.w, this.assetData.h), this.img = t;\n }\n }, CVImageElement.prototype.renderInnerContent = function () {\n this.canvasContext.drawImage(this.img, 0, 0);\n }, CVImageElement.prototype.destroy = function () {\n this.img = null;\n }, extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement), CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement, CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame, CVSolidElement.prototype.renderInnerContent = function () {\n var t = this.canvasContext;\n t.fillStyle = this.data.sc, t.fillRect(0, 0, this.data.sw, this.data.sh);\n }, extendPrototype([BaseRenderer], CanvasRendererBase), CanvasRendererBase.prototype.createShape = function (t) {\n return new CVShapeElement(t, this.globalData, this);\n }, CanvasRendererBase.prototype.createText = function (t) {\n return new CVTextElement(t, this.globalData, this);\n }, CanvasRendererBase.prototype.createImage = function (t) {\n return new CVImageElement(t, this.globalData, this);\n }, CanvasRendererBase.prototype.createSolid = function (t) {\n return new CVSolidElement(t, this.globalData, this);\n }, CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull, CanvasRendererBase.prototype.ctxTransform = function (t) {\n if (1 !== t[0] || 0 !== t[1] || 0 !== t[4] || 1 !== t[5] || 0 !== t[12] || 0 !== t[13]) if (this.renderConfig.clearCanvas) {\n this.transformMat.cloneFromProps(t);\n var e = this.contextData.cTr.props;\n this.transformMat.transform(e[0], e[1], e[2], e[3], e[4], e[5], e[6], e[7], e[8], e[9], e[10], e[11], e[12], e[13], e[14], e[15]), this.contextData.cTr.cloneFromProps(this.transformMat.props);\n var r = this.contextData.cTr.props;\n this.canvasContext.setTransform(r[0], r[1], r[4], r[5], r[12], r[13]);\n } else this.canvasContext.transform(t[0], t[1], t[4], t[5], t[12], t[13]);\n }, CanvasRendererBase.prototype.ctxOpacity = function (t) {\n if (!this.renderConfig.clearCanvas) return this.canvasContext.globalAlpha *= t < 0 ? 0 : t, void (this.globalData.currentGlobalAlpha = this.contextData.cO);\n this.contextData.cO *= t < 0 ? 0 : t, this.globalData.currentGlobalAlpha !== this.contextData.cO && (this.canvasContext.globalAlpha = this.contextData.cO, this.globalData.currentGlobalAlpha = this.contextData.cO);\n }, CanvasRendererBase.prototype.reset = function () {\n this.renderConfig.clearCanvas ? this.contextData.reset() : this.canvasContext.restore();\n }, CanvasRendererBase.prototype.save = function (t) {\n if (this.renderConfig.clearCanvas) {\n t && this.canvasContext.save();\n var e,\n r = this.contextData.cTr.props;\n this.contextData._length <= this.contextData.cArrPos && this.contextData.duplicate();\n var i = this.contextData.saved[this.contextData.cArrPos];\n\n for (e = 0; e < 16; e += 1) {\n i[e] = r[e];\n }\n\n this.contextData.savedOp[this.contextData.cArrPos] = this.contextData.cO, this.contextData.cArrPos += 1;\n } else this.canvasContext.save();\n }, CanvasRendererBase.prototype.restore = function (t) {\n if (this.renderConfig.clearCanvas) {\n t && (this.canvasContext.restore(), this.globalData.blendMode = \"source-over\"), this.contextData.cArrPos -= 1;\n var e,\n r = this.contextData.saved[this.contextData.cArrPos],\n i = this.contextData.cTr.props;\n\n for (e = 0; e < 16; e += 1) {\n i[e] = r[e];\n }\n\n this.canvasContext.setTransform(r[0], r[1], r[4], r[5], r[12], r[13]), r = this.contextData.savedOp[this.contextData.cArrPos], this.contextData.cO = r, this.globalData.currentGlobalAlpha !== r && (this.canvasContext.globalAlpha = r, this.globalData.currentGlobalAlpha = r);\n } else this.canvasContext.restore();\n }, CanvasRendererBase.prototype.configAnimation = function (t) {\n if (this.animationItem.wrapper) {\n this.animationItem.container = createTag(\"canvas\");\n var e = this.animationItem.container.style;\n e.width = \"100%\", e.height = \"100%\";\n var r = \"0px 0px 0px\";\n e.transformOrigin = r, e.mozTransformOrigin = r, e.webkitTransformOrigin = r, e[\"-webkit-transform\"] = r, e.contentVisibility = this.renderConfig.contentVisibility, this.animationItem.wrapper.appendChild(this.animationItem.container), this.canvasContext = this.animationItem.container.getContext(\"2d\"), this.renderConfig.className && this.animationItem.container.setAttribute(\"class\", this.renderConfig.className), this.renderConfig.id && this.animationItem.container.setAttribute(\"id\", this.renderConfig.id);\n } else this.canvasContext = this.renderConfig.context;\n\n this.data = t, this.layers = t.layers, this.transformCanvas = {\n w: t.w,\n h: t.h,\n sx: 0,\n sy: 0,\n tx: 0,\n ty: 0\n }, this.setupGlobalData(t, document.body), this.globalData.canvasContext = this.canvasContext, this.globalData.renderer = this, this.globalData.isDashed = !1, this.globalData.progressiveLoad = this.renderConfig.progressiveLoad, this.globalData.transformCanvas = this.transformCanvas, this.elements = createSizedArray(t.layers.length), this.updateContainerSize();\n }, CanvasRendererBase.prototype.updateContainerSize = function () {\n var t, e, r, i;\n\n if (this.reset(), this.animationItem.wrapper && this.animationItem.container ? (t = this.animationItem.wrapper.offsetWidth, e = this.animationItem.wrapper.offsetHeight, this.animationItem.container.setAttribute(\"width\", t * this.renderConfig.dpr), this.animationItem.container.setAttribute(\"height\", e * this.renderConfig.dpr)) : (t = this.canvasContext.canvas.width * this.renderConfig.dpr, e = this.canvasContext.canvas.height * this.renderConfig.dpr), -1 !== this.renderConfig.preserveAspectRatio.indexOf(\"meet\") || -1 !== this.renderConfig.preserveAspectRatio.indexOf(\"slice\")) {\n var a = this.renderConfig.preserveAspectRatio.split(\" \"),\n s = a[1] || \"meet\",\n n = a[0] || \"xMidYMid\",\n o = n.substr(0, 4),\n h = n.substr(4);\n r = t / e, (i = this.transformCanvas.w / this.transformCanvas.h) > r && \"meet\" === s || i < r && \"slice\" === s ? (this.transformCanvas.sx = t / (this.transformCanvas.w / this.renderConfig.dpr), this.transformCanvas.sy = t / (this.transformCanvas.w / this.renderConfig.dpr)) : (this.transformCanvas.sx = e / (this.transformCanvas.h / this.renderConfig.dpr), this.transformCanvas.sy = e / (this.transformCanvas.h / this.renderConfig.dpr)), this.transformCanvas.tx = \"xMid\" === o && (i < r && \"meet\" === s || i > r && \"slice\" === s) ? (t - this.transformCanvas.w * (e / this.transformCanvas.h)) / 2 * this.renderConfig.dpr : \"xMax\" === o && (i < r && \"meet\" === s || i > r && \"slice\" === s) ? (t - this.transformCanvas.w * (e / this.transformCanvas.h)) * this.renderConfig.dpr : 0, this.transformCanvas.ty = \"YMid\" === h && (i > r && \"meet\" === s || i < r && \"slice\" === s) ? (e - this.transformCanvas.h * (t / this.transformCanvas.w)) / 2 * this.renderConfig.dpr : \"YMax\" === h && (i > r && \"meet\" === s || i < r && \"slice\" === s) ? (e - this.transformCanvas.h * (t / this.transformCanvas.w)) * this.renderConfig.dpr : 0;\n } else \"none\" === this.renderConfig.preserveAspectRatio ? (this.transformCanvas.sx = t / (this.transformCanvas.w / this.renderConfig.dpr), this.transformCanvas.sy = e / (this.transformCanvas.h / this.renderConfig.dpr), this.transformCanvas.tx = 0, this.transformCanvas.ty = 0) : (this.transformCanvas.sx = this.renderConfig.dpr, this.transformCanvas.sy = this.renderConfig.dpr, this.transformCanvas.tx = 0, this.transformCanvas.ty = 0);\n\n this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1], this.ctxTransform(this.transformCanvas.props), this.canvasContext.beginPath(), this.canvasContext.rect(0, 0, this.transformCanvas.w, this.transformCanvas.h), this.canvasContext.closePath(), this.canvasContext.clip(), this.renderFrame(this.renderedFrame, !0);\n }, CanvasRendererBase.prototype.destroy = function () {\n var t;\n\n for (this.renderConfig.clearCanvas && this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\"), t = (this.layers ? this.layers.length : 0) - 1; t >= 0; t -= 1) {\n this.elements[t] && this.elements[t].destroy();\n }\n\n this.elements.length = 0, this.globalData.canvasContext = null, this.animationItem.container = null, this.destroyed = !0;\n }, CanvasRendererBase.prototype.renderFrame = function (t, e) {\n if ((this.renderedFrame !== t || !0 !== this.renderConfig.clearCanvas || e) && !this.destroyed && -1 !== t) {\n var r;\n this.renderedFrame = t, this.globalData.frameNum = t - this.animationItem._isFirstFrame, this.globalData.frameId += 1, this.globalData._mdf = !this.renderConfig.clearCanvas || e, this.globalData.projectInterface.currentFrame = t;\n var i = this.layers.length;\n\n for (this.completeLayers || this.checkLayers(t), r = 0; r < i; r += 1) {\n (this.completeLayers || this.elements[r]) && this.elements[r].prepareFrame(t - this.layers[r].st);\n }\n\n if (this.globalData._mdf) {\n for (!0 === this.renderConfig.clearCanvas ? this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h) : this.save(), r = i - 1; r >= 0; r -= 1) {\n (this.completeLayers || this.elements[r]) && this.elements[r].renderFrame();\n }\n\n !0 !== this.renderConfig.clearCanvas && this.restore();\n }\n }\n }, CanvasRendererBase.prototype.buildItem = function (t) {\n var e = this.elements;\n\n if (!e[t] && 99 !== this.layers[t].ty) {\n var r = this.createItem(this.layers[t], this, this.globalData);\n e[t] = r, r.initExpressions();\n }\n }, CanvasRendererBase.prototype.checkPendingElements = function () {\n for (; this.pendingElements.length;) {\n this.pendingElements.pop().checkParenting();\n }\n }, CanvasRendererBase.prototype.hide = function () {\n this.animationItem.container.style.display = \"none\";\n }, CanvasRendererBase.prototype.show = function () {\n this.animationItem.container.style.display = \"block\";\n }, extendPrototype([CanvasRendererBase, ICompElement, CVBaseElement], CVCompElement), CVCompElement.prototype.renderInnerContent = function () {\n var t,\n e = this.canvasContext;\n\n for (e.beginPath(), e.moveTo(0, 0), e.lineTo(this.data.w, 0), e.lineTo(this.data.w, this.data.h), e.lineTo(0, this.data.h), e.lineTo(0, 0), e.clip(), t = this.layers.length - 1; t >= 0; t -= 1) {\n (this.completeLayers || this.elements[t]) && this.elements[t].renderFrame();\n }\n }, CVCompElement.prototype.destroy = function () {\n var t;\n\n for (t = this.layers.length - 1; t >= 0; t -= 1) {\n this.elements[t] && this.elements[t].destroy();\n }\n\n this.layers = null, this.elements = null;\n }, CVCompElement.prototype.createComp = function (t) {\n return new CVCompElement(t, this.globalData, this);\n }, extendPrototype([CanvasRendererBase], CanvasRenderer), CanvasRenderer.prototype.createComp = function (t) {\n return new CVCompElement(t, this.globalData, this);\n }, HBaseElement.prototype = {\n checkBlendMode: function checkBlendMode() {},\n initRendererElement: function initRendererElement() {\n this.baseElement = createTag(this.data.tg || \"div\"), this.data.hasMask ? (this.svgElement = createNS(\"svg\"), this.layerElement = createNS(\"g\"), this.maskedElement = this.layerElement, this.svgElement.appendChild(this.layerElement), this.baseElement.appendChild(this.svgElement)) : this.layerElement = this.baseElement, styleDiv(this.baseElement);\n },\n createContainerElements: function createContainerElements() {\n this.renderableEffectsManager = new CVEffects(this), this.transformedElement = this.baseElement, this.maskedElement = this.layerElement, this.data.ln && this.layerElement.setAttribute(\"id\", this.data.ln), this.data.cl && this.layerElement.setAttribute(\"class\", this.data.cl), 0 !== this.data.bm && this.setBlendMode();\n },\n renderElement: function renderElement() {\n var t = this.transformedElement ? this.transformedElement.style : {};\n\n if (this.finalTransform._matMdf) {\n var e = this.finalTransform.mat.toCSS();\n t.transform = e, t.webkitTransform = e;\n }\n\n this.finalTransform._opMdf && (t.opacity = this.finalTransform.mProp.o.v);\n },\n renderFrame: function renderFrame() {\n this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = !1));\n },\n destroy: function destroy() {\n this.layerElement = null, this.transformedElement = null, this.matteElement && (this.matteElement = null), this.maskManager && (this.maskManager.destroy(), this.maskManager = null);\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n },\n addEffects: function addEffects() {},\n setMatte: function setMatte() {}\n }, HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement, HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy, HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting, extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement), HSolidElement.prototype.createContent = function () {\n var t;\n this.data.hasMask ? ((t = createNS(\"rect\")).setAttribute(\"width\", this.data.sw), t.setAttribute(\"height\", this.data.sh), t.setAttribute(\"fill\", this.data.sc), this.svgElement.setAttribute(\"width\", this.data.sw), this.svgElement.setAttribute(\"height\", this.data.sh)) : ((t = createTag(\"div\")).style.width = this.data.sw + \"px\", t.style.height = this.data.sh + \"px\", t.style.backgroundColor = this.data.sc), this.layerElement.appendChild(t);\n }, extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement), HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent, HShapeElement.prototype.createContent = function () {\n var t;\n if (this.baseElement.style.fontSize = 0, this.data.hasMask) this.layerElement.appendChild(this.shapesContainer), t = this.svgElement;else {\n t = createNS(\"svg\");\n var e = this.comp.data ? this.comp.data : this.globalData.compSize;\n t.setAttribute(\"width\", e.w), t.setAttribute(\"height\", e.h), t.appendChild(this.shapesContainer), this.layerElement.appendChild(t);\n }\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], !0), this.filterUniqueShapes(), this.shapeCont = t;\n }, HShapeElement.prototype.getTransformedPoint = function (t, e) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n e = t[r].mProps.v.applyToPointArray(e[0], e[1], 0);\n }\n\n return e;\n }, HShapeElement.prototype.calculateShapeBoundingBox = function (t, e) {\n var r,\n i,\n a,\n s,\n n,\n o = t.sh.v,\n h = t.transformers,\n l = o._length;\n\n if (!(l <= 1)) {\n for (r = 0; r < l - 1; r += 1) {\n i = this.getTransformedPoint(h, o.v[r]), a = this.getTransformedPoint(h, o.o[r]), s = this.getTransformedPoint(h, o.i[r + 1]), n = this.getTransformedPoint(h, o.v[r + 1]), this.checkBounds(i, a, s, n, e);\n }\n\n o.c && (i = this.getTransformedPoint(h, o.v[r]), a = this.getTransformedPoint(h, o.o[r]), s = this.getTransformedPoint(h, o.i[0]), n = this.getTransformedPoint(h, o.v[0]), this.checkBounds(i, a, s, n, e));\n }\n }, HShapeElement.prototype.checkBounds = function (t, e, r, i, a) {\n this.getBoundsOfCurve(t, e, r, i);\n var s = this.shapeBoundingBox;\n a.x = bmMin(s.left, a.x), a.xMax = bmMax(s.right, a.xMax), a.y = bmMin(s.top, a.y), a.yMax = bmMax(s.bottom, a.yMax);\n }, HShapeElement.prototype.shapeBoundingBox = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, HShapeElement.prototype.tempBoundingBox = {\n x: 0,\n xMax: 0,\n y: 0,\n yMax: 0,\n width: 0,\n height: 0\n }, HShapeElement.prototype.getBoundsOfCurve = function (t, e, r, i) {\n for (var a, s, n, o, h, l, p, f = [[t[0], i[0]], [t[1], i[1]]], c = 0; c < 2; ++c) {\n s = 6 * t[c] - 12 * e[c] + 6 * r[c], a = -3 * t[c] + 9 * e[c] - 9 * r[c] + 3 * i[c], n = 3 * e[c] - 3 * t[c], s |= 0, n |= 0, 0 === (a |= 0) && 0 === s || (0 === a ? (o = -n / s) > 0 && o < 1 && f[c].push(this.calculateF(o, t, e, r, i, c)) : (h = s * s - 4 * n * a) >= 0 && ((l = (-s + bmSqrt(h)) / (2 * a)) > 0 && l < 1 && f[c].push(this.calculateF(l, t, e, r, i, c)), (p = (-s - bmSqrt(h)) / (2 * a)) > 0 && p < 1 && f[c].push(this.calculateF(p, t, e, r, i, c))));\n }\n\n this.shapeBoundingBox.left = bmMin.apply(null, f[0]), this.shapeBoundingBox.top = bmMin.apply(null, f[1]), this.shapeBoundingBox.right = bmMax.apply(null, f[0]), this.shapeBoundingBox.bottom = bmMax.apply(null, f[1]);\n }, HShapeElement.prototype.calculateF = function (t, e, r, i, a, s) {\n return bmPow(1 - t, 3) * e[s] + 3 * bmPow(1 - t, 2) * t * r[s] + 3 * (1 - t) * bmPow(t, 2) * i[s] + bmPow(t, 3) * a[s];\n }, HShapeElement.prototype.calculateBoundingBox = function (t, e) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n t[r] && t[r].sh ? this.calculateShapeBoundingBox(t[r], e) : t[r] && t[r].it && this.calculateBoundingBox(t[r].it, e);\n }\n }, HShapeElement.prototype.currentBoxContains = function (t) {\n return this.currentBBox.x <= t.x && this.currentBBox.y <= t.y && this.currentBBox.width + this.currentBBox.x >= t.x + t.width && this.currentBBox.height + this.currentBBox.y >= t.y + t.height;\n }, HShapeElement.prototype.renderInnerContent = function () {\n if (this._renderShapeFrame(), !this.hidden && (this._isFirstFrame || this._mdf)) {\n var t = this.tempBoundingBox,\n e = 999999;\n if (t.x = e, t.xMax = -e, t.y = e, t.yMax = -e, this.calculateBoundingBox(this.itemsData, t), t.width = t.xMax < t.x ? 0 : t.xMax - t.x, t.height = t.yMax < t.y ? 0 : t.yMax - t.y, this.currentBoxContains(t)) return;\n var r = !1;\n\n if (this.currentBBox.w !== t.width && (this.currentBBox.w = t.width, this.shapeCont.setAttribute(\"width\", t.width), r = !0), this.currentBBox.h !== t.height && (this.currentBBox.h = t.height, this.shapeCont.setAttribute(\"height\", t.height), r = !0), r || this.currentBBox.x !== t.x || this.currentBBox.y !== t.y) {\n this.currentBBox.w = t.width, this.currentBBox.h = t.height, this.currentBBox.x = t.x, this.currentBBox.y = t.y, this.shapeCont.setAttribute(\"viewBox\", this.currentBBox.x + \" \" + this.currentBBox.y + \" \" + this.currentBBox.w + \" \" + this.currentBBox.h);\n var i = this.shapeCont.style,\n a = \"translate(\" + this.currentBBox.x + \"px,\" + this.currentBBox.y + \"px)\";\n i.transform = a, i.webkitTransform = a;\n }\n }\n }, extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement), HTextElement.prototype.createContent = function () {\n if (this.isMasked = this.checkMasks(), this.isMasked) {\n this.renderType = \"svg\", this.compW = this.comp.data.w, this.compH = this.comp.data.h, this.svgElement.setAttribute(\"width\", this.compW), this.svgElement.setAttribute(\"height\", this.compH);\n var t = createNS(\"g\");\n this.maskedElement.appendChild(t), this.innerElem = t;\n } else this.renderType = \"html\", this.innerElem = this.layerElement;\n\n this.checkParenting();\n }, HTextElement.prototype.buildNewText = function () {\n var t = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(t.l ? t.l.length : 0);\n var e = this.innerElem.style,\n r = t.fc ? this.buildColor(t.fc) : \"rgba(0,0,0,0)\";\n e.fill = r, e.color = r, t.sc && (e.stroke = this.buildColor(t.sc), e.strokeWidth = t.sw + \"px\");\n var i,\n a,\n s = this.globalData.fontManager.getFontByName(t.f);\n if (!this.globalData.fontManager.chars) if (e.fontSize = t.finalSize + \"px\", e.lineHeight = t.finalSize + \"px\", s.fClass) this.innerElem.className = s.fClass;else {\n e.fontFamily = s.fFamily;\n var n = t.fWeight,\n o = t.fStyle;\n e.fontStyle = o, e.fontWeight = n;\n }\n var h,\n l,\n p,\n f = t.l;\n a = f.length;\n var c,\n m = this.mHelper,\n d = \"\",\n u = 0;\n\n for (i = 0; i < a; i += 1) {\n if (this.globalData.fontManager.chars ? (this.textPaths[u] ? h = this.textPaths[u] : ((h = createNS(\"path\")).setAttribute(\"stroke-linecap\", lineCapEnum[1]), h.setAttribute(\"stroke-linejoin\", lineJoinEnum[2]), h.setAttribute(\"stroke-miterlimit\", \"4\")), this.isMasked || (this.textSpans[u] ? p = (l = this.textSpans[u]).children[0] : ((l = createTag(\"div\")).style.lineHeight = 0, (p = createNS(\"svg\")).appendChild(h), styleDiv(l)))) : this.isMasked ? h = this.textPaths[u] ? this.textPaths[u] : createNS(\"text\") : this.textSpans[u] ? (l = this.textSpans[u], h = this.textPaths[u]) : (styleDiv(l = createTag(\"span\")), styleDiv(h = createTag(\"span\")), l.appendChild(h)), this.globalData.fontManager.chars) {\n var y,\n g = this.globalData.fontManager.getCharData(t.finalText[i], s.fStyle, this.globalData.fontManager.getFontByName(t.f).fFamily);\n if (y = g ? g.data : null, m.reset(), y && y.shapes && y.shapes.length && (c = y.shapes[0].it, m.scale(t.finalSize / 100, t.finalSize / 100), d = this.createPathShape(m, c), h.setAttribute(\"d\", d)), this.isMasked) this.innerElem.appendChild(h);else {\n if (this.innerElem.appendChild(l), y && y.shapes) {\n document.body.appendChild(p);\n var v = p.getBBox();\n p.setAttribute(\"width\", v.width + 2), p.setAttribute(\"height\", v.height + 2), p.setAttribute(\"viewBox\", v.x - 1 + \" \" + (v.y - 1) + \" \" + (v.width + 2) + \" \" + (v.height + 2));\n var b = p.style,\n x = \"translate(\" + (v.x - 1) + \"px,\" + (v.y - 1) + \"px)\";\n b.transform = x, b.webkitTransform = x, f[i].yOffset = v.y - 1;\n } else p.setAttribute(\"width\", 1), p.setAttribute(\"height\", 1);\n\n l.appendChild(p);\n }\n } else if (h.textContent = f[i].val, h.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\"), this.isMasked) this.innerElem.appendChild(h);else {\n this.innerElem.appendChild(l);\n var E = h.style,\n P = \"translate3d(0,\" + -t.finalSize / 1.2 + \"px,0)\";\n E.transform = P, E.webkitTransform = P;\n }\n\n this.isMasked ? this.textSpans[u] = h : this.textSpans[u] = l, this.textSpans[u].style.display = \"block\", this.textPaths[u] = h, u += 1;\n }\n\n for (; u < this.textSpans.length;) {\n this.textSpans[u].style.display = \"none\", u += 1;\n }\n }, HTextElement.prototype.renderInnerContent = function () {\n var t;\n\n if (this.data.singleShape) {\n if (!this._isFirstFrame && !this.lettersChangedFlag) return;\n\n if (this.isMasked && this.finalTransform._matMdf) {\n this.svgElement.setAttribute(\"viewBox\", -this.finalTransform.mProp.p.v[0] + \" \" + -this.finalTransform.mProp.p.v[1] + \" \" + this.compW + \" \" + this.compH), t = this.svgElement.style;\n var e = \"translate(\" + -this.finalTransform.mProp.p.v[0] + \"px,\" + -this.finalTransform.mProp.p.v[1] + \"px)\";\n t.transform = e, t.webkitTransform = e;\n }\n }\n\n if (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\n var r,\n i,\n a,\n s,\n n,\n o = 0,\n h = this.textAnimator.renderedLetters,\n l = this.textProperty.currentData.l;\n\n for (i = l.length, r = 0; r < i; r += 1) {\n l[r].n ? o += 1 : (s = this.textSpans[r], n = this.textPaths[r], a = h[o], o += 1, a._mdf.m && (this.isMasked ? s.setAttribute(\"transform\", a.m) : (s.style.webkitTransform = a.m, s.style.transform = a.m)), s.style.opacity = a.o, a.sw && a._mdf.sw && n.setAttribute(\"stroke-width\", a.sw), a.sc && a._mdf.sc && n.setAttribute(\"stroke\", a.sc), a.fc && a._mdf.fc && (n.setAttribute(\"fill\", a.fc), n.style.color = a.fc));\n }\n\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\n var p = this.innerElem.getBBox();\n this.currentBBox.w !== p.width && (this.currentBBox.w = p.width, this.svgElement.setAttribute(\"width\", p.width)), this.currentBBox.h !== p.height && (this.currentBBox.h = p.height, this.svgElement.setAttribute(\"height\", p.height));\n\n if (this.currentBBox.w !== p.width + 2 || this.currentBBox.h !== p.height + 2 || this.currentBBox.x !== p.x - 1 || this.currentBBox.y !== p.y - 1) {\n this.currentBBox.w = p.width + 2, this.currentBBox.h = p.height + 2, this.currentBBox.x = p.x - 1, this.currentBBox.y = p.y - 1, this.svgElement.setAttribute(\"viewBox\", this.currentBBox.x + \" \" + this.currentBBox.y + \" \" + this.currentBBox.w + \" \" + this.currentBBox.h), t = this.svgElement.style;\n var f = \"translate(\" + this.currentBBox.x + \"px,\" + this.currentBBox.y + \"px)\";\n t.transform = f, t.webkitTransform = f;\n }\n }\n }\n }, extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement), HCameraElement.prototype.setup = function () {\n var t,\n e,\n r,\n i,\n a = this.comp.threeDElements.length;\n\n for (t = 0; t < a; t += 1) {\n if (\"3d\" === (e = this.comp.threeDElements[t]).type) {\n r = e.perspectiveElem.style, i = e.container.style;\n var s = this.pe.v + \"px\",\n n = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n r.perspective = s, r.webkitPerspective = s, i.transformOrigin = \"0px 0px 0px\", i.mozTransformOrigin = \"0px 0px 0px\", i.webkitTransformOrigin = \"0px 0px 0px\", r.transform = n, r.webkitTransform = n;\n }\n }\n }, HCameraElement.prototype.createElements = function () {}, HCameraElement.prototype.hide = function () {}, HCameraElement.prototype.renderFrame = function () {\n var t,\n e,\n r = this._isFirstFrame;\n if (this.hierarchy) for (e = this.hierarchy.length, t = 0; t < e; t += 1) {\n r = this.hierarchy[t].finalTransform.mProp._mdf || r;\n }\n\n if (r || this.pe._mdf || this.p && this.p._mdf || this.px && (this.px._mdf || this.py._mdf || this.pz._mdf) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || this.a && this.a._mdf) {\n if (this.mat.reset(), this.hierarchy) for (t = e = this.hierarchy.length - 1; t >= 0; t -= 1) {\n var i = this.hierarchy[t].finalTransform.mProp;\n this.mat.translate(-i.p.v[0], -i.p.v[1], i.p.v[2]), this.mat.rotateX(-i.or.v[0]).rotateY(-i.or.v[1]).rotateZ(i.or.v[2]), this.mat.rotateX(-i.rx.v).rotateY(-i.ry.v).rotateZ(i.rz.v), this.mat.scale(1 / i.s.v[0], 1 / i.s.v[1], 1 / i.s.v[2]), this.mat.translate(i.a.v[0], i.a.v[1], i.a.v[2]);\n }\n\n if (this.p ? this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]) : this.mat.translate(-this.px.v, -this.py.v, this.pz.v), this.a) {\n var a;\n a = this.p ? [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]] : [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\n var s = Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2)),\n n = [a[0] / s, a[1] / s, a[2] / s],\n o = Math.sqrt(n[2] * n[2] + n[0] * n[0]),\n h = Math.atan2(n[1], o),\n l = Math.atan2(n[0], -n[2]);\n this.mat.rotateY(l).rotateX(-h);\n }\n\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v), this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]), this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0), this.mat.translate(0, 0, this.pe.v);\n var p = !this._prevMat.equals(this.mat);\n\n if ((p || this.pe._mdf) && this.comp.threeDElements) {\n var f, c, m;\n\n for (e = this.comp.threeDElements.length, t = 0; t < e; t += 1) {\n if (\"3d\" === (f = this.comp.threeDElements[t]).type) {\n if (p) {\n var d = this.mat.toCSS();\n (m = f.container.style).transform = d, m.webkitTransform = d;\n }\n\n this.pe._mdf && ((c = f.perspectiveElem.style).perspective = this.pe.v + \"px\", c.webkitPerspective = this.pe.v + \"px\");\n }\n }\n\n this.mat.clone(this._prevMat);\n }\n }\n\n this._isFirstFrame = !1;\n }, HCameraElement.prototype.prepareFrame = function (t) {\n this.prepareProperties(t, !0);\n }, HCameraElement.prototype.destroy = function () {}, HCameraElement.prototype.getBaseElement = function () {\n return null;\n }, extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement), HImageElement.prototype.createContent = function () {\n var t = this.globalData.getAssetsPath(this.assetData),\n e = new Image();\n this.data.hasMask ? (this.imageElem = createNS(\"image\"), this.imageElem.setAttribute(\"width\", this.assetData.w + \"px\"), this.imageElem.setAttribute(\"height\", this.assetData.h + \"px\"), this.imageElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", t), this.layerElement.appendChild(this.imageElem), this.baseElement.setAttribute(\"width\", this.assetData.w), this.baseElement.setAttribute(\"height\", this.assetData.h)) : this.layerElement.appendChild(e), e.crossOrigin = \"anonymous\", e.src = t, this.data.ln && this.baseElement.setAttribute(\"id\", this.data.ln);\n }, extendPrototype([BaseRenderer], HybridRendererBase), HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem, HybridRendererBase.prototype.checkPendingElements = function () {\n for (; this.pendingElements.length;) {\n this.pendingElements.pop().checkParenting();\n }\n }, HybridRendererBase.prototype.appendElementInPos = function (t, e) {\n var r = t.getBaseElement();\n\n if (r) {\n var i = this.layers[e];\n if (i.ddd && this.supports3d) this.addTo3dContainer(r, e);else if (this.threeDElements) this.addTo3dContainer(r, e);else {\n for (var a, s, n = 0; n < e;) {\n this.elements[n] && !0 !== this.elements[n] && this.elements[n].getBaseElement && (s = this.elements[n], a = (this.layers[n].ddd ? this.getThreeDContainerByPos(n) : s.getBaseElement()) || a), n += 1;\n }\n\n a ? i.ddd && this.supports3d || this.layerElement.insertBefore(r, a) : i.ddd && this.supports3d || this.layerElement.appendChild(r);\n }\n }\n }, HybridRendererBase.prototype.createShape = function (t) {\n return this.supports3d ? new HShapeElement(t, this.globalData, this) : new SVGShapeElement(t, this.globalData, this);\n }, HybridRendererBase.prototype.createText = function (t) {\n return this.supports3d ? new HTextElement(t, this.globalData, this) : new SVGTextLottieElement(t, this.globalData, this);\n }, HybridRendererBase.prototype.createCamera = function (t) {\n return this.camera = new HCameraElement(t, this.globalData, this), this.camera;\n }, HybridRendererBase.prototype.createImage = function (t) {\n return this.supports3d ? new HImageElement(t, this.globalData, this) : new IImageElement(t, this.globalData, this);\n }, HybridRendererBase.prototype.createSolid = function (t) {\n return this.supports3d ? new HSolidElement(t, this.globalData, this) : new ISolidElement(t, this.globalData, this);\n }, HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull, HybridRendererBase.prototype.getThreeDContainerByPos = function (t) {\n for (var e = 0, r = this.threeDElements.length; e < r;) {\n if (this.threeDElements[e].startPos <= t && this.threeDElements[e].endPos >= t) return this.threeDElements[e].perspectiveElem;\n e += 1;\n }\n\n return null;\n }, HybridRendererBase.prototype.createThreeDContainer = function (t, e) {\n var r,\n i,\n a = createTag(\"div\");\n styleDiv(a);\n var s = createTag(\"div\");\n\n if (styleDiv(s), \"3d\" === e) {\n (r = a.style).width = this.globalData.compSize.w + \"px\", r.height = this.globalData.compSize.h + \"px\";\n r.webkitTransformOrigin = \"50% 50%\", r.mozTransformOrigin = \"50% 50%\", r.transformOrigin = \"50% 50%\";\n var n = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n (i = s.style).transform = n, i.webkitTransform = n;\n }\n\n a.appendChild(s);\n var o = {\n container: s,\n perspectiveElem: a,\n startPos: t,\n endPos: t,\n type: e\n };\n return this.threeDElements.push(o), o;\n }, HybridRendererBase.prototype.build3dContainers = function () {\n var t,\n e,\n r = this.layers.length,\n i = \"\";\n\n for (t = 0; t < r; t += 1) {\n this.layers[t].ddd && 3 !== this.layers[t].ty ? (\"3d\" !== i && (i = \"3d\", e = this.createThreeDContainer(t, \"3d\")), e.endPos = Math.max(e.endPos, t)) : (\"2d\" !== i && (i = \"2d\", e = this.createThreeDContainer(t, \"2d\")), e.endPos = Math.max(e.endPos, t));\n }\n\n for (t = (r = this.threeDElements.length) - 1; t >= 0; t -= 1) {\n this.resizerElem.appendChild(this.threeDElements[t].perspectiveElem);\n }\n }, HybridRendererBase.prototype.addTo3dContainer = function (t, e) {\n for (var r = 0, i = this.threeDElements.length; r < i;) {\n if (e <= this.threeDElements[r].endPos) {\n for (var a, s = this.threeDElements[r].startPos; s < e;) {\n this.elements[s] && this.elements[s].getBaseElement && (a = this.elements[s].getBaseElement()), s += 1;\n }\n\n a ? this.threeDElements[r].container.insertBefore(t, a) : this.threeDElements[r].container.appendChild(t);\n break;\n }\n\n r += 1;\n }\n }, HybridRendererBase.prototype.configAnimation = function (t) {\n var e = createTag(\"div\"),\n r = this.animationItem.wrapper,\n i = e.style;\n i.width = t.w + \"px\", i.height = t.h + \"px\", this.resizerElem = e, styleDiv(e), i.transformStyle = \"flat\", i.mozTransformStyle = \"flat\", i.webkitTransformStyle = \"flat\", this.renderConfig.className && e.setAttribute(\"class\", this.renderConfig.className), r.appendChild(e), i.overflow = \"hidden\";\n var a = createNS(\"svg\");\n a.setAttribute(\"width\", \"1\"), a.setAttribute(\"height\", \"1\"), styleDiv(a), this.resizerElem.appendChild(a);\n var s = createNS(\"defs\");\n a.appendChild(s), this.data = t, this.setupGlobalData(t, a), this.globalData.defs = s, this.layers = t.layers, this.layerElement = this.resizerElem, this.build3dContainers(), this.updateContainerSize();\n }, HybridRendererBase.prototype.destroy = function () {\n var t;\n this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\"), this.animationItem.container = null, this.globalData.defs = null;\n var e = this.layers ? this.layers.length : 0;\n\n for (t = 0; t < e; t += 1) {\n this.elements[t].destroy();\n }\n\n this.elements.length = 0, this.destroyed = !0, this.animationItem = null;\n }, HybridRendererBase.prototype.updateContainerSize = function () {\n var t,\n e,\n r,\n i,\n a = this.animationItem.wrapper.offsetWidth,\n s = this.animationItem.wrapper.offsetHeight,\n n = a / s;\n this.globalData.compSize.w / this.globalData.compSize.h > n ? (t = a / this.globalData.compSize.w, e = a / this.globalData.compSize.w, r = 0, i = (s - this.globalData.compSize.h * (a / this.globalData.compSize.w)) / 2) : (t = s / this.globalData.compSize.h, e = s / this.globalData.compSize.h, r = (a - this.globalData.compSize.w * (s / this.globalData.compSize.h)) / 2, i = 0);\n var o = this.resizerElem.style;\n o.webkitTransform = \"matrix3d(\" + t + \",0,0,0,0,\" + e + \",0,0,0,0,1,0,\" + r + \",\" + i + \",0,1)\", o.transform = o.webkitTransform;\n }, HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame, HybridRendererBase.prototype.hide = function () {\n this.resizerElem.style.display = \"none\";\n }, HybridRendererBase.prototype.show = function () {\n this.resizerElem.style.display = \"block\";\n }, HybridRendererBase.prototype.initItems = function () {\n if (this.buildAllItems(), this.camera) this.camera.setup();else {\n var t,\n e = this.globalData.compSize.w,\n r = this.globalData.compSize.h,\n i = this.threeDElements.length;\n\n for (t = 0; t < i; t += 1) {\n var a = this.threeDElements[t].perspectiveElem.style;\n a.webkitPerspective = Math.sqrt(Math.pow(e, 2) + Math.pow(r, 2)) + \"px\", a.perspective = a.webkitPerspective;\n }\n }\n }, HybridRendererBase.prototype.searchExtraCompositions = function (t) {\n var e,\n r = t.length,\n i = createTag(\"div\");\n\n for (e = 0; e < r; e += 1) {\n if (t[e].xt) {\n var a = this.createComp(t[e], i, this.globalData.comp, null);\n a.initExpressions(), this.globalData.projectInterface.registerComposition(a);\n }\n }\n }, extendPrototype([HybridRendererBase, ICompElement, HBaseElement], HCompElement), HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements, HCompElement.prototype.createContainerElements = function () {\n this._createBaseContainerElements(), this.data.hasMask ? (this.svgElement.setAttribute(\"width\", this.data.w), this.svgElement.setAttribute(\"height\", this.data.h), this.transformedElement = this.baseElement) : this.transformedElement = this.layerElement;\n }, HCompElement.prototype.addTo3dContainer = function (t, e) {\n for (var r, i = 0; i < e;) {\n this.elements[i] && this.elements[i].getBaseElement && (r = this.elements[i].getBaseElement()), i += 1;\n }\n\n r ? this.layerElement.insertBefore(t, r) : this.layerElement.appendChild(t);\n }, HCompElement.prototype.createComp = function (t) {\n return this.supports3d ? new HCompElement(t, this.globalData, this) : new SVGCompElement(t, this.globalData, this);\n }, extendPrototype([HybridRendererBase], HybridRenderer), HybridRenderer.prototype.createComp = function (t) {\n return this.supports3d ? new HCompElement(t, this.globalData, this) : new SVGCompElement(t, this.globalData, this);\n };\n\n var Expressions = function () {\n var t = {};\n return t.initExpressions = function (t) {\n var e = 0,\n r = [];\n t.renderer.compInterface = CompExpressionInterface(t.renderer), t.renderer.globalData.projectInterface.registerComposition(t.renderer), t.renderer.globalData.pushExpression = function () {\n e += 1;\n }, t.renderer.globalData.popExpression = function () {\n 0 === (e -= 1) && function () {\n var t,\n e = r.length;\n\n for (t = 0; t < e; t += 1) {\n r[t].release();\n }\n\n r.length = 0;\n }();\n }, t.renderer.globalData.registerExpressionProperty = function (t) {\n -1 === r.indexOf(t) && r.push(t);\n };\n }, t;\n }();\n\n function _typeof$1(t) {\n return (_typeof$1 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (t) {\n return typeof t;\n } : function (t) {\n return t && \"function\" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? \"symbol\" : typeof t;\n })(t);\n }\n\n function seedRandom(t, e) {\n var r = this,\n i = e.pow(256, 6),\n a = e.pow(2, 52),\n s = 2 * a;\n\n function n(t) {\n var e,\n r = t.length,\n i = this,\n a = 0,\n s = i.i = i.j = 0,\n n = i.S = [];\n\n for (r || (t = [r++]); a < 256;) {\n n[a] = a++;\n }\n\n for (a = 0; a < 256; a++) {\n n[a] = n[s = 255 & s + t[a % r] + (e = n[a])], n[s] = e;\n }\n\n i.g = function (t) {\n for (var e, r = 0, a = i.i, s = i.j, n = i.S; t--;) {\n e = n[a = 255 & a + 1], r = 256 * r + n[255 & (n[a] = n[s = 255 & s + e]) + (n[s] = e)];\n }\n\n return i.i = a, i.j = s, r;\n };\n }\n\n function o(t, e) {\n return e.i = t.i, e.j = t.j, e.S = t.S.slice(), e;\n }\n\n function h(t, e) {\n for (var r, i = t + \"\", a = 0; a < i.length;) {\n e[255 & a] = 255 & (r ^= 19 * e[255 & a]) + i.charCodeAt(a++);\n }\n\n return l(e);\n }\n\n function l(t) {\n return String.fromCharCode.apply(0, t);\n }\n\n e.seedrandom = function (p, f, c) {\n var m = [],\n d = h(function t(e, r) {\n var i,\n a = [],\n s = _typeof$1(e);\n\n if (r && \"object\" == s) for (i in e) {\n try {\n a.push(t(e[i], r - 1));\n } catch (t) {}\n }\n return a.length ? a : \"string\" == s ? e : e + \"\\0\";\n }((f = !0 === f ? {\n entropy: !0\n } : f || {}).entropy ? [p, l(t)] : null === p ? function () {\n try {\n void 0;\n var e = new Uint8Array(256);\n return (r.crypto || r.msCrypto).getRandomValues(e), l(e);\n } catch (e) {\n var i = r.navigator,\n a = i && i.plugins;\n return [+new Date(), r, a, r.screen, l(t)];\n }\n }() : p, 3), m),\n u = new n(m),\n y = function y() {\n for (var t = u.g(6), e = i, r = 0; t < a;) {\n t = 256 * (t + r), e *= 256, r = u.g(1);\n }\n\n for (; t >= s;) {\n t /= 2, e /= 2, r >>>= 1;\n }\n\n return (t + r) / e;\n };\n\n return y.int32 = function () {\n return 0 | u.g(4);\n }, y.quick = function () {\n return u.g(4) / 4294967296;\n }, y.double = y, h(l(u.S), t), (f.pass || c || function (t, r, i, a) {\n return a && (a.S && o(a, u), t.state = function () {\n return o(u, {});\n }), i ? (e.random = t, r) : t;\n })(y, d, \"global\" in f ? f.global : this == e, f.state);\n }, h(e.random(), t);\n }\n\n function initialize$2(t) {\n seedRandom([], t);\n }\n\n var propTypes = {\n SHAPE: \"shape\"\n };\n\n function _typeof(t) {\n return (_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (t) {\n return typeof t;\n } : function (t) {\n return t && \"function\" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? \"symbol\" : typeof t;\n })(t);\n }\n\n var ExpressionManager = function () {\n var ob = {},\n Math = BMMath,\n window = null,\n document = null,\n XMLHttpRequest = null,\n fetch = null,\n frames = null;\n\n function $bm_isInstanceOfArray(t) {\n return t.constructor === Array || t.constructor === Float32Array;\n }\n\n function isNumerable(t, e) {\n return \"number\" === t || \"boolean\" === t || \"string\" === t || e instanceof Number;\n }\n\n function $bm_neg(t) {\n var e = _typeof(t);\n\n if (\"number\" === e || \"boolean\" === e || t instanceof Number) return -t;\n\n if ($bm_isInstanceOfArray(t)) {\n var r,\n i = t.length,\n a = [];\n\n for (r = 0; r < i; r += 1) {\n a[r] = -t[r];\n }\n\n return a;\n }\n\n return t.propType ? t.v : -t;\n }\n\n initialize$2(BMMath);\n var easeInBez = BezierFactory.getBezierEasing(.333, 0, .833, .833, \"easeIn\").get,\n easeOutBez = BezierFactory.getBezierEasing(.167, .167, .667, 1, \"easeOut\").get,\n easeInOutBez = BezierFactory.getBezierEasing(.33, 0, .667, 1, \"easeInOut\").get;\n\n function sum(t, e) {\n var r = _typeof(t),\n i = _typeof(e);\n\n if (\"string\" === r || \"string\" === i) return t + e;\n if (isNumerable(r, t) && isNumerable(i, e)) return t + e;\n if ($bm_isInstanceOfArray(t) && isNumerable(i, e)) return (t = t.slice(0))[0] += e, t;\n if (isNumerable(r, t) && $bm_isInstanceOfArray(e)) return (e = e.slice(0))[0] = t + e[0], e;\n\n if ($bm_isInstanceOfArray(t) && $bm_isInstanceOfArray(e)) {\n for (var a = 0, s = t.length, n = e.length, o = []; a < s || a < n;) {\n (\"number\" == typeof t[a] || t[a] instanceof Number) && (\"number\" == typeof e[a] || e[a] instanceof Number) ? o[a] = t[a] + e[a] : o[a] = void 0 === e[a] ? t[a] : t[a] || e[a], a += 1;\n }\n\n return o;\n }\n\n return 0;\n }\n\n var add = sum;\n\n function sub(t, e) {\n var r = _typeof(t),\n i = _typeof(e);\n\n if (isNumerable(r, t) && isNumerable(i, e)) return \"string\" === r && (t = parseInt(t, 10)), \"string\" === i && (e = parseInt(e, 10)), t - e;\n if ($bm_isInstanceOfArray(t) && isNumerable(i, e)) return (t = t.slice(0))[0] -= e, t;\n if (isNumerable(r, t) && $bm_isInstanceOfArray(e)) return (e = e.slice(0))[0] = t - e[0], e;\n\n if ($bm_isInstanceOfArray(t) && $bm_isInstanceOfArray(e)) {\n for (var a = 0, s = t.length, n = e.length, o = []; a < s || a < n;) {\n (\"number\" == typeof t[a] || t[a] instanceof Number) && (\"number\" == typeof e[a] || e[a] instanceof Number) ? o[a] = t[a] - e[a] : o[a] = void 0 === e[a] ? t[a] : t[a] || e[a], a += 1;\n }\n\n return o;\n }\n\n return 0;\n }\n\n function mul(t, e) {\n var r,\n i,\n a,\n s = _typeof(t),\n n = _typeof(e);\n\n if (isNumerable(s, t) && isNumerable(n, e)) return t * e;\n\n if ($bm_isInstanceOfArray(t) && isNumerable(n, e)) {\n for (a = t.length, r = createTypedArray(\"float32\", a), i = 0; i < a; i += 1) {\n r[i] = t[i] * e;\n }\n\n return r;\n }\n\n if (isNumerable(s, t) && $bm_isInstanceOfArray(e)) {\n for (a = e.length, r = createTypedArray(\"float32\", a), i = 0; i < a; i += 1) {\n r[i] = t * e[i];\n }\n\n return r;\n }\n\n return 0;\n }\n\n function div(t, e) {\n var r,\n i,\n a,\n s = _typeof(t),\n n = _typeof(e);\n\n if (isNumerable(s, t) && isNumerable(n, e)) return t / e;\n\n if ($bm_isInstanceOfArray(t) && isNumerable(n, e)) {\n for (a = t.length, r = createTypedArray(\"float32\", a), i = 0; i < a; i += 1) {\n r[i] = t[i] / e;\n }\n\n return r;\n }\n\n if (isNumerable(s, t) && $bm_isInstanceOfArray(e)) {\n for (a = e.length, r = createTypedArray(\"float32\", a), i = 0; i < a; i += 1) {\n r[i] = t / e[i];\n }\n\n return r;\n }\n\n return 0;\n }\n\n function mod(t, e) {\n return \"string\" == typeof t && (t = parseInt(t, 10)), \"string\" == typeof e && (e = parseInt(e, 10)), t % e;\n }\n\n var $bm_sum = sum,\n $bm_sub = sub,\n $bm_mul = mul,\n $bm_div = div,\n $bm_mod = mod;\n\n function clamp(t, e, r) {\n if (e > r) {\n var i = r;\n r = e, e = i;\n }\n\n return Math.min(Math.max(t, e), r);\n }\n\n function radiansToDegrees(t) {\n return t / degToRads;\n }\n\n var radians_to_degrees = radiansToDegrees;\n\n function degreesToRadians(t) {\n return t * degToRads;\n }\n\n var degrees_to_radians = radiansToDegrees,\n helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n function length(t, e) {\n if (\"number\" == typeof t || t instanceof Number) return e = e || 0, Math.abs(t - e);\n var r;\n e || (e = helperLengthArray);\n var i = Math.min(t.length, e.length),\n a = 0;\n\n for (r = 0; r < i; r += 1) {\n a += Math.pow(e[r] - t[r], 2);\n }\n\n return Math.sqrt(a);\n }\n\n function normalize(t) {\n return div(t, length(t));\n }\n\n function rgbToHsl(t) {\n var e,\n r,\n i = t[0],\n a = t[1],\n s = t[2],\n n = Math.max(i, a, s),\n o = Math.min(i, a, s),\n h = (n + o) / 2;\n if (n === o) e = 0, r = 0;else {\n var l = n - o;\n\n switch (r = h > .5 ? l / (2 - n - o) : l / (n + o), n) {\n case i:\n e = (a - s) / l + (a < s ? 6 : 0);\n break;\n\n case a:\n e = (s - i) / l + 2;\n break;\n\n case s:\n e = (i - a) / l + 4;\n }\n\n e /= 6;\n }\n return [e, r, h, t[3]];\n }\n\n function hue2rgb(t, e, r) {\n return r < 0 && (r += 1), r > 1 && (r -= 1), r < 1 / 6 ? t + 6 * (e - t) * r : r < .5 ? e : r < 2 / 3 ? t + (e - t) * (2 / 3 - r) * 6 : t;\n }\n\n function hslToRgb(t) {\n var e,\n r,\n i,\n a = t[0],\n s = t[1],\n n = t[2];\n if (0 === s) e = n, i = n, r = n;else {\n var o = n < .5 ? n * (1 + s) : n + s - n * s,\n h = 2 * n - o;\n e = hue2rgb(h, o, a + 1 / 3), r = hue2rgb(h, o, a), i = hue2rgb(h, o, a - 1 / 3);\n }\n return [e, r, i, t[3]];\n }\n\n function linear(t, e, r, i, a) {\n if (void 0 !== i && void 0 !== a || (i = e, a = r, e = 0, r = 1), r < e) {\n var s = r;\n r = e, e = s;\n }\n\n if (t <= e) return i;\n if (t >= r) return a;\n var n,\n o = r === e ? 0 : (t - e) / (r - e);\n if (!i.length) return i + (a - i) * o;\n var h = i.length,\n l = createTypedArray(\"float32\", h);\n\n for (n = 0; n < h; n += 1) {\n l[n] = i[n] + (a[n] - i[n]) * o;\n }\n\n return l;\n }\n\n function random(t, e) {\n if (void 0 === e && (void 0 === t ? (t = 0, e = 1) : (e = t, t = void 0)), e.length) {\n var r,\n i = e.length;\n t || (t = createTypedArray(\"float32\", i));\n var a = createTypedArray(\"float32\", i),\n s = BMMath.random();\n\n for (r = 0; r < i; r += 1) {\n a[r] = t[r] + s * (e[r] - t[r]);\n }\n\n return a;\n }\n\n return void 0 === t && (t = 0), t + BMMath.random() * (e - t);\n }\n\n function createPath(t, e, r, i) {\n var a,\n s = t.length,\n n = shapePool.newElement();\n n.setPathData(!!i, s);\n var o,\n h,\n l = [0, 0];\n\n for (a = 0; a < s; a += 1) {\n o = e && e[a] ? e[a] : l, h = r && r[a] ? r[a] : l, n.setTripleAt(t[a][0], t[a][1], h[0] + t[a][0], h[1] + t[a][1], o[0] + t[a][0], o[1] + t[a][1], a, !0);\n }\n\n return n;\n }\n\n function initiateExpression(elem, data, property) {\n var val = data.x,\n needsVelocity = /velocity(?![\\w\\d])/.test(val),\n _needsRandom = -1 !== val.indexOf(\"random\"),\n elemType = elem.data.ty,\n transform,\n $bm_transform,\n content,\n effect,\n thisProperty = property;\n\n thisProperty.valueAtTime = thisProperty.getValueAtTime, Object.defineProperty(thisProperty, \"value\", {\n get: function get() {\n return thisProperty.v;\n }\n }), elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate, elem.comp.displayStartTime = 0;\n\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate,\n outPoint = elem.data.op / elem.comp.globalData.frameRate,\n width = elem.data.sw ? elem.data.sw : 0,\n height = elem.data.sh ? elem.data.sh : 0,\n name = elem.data.nm,\n loopIn,\n loop_in,\n loopOut,\n loop_out,\n smooth,\n toWorld,\n fromWorld,\n fromComp,\n toComp,\n fromCompToSurface,\n position,\n rotation,\n anchorPoint,\n scale,\n thisLayer,\n thisComp,\n mask,\n valueAtTime,\n velocityAtTime,\n scoped_bm_rt,\n expression_function = eval(\"[function _expression_function(){\" + val + \";scoped_bm_rt=$bm_rt}]\")[0],\n numKeys = property.kf ? data.k.length : 0,\n active = !this.data || !0 !== this.data.hd,\n wiggle = function (t, e) {\n var r,\n i,\n a = this.pv.length ? this.pv.length : 1,\n s = createTypedArray(\"float32\", a);\n var n = Math.floor(5 * time);\n\n for (r = 0, i = 0; r < n;) {\n for (i = 0; i < a; i += 1) {\n s[i] += -e + 2 * e * BMMath.random();\n }\n\n r += 1;\n }\n\n var o = 5 * time,\n h = o - Math.floor(o),\n l = createTypedArray(\"float32\", a);\n\n if (a > 1) {\n for (i = 0; i < a; i += 1) {\n l[i] = this.pv[i] + s[i] + (-e + 2 * e * BMMath.random()) * h;\n }\n\n return l;\n }\n\n return this.pv + s[0] + (-e + 2 * e * BMMath.random()) * h;\n }.bind(this);\n\n function loopInDuration(t, e) {\n return loopIn(t, e, !0);\n }\n\n function loopOutDuration(t, e) {\n return loopOut(t, e, !0);\n }\n\n thisProperty.loopIn && (loopIn = thisProperty.loopIn.bind(thisProperty), loop_in = loopIn), thisProperty.loopOut && (loopOut = thisProperty.loopOut.bind(thisProperty), loop_out = loopOut), thisProperty.smooth && (smooth = thisProperty.smooth.bind(thisProperty)), this.getValueAtTime && (valueAtTime = this.getValueAtTime.bind(this)), this.getVelocityAtTime && (velocityAtTime = this.getVelocityAtTime.bind(this));\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface),\n time,\n velocity,\n value,\n text,\n textIndex,\n textTotal,\n selectorValue;\n\n function lookAt(t, e) {\n var r = [e[0] - t[0], e[1] - t[1], e[2] - t[2]],\n i = Math.atan2(r[0], Math.sqrt(r[1] * r[1] + r[2] * r[2])) / degToRads;\n return [-Math.atan2(r[1], r[2]) / degToRads, i, 0];\n }\n\n function easeOut(t, e, r, i, a) {\n return applyEase(easeOutBez, t, e, r, i, a);\n }\n\n function easeIn(t, e, r, i, a) {\n return applyEase(easeInBez, t, e, r, i, a);\n }\n\n function ease(t, e, r, i, a) {\n return applyEase(easeInOutBez, t, e, r, i, a);\n }\n\n function applyEase(t, e, r, i, a, s) {\n void 0 === a ? (a = r, s = i) : e = (e - r) / (i - r), e > 1 ? e = 1 : e < 0 && (e = 0);\n var n = t(e);\n\n if ($bm_isInstanceOfArray(a)) {\n var o,\n h = a.length,\n l = createTypedArray(\"float32\", h);\n\n for (o = 0; o < h; o += 1) {\n l[o] = (s[o] - a[o]) * n + a[o];\n }\n\n return l;\n }\n\n return (s - a) * n + a;\n }\n\n function nearestKey(t) {\n var e,\n r,\n i,\n a = data.k.length;\n if (data.k.length && \"number\" != typeof data.k[0]) {\n if (r = -1, (t *= elem.comp.globalData.frameRate) < data.k[0].t) r = 1, i = data.k[0].t;else {\n for (e = 0; e < a - 1; e += 1) {\n if (t === data.k[e].t) {\n r = e + 1, i = data.k[e].t;\n break;\n }\n\n if (t > data.k[e].t && t < data.k[e + 1].t) {\n t - data.k[e].t > data.k[e + 1].t - t ? (r = e + 2, i = data.k[e + 1].t) : (r = e + 1, i = data.k[e].t);\n break;\n }\n }\n\n -1 === r && (r = e + 1, i = data.k[e].t);\n }\n } else r = 0, i = 0;\n var s = {};\n return s.index = r, s.time = i / elem.comp.globalData.frameRate, s;\n }\n\n function key(t) {\n var e, r, i;\n if (!data.k.length || \"number\" == typeof data.k[0]) throw new Error(\"The property has no keyframe at index \" + t);\n t -= 1, e = {\n time: data.k[t].t / elem.comp.globalData.frameRate,\n value: []\n };\n var a = Object.prototype.hasOwnProperty.call(data.k[t], \"s\") ? data.k[t].s : data.k[t - 1].e;\n\n for (i = a.length, r = 0; r < i; r += 1) {\n e[r] = a[r], e.value[r] = a[r];\n }\n\n return e;\n }\n\n function framesToTime(t, e) {\n return e || (e = elem.comp.globalData.frameRate), t / e;\n }\n\n function timeToFrames(t, e) {\n return t || 0 === t || (t = time), e || (e = elem.comp.globalData.frameRate), t * e;\n }\n\n function seedRandom(t) {\n BMMath.seedrandom(randSeed + t);\n }\n\n function sourceRectAtTime() {\n return elem.sourceRectAtTime();\n }\n\n function substring(t, e) {\n return \"string\" == typeof value ? void 0 === e ? value.substring(t) : value.substring(t, e) : \"\";\n }\n\n function substr(t, e) {\n return \"string\" == typeof value ? void 0 === e ? value.substr(t) : value.substr(t, e) : \"\";\n }\n\n function posterizeTime(t) {\n time = 0 === t ? 0 : Math.floor(time * t) / t, value = valueAtTime(time);\n }\n\n var index = elem.data.ind,\n hasParent = !(!elem.hierarchy || !elem.hierarchy.length),\n parent,\n randSeed = Math.floor(1e6 * Math.random()),\n globalData = elem.globalData;\n\n function executeExpression(t) {\n return value = t, this.frameExpressionId === elem.globalData.frameId && \"textSelector\" !== this.propType ? value : (\"textSelector\" === this.propType && (textIndex = this.textIndex, textTotal = this.textTotal, selectorValue = this.selectorValue), thisLayer || (text = elem.layerInterface.text, thisLayer = elem.layerInterface, thisComp = elem.comp.compInterface, toWorld = thisLayer.toWorld.bind(thisLayer), fromWorld = thisLayer.fromWorld.bind(thisLayer), fromComp = thisLayer.fromComp.bind(thisLayer), toComp = thisLayer.toComp.bind(thisLayer), mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null, fromCompToSurface = fromComp), transform || (transform = elem.layerInterface(\"ADBE Transform Group\"), $bm_transform = transform, transform && (anchorPoint = transform.anchorPoint)), 4 !== elemType || content || (content = thisLayer(\"ADBE Root Vectors Group\")), effect || (effect = thisLayer(4)), (hasParent = !(!elem.hierarchy || !elem.hierarchy.length)) && !parent && (parent = elem.hierarchy[0].layerInterface), time = this.comp.renderedFrame / this.comp.globalData.frameRate, _needsRandom && seedRandom(randSeed + time), needsVelocity && (velocity = velocityAtTime(time)), expression_function(), this.frameExpressionId = elem.globalData.frameId, scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt);\n }\n\n return executeExpression.__preventDeadCodeRemoval = [$bm_transform, anchorPoint, velocity, inPoint, outPoint, width, height, name, loop_in, loop_out, smooth, toComp, fromCompToSurface, toWorld, fromWorld, mask, position, rotation, scale, thisComp, numKeys, active, wiggle, loopInDuration, loopOutDuration, comp, lookAt, easeOut, easeIn, ease, nearestKey, key, text, textIndex, textTotal, selectorValue, framesToTime, timeToFrames, sourceRectAtTime, substring, substr, posterizeTime, index, globalData], executeExpression;\n }\n\n return ob.initiateExpression = initiateExpression, ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath], ob;\n }(),\n expressionHelpers = {\n searchExpressions: function searchExpressions(t, e, r) {\n e.x && (r.k = !0, r.x = !0, r.initiateExpression = ExpressionManager.initiateExpression, r.effectsSequence.push(r.initiateExpression(t, e, r).bind(r)));\n },\n getSpeedAtTime: function getSpeedAtTime(t) {\n var e = this.getValueAtTime(t),\n r = this.getValueAtTime(t + -.01),\n i = 0;\n\n if (e.length) {\n var a;\n\n for (a = 0; a < e.length; a += 1) {\n i += Math.pow(r[a] - e[a], 2);\n }\n\n i = 100 * Math.sqrt(i);\n } else i = 0;\n\n return i;\n },\n getVelocityAtTime: function getVelocityAtTime(t) {\n if (void 0 !== this.vel) return this.vel;\n var e,\n r,\n i = this.getValueAtTime(t),\n a = this.getValueAtTime(t + -.001);\n if (i.length) for (e = createTypedArray(\"float32\", i.length), r = 0; r < i.length; r += 1) {\n e[r] = (a[r] - i[r]) / -.001;\n } else e = (a - i) / -.001;\n return e;\n },\n getValueAtTime: function getValueAtTime(t) {\n return t *= this.elem.globalData.frameRate, (t -= this.offsetTime) !== this._cachingAtTime.lastFrame && (this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < t ? this._cachingAtTime.lastIndex : 0, this._cachingAtTime.value = this.interpolateValue(t, this._cachingAtTime), this._cachingAtTime.lastFrame = t), this._cachingAtTime.value;\n },\n getStaticValueAtTime: function getStaticValueAtTime() {\n return this.pv;\n },\n setGroupProperty: function setGroupProperty(t) {\n this.propertyGroup = t;\n }\n };\n\n function addPropertyDecorator() {\n function t(t, e, r) {\n if (!this.k || !this.keyframes) return this.pv;\n t = t ? t.toLowerCase() : \"\";\n var i,\n a,\n s,\n n,\n o,\n h = this.comp.renderedFrame,\n l = this.keyframes,\n p = l[l.length - 1].t;\n if (h <= p) return this.pv;\n\n if (r ? a = p - (i = e ? Math.abs(p - this.elem.comp.globalData.frameRate * e) : Math.max(0, p - this.elem.data.ip)) : ((!e || e > l.length - 1) && (e = l.length - 1), i = p - (a = l[l.length - 1 - e].t)), \"pingpong\" === t) {\n if (Math.floor((h - a) / i) % 2 != 0) return this.getValueAtTime((i - (h - a) % i + a) / this.comp.globalData.frameRate, 0);\n } else {\n if (\"offset\" === t) {\n var f = this.getValueAtTime(a / this.comp.globalData.frameRate, 0),\n c = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),\n m = this.getValueAtTime(((h - a) % i + a) / this.comp.globalData.frameRate, 0),\n d = Math.floor((h - a) / i);\n\n if (this.pv.length) {\n for (n = (o = new Array(f.length)).length, s = 0; s < n; s += 1) {\n o[s] = (c[s] - f[s]) * d + m[s];\n }\n\n return o;\n }\n\n return (c - f) * d + m;\n }\n\n if (\"continue\" === t) {\n var u = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),\n y = this.getValueAtTime((p - .001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n for (n = (o = new Array(u.length)).length, s = 0; s < n; s += 1) {\n o[s] = u[s] + (u[s] - y[s]) * ((h - p) / this.comp.globalData.frameRate) / 5e-4;\n }\n\n return o;\n }\n\n return u + (h - p) / .001 * (u - y);\n }\n }\n\n return this.getValueAtTime(((h - a) % i + a) / this.comp.globalData.frameRate, 0);\n }\n\n function e(t, e, r) {\n if (!this.k) return this.pv;\n t = t ? t.toLowerCase() : \"\";\n var i,\n a,\n s,\n n,\n o,\n h = this.comp.renderedFrame,\n l = this.keyframes,\n p = l[0].t;\n if (h >= p) return this.pv;\n\n if (r ? a = p + (i = e ? Math.abs(this.elem.comp.globalData.frameRate * e) : Math.max(0, this.elem.data.op - p)) : ((!e || e > l.length - 1) && (e = l.length - 1), i = (a = l[e].t) - p), \"pingpong\" === t) {\n if (Math.floor((p - h) / i) % 2 == 0) return this.getValueAtTime(((p - h) % i + p) / this.comp.globalData.frameRate, 0);\n } else {\n if (\"offset\" === t) {\n var f = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),\n c = this.getValueAtTime(a / this.comp.globalData.frameRate, 0),\n m = this.getValueAtTime((i - (p - h) % i + p) / this.comp.globalData.frameRate, 0),\n d = Math.floor((p - h) / i) + 1;\n\n if (this.pv.length) {\n for (n = (o = new Array(f.length)).length, s = 0; s < n; s += 1) {\n o[s] = m[s] - (c[s] - f[s]) * d;\n }\n\n return o;\n }\n\n return m - (c - f) * d;\n }\n\n if (\"continue\" === t) {\n var u = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),\n y = this.getValueAtTime((p + .001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n for (n = (o = new Array(u.length)).length, s = 0; s < n; s += 1) {\n o[s] = u[s] + (u[s] - y[s]) * (p - h) / .001;\n }\n\n return o;\n }\n\n return u + (u - y) * (p - h) / .001;\n }\n }\n\n return this.getValueAtTime((i - ((p - h) % i + p)) / this.comp.globalData.frameRate, 0);\n }\n\n function r(t, e) {\n if (!this.k) return this.pv;\n if (t = .5 * (t || .4), (e = Math.floor(e || 5)) <= 1) return this.pv;\n var r,\n i,\n a = this.comp.renderedFrame / this.comp.globalData.frameRate,\n s = a - t,\n n = e > 1 ? (a + t - s) / (e - 1) : 1,\n o = 0,\n h = 0;\n\n for (r = this.pv.length ? createTypedArray(\"float32\", this.pv.length) : 0; o < e;) {\n if (i = this.getValueAtTime(s + o * n), this.pv.length) for (h = 0; h < this.pv.length; h += 1) {\n r[h] += i[h];\n } else r += i;\n o += 1;\n }\n\n if (this.pv.length) for (h = 0; h < this.pv.length; h += 1) {\n r[h] /= e;\n } else r /= e;\n return r;\n }\n\n function i(t) {\n this._transformCachingAtTime || (this._transformCachingAtTime = {\n v: new Matrix()\n });\n var e = this._transformCachingAtTime.v;\n\n if (e.cloneFromProps(this.pre.props), this.appliedTransformations < 1) {\n var r = this.a.getValueAtTime(t);\n e.translate(-r[0] * this.a.mult, -r[1] * this.a.mult, r[2] * this.a.mult);\n }\n\n if (this.appliedTransformations < 2) {\n var i = this.s.getValueAtTime(t);\n e.scale(i[0] * this.s.mult, i[1] * this.s.mult, i[2] * this.s.mult);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n var a = this.sk.getValueAtTime(t),\n s = this.sa.getValueAtTime(t);\n e.skewFromAxis(-a * this.sk.mult, s * this.sa.mult);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n var n = this.r.getValueAtTime(t);\n e.rotate(-n * this.r.mult);\n } else if (!this.r && this.appliedTransformations < 4) {\n var o = this.rz.getValueAtTime(t),\n h = this.ry.getValueAtTime(t),\n l = this.rx.getValueAtTime(t),\n p = this.or.getValueAtTime(t);\n e.rotateZ(-o * this.rz.mult).rotateY(h * this.ry.mult).rotateX(l * this.rx.mult).rotateZ(-p[2] * this.or.mult).rotateY(p[1] * this.or.mult).rotateX(p[0] * this.or.mult);\n }\n\n if (this.data.p && this.data.p.s) {\n var f = this.px.getValueAtTime(t),\n c = this.py.getValueAtTime(t);\n\n if (this.data.p.z) {\n var m = this.pz.getValueAtTime(t);\n e.translate(f * this.px.mult, c * this.py.mult, -m * this.pz.mult);\n } else e.translate(f * this.px.mult, c * this.py.mult, 0);\n } else {\n var d = this.p.getValueAtTime(t);\n e.translate(d[0] * this.p.mult, d[1] * this.p.mult, -d[2] * this.p.mult);\n }\n\n return e;\n }\n\n function a() {\n return this.v.clone(new Matrix());\n }\n\n var s = TransformPropertyFactory.getTransformProperty;\n\n TransformPropertyFactory.getTransformProperty = function (t, e, r) {\n var n = s(t, e, r);\n return n.dynamicProperties.length ? n.getValueAtTime = i.bind(n) : n.getValueAtTime = a.bind(n), n.setGroupProperty = expressionHelpers.setGroupProperty, n;\n };\n\n var n = PropertyFactory.getProp;\n\n PropertyFactory.getProp = function (i, a, s, o, h) {\n var l = n(i, a, s, o, h);\n l.kf ? l.getValueAtTime = expressionHelpers.getValueAtTime.bind(l) : l.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(l), l.setGroupProperty = expressionHelpers.setGroupProperty, l.loopOut = t, l.loopIn = e, l.smooth = r, l.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(l), l.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(l), l.numKeys = 1 === a.a ? a.k.length : 0, l.propertyIndex = a.ix;\n var p = 0;\n return 0 !== s && (p = createTypedArray(\"float32\", 1 === a.a ? a.k[0].s.length : a.k.length)), l._cachingAtTime = {\n lastFrame: initialDefaultFrame,\n lastIndex: 0,\n value: p\n }, expressionHelpers.searchExpressions(i, a, l), l.k && h.addDynamicProperty(l), l;\n };\n\n var o = ShapePropertyFactory.getConstructorFunction(),\n h = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n function l() {}\n\n l.prototype = {\n vertices: function vertices(t, e) {\n this.k && this.getValue();\n var r,\n i = this.v;\n void 0 !== e && (i = this.getValueAtTime(e, 0));\n var a = i._length,\n s = i[t],\n n = i.v,\n o = createSizedArray(a);\n\n for (r = 0; r < a; r += 1) {\n o[r] = \"i\" === t || \"o\" === t ? [s[r][0] - n[r][0], s[r][1] - n[r][1]] : [s[r][0], s[r][1]];\n }\n\n return o;\n },\n points: function points(t) {\n return this.vertices(\"v\", t);\n },\n inTangents: function inTangents(t) {\n return this.vertices(\"i\", t);\n },\n outTangents: function outTangents(t) {\n return this.vertices(\"o\", t);\n },\n isClosed: function isClosed() {\n return this.v.c;\n },\n pointOnPath: function pointOnPath(t, e) {\n var r = this.v;\n void 0 !== e && (r = this.getValueAtTime(e, 0)), this._segmentsLength || (this._segmentsLength = bez.getSegmentsLength(r));\n\n for (var i, a = this._segmentsLength, s = a.lengths, n = a.totalLength * t, o = 0, h = s.length, l = 0; o < h;) {\n if (l + s[o].addedLength > n) {\n var p = o,\n f = r.c && o === h - 1 ? 0 : o + 1,\n c = (n - l) / s[o].addedLength;\n i = bez.getPointInSegment(r.v[p], r.v[f], r.o[p], r.i[f], c, s[o]);\n break;\n }\n\n l += s[o].addedLength, o += 1;\n }\n\n return i || (i = r.c ? [r.v[0][0], r.v[0][1]] : [r.v[r._length - 1][0], r.v[r._length - 1][1]]), i;\n },\n vectorOnPath: function vectorOnPath(t, e, r) {\n 1 == t ? t = this.v.c : 0 == t && (t = .999);\n var i = this.pointOnPath(t, e),\n a = this.pointOnPath(t + .001, e),\n s = a[0] - i[0],\n n = a[1] - i[1],\n o = Math.sqrt(Math.pow(s, 2) + Math.pow(n, 2));\n return 0 === o ? [0, 0] : \"tangent\" === r ? [s / o, n / o] : [-n / o, s / o];\n },\n tangentOnPath: function tangentOnPath(t, e) {\n return this.vectorOnPath(t, e, \"tangent\");\n },\n normalOnPath: function normalOnPath(t, e) {\n return this.vectorOnPath(t, e, \"normal\");\n },\n setGroupProperty: expressionHelpers.setGroupProperty,\n getValueAtTime: expressionHelpers.getStaticValueAtTime\n }, extendPrototype([l], o), extendPrototype([l], h), h.prototype.getValueAtTime = function (t) {\n return this._cachingAtTime || (this._cachingAtTime = {\n shapeValue: shapePool.clone(this.pv),\n lastIndex: 0,\n lastTime: initialDefaultFrame\n }), t *= this.elem.globalData.frameRate, (t -= this.offsetTime) !== this._cachingAtTime.lastTime && (this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < t ? this._caching.lastIndex : 0, this._cachingAtTime.lastTime = t, this.interpolateShape(t, this._cachingAtTime.shapeValue, this._cachingAtTime)), this._cachingAtTime.shapeValue;\n }, h.prototype.initiateExpression = ExpressionManager.initiateExpression;\n var p = ShapePropertyFactory.getShapeProp;\n\n ShapePropertyFactory.getShapeProp = function (t, e, r, i, a) {\n var s = p(t, e, r, i, a);\n return s.propertyIndex = e.ix, s.lock = !1, 3 === r ? expressionHelpers.searchExpressions(t, e.pt, s) : 4 === r && expressionHelpers.searchExpressions(t, e.ks, s), s.k && t.addDynamicProperty(s), s;\n };\n }\n\n function initialize$1() {\n addPropertyDecorator();\n }\n\n function addDecorator() {\n TextProperty.prototype.getExpressionValue = function (t, e) {\n var r = this.calculateExpression(e);\n\n if (t.t !== r) {\n var i = {};\n return this.copyData(i, t), i.t = r.toString(), i.__complete = !1, i;\n }\n\n return t;\n }, TextProperty.prototype.searchProperty = function () {\n var t = this.searchKeyframes(),\n e = this.searchExpressions();\n return this.kf = t || e, this.kf;\n }, TextProperty.prototype.searchExpressions = function () {\n return this.data.d.x ? (this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this), this.addEffect(this.getExpressionValue.bind(this)), !0) : null;\n };\n }\n\n function initialize() {\n addDecorator();\n }\n\n return registerRenderer(\"canvas\", CanvasRenderer), registerRenderer(\"html\", HybridRenderer), registerRenderer(\"svg\", SVGRenderer), ShapeModifiers.registerModifier(\"tm\", TrimModifier), ShapeModifiers.registerModifier(\"pb\", PuckerAndBloatModifier), ShapeModifiers.registerModifier(\"rp\", RepeaterModifier), ShapeModifiers.registerModifier(\"rd\", RoundCornersModifier), setExpressionsPlugin(Expressions), initialize$1(), initialize(), registerEffect(20, SVGTintFilter, !0), registerEffect(21, SVGFillFilter, !0), registerEffect(22, SVGStrokeEffect, !1), registerEffect(23, SVGTritoneFilter, !0), registerEffect(24, SVGProLevelsFilter, !0), registerEffect(25, SVGDropShadowEffect, !0), registerEffect(28, SVGMatte3Effect, !1), registerEffect(29, SVGGaussianBlurEffect, !0), lottie;\n });\n}),\n PlayerState,\n PlayerEvent;\n\nfunction parseSrc(t) {\n if (\"object\" == typeof t) return t;\n\n try {\n return JSON.parse(t);\n } catch (t) {}\n\n try {\n return new URL(t).toString();\n } catch (t) {}\n\n return t;\n}\n\n!function (t) {\n t.Loading = \"loading\", t.Playing = \"playing\", t.Paused = \"paused\", t.Stopped = \"stopped\", t.Frozen = \"frozen\", t.Error = \"error\";\n}(PlayerState || (PlayerState = {})), function (t) {\n t.Load = \"load\", t.Error = \"error\", t.Ready = \"ready\", t.Play = \"play\", t.Pause = \"pause\", t.Stop = \"stop\", t.Freeze = \"freeze\", t.Loop = \"loop\", t.Complete = \"complete\", t.Frame = \"frame\";\n}(PlayerEvent || (PlayerEvent = {}));\n\nvar defaultOptions = {\n clearCanvas: !1,\n hideOnTransparent: !0,\n progressiveLoad: !0\n},\n Player = function (t) {\n function e(e) {\n var r = t.call(this, e) || this;\n return r.container = null, r.handleBgChange = function (t) {\n r.setState({\n background: t\n });\n }, r.triggerDownload = function (t, e) {\n var r = document.createElement(\"a\");\n r.href = t, r.download = e, document.body.appendChild(r), r.click(), document.body.removeChild(r);\n }, r.snapshot = function (t) {\n var e;\n void 0 === t && (t = !0);\n var i = r.props.id ? r.props.id : \"lottie\",\n a = document.getElementById(i);\n\n if (\"svg\" === r.props.renderer) {\n if (a) {\n var s = a.querySelector(\"svg\");\n\n if (s) {\n var n = new XMLSerializer().serializeToString(s);\n e = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(n);\n }\n }\n\n t && r.triggerDownload(e, \"snapshot.svg\");\n } else if (\"canvas\" === r.props.renderer) {\n if (a) {\n var o = a.querySelector(\"canvas\");\n o && (e = o.toDataURL(\"image/png\"));\n }\n\n t && r.triggerDownload(e, \"snapshot.png\");\n }\n\n return e;\n }, \"undefined\" != typeof window && (window.lottie = lottie), r.state = {\n animationData: null,\n background: \"transparent\",\n containerRef: React.createRef(),\n debug: !0,\n instance: null,\n playerState: PlayerState.Loading,\n seeker: 0\n }, r;\n }\n\n return __extends(e, t), e.getDerivedStateFromProps = function (t, e) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (r) {\n return t.background !== e.background ? [2, {\n background: t.background\n }] : [2, null];\n });\n });\n }, e.prototype.componentDidMount = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (t) {\n switch (t.label) {\n case 0:\n return [4, this.createLottie()];\n\n case 1:\n return t.sent(), [2];\n }\n });\n });\n }, e.prototype.componentWillUnmount = function () {\n this.state.instance && this.state.instance.destroy();\n }, e.prototype.componentDidUpdate = function (t) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (e) {\n switch (e.label) {\n case 0:\n return this.props.src === t.src ? [3, 2] : (this.state.instance && this.state.instance.destroy(), [4, this.createLottie()]);\n\n case 1:\n e.sent(), e.label = 2;\n\n case 2:\n return [2];\n }\n });\n });\n }, e.prototype.render = function () {\n var t = this,\n e = this.props,\n r = e.children,\n i = e.loop,\n a = e.style,\n s = e.onBackgroundChange,\n n = e.className,\n o = this.state,\n h = o.animationData,\n l = o.instance,\n p = o.playerState,\n f = o.seeker,\n c = o.debug,\n m = o.background;\n return React.createElement(\"div\", {\n className: \"lf-player-container\"\n }, this.state.playerState === PlayerState.Error ? React.createElement(\"div\", {\n className: \"lf-error\"\n }, React.createElement(\"span\", {\n \"aria-label\": \"error-symbol\",\n role: \"img\"\n }, \"⚠️\")) : React.createElement(\"div\", {\n id: this.props.id ? this.props.id : \"lottie\",\n ref: function ref(e) {\n return t.container = e;\n },\n style: _assign({\n background: m,\n margin: \"0 auto\",\n outline: \"none\",\n overflow: \"hidden\"\n }, a),\n className: n\n }), React.Children.map(r, function (e) {\n return React.isValidElement(e) ? React.cloneElement(e, {\n animationData: h,\n background: m,\n debug: c,\n instance: l,\n loop: i,\n pause: function pause() {\n return t.pause();\n },\n play: function play() {\n return t.play();\n },\n playerState: p,\n seeker: f,\n setBackground: function setBackground(e) {\n t.setState({\n background: e\n }), \"function\" == typeof s && s(e);\n },\n setSeeker: function setSeeker(e, r) {\n return t.setSeeker(e, r);\n },\n stop: function stop() {\n return t.stop();\n },\n toggleDebug: function toggleDebug() {\n return t.toggleDebug();\n },\n setLoop: function setLoop(e) {\n return t.setLoop(e);\n },\n colorChangedEvent: function colorChangedEvent(e) {\n t.handleBgChange(e);\n },\n snapshot: function snapshot() {\n t.snapshot();\n }\n }) : null;\n }));\n }, e.prototype.toggleDebug = function () {\n this.setState({\n debug: !this.state.debug\n });\n }, e.prototype.createLottie = function () {\n return __awaiter(this, void 0, void 0, function () {\n var t,\n e,\n r,\n i,\n a,\n s,\n n,\n o,\n h,\n l,\n p,\n f,\n c,\n m,\n d = this;\n return __generator(this, function (u) {\n switch (u.label) {\n case 0:\n if (t = this.props, e = t.autoplay, r = t.direction, i = t.loop, a = t.lottieRef, s = t.renderer, n = t.speed, o = t.src, h = t.background, l = t.rendererSettings, p = t.hover, f = this.state.instance, !o || !this.container) return [2];\n u.label = 1;\n\n case 1:\n return u.trys.push([1, 5,, 6]), \"string\" != typeof (c = parseSrc(o)) ? [3, 4] : [4, fetch(c)];\n\n case 2:\n return [4, u.sent().json()];\n\n case 3:\n c = u.sent(), u.label = 4;\n\n case 4:\n return f && f.destroy(), m = lottie.loadAnimation({\n rendererSettings: l || defaultOptions,\n animationData: c,\n autoplay: e || !1,\n container: this.container,\n loop: i || !1,\n renderer: s\n }), n && m.setSpeed(n), this.setState({\n animationData: c\n }), m.addEventListener(\"enterFrame\", function () {\n d.triggerEvent(PlayerEvent.Frame), d.setState({\n seeker: Math.floor(m.currentFrame)\n });\n }), m.addEventListener(\"DOMLoaded\", function () {\n d.triggerEvent(PlayerEvent.Load);\n }), m.addEventListener(\"data_ready\", function () {\n d.triggerEvent(PlayerEvent.Ready);\n }), m.addEventListener(\"data_failed\", function () {\n d.setState({\n playerState: PlayerState.Error\n });\n }), m.addEventListener(\"loopComplete\", function () {\n d.triggerEvent(PlayerEvent.Loop);\n }), m.addEventListener(\"complete\", function () {\n d.triggerEvent(PlayerEvent.Complete), d.setState({\n playerState: PlayerState.Paused\n }), d.props.keepLastFrame && !d.props.loop || d.setSeeker(0);\n }), this.container.addEventListener(\"mouseenter\", function () {\n p && d.state.playerState !== PlayerState.Playing && (d.props.keepLastFrame && d.stop(), d.play());\n }), this.container.addEventListener(\"mouseleave\", function () {\n p && d.state.playerState === PlayerState.Playing && d.stop();\n }), n && this.setPlayerSpeed(n), r && this.setPlayerDirection(r), h && this.setState({\n background: h\n }), this.setState({\n instance: m\n }, function () {\n \"function\" == typeof a && a(m), e && d.play();\n }), [3, 6];\n\n case 5:\n return u.sent(), this.setState({\n playerState: PlayerState.Error\n }), [3, 6];\n\n case 6:\n return [2];\n }\n });\n });\n }, e.prototype.play = function () {\n var t = this.state.instance;\n t && (this.triggerEvent(PlayerEvent.Play), t.play(), this.setState({\n playerState: PlayerState.Playing\n }));\n }, e.prototype.pause = function () {\n var t = this.state.instance;\n t && (this.triggerEvent(PlayerEvent.Pause), t.pause(), this.setState({\n playerState: PlayerState.Paused\n }));\n }, e.prototype.stop = function () {\n var t = this.state.instance;\n t && (this.triggerEvent(PlayerEvent.Stop), t.stop(), this.setState({\n playerState: PlayerState.Stopped\n }));\n }, e.prototype.setPlayerSpeed = function (t) {\n var e = this.state.instance;\n e && e.setSpeed(t);\n }, e.prototype.setPlayerDirection = function (t) {\n var e = this.state.instance;\n e && e.setDirection(t);\n }, e.prototype.setSeeker = function (t, e) {\n void 0 === e && (e = !1);\n var r = this.state,\n i = r.instance,\n a = r.playerState;\n i && (e && a === PlayerState.Playing ? i.goToAndPlay(t, !0) : (i.goToAndStop(t, !0), this.triggerEvent(PlayerEvent.Pause), this.setState({\n playerState: PlayerState.Paused\n })));\n }, e.prototype.setLoop = function (t) {\n var e = this.state.instance;\n e && (e.loop = t, this.setState({\n instance: e\n }));\n }, e.prototype.triggerEvent = function (t) {\n var e = this.props.onEvent;\n e && e(t);\n }, e.defaultProps = {\n loop: !1\n }, e;\n}(React.Component);\n\nfunction styleInject(t, e) {\n void 0 === e && (e = {});\n var r = e.insertAt;\n\n if (t && \"undefined\" != typeof document) {\n var i = document.head || document.getElementsByTagName(\"head\")[0],\n a = document.createElement(\"style\");\n a.type = \"text/css\", \"top\" === r && i.firstChild ? i.insertBefore(a, i.firstChild) : i.appendChild(a), a.styleSheet ? a.styleSheet.cssText = t : a.appendChild(document.createTextNode(t));\n }\n}\n\nvar css_248z = \".lf-progress {\\n -webkit-appearance: none;\\n -moz-apperance: none;\\n width: 100%;\\n /* margin: 0 10px; */\\n height: 4px;\\n border-radius: 3px;\\n cursor: pointer;\\n}\\n.lf-progress:focus {\\n outline: none;\\n border: none;\\n}\\n.lf-progress::-moz-range-track {\\n cursor: pointer;\\n background: none;\\n border: none;\\n outline: none;\\n}\\n.lf-progress::-webkit-slider-thumb {\\n -webkit-appearance: none !important;\\n height: 13px;\\n width: 13px;\\n border: 0;\\n border-radius: 50%;\\n background: #0fccce;\\n cursor: pointer;\\n}\\n.lf-progress::-moz-range-thumb {\\n -moz-appearance: none !important;\\n height: 13px;\\n width: 13px;\\n border: 0;\\n border-radius: 50%;\\n background: #0fccce;\\n cursor: pointer;\\n}\\n.lf-progress::-ms-track {\\n width: 100%;\\n height: 3px;\\n cursor: pointer;\\n background: transparent;\\n border-color: transparent;\\n color: transparent;\\n}\\n.lf-progress::-ms-fill-lower {\\n background: #ccc;\\n border-radius: 3px;\\n}\\n.lf-progress::-ms-fill-upper {\\n background: #ccc;\\n border-radius: 3px;\\n}\\n.lf-progress::-ms-thumb {\\n border: 0;\\n height: 15px;\\n width: 15px;\\n border-radius: 50%;\\n background: #0fccce;\\n cursor: pointer;\\n}\\n.lf-progress:focus::-ms-fill-lower {\\n background: #ccc;\\n}\\n.lf-progress:focus::-ms-fill-upper {\\n background: #ccc;\\n}\\n.lf-player-container :focus {\\n outline: 0;\\n}\\n.lf-popover {\\n position: relative;\\n}\\n\\n.lf-popover-content {\\n display: inline-block;\\n position: absolute;\\n opacity: 1;\\n visibility: visible;\\n transform: translate(0, -10px);\\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);\\n transition: all 0.3s cubic-bezier(0.75, -0.02, 0.2, 0.97);\\n}\\n\\n.lf-popover-content.hidden {\\n opacity: 0;\\n visibility: hidden;\\n transform: translate(0, 0px);\\n}\\n\\n.lf-player-btn-container {\\n display: flex;\\n align-items: center;\\n}\\n.lf-player-btn {\\n cursor: pointer;\\n fill: #999;\\n width: 14px;\\n}\\n\\n.lf-player-btn.active {\\n fill: #555;\\n}\\n\\n.lf-popover {\\n position: relative;\\n}\\n\\n.lf-popover-content {\\n display: inline-block;\\n position: absolute;\\n background-color: #ffffff;\\n opacity: 1;\\n\\n transform: translate(0, -10px);\\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);\\n transition: all 0.3s cubic-bezier(0.75, -0.02, 0.2, 0.97);\\n padding: 10px;\\n}\\n\\n.lf-popover-content.hidden {\\n opacity: 0;\\n visibility: hidden;\\n transform: translate(0, 0px);\\n}\\n\\n.lf-arrow {\\n position: absolute;\\n z-index: -1;\\n content: '';\\n bottom: -9px;\\n border-style: solid;\\n border-width: 10px 10px 0px 10px;\\n}\\n\\n.lf-left-align,\\n.lf-left-align .lfarrow {\\n left: 0;\\n right: unset;\\n}\\n\\n.lf-right-align,\\n.lf-right-align .lf-arrow {\\n right: 0;\\n left: unset;\\n}\\n\\n.lf-text-input {\\n border: 1px #ccc solid;\\n border-radius: 5px;\\n padding: 3px;\\n width: 60px;\\n margin: 0;\\n}\\n\\n.lf-color-picker {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n height: 90px;\\n}\\n\\n.lf-color-selectors {\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n}\\n\\n.lf-color-component {\\n display: flex;\\n flex-direction: row;\\n font-size: 12px;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.lf-color-component strong {\\n width: 40px;\\n}\\n\\n.lf-color-component input[type='range'] {\\n margin: 0 0 0 10px;\\n}\\n\\n.lf-color-component input[type='number'] {\\n width: 50px;\\n margin: 0 0 0 10px;\\n}\\n\\n.lf-color-preview {\\n font-size: 12px;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: space-between;\\n padding-left: 5px;\\n}\\n\\n.lf-preview {\\n height: 60px;\\n width: 60px;\\n}\\n\\n.lf-popover-snapshot {\\n width: 150px;\\n}\\n.lf-popover-snapshot h5 {\\n margin: 5px 0 10px 0;\\n font-size: 0.75rem;\\n}\\n.lf-popover-snapshot a {\\n display: block;\\n text-decoration: none;\\n}\\n.lf-popover-snapshot a:before {\\n content: '⥼';\\n margin-right: 5px;\\n}\\n.lf-popover-snapshot .lf-note {\\n display: block;\\n margin-top: 10px;\\n color: #999;\\n}\\n.lf-player-controls > div {\\n margin-right: 5px;\\n margin-left: 5px;\\n}\\n.lf-player-controls > div:first-child {\\n margin-left: 0px;\\n}\\n.lf-player-controls > div:last-child {\\n margin-right: 0px;\\n}\\n\",\n stylesheet = \".lf-progress {\\n -webkit-appearance: none;\\n -moz-apperance: none;\\n width: 100%;\\n /* margin: 0 10px; */\\n height: 4px;\\n border-radius: 3px;\\n cursor: pointer;\\n}\\n.lf-progress:focus {\\n outline: none;\\n border: none;\\n}\\n.lf-progress::-moz-range-track {\\n cursor: pointer;\\n background: none;\\n border: none;\\n outline: none;\\n}\\n.lf-progress::-webkit-slider-thumb {\\n -webkit-appearance: none !important;\\n height: 13px;\\n width: 13px;\\n border: 0;\\n border-radius: 50%;\\n background: #0fccce;\\n cursor: pointer;\\n}\\n.lf-progress::-moz-range-thumb {\\n -moz-appearance: none !important;\\n height: 13px;\\n width: 13px;\\n border: 0;\\n border-radius: 50%;\\n background: #0fccce;\\n cursor: pointer;\\n}\\n.lf-progress::-ms-track {\\n width: 100%;\\n height: 3px;\\n cursor: pointer;\\n background: transparent;\\n border-color: transparent;\\n color: transparent;\\n}\\n.lf-progress::-ms-fill-lower {\\n background: #ccc;\\n border-radius: 3px;\\n}\\n.lf-progress::-ms-fill-upper {\\n background: #ccc;\\n border-radius: 3px;\\n}\\n.lf-progress::-ms-thumb {\\n border: 0;\\n height: 15px;\\n width: 15px;\\n border-radius: 50%;\\n background: #0fccce;\\n cursor: pointer;\\n}\\n.lf-progress:focus::-ms-fill-lower {\\n background: #ccc;\\n}\\n.lf-progress:focus::-ms-fill-upper {\\n background: #ccc;\\n}\\n.lf-player-container :focus {\\n outline: 0;\\n}\\n.lf-popover {\\n position: relative;\\n}\\n\\n.lf-popover-content {\\n display: inline-block;\\n position: absolute;\\n opacity: 1;\\n visibility: visible;\\n transform: translate(0, -10px);\\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);\\n transition: all 0.3s cubic-bezier(0.75, -0.02, 0.2, 0.97);\\n}\\n\\n.lf-popover-content.hidden {\\n opacity: 0;\\n visibility: hidden;\\n transform: translate(0, 0px);\\n}\\n\\n.lf-player-btn-container {\\n display: flex;\\n align-items: center;\\n}\\n.lf-player-btn {\\n cursor: pointer;\\n fill: #999;\\n width: 14px;\\n}\\n\\n.lf-player-btn.active {\\n fill: #555;\\n}\\n\\n.lf-popover {\\n position: relative;\\n}\\n\\n.lf-popover-content {\\n display: inline-block;\\n position: absolute;\\n background-color: #ffffff;\\n opacity: 1;\\n\\n transform: translate(0, -10px);\\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);\\n transition: all 0.3s cubic-bezier(0.75, -0.02, 0.2, 0.97);\\n padding: 10px;\\n}\\n\\n.lf-popover-content.hidden {\\n opacity: 0;\\n visibility: hidden;\\n transform: translate(0, 0px);\\n}\\n\\n.lf-arrow {\\n position: absolute;\\n z-index: -1;\\n content: '';\\n bottom: -9px;\\n border-style: solid;\\n border-width: 10px 10px 0px 10px;\\n}\\n\\n.lf-left-align,\\n.lf-left-align .lfarrow {\\n left: 0;\\n right: unset;\\n}\\n\\n.lf-right-align,\\n.lf-right-align .lf-arrow {\\n right: 0;\\n left: unset;\\n}\\n\\n.lf-text-input {\\n border: 1px #ccc solid;\\n border-radius: 5px;\\n padding: 3px;\\n width: 60px;\\n margin: 0;\\n}\\n\\n.lf-color-picker {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n height: 90px;\\n}\\n\\n.lf-color-selectors {\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n}\\n\\n.lf-color-component {\\n display: flex;\\n flex-direction: row;\\n font-size: 12px;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.lf-color-component strong {\\n width: 40px;\\n}\\n\\n.lf-color-component input[type='range'] {\\n margin: 0 0 0 10px;\\n}\\n\\n.lf-color-component input[type='number'] {\\n width: 50px;\\n margin: 0 0 0 10px;\\n}\\n\\n.lf-color-preview {\\n font-size: 12px;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: space-between;\\n padding-left: 5px;\\n}\\n\\n.lf-preview {\\n height: 60px;\\n width: 60px;\\n}\\n\\n.lf-popover-snapshot {\\n width: 150px;\\n}\\n.lf-popover-snapshot h5 {\\n margin: 5px 0 10px 0;\\n font-size: 0.75rem;\\n}\\n.lf-popover-snapshot a {\\n display: block;\\n text-decoration: none;\\n}\\n.lf-popover-snapshot a:before {\\n content: '⥼';\\n margin-right: 5px;\\n}\\n.lf-popover-snapshot .lf-note {\\n display: block;\\n margin-top: 10px;\\n color: #999;\\n}\\n.lf-player-controls > div {\\n margin-right: 5px;\\n margin-left: 5px;\\n}\\n.lf-player-controls > div:first-child {\\n margin-left: 0px;\\n}\\n.lf-player-controls > div:last-child {\\n margin-right: 0px;\\n}\\n\";\nstyleInject(css_248z);\n\nvar ColorPicker = function (t) {\n function e() {\n var e = null !== t && t.apply(this, arguments) || this;\n return e.state = {\n red: 0,\n green: 0,\n blue: 0,\n rgba: null,\n hex: \"#000000\",\n colorComponents: []\n }, e.handleChange = function (t, r) {\n if (\"r\" === t) {\n var i = \"#\" + (256 | r).toString(16).slice(1) + (256 | e.state.green).toString(16).slice(1) + (256 | e.state.blue).toString(16).slice(1);\n e.setState({\n hex: i\n });\n } else if (\"g\" === t) {\n i = \"#\" + (256 | e.state.red).toString(16).slice(1) + (256 | r).toString(16).slice(1) + (256 | e.state.blue).toString(16).slice(1);\n e.setState({\n hex: i\n });\n } else if (\"b\" === t) {\n i = \"#\" + (256 | e.state.red).toString(16).slice(1) + (256 | e.state.green).toString(16).slice(1) + (256 | r).toString(16).slice(1);\n e.setState({\n hex: i\n });\n }\n }, e.parseColor = function (t) {\n var r;\n\n if (\"string\" == typeof t) {\n if (\"#\" === t[0]) {\n var i = 4 === t.length ? [t.slice(1, 2), t.slice(2, 3), t.slice(3, 4)].map(function (t) {\n return parseInt(\"\" + t + t, 16);\n }) : [t.slice(1, 3), t.slice(3, 5), t.slice(5, 7)].map(function (t) {\n return parseInt(t, 16);\n });\n e.setState({\n colorComponents: i\n });\n } else if (t.startsWith(\"rgb\")) {\n void 0 !== (i = null === (r = t.match(/\\d+/g)) || void 0 === r ? void 0 : r.map(function (t) {\n return parseInt(t);\n })) && e.setState({\n colorComponents: i\n });\n }\n\n e.state.colorComponents.length && (e.setState({\n red: e.state.colorComponents[0]\n }), e.setState({\n green: e.state.colorComponents[1]\n }), e.setState({\n blue: e.state.colorComponents[2]\n }));\n }\n }, e;\n }\n\n return __extends(e, t), e.prototype.componentDidUpdate = function (t, e) {\n return this.props.colorChangedEvent && this.state.hex !== e.hex && this.props.colorChangedEvent(this.state.hex), !0;\n }, e.prototype.render = function () {\n var t = this;\n return React.createElement(\"div\", {\n className: \"lf-color-picker\"\n }, React.createElement(\"div\", {\n className: \"lf-color-selectors\"\n }, React.createElement(\"div\", {\n className: \"lf-color-component\"\n }, React.createElement(\"strong\", null, \"Red\"), React.createElement(\"input\", {\n type: \"range\",\n min: \"0\",\n max: \"255\",\n value: this.state.red,\n onChange: function onChange(e) {\n t.setState({\n red: e.target.value\n }), t.handleChange(\"r\", e.target.value);\n }\n }), React.createElement(\"input\", {\n className: \"lf-text-input\",\n type: \"number\",\n min: \"0\",\n max: \"255\",\n value: this.state.red,\n onChange: function onChange(e) {\n t.setState({\n red: e.target.value\n }), t.handleChange(\"r\", e.target.value);\n }\n })), React.createElement(\"div\", {\n className: \"lf-color-component\"\n }, React.createElement(\"strong\", null, \"Green\"), React.createElement(\"input\", {\n type: \"range\",\n min: \"0\",\n max: \"255\",\n value: this.state.green,\n onChange: function onChange(e) {\n t.setState({\n green: e.target.value\n }), t.handleChange(\"g\", e.target.value);\n }\n }), React.createElement(\"input\", {\n className: \"lf-text-input\",\n type: \"number\",\n min: \"0\",\n max: \"255\",\n value: this.state.green,\n onChange: function onChange(e) {\n t.setState({\n green: e.target.value\n }), t.handleChange(\"g\", e.target.value);\n }\n })), React.createElement(\"div\", {\n className: \"lf-color-component\"\n }, React.createElement(\"strong\", null, \"Blue\"), React.createElement(\"input\", {\n type: \"range\",\n min: \"0\",\n max: \"255\",\n value: this.state.blue,\n onChange: function onChange(e) {\n t.setState({\n blue: e.target.value\n }), t.handleChange(\"b\", e.target.value);\n }\n }), React.createElement(\"input\", {\n className: \"lf-text-input\",\n type: \"number\",\n min: \"0\",\n max: \"255\",\n value: this.state.blue,\n onChange: function onChange(e) {\n t.setState({\n blue: e.target.value\n }), t.handleChange(\"b\", e.target.value);\n }\n }))), React.createElement(\"div\", {\n className: \"lf-color-preview\"\n }, React.createElement(\"div\", {\n className: \"lf-preview\",\n style: {\n background: \"rgb(\" + this.state.red + \", \" + this.state.green + \", \" + this.state.blue + \")\"\n }\n }), React.createElement(\"div\", null, React.createElement(\"input\", {\n className: \"lf-text-input\",\n type: \"text\",\n value: this.state.hex,\n onChange: function onChange(e) {\n t.setState({\n hex: e.target.value\n }), t.parseColor(e.target.value);\n }\n }))));\n }, e;\n}(React.Component),\n Popover = function Popover(t) {\n var e = t.children,\n r = t.icon,\n i = useState(null),\n a = i[0],\n s = i[1],\n n = useState(null),\n o = n[0],\n h = n[1],\n l = useState(null),\n p = l[0],\n f = l[1],\n c = useState(!1),\n m = c[0],\n d = c[1];\n useEffect(function () {\n if (a && o) {\n var t = a.getBoundingClientRect(),\n e = o.getBoundingClientRect(),\n r = t.left + e.width > window.innerWidth ? -1 : 0;\n f(r);\n }\n }, [p, o, a]);\n return React.createElement(\"div\", {\n className: \"lf-popover\",\n onMouseOver: function onMouseOver() {\n d(!0);\n },\n onMouseLeave: function onMouseLeave() {\n d(!1);\n },\n ref: function ref(t) {\n s(t);\n }\n }, React.createElement(\"div\", {\n className: \" lf-player-btn\"\n }, r), React.createElement(\"div\", {\n className: \"lf-popover-content\",\n ref: function ref(t) {\n h(t);\n },\n style: {\n bottom: \"22px\",\n right: \"0px\",\n zIndex: 2,\n visibility: m ? \"visible\" : \"hidden\"\n }\n }, e));\n},\n Seeker = function (t) {\n function e(e) {\n var r = t.call(this, e) || this;\n return r.inputRef = React.createRef(), r.handleChange = function () {\n return function (t) {\n var e = t.target.value,\n i = Math.floor(e / 100 * r.props.max);\n r.props.onChange(i);\n };\n }, r.state = {\n value: 0\n }, r;\n }\n\n return __extends(e, t), e.prototype.render = function () {\n var t = this.props.value / this.props.max * 100,\n e = {\n backgroundImage: \"-webkit-gradient(linear, left top, right top, color-stop(\" + t + \"%, rgba(15, 204, 206, 0.4)), color-stop(\" + t + \"%, #DAE1E7))\"\n },\n r = {\n position: \"absolute\",\n left: 0,\n marginTop: \"8px\",\n width: \"20px\",\n display: \"block\",\n border: \"0px\",\n backgroundColor: this.props.darkTheme ? \"#505050\" : \"rgb(218, 225, 231)\",\n color: this.props.darkTheme ? \"#B9B9B9\" : \"#555\",\n padding: \"2px\",\n textAlign: \"center\",\n borderRadius: \"3px\",\n fontSize: \"8px\",\n fontWeight: \"bold\"\n },\n i = {\n position: \"absolute\",\n right: 0,\n marginTop: \"8px\",\n width: \"20px\",\n display: \"block\",\n border: \"0px\",\n backgroundColor: this.props.darkTheme ? \"#505050\" : \"rgb(218, 225, 231)\",\n color: this.props.darkTheme ? \"#B9B9B9\" : \"#555\",\n padding: \"2px\",\n textAlign: \"center\",\n borderRadius: \"3px\",\n fontSize: \"8px\",\n fontWeight: \"bold\"\n };\n return React.createElement(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n width: \"100%\",\n marginRight: \"5px\",\n marginLeft: \"5px\",\n position: \"relative\"\n }\n }, React.createElement(\"input\", {\n ref: this.inputRef,\n id: \"track\",\n className: \"lf-progress\",\n name: \"progress\",\n type: \"range\",\n min: \"0\",\n max: \"100\",\n step: \"0.1\",\n value: t,\n onInput: this.handleChange(),\n onChange: this.handleChange(),\n style: e\n }), this.props.showLabels && React.createElement(\"div\", {\n style: {\n display: \"flex\",\n justifyContent: \"space-between\"\n }\n }, React.createElement(\"div\", {\n style: r\n }, this.props.min), React.createElement(\"div\", {\n style: i\n }, this.props.max)));\n }, e;\n}(React.Component),\n ControlButtonStyle = {\n display: \"inline-flex\",\n cursor: \"pointer\"\n},\n Controls = function (t) {\n function e(e) {\n var r = t.call(this, e) || this;\n return r.state = {\n activeFrame: 0,\n mouseDown: !1\n }, r;\n }\n\n return __extends(e, t), e.prototype.render = function () {\n var t = this,\n e = this.props,\n r = e.instance,\n i = e.playerState,\n a = e.seeker,\n s = e.setLoop,\n n = e.setSeeker,\n o = e.play,\n h = e.pause,\n l = e.stop,\n p = e.visible,\n f = e.buttons;\n if (!r) return null;\n if (!p) return null;\n var c = !f || f.includes(\"play\"),\n m = !f || f.includes(\"stop\"),\n d = !f || f.includes(\"repeat\"),\n u = !f || f.includes(\"frame\"),\n y = !f || f.includes(\"background\"),\n g = !f || f.includes(\"snapshot\"),\n v = {\n width: 14,\n height: 14,\n viewBox: \"0 0 24 24\"\n },\n b = Math.round(r.currentFrame);\n return React.createElement(\"div\", {\n className: \"lf-player-controls\",\n style: {\n display: \"flex\",\n justifyContent: \"space-between\",\n height: \"60px\",\n alignItems: \"center\",\n backgroundColor: this.props.transparentTheme ? \"transparent\" : this.props.darkTheme ? \"#3C3C3C\" : \"#ffffff\",\n paddingLeft: \"10px\",\n paddingRight: \"10px\"\n }\n }, c && React.createElement(\"div\", {\n role: \"button\",\n tabIndex: 0,\n onClick: function onClick() {\n i === PlayerState.Playing ? \"function\" == typeof h && h() : \"function\" == typeof o && o();\n },\n onKeyDown: function onKeyDown() {\n i === PlayerState.Playing ? \"function\" == typeof h && h() : \"function\" == typeof o && o();\n },\n className: \"lf-player-btn\",\n style: ControlButtonStyle\n }, i === PlayerState.Playing ? React.createElement(\"svg\", _assign({}, v), React.createElement(\"rect\", {\n height: \"22.9\",\n rx: \"1.9\",\n width: \"7.6\",\n x: \"14\",\n y: \".5\"\n }), React.createElement(\"rect\", {\n height: \"22.9\",\n rx: \"1.9\",\n width: \"7.6\",\n x: \"2\",\n y: \".5\"\n })) : React.createElement(\"svg\", _assign({}, v), React.createElement(\"path\", {\n d: \"M2 3.4C2 1.9 3.5 1 4.8 1.8l16.5 9.6c1.2.7 1.2 2.5 0 3.2L4.8 24.2C3.5 25 2 24.1 2 22.6V3.4z\"\n }))), m && React.createElement(\"div\", {\n tabIndex: 0,\n role: \"button\",\n onClick: function onClick() {\n return l && l();\n },\n onKeyDown: function onKeyDown() {\n return l && l();\n },\n className: i === PlayerState.Stopped ? \"lf-player-btn active\" : \"lf-player-btn\",\n style: ControlButtonStyle\n }, React.createElement(\"svg\", _assign({}, v), React.createElement(\"path\", {\n d: \"M2 3.667A1.67 1.67 0 0 1 3.667 2h16.666A1.67 1.67 0 0 1 22 3.667v16.666A1.67 1.67 0 0 1 20.333\\n 22H3.667A1.67 1.67 0 0 1 2 20.333z\"\n }))), React.createElement(Seeker, {\n min: 0,\n step: 1,\n max: r ? r.totalFrames : 1,\n value: a || 0,\n onChange: function onChange(e) {\n n && t.setState({\n activeFrame: e\n }, function () {\n n(e, !1);\n });\n },\n onChangeEnd: function onChangeEnd(e) {\n n && t.setState({\n activeFrame: e\n }, function () {\n n(e, !1);\n });\n },\n showLabels: this.props.showLabels,\n darkTheme: this.props.darkTheme\n }), u && React.createElement(\"div\", {\n role: \"button\",\n className: \"lf-player-btn-container\"\n }, React.createElement(\"input\", {\n style: {\n outline: \"none\",\n border: this.props.darkTheme ? \"1px #505050 solid\" : \"1px #ccc solid\",\n borderRadius: \"3px\",\n width: \"40px\",\n textAlign: \"center\",\n backgroundColor: this.props.darkTheme ? \"#505050\" : \"#ffffff\",\n color: this.props.darkTheme ? \"#B9B9B9\" : \"#999\",\n fontSize: \"0.7rem\",\n padding: \"0\",\n fontFamily: \"inherit\"\n },\n type: \"text\",\n value: b,\n readOnly: !0\n })), d && React.createElement(\"div\", {\n role: \"button\",\n tabIndex: 0,\n onClick: function onClick() {\n r && s && s(!r.loop);\n },\n onKeyDown: function onKeyDown() {\n r && s && s(!r.loop);\n },\n className: r.loop ? \"lf-player-btn active\" : \"lf-player-btn\",\n style: ControlButtonStyle\n }, React.createElement(\"svg\", _assign({}, v), React.createElement(\"path\", {\n d: \"M12.5 16.8137h-.13v1.8939h4.9696c3.6455 0 6.6113-2.9658 6.6113-6.6116\\n 0-3.64549-2.9658-6.61131-6.6113-6.61131-.5231 0-.947.42391-.947.94696 0 .52304.4239.94696.947.94696 2.6011 0\\n 4.7174 2.11634 4.7174 4.71739 0 2.6014-2.1166 4.7177-4.7174 4.7177H12.5zM13.6025\\n 5.61469v-.13H7.48137C3.83582 5.48469.87 8.45051.87 12.096c0 3.6509 3.17269 6.6117 6.81304 6.6117.52304 0\\n .94696-.424.94696-.947 0-.5231-.42392-.947-.94696-.947-2.60804 0-4.91907-2.1231-4.91907-4.7176 0-2.60115\\n 2.11634-4.71744 4.7174-4.71744h6.12113V5.61469z\",\n stroke: \"#8795A1\",\n strokeWidth: \".26\"\n }), React.createElement(\"path\", {\n d: \"M11.1482\\n 2.20355h0l-.001-.00116c-.3412-.40061-.9405-.44558-1.33668-.0996h-.00001c-.39526.34519-.43936.94795-.09898\\n 1.34767l2.51487 3.03683-2.51894 3.06468c-.33872.40088-.29282 1.00363.10347\\n 1.34723l.08517-.0982-.08517.0982c.17853.1549.39807.2308.61647.2308.2671 0 .5328-.114.72-.3347h0l.0011-.0014\\n 3.0435-3.68655.0006-.00068c.3035-.35872.3025-.88754-.0019-1.24526l-3.0425-3.65786zM13.9453\\n 21.7965h0l.001.0011c.3413.4006.9407.4456 1.337.0996h0c.3953-.3452.4395-.9479.099-1.3477l-2.5154-3.0368\\n 2.5195-3.0647c.3388-.4008.2929-1.0036-.1035-1.3472l-.0852.0982.0852-.0982c-.1786-.1549-.3981-.2308-.6166-.2308-.2671\\n 0-.5329.114-.7202.3347h0l-.0011.0014-3.0442\\n 3.6865c-.0001.0003-.0003.0005-.0005.0007-.3036.3587-.3027.8876.0019 1.2453l3.0431 3.6579z\",\n fill: \"#8795A1\",\n stroke: \"#8795A1\",\n strokeWidth: \".26\"\n }))), y && React.createElement(Popover, {\n icon: React.createElement(\"svg\", _assign({}, v), React.createElement(\"path\", {\n d: \"M12 3.1L6.1 8.6a7.6 7.6 0 00-2.2 4 7.2 7.2 0 00.4 4.4 7.9 7.9 0 003 3.5 8.7 8.7 0 004.7 1.3c1.6 0\\n 3.2-.5 4.6-1.3s2.4-2 3-3.5a7.2 7.2 0 00.5-4.5 7.6 7.6 0 00-2.2-4L12 3.2zM12 0l7.5 7a9.8 9.8 0 013 5.1\\n 9.3 9.3 0 01-.6 5.8c-.9 1.8-2.2 3.3-4 4.4A11.2 11.2 0 0112 24a11.2 11.2 0\\n 01-6-1.7c-1.7-1-3-2.6-3.9-4.4a9.3 9.3 0 01-.6-5.8c.4-2 1.5-3.7 3-5L12 0zM6 14h12c0 1.5-.7 3-1.8 4s-2.6\\n 1.6-4.2 1.6S9 19 7.8 18s-1.7-2.5-1.7-4z\"\n }))\n }, React.createElement(\"div\", {\n slot: \"content\",\n className: \"lf-popover popover-background\"\n }, React.createElement(ColorPicker, {\n colorChangedEvent: this.props.colorChangedEvent\n }))), g && React.createElement(Popover, {\n icon: React.createElement(\"svg\", _assign({}, v), React.createElement(\"path\", {\n clipRule: \"evenodd\",\n d: \"M0 3.01A2.983 2.983 0 012.983.027H16.99a2.983 2.983 0 012.983 2.983v14.008a2.982 2.982 0 01-2.983\\n 2.983H2.983A2.983 2.983 0 010 17.018zm2.983-.941a.941.941 0 00-.942.94v14.01c0\\n .52.422.94.942.94H16.99a.94.94 0 00.941-.94V3.008a.941.941 0 00-.94-.94H2.981z\",\n fillRule: \"evenodd\"\n }), React.createElement(\"path\", {\n d: \"M12.229 7.945l-2.07 4.598-2.586-2.605-2.414 2.758v2.146h9.656V11.93z\"\n }), React.createElement(\"circle\", {\n cx: \"7.444\",\n cy: \"6.513\",\n r: \"2.032\"\n }), React.createElement(\"path\", {\n d: \"M9.561 23.916h11.25a2.929 2.929 0 002.926-2.927V9.954a1.06 1.06 0 10-2.122 0v11.035a.805.805 0\\n 01-.803.804H9.562a1.061 1.061 0 100 2.123z\",\n stroke: \"#8795a1\",\n strokeWidth: \".215\"\n }))\n }, React.createElement(\"div\", {\n slot: \"content\",\n className: \"lf-popover lf-popover-snapshot\",\n onWheel: function onWheel(t) {\n n && n(b + (t.deltaY > 0 ? -1 : 1), !1);\n }\n }, React.createElement(\"h5\", null, \"Frame \", b), React.createElement(\"div\", {\n style: {\n cursor: \"pointer\",\n color: \"#0FCCCE\"\n },\n onClick: this.props.snapshot\n }, \"Download SVG\"), React.createElement(\"div\", {\n style: {\n cursor: \"pointer\",\n color: \"#0FCCCE\"\n },\n onClick: this.props.snapshot\n }, \"Download PNG\"), React.createElement(\"i\", {\n className: \"lf-note\"\n }, \"Scroll with mousewheel to find exact frame\"))));\n }, e;\n}(React.Component);\n\nexport { Controls, Player, PlayerEvent, PlayerState, Seeker, parseSrc };"],"names":["_extendStatics","t","e","Object","setPrototypeOf","__proto__","Array","r","prototype","hasOwnProperty","call","__extends","TypeError","String","this","constructor","create","_assign","assign","i","arguments","length","a","apply","__rest","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","s","n","getOwnPropertyDescriptor","Reflect","decorate","o","defineProperty","__param","__metadata","metadata","__awaiter","Promise","h","next","throw","done","value","then","__generator","label","sent","trys","ops","return","Symbol","iterator","pop","push","__createBinding","enumerable","get","__exportStar","__values","__read","error","__spread","concat","__spreadArrays","__spreadArray","slice","__await","v","__asyncGenerator","asyncIterator","resolve","l","p","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","raw","__setModuleDefault","default","__importStar","__esModule","__importDefault","__classPrivateFieldGet","has","__classPrivateFieldSet","set","commonjsGlobal","globalThis","window","g","self","unwrapExports","createCommonjsModule","exports","getCjsExportFromNamespace","commonjsRequire","Error","lottie","module","navigator","svgNS","locationHref","_useWebWorker","initialDefaultFrame","setWebWorker","getWebWorker","setLocationHref","getLocationHref","createTag","document","createElement","extendPrototype","getDescriptor","createProxyFunction","audioControllerFactory","audios","audioFactory","_volume","_isMuted","addAudio","pause","resume","setRate","createAudio","Howl","src","isPlaying","play","seek","playing","rate","setVolume","setAudioFactory","_updateVolume","mute","unmute","getVolume","volume","createTypedArray","Uint8ClampedArray","Float32Array","Int16Array","createSizedArray","_typeof$6","subframeEnabled","expressionsPlugin","idPrefix","isSafari","test","userAgent","_shouldRoundValues","bmPow","Math","pow","bmSqrt","sqrt","bmFloor","floor","bmMax","max","bmMin","min","BMMath","ProjectInterface$1","random","abs","defaultCurveSegments","degToRads","PI","roundCorner","roundValues","bmRnd","round","styleDiv","style","position","top","left","display","transformOrigin","webkitTransformOrigin","backfaceVisibility","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","type","currentTime","totalTime","direction","BMCompleteEvent","BMCompleteLoopEvent","currentLoop","totalLoops","BMSegmentStartEvent","firstFrame","totalFrames","BMDestroyEvent","target","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","BMAnimationConfigErrorEvent","createElementID","_count","HSVtoRGB","RGBtoHSV","addSaturationToRGB","addBrightnessToRGB","addHueToRGB","rgbToHex","toString","setSubframeEnabled","getSubframeEnabled","setExpressionsPlugin","getExpressionsPlugin","setDefaultCurveSegments","getDefaultCurveSegments","setIdPrefix","getIdPrefix","createNS","createElementNS","_typeof$5","dataManager","onmessage","postMessage","data","Worker","Blob","URL","createObjectURL","c","m","completed","tt","td","hasMask","d","masksProperties","pt","k","ty","layers","refId","shapes","f","id","__used","JSON","parse","stringify","ks","it","split","assets","chars","ip","op","st","sr","sk","sa","closed","cl","completeData","__complete","checkColors","checkChars","checkPathProperties","checkShapes","completeLayers","assetLoader","getResponseHeader","responseType","response","responseText","load","XMLHttpRequest","onreadystatechange","readyState","status","open","send","path","fullPath","payload","animation","onComplete","onError","loadAnimation","location","origin","pathname","loadData","completeAnimation","ImagePreloader","width","height","getContext","fillStyle","fillRect","loadedAssets","totalImages","loadedFootagesCount","totalFootages","imagesLoadedCb","u","setInterval","getBBox","_imageLoaded","clearInterval","bind","assetData","assetsPath","img","_footageLoaded","testImageLoaded","createFootageData","images","loadAssets","_createImageData","setAssetsPath","setPath","loadedImages","loadedFootages","destroy","getAsset","createImgData","crossOrigin","addEventListener","createImageData","setAttributeNS","_elementHelper","append","appendChild","imageLoaded","footageLoaded","setCacheType","BaseEvent","triggerEvent","_cbs","removeEventListener","splice","markerParser","trim","time","tm","duration","dr","cm","name","ProjectInterface","compositions","nm","prepareFrame","xt","currentFrame","compInterface","registerComposition","renderers","registerRenderer","getRenderer","_typeof$4","AnimationItem","isLoaded","currentRawFrame","frameRate","frameMult","playSpeed","playDirection","playCount","animationData","isPaused","autoplay","loop","renderer","animationID","timeCompleted","segmentPos","isSubframeEnabled","segments","_idle","_completedLoop","projectInterface","imagePreloader","audioController","markers","configAnimation","onSetupError","onSegmentComplete","setParams","wrapper","container","animType","rendererSettings","globalData","defs","setProjectInterface","parseInt","autoloadSegments","initialSegment","setupAnimation","lastIndexOf","substr","fileName","trigger","setData","attributes","getNamedItem","prerender","includeLayers","fonts","fontManager","addChars","addFonts","initExpressions","loadNextSegment","loadSegments","imagesLoaded","checkLoaded","preloadImages","fr","searchExtraCompositions","updaFrameModifier","waitForFontsLoaded","triggerConfigError","setTimeout","rendererType","initItems","gotoFrame","resize","updateContainerSize","setSubframe","renderFrame","triggerRenderFrameError","togglePause","stop","setCurrentRawFrameValue","getMarkerData","goToAndStop","Number","isNaN","frameModifier","goToAndPlay","playSegments","advanceTime","checkSegments","adjustSegment","setSpeed","setDirection","setSegment","resetSegments","onEnterFrame","onLoopComplete","onSegmentStart","onDestroy","getPath","getAssetsPath","getAssetData","hide","show","getDuration","animationManager","elem","requestAnimationFrame","registerAnimation","searchAnimations","getElementsByClassName","setAttribute","getElementsByTagName","innerText","freeze","unfreeze","getRegisteredAnimations","BezierFactory","getBezierEasing","replace","_p","_mSampleValues","_precomputed","_precompute","_getTForX","_calcSampleValues","pooling","double","poolFactory","newElement","release","bezierLengthPool","addedLength","percents","lengths","segmentsLengthPool","totalLength","bezFunction","_r","segmentLength","points","partialLength","point","y","b","getSegmentsLength","_length","getNewSegment","x","E","P","S","_","C","A","T","D","w","M","getPointInSegment","buildBezierData","pointOnLine2D","pointOnLine3D","bez","PropertyFactory","offsetTime","propType","pv","lastIndex","keyframes","keyframesMetadata","to","bezierData","ti","__fnct","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","sh","atan2","asin","acos","sin","keyframeMetadata","cos","comp","renderedFrame","_caching","interpolateValue","mult","_mdf","frameId","effectsSequence","lock","setVValue","_isFirstFrame","kf","addDynamicProperty","vel","getValue","addEffect","getProp","DynamicPropertyContainer","dynamicProperties","_isAnimated","iterateDynamicProperties","initDynamicPropertyContainer","pointPool","ShapePath","_maxLength","setPathData","setLength","doubleArrayLength","setXYAt","setTripleAt","reverse","shapePool","factory","clone","ShapeCollection","addShape","releaseShapes","shapeCollectionPool","ob","newShapeCollection","pool","ShapePropertyFactory","interpolateShape","paths","localShapeCollection","reset","convertEllToPath","sy","ir","is","convertToPath","convertStarToPath","convertPolygonToPath","or","os","convertRectToPath","getShapeProp","getConstructorFunction","getKeyframedConstructorFunction","Matrix","tan","props","_t","shear","_identityCalculated","F","_identity","z","getInverseMatrix","applyToPointArray","isIdentity","rotate","rotateX","rotateY","rotateZ","skew","skewFromAxis","scale","setTransform","translate","transform","applyToPoint","applyToX","applyToY","applyToZ","applyToTriplePoints","applyToPointStringified","toCSS","to2dCSS","cloneFromProps","equals","inversePoints","inversePoint","_typeof$3","standalone","queryString","setLocation","setSubframeRendering","setPrefix","setQuality","inBrowser","installPlugin","getFactory","checkReady","readyStateCheckInterval","getQueryVariable","decodeURIComponent","useWebWorker","setIDPrefix","__getFactory","version","scripts","index","myScript","bodymovin","ShapeModifiers","registerModifier","getModifier","ShapeModifier","TrimModifier","PuckerAndBloatModifier","initModifierProperties","addShapeToModifier","shape","setAsAnimated","init","processKeys","sValue","eValue","pathsData","calculateShapeEdges","releasePathsData","processShapes","totalShapeLength","addShapes","addPaths","addSegment","addSegmentFromArray","amount","processPath","TransformPropertyFactory","pre","appliedTransformations","px","py","pz","rx","ry","rz","_isDirty","applyToMatrix","precalculateMatrix","autoOriented","getValueAtTime","autoOrient","_addDynamicProperty","getTransformProperty","RepeaterModifier","RoundCornersModifier","getFontProperties","fStyle","toLowerCase","weight","fWeight","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","matrix","applyTransforms","arr","pos","elemsData","_currentCopies","_elements","_groups","unshift","resetElements","_processed","cloneElements","changeGroupRender","_render","ceil","ix","reloadShapes","mProps","rd","FontManager","size","fontFamily","fontSize","fontVariant","fontStyle","fontWeight","letterSpacing","body","offsetWidth","join","node","parent","fFamily","textContent","fClass","font","typekitLoaded","_warned","initTime","Date","now","setIsLoadedBinded","setIsLoaded","checkLoadedFontsBinded","checkLoadedFonts","isModifier","isZeroWidthJoiner","isCombinedCharacter","ch","list","loaded","monoCase","sansCase","fPath","fOrigin","querySelectorAll","href","rel","helper","cache","getCharData","charCodeAt","console","warn","getFontByName","fName","measureText","getComputedTextLength","parentNode","removeChild","RenderableElement","initRenderable","isInRange","hidden","isTransparent","renderableComponents","addRenderableComponent","removeRenderableComponent","prepareRenderableFrame","checkLayerLimits","checkTransparency","finalTransform","mProp","renderConfig","hideOnTransparent","renderRenderable","sourceRectAtTime","getLayerSize","textData","MaskManagerInterface","_mask","_data","prop","viewData","ExpressionPropertyInterface","getVelocityAtTime","numKeys","key","valueAtTime","speedAtTime","getSpeedAtTime","velocityAtTime","propertyGroup","TransformExpressionInterface","rotation","xRotation","yRotation","xPosition","yPosition","zPosition","anchorPoint","opacity","LayerExpressionInterface","_elem","getMatrix","applyPoint","invertPoint","hierarchy","shapeInterface","effect","textInterface","toWorld","toWorldVec","fromWorld","fromWorldVec","toComp","fromComp","sampleImage","defineProperties","hasParent","layerInterface","anchor_point","active","startTime","ind","source","inPoint","outPoint","_name","registerMaskInterface","mask","registerEffectsInterface","propertyGroupFactory","PropertyInterface","EffectsExpressionInterface","ef","mn","effectElements","numProperties","np","enabled","en","setGroupProperty","createEffectsInterface","effectsManager","CompExpressionInterface","elements","layer","pixelAspect","compSize","frameDuration","displayStartTime","numLayers","ShapePathInterface","propertyIndex","ShapeExpressionInterface","content","cix","color","startPoint","endPoint","dataProps","strokeWidth","dash","end","start","offset","skewAxis","outerRadius","outerRoundness","innerRoundness","innerRadius","roundness","radius","copies","TextExpressionInterface","sourceText","textProperty","currentData","getBlendMode","blendModeEnums","SliderEffect","AngleEffect","ColorEffect","PointEffect","LayerIndexEffect","MaskIndexEffect","CheckboxEffect","NoValueEffect","EffectsManager","GroupEffect","BaseElement","FrameElement","_typeof$2","checkMasks","mode","maskManager","shapesData","itemsData","text","setBlendMode","bm","baseElement","layerElement","initBaseData","layerId","getType","initFrame","prepareProperties","_isParent","FootageInterface","dataInterfaceFactory","outlineInterface","getFootageData","dataInterface","FootageElement","footageData","imageLoader","AudioElement","_isPlaying","_canPlay","audio","_currentTime","_placeholder","BaseRenderer","TransformElement","MaskElement","element","storedData","maskElement","solidPath","inv","lastPath","expan","lastOperator","filterId","lastRadius","createLayerSolidPath","invRect","drawPath","maskedElement","getBaseElement","checkLayers","buildItem","checkPendingElements","createItem","createImage","createComp","createSolid","createNull","createShape","createText","createCamera","createFootage","buildAllItems","progressiveLoad","buildElementParenting","setAsParent","setHierarchy","addPendingElement","pendingElements","setupGlobalData","animationItem","initTransform","_matMdf","_opMdf","mat","ao","renderTransform","globalToLocal","mHelper","getMaskProperty","getMaskelement","filtersFactory","featureSupport","maskType","SVGTintFilter","filterManager","matrixFilter","SVGFillFilter","SVGStrokeEffect","initialized","SVGTritoneFilter","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","filterSize","feGaussianBlur","feOffset","feFlood","feMergeNode","feMerge","originalNodeAdded","initialize","children","childNodes","masker","removeAttribute","pathMasker","getTotalLength","getTableValue","_svgMatteSymbols","SVGMatte3Effect","filterElem","matteElement","transformedElement","SVGGaussianBlurEffect","findSymbol","replaceInParent","insertBefore","setElementAsMask","hd","setMatte","registeredEffects","SVGEffects","createFilter","filters","countsAsEffect","registerEffect","SVGBaseElement","HierarchyElement","RenderableDOMElement","IImageElement","initElement","sourceRect","ProcessedElement","IShapeElement","initRendererElement","createContainerElements","_sizeChanged","createAlphaToLuminanceFilter","ln","renderElement","destroyBaseElement","createRenderableComponents","renderableEffectsManager","initHierarchy","checkParenting","createContent","renderInnerContent","innerElem","pr","imagePreserveAspectRatio","addShapeToModifiers","shapeModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","searchProcessedElement","processedElements","addProcessedElement","lineCapEnum","lineJoinEnum","SVGShapeData","caches","styles","transformers","lStr","lvl","SVGStyleData","pElem","msElem","DashProperty","dashStr","dashArray","dashoffset","SVGStrokeStyleData","SVGFillStyleData","SVGNoStyleData","GradientProperty","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","gr","SVGTransformData","comparePoints","stops","setGradientData","setGradientOpacity","gf","cst","lc","lj","ml","of","ms","ost","maskId","buildShapeString","SVGElementsRenderer","createRenderFunction","SVGShapeElement","stylesList","animatedContents","LetterProps","sw","sc","fc","TextProperty","_frameId","keysIndex","canResize","minimumFontSize","ascent","boxWidth","defaultBoxWidth","j","justifyOffset","lh","lineWidths","ls","sz","ps","fillColorAnim","strokeColorAnim","strokeWidthAnim","yOffset","finalSize","finalText","finalLineHeight","copyData","searchProperty","completeTextData","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","setShapesAsAnimated","createStyleElement","addToAnimatedContents","createGroupElement","createTransformElement","createShapeElement","fn","setElementStyles","renderShape","update","setCurrentData","searchKeyframes","getKeyframeValue","buildFinalText","charAt","an","add","anIndexes","val","line","animatorJustifyOffset","extra","I","R","B","V","L","fh","fs","fb","rn","totalChars","G","updateDocumentData","recalculate","canResizeFont","setMinimumFontSize","TextSelectorProp","_currentTextLength","finalS","finalE","xe","ne","sm","getMult","getTextSelectorProp","TextAnimatorDataProperty","TextAnimatorProperty","_hasMaskedPath","_textData","_renderType","_animatorsData","_pathData","_moreOptions","alignment","renderedLetters","lettersChangedFlag","ITextElement","searchProperties","getMeasures","tLength","pi","N","O","H","q","W","$","Y","X","K","J","U","Z","Q","et","defaultPropsArray","rt","at","nt","ot","ht","atan","textAnimator","renderType","buildNewText","createPathShape","applyTextPropertiesToMatrix","buildColor","emptyProp","emptyShapeData","SVGTextLottieElement","textSpans","ISolidElement","NullElement","SVGRendererBase","ICompElement","SVGCompElement","supports3d","SVGRenderer","svgElement","title","description","preserveAspectRatio","contentVisibility","viewBoxOnly","viewBoxSize","className","focusable","frameNum","destroyed","CVContextData","saved","cArrPos","cTr","cO","savedOp","ShapeTransformManager","sequences","sequenceList","transform_key_count","CVEffects","CVMaskElement","hasMasks","CVBaseElement","CVShapeData","styledShapes","transforms","addTransformSequence","trNodes","CVShapeElement","transformsManager","CVTextElement","stroke","fill","currentRender","values","sWidth","fValue","CVImageElement","CVSolidElement","CanvasRendererBase","clearCanvas","context","dpr","devicePixelRatio","currentGlobalAlpha","contextData","transformMat","CVCompElement","CanvasRenderer","HBaseElement","HSolidElement","HShapeElement","shapesContainer","currentBBox","HTextElement","textPaths","isMasked","HCameraElement","pe","_prevMat","HImageElement","HybridRendererBase","threeDElements","camera","HCompElement","HybridRenderer","singleShape","textContainer","buildTextContents","fromCharCode","span","childSpan","glyph","_debug","bbox","appendElementInPos","setElements","getElements","destroyElements","duplicate","processSequence","processSequences","getNewKey","canvasContext","beginPath","moveTo","lineTo","bezierCurveTo","save","clip","createElements","blendMode","globalCompositeOperation","hideElement","showElement","ctxTransform","ctxOpacity","restore","transformHelper","dashResetter","preTransforms","co","wi","da","do","addTransformToStyleList","removeTransformFromStyleList","closeStyles","_shouldRender","renderShapeTransform","drawLayer","coOp","strokeStyle","grd","lineWidth","lineCap","lineJoin","miterLimit","setLineDash","lineDashOffset","pts","closePath","renderPath","renderFill","renderStroke","renderGradientFill","renderStyledShape","createLinearGradient","createRadialGradient","addColorStop","tHelper","drawImage","globalAlpha","mozTransformOrigin","transformCanvas","sx","tx","isDashed","offsetHeight","canvas","rect","clearRect","checkBlendMode","tg","webkitTransform","addEffects","backgroundColor","_renderShapeFrame","shapeCont","getTransformedPoint","calculateShapeBoundingBox","checkBounds","getBoundsOfCurve","shapeBoundingBox","xMax","right","yMax","bottom","tempBoundingBox","calculateF","calculateBoundingBox","currentBoxContains","compW","compH","lineHeight","setup","perspectiveElem","perspective","webkitPerspective","Image","imageElem","ddd","addTo3dContainer","getThreeDContainerByPos","startPos","endPos","createThreeDContainer","build3dContainers","resizerElem","overflow","_createBaseContainerElements","Expressions","pushExpression","popExpression","registerExpressionProperty","_typeof$1","seedRandom","seedrandom","entropy","Uint8Array","crypto","msCrypto","getRandomValues","plugins","screen","int32","quick","pass","state","global","initialize$2","propTypes","SHAPE","_typeof","ExpressionManager","fetch","frames","$bm_isInstanceOfArray","isNumerable","$bm_neg","easeInBez","easeOutBez","easeInOutBez","sum","sub","mul","div","mod","$bm_sum","$bm_sub","$bm_mul","$bm_div","$bm_mod","clamp","radiansToDegrees","radians_to_degrees","degreesToRadians","degrees_to_radians","helperLengthArray","normalize","rgbToHsl","hue2rgb","hslToRgb","linear","createPath","initiateExpression","property","needsVelocity","_needsRandom","elemType","$bm_transform","thisProperty","loopIn","loop_in","loopOut","loop_out","smooth","fromCompToSurface","thisLayer","thisComp","scoped_bm_rt","expression_function","eval","wiggle","loopInDuration","loopOutDuration","velocity","textIndex","textTotal","selectorValue","lookAt","easeOut","applyEase","easeIn","ease","nearestKey","framesToTime","timeToFrames","randSeed","substring","posterizeTime","executeExpression","frameExpressionId","__preventDeadCodeRemoval","expressionHelpers","searchExpressions","_cachingAtTime","getStaticValueAtTime","addPropertyDecorator","_transformCachingAtTime","vertices","inTangents","outTangents","isClosed","pointOnPath","_segmentsLength","vectorOnPath","tangentOnPath","normalOnPath","shapeValue","lastTime","initialize$1","addDecorator","getExpressionValue","calculateExpression","PlayerState","PlayerEvent","parseSrc","Loading","Playing","Paused","Stopped","Frozen","Load","Ready","Play","Pause","Stop","Freeze","Loop","Complete","Frame","defaultOptions","Player","handleBgChange","setState","background","triggerDownload","download","click","snapshot","getElementById","querySelector","XMLSerializer","serializeToString","encodeURIComponent","toDataURL","containerRef","debug","instance","playerState","seeker","getDerivedStateFromProps","componentDidMount","createLottie","componentWillUnmount","componentDidUpdate","render","onBackgroundChange","role","ref","margin","outline","setBackground","setSeeker","toggleDebug","setLoop","colorChangedEvent","lottieRef","speed","hover","json","keepLastFrame","setPlayerSpeed","setPlayerDirection","onEvent","defaultProps","styleInject","insertAt","head","firstChild","styleSheet","cssText","createTextNode","css_248z","stylesheet","ColorPicker","red","green","blue","rgba","hex","colorComponents","handleChange","parseColor","map","startsWith","match","onChange","Popover","icon","useState","useEffect","getBoundingClientRect","innerWidth","onMouseOver","onMouseLeave","zIndex","visibility","Seeker","inputRef","backgroundImage","marginTop","border","darkTheme","padding","textAlign","borderRadius","flexDirection","alignItems","marginRight","marginLeft","step","onInput","showLabels","justifyContent","ControlButtonStyle","cursor","Controls","activeFrame","mouseDown","visible","buttons","includes","viewBox","transparentTheme","paddingLeft","paddingRight","tabIndex","onClick","onKeyDown","onChangeEnd","readOnly","slot","clipRule","fillRule","cx","cy","onWheel","deltaY"],"sourceRoot":""}