{"version":3,"file":"lottie.js","mappings":"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","sources":["webpack://octopus.public.web/webpack/universalModuleDefinition","webpack://octopus.public.web/./node_modules/@lottiefiles/lottie-player/dist/lottie-player.esm.js","webpack://octopus.public.web/./node_modules/lottie-web/build/player/lottie.js","webpack://octopus.public.web/webpack/bootstrap","webpack://octopus.public.web/webpack/runtime/amd options","webpack://octopus.public.web/webpack/runtime/compat get default export","webpack://octopus.public.web/webpack/runtime/define property getters","webpack://octopus.public.web/webpack/runtime/global","webpack://octopus.public.web/webpack/runtime/hasOwnProperty shorthand","webpack://octopus.public.web/webpack/runtime/make namespace object","webpack://octopus.public.web/./Assets/js/lottie.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(this, () => {\nreturn ","function _asyncIterator(t){var e,r,i,a=2;for(\"undefined\"!=typeof Symbol&&(r=Symbol.asyncIterator,i=Symbol.iterator);a--;){if(r&&null!=(e=t[r]))return e.call(t);if(i&&null!=(e=t[i]))return new AsyncFromSyncIterator(e.call(t));r=\"@@asyncIterator\",i=\"@@iterator\"}throw new TypeError(\"Object is not async iterable\")}function AsyncFromSyncIterator(t){function e(t){if(Object(t)!==t)return Promise.reject(new TypeError(t+\" is not an object.\"));var e=t.done;return Promise.resolve(t.value).then((function(t){return{value:t,done:e}}))}return AsyncFromSyncIterator=function(t){this.s=t,this.n=t.next},AsyncFromSyncIterator.prototype={s:null,n:null,next:function(){return e(this.n.apply(this.s,arguments))},return:function(t){var r=this.s.return;return void 0===r?Promise.resolve({value:t,done:!0}):e(r.apply(this.s,arguments))},throw:function(t){var r=this.s.return;return void 0===r?Promise.reject(t):e(r.apply(this.s,arguments))}},new AsyncFromSyncIterator(t)}var REACT_ELEMENT_TYPE;function _jsx(t,e,r,i){REACT_ELEMENT_TYPE||(REACT_ELEMENT_TYPE=\"function\"==typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103);var a=t&&t.defaultProps,s=arguments.length-3;if(e||0===s||(e={children:void 0}),1===s)e.children=i;else if(s>1){for(var n=new Array(s),o=0;o]+)>/g,(function(t,e){return\"$\"+s[e]})))}if(\"function\"==typeof a){var n=this;return t[Symbol.replace].call(this,r,(function(){var t=arguments;return\"object\"!=typeof t[t.length-1]&&(t=[].slice.call(t)).push(i(t,n)),a.apply(this,t)}))}return t[Symbol.replace].call(this,r,a)},_wrapRegExp.apply(this,arguments)}function _AwaitValue(t){this.wrapped=t}function _AsyncGenerator(t){var e,r;function i(e,r){try{var s=t[e](r),n=s.value,o=n instanceof _AwaitValue;Promise.resolve(o?n.wrapped:n).then((function(t){o?i(\"return\"===e?\"return\":\"next\",t):a(s.done?\"return\":\"normal\",t)}),(function(t){i(\"throw\",t)}))}catch(t){a(\"throw\",t)}}function a(t,a){switch(t){case\"return\":e.resolve({value:a,done:!0});break;case\"throw\":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?i(e.key,e.arg):r=null}this._invoke=function(t,a){return new Promise((function(s,n){var o={key:t,arg:a,resolve:s,reject:n,next:null};r?r=r.next=o:(e=r=o,i(t,a))}))},\"function\"!=typeof t.return&&(this.return=void 0)}function _wrapAsyncGenerator(t){return function(){return new _AsyncGenerator(t.apply(this,arguments))}}function _awaitAsyncGenerator(t){return new _AwaitValue(t)}function _asyncGeneratorDelegate(t,e){var r={},i=!1;function a(r,a){return i=!0,a=new Promise((function(e){e(t[r](a))})),{done:!1,value:e(a)}}return r[\"undefined\"!=typeof Symbol&&Symbol.iterator||\"@@iterator\"]=function(){return this},r.next=function(t){return i?(i=!1,t):a(\"next\",t)},\"function\"==typeof t.throw&&(r.throw=function(t){if(i)throw i=!1,t;return a(\"throw\",t)}),\"function\"==typeof t.return&&(r.return=function(t){return i?(i=!1,t):a(\"return\",t)}),r}function asyncGeneratorStep(t,e,r,i,a,s,n){try{var o=t[s](n),h=o.value}catch(t){return void r(t)}o.done?e(h):Promise.resolve(h).then(i,a)}function _asyncToGenerator(t){return function(){var e=this,r=arguments;return new Promise((function(i,a){var s=t.apply(e,r);function n(t){asyncGeneratorStep(s,i,a,n,o,\"next\",t)}function o(t){asyncGeneratorStep(s,i,a,n,o,\"throw\",t)}n(void 0)}))}}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function _defineProperties(t,e){for(var r=0;r=0||(a[r]=t[r]);return a}function _objectWithoutProperties(t,e){if(null==t)return{};var r,i,a=_objectWithoutPropertiesLoose(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}function _assertThisInitialized(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}function _possibleConstructorReturn(t,e){if(e&&(\"object\"==typeof e||\"function\"==typeof e))return e;if(void 0!==e)throw new TypeError(\"Derived constructors may only return object or undefined\");return _assertThisInitialized(t)}function _createSuper(t){var e=_isNativeReflectConstruct();return function(){var r,i=_getPrototypeOf(t);if(e){var a=_getPrototypeOf(this).constructor;r=Reflect.construct(i,arguments,a)}else r=i.apply(this,arguments);return _possibleConstructorReturn(this,r)}}function _superPropBase(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=_getPrototypeOf(t)););return t}function _get(){return _get=\"undefined\"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,r){var i=_superPropBase(t,e);if(i){var a=Object.getOwnPropertyDescriptor(i,e);return a.get?a.get.call(arguments.length<3?t:r):a.value}},_get.apply(this,arguments)}function set(t,e,r,i){return set=\"undefined\"!=typeof Reflect&&Reflect.set?Reflect.set:function(t,e,r,i){var a,s=_superPropBase(t,e);if(s){if((a=Object.getOwnPropertyDescriptor(s,e)).set)return a.set.call(i,r),!0;if(!a.writable)return!1}if(a=Object.getOwnPropertyDescriptor(i,e)){if(!a.writable)return!1;a.value=r,Object.defineProperty(i,e,a)}else _defineProperty(i,e,r);return!0},set(t,e,r,i)}function _set(t,e,r,i,a){if(!set(t,e,r,i||t)&&a)throw new Error(\"failed to set property\");return r}function _taggedTemplateLiteral(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}function _taggedTemplateLiteralLoose(t,e){return e||(e=t.slice(0)),t.raw=e,t}function _readOnlyError(t){throw new TypeError('\"'+t+'\" is read-only')}function _writeOnlyError(t){throw new TypeError('\"'+t+'\" is write-only')}function _classNameTDZError(t){throw new Error('Class \"'+t+'\" cannot be referenced in computed property keys.')}function _temporalUndefined(){}function _tdz(t){throw new ReferenceError(t+\" is not defined - temporal dead zone\")}function _temporalRef(t,e){return t===_temporalUndefined?_tdz(e):t}function _slicedToArray(t,e){return _arrayWithHoles(t)||_iterableToArrayLimit(t,e)||_unsupportedIterableToArray(t,e)||_nonIterableRest()}function _slicedToArrayLoose(t,e){return _arrayWithHoles(t)||_iterableToArrayLimitLoose(t,e)||_unsupportedIterableToArray(t,e)||_nonIterableRest()}function _toArray(t){return _arrayWithHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableRest()}function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableSpread()}function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}function _arrayWithHoles(t){if(Array.isArray(t))return t}function _maybeArrayLike(t,e,r){if(e&&!Array.isArray(e)&&\"number\"==typeof e.length){var i=e.length;return _arrayLikeToArray(e,void 0!==r&&rt.length)&&(e=t.length);for(var r=0,i=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:a}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var s,n=!0,o=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return n=t.done,t},e:function(t){o=!0,s=t},f:function(){try{n||null==r.return||r.return()}finally{if(o)throw s}}}}function _createForOfIteratorHelperLoose(t,e){var r=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(r)return(r=r.call(t)).next.bind(r);if(Array.isArray(t)||(r=_unsupportedIterableToArray(t))||e&&t&&\"number\"==typeof t.length){r&&(t=r);var i=0;return function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function _skipFirstGeneratorNext(t){return function(){var e=t.apply(this,arguments);return e.next(),e}}function _toPrimitive(t,e){if(\"object\"!=typeof t||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,e||\"default\");if(\"object\"!=typeof i)return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}function _toPropertyKey(t){var e=_toPrimitive(t,\"string\");return\"symbol\"==typeof e?e:String(e)}function _initializerWarningHelper(t,e){throw new Error(\"Decorating class property failed. Please ensure that proposal-class-properties is enabled and runs after the decorators transform.\")}function _initializerDefineProperty(t,e,r,i){r&&Object.defineProperty(t,e,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(i):void 0})}function _applyDecoratedDescriptor(t,e,r,i,a){var s={};return Object.keys(i).forEach((function(t){s[t]=i[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,(\"value\"in s||s.initializer)&&(s.writable=!0),s=r.slice().reverse().reduce((function(r,i){return i(t,e,r)||r}),s),a&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(a):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}_AsyncGenerator.prototype[\"function\"==typeof Symbol&&Symbol.asyncIterator||\"@@asyncIterator\"]=function(){return this},_AsyncGenerator.prototype.next=function(t){return this._invoke(\"next\",t)},_AsyncGenerator.prototype.throw=function(t){return this._invoke(\"throw\",t)},_AsyncGenerator.prototype.return=function(t){return this._invoke(\"return\",t)};var id=0;function _classPrivateFieldLooseKey(t){return\"__private_\"+id+++\"_\"+t}function _classPrivateFieldLooseBase(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))throw new TypeError(\"attempted to use private field on non-instance\");return t}function _classPrivateFieldGet(t,e){return _classApplyDescriptorGet(t,_classExtractFieldDescriptor(t,e,\"get\"))}function _classPrivateFieldSet(t,e,r){return _classApplyDescriptorSet(t,_classExtractFieldDescriptor(t,e,\"set\"),r),r}function _classPrivateFieldDestructureSet(t,e){return _classApplyDescriptorDestructureSet(t,_classExtractFieldDescriptor(t,e,\"set\"))}function _classExtractFieldDescriptor(t,e,r){if(!e.has(t))throw new TypeError(\"attempted to \"+r+\" private field on non-instance\");return e.get(t)}function _classStaticPrivateFieldSpecGet(t,e,r){return _classCheckPrivateStaticAccess(t,e),_classCheckPrivateStaticFieldDescriptor(r,\"get\"),_classApplyDescriptorGet(t,r)}function _classStaticPrivateFieldSpecSet(t,e,r,i){return _classCheckPrivateStaticAccess(t,e),_classCheckPrivateStaticFieldDescriptor(r,\"set\"),_classApplyDescriptorSet(t,r,i),i}function _classStaticPrivateMethodGet(t,e,r){return _classCheckPrivateStaticAccess(t,e),r}function _classStaticPrivateMethodSet(){throw new TypeError(\"attempted to set read only static private field\")}function _classApplyDescriptorGet(t,e){return e.get?e.get.call(t):e.value}function _classApplyDescriptorSet(t,e,r){if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError(\"attempted to set read only private field\");e.value=r}}function _classApplyDescriptorDestructureSet(t,e){if(e.set)return\"__destrObj\"in e||(e.__destrObj={set value(r){e.set.call(t,r)}}),e.__destrObj;if(!e.writable)throw new TypeError(\"attempted to set read only private field\");return e}function _classStaticPrivateFieldDestructureSet(t,e,r){return _classCheckPrivateStaticAccess(t,e),_classCheckPrivateStaticFieldDescriptor(r,\"set\"),_classApplyDescriptorDestructureSet(t,r)}function _classCheckPrivateStaticAccess(t,e){if(t!==e)throw new TypeError(\"Private static access of wrong provenance\")}function _classCheckPrivateStaticFieldDescriptor(t,e){if(void 0===t)throw new TypeError(\"attempted to \"+e+\" private static field before its declaration\")}function _decorate(t,e,r,i){var a=_getDecoratorsApi();if(i)for(var s=0;s=0;s--){var n=e[t.placement];n.splice(n.indexOf(t.key),1);var o=this.fromElementDescriptor(t),h=this.toElementFinisherExtras((0,a[s])(o)||o);t=h.element,this.addElementPlacement(t,e),h.finisher&&i.push(h.finisher);var l=h.extras;if(l){for(var p=0;p=0;i--){var a=this.fromClassDescriptor(t),s=this.toClassDescriptor((0,e[i])(a)||a);if(void 0!==s.finisher&&r.push(s.finisher),void 0!==s.elements){t=s.elements;for(var n=0;n=0;o--)(a=t[o])&&(n=(s<3?a(n):s>3?a(e,r,n):a(e,r))||n);return s>3&&n&&Object.defineProperty(e,r,n),n}function __param(t,e){return function(r,i){e(r,i,t)}}function __metadata(t,e){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function __awaiter(t,e,r,i){return new(r||(r=Promise))((function(a,s){function n(t){try{h(i.next(t))}catch(t){s(t)}}function o(t){try{h(i.throw(t))}catch(t){s(t)}}function h(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,o)}h((i=i.apply(t,e||[])).next())}))}function __generator(t,e){var r,i,a,s,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return s={next:o(0),throw:o(1),return:o(2)},\"function\"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function o(s){return function(o){return function(s){if(r)throw new TypeError(\"Generator is already executing.\");for(;n;)try{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;switch(i=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==s[0]&&2!==s[0])){n=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function __read(t,e){var r=\"function\"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var i,a,s=r.call(t),n=[];try{for(;(void 0===e||e-- >0)&&!(i=s.next()).done;)n.push(i.value)}catch(t){a={error:t}}finally{try{i&&!i.done&&(r=s.return)&&r.call(s)}finally{if(a)throw a.error}}return n}function __spread(){for(var t=[],e=0;e1||o(t,e)}))})}function o(t,e){try{!function(t){t.value instanceof __await?Promise.resolve(t.value.v).then(h,l):p(s[0][2],t)}(a[t](e))}catch(t){p(s[0][3],t)}}function h(t){o(\"next\",t)}function l(t){o(\"throw\",t)}function p(t,e){t(e),s.shift(),s.length&&o(s[0][0],s[0][1])}}function __asyncDelegator(t){var e,r;return e={},i(\"next\"),i(\"throw\",(function(t){throw t})),i(\"return\"),e[Symbol.iterator]=function(){return this},e;function i(i,a){e[i]=t[i]?function(e){return(r=!r)?{value:__await(t[i](e)),done:\"return\"===i}:a?a(e):e}:a}}function __asyncValues(t){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var e,r=t[Symbol.asyncIterator];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(){return this},e);function i(r){e[r]=t[r]&&function(e){return new Promise((function(i,a){(function(t,e,r,i){Promise.resolve(i).then((function(e){t({value:e,done:r})}),e)})(i,a,(e=t[r](e)).done,e.value)}))}}}function __makeTemplateObject(t,e){return Object.defineProperty?Object.defineProperty(t,\"raw\",{value:e}):t.raw=e,t}var __setModuleDefault=Object.create?function(t,e){Object.defineProperty(t,\"default\",{enumerable:!0,value:e})}:function(t,e){t.default=e};function __importStar(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)\"default\"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&__createBinding(e,t,r);return __setModuleDefault(e,t),e}function __importDefault(t){return t&&t.__esModule?t:{default:t}}function __classPrivateFieldGet(t,e,r,i){if(\"a\"===r&&!i)throw new TypeError(\"Private accessor was defined without a getter\");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\");return\"m\"===r?i:\"a\"===r?i.call(t):i?i.value:e.get(t)}function __classPrivateFieldSet(t,e,r,i,a){if(\"m\"===i)throw new TypeError(\"Private method is not writable\");if(\"a\"===i&&!a)throw new TypeError(\"Private accessor was defined without a setter\");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\");return\"a\"===i?a.call(t,r):a?a.value=r:e.set(t,r),r\n/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */}var t$3=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,e$8=Symbol(),n$5=new Map;class s$3{constructor(t,e){if(this._$cssResult$=!0,e!==e$8)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t}get styleSheet(){var t=n$5.get(this.cssText);return t$3&&void 0===t&&(n$5.set(this.cssText,t=new CSSStyleSheet),t.replaceSync(this.cssText)),t}toString(){return this.cssText}}var o$5=t=>new s$3(\"string\"==typeof t?t:t+\"\",e$8),r$3=function(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),i=1;ie+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(r)+t[i+1]),t[0]);return new s$3(a,e$8)},i$3=(t,e)=>{t$3?t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):e.forEach((e=>{var r=document.createElement(\"style\"),i=window.litNonce;void 0!==i&&r.setAttribute(\"nonce\",i),r.textContent=e.cssText,t.appendChild(r)}))},S$1=t$3?t=>t:t=>t instanceof CSSStyleSheet?(t=>{var e=\"\";for(var r of t.cssRules)e+=r.cssText;return o$5(e)})(t):t\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */,s$2,e$7=window.trustedTypes,r$2=e$7?e$7.emptyScript:\"\",h$2=window.reactiveElementPolyfillSupport,o$4={toAttribute(t,e){switch(e){case Boolean:t=t?r$2:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){var r=t;switch(e){case Boolean:r=null!==t;break;case Number:r=null===t?null:Number(t);break;case Object:case Array:try{r=JSON.parse(t)}catch(t){r=null}}return r}},n$4=(t,e)=>e!==t&&(e==e||t==t),l$3={attribute:!0,type:String,converter:o$4,reflect:!1,hasChanged:n$4},t$2;class a$1 extends HTMLElement{constructor(){super(),this._$Et=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Ei=null,this.o()}static addInitializer(t){var e;null!==(e=this.l)&&void 0!==e||(this.l=[]),this.l.push(t)}static get observedAttributes(){this.finalize();var t=[];return this.elementProperties.forEach(((e,r)=>{var i=this._$Eh(r,e);void 0!==i&&(this._$Eu.set(i,r),t.push(i))})),t}static createProperty(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l$3;if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){var r=\"symbol\"==typeof t?Symbol():\"__\"+t,i=this.getPropertyDescriptor(t,r,e);void 0!==i&&Object.defineProperty(this.prototype,t,i)}}static getPropertyDescriptor(t,e,r){return{get(){return this[e]},set(i){var a=this[t];this[e]=i,this.requestUpdate(t,a,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l$3}static finalize(){if(this.hasOwnProperty(\"finalized\"))return!1;this.finalized=!0;var t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this._$Eu=new Map,this.hasOwnProperty(\"properties\")){var e=this.properties,r=[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)];for(var i of r)this.createProperty(i,e[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){var e=[];if(Array.isArray(t)){var r=new Set(t.flat(1/0).reverse());for(var i of r)e.unshift(S$1(i))}else void 0!==t&&e.push(S$1(t));return e}static _$Eh(t,e){var r=e.attribute;return!1===r?void 0:\"string\"==typeof r?r:\"string\"==typeof t?t.toLowerCase():void 0}o(){var t;this._$Ep=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Em(),this.requestUpdate(),null===(t=this.constructor.l)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,r;(null!==(e=this._$Eg)&&void 0!==e?e:this._$Eg=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(r=t.hostConnected)||void 0===r||r.call(t))}removeController(t){var e;null===(e=this._$Eg)||void 0===e||e.splice(this._$Eg.indexOf(t)>>>0,1)}_$Em(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Et.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t,e=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i$3(e,this.constructor.elementStyles),e}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,r){this._$AK(t,r)}_$ES(t,e){var r,i,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:l$3,s=this.constructor._$Eh(t,a);if(void 0!==s&&!0===a.reflect){var n=(null!==(i=null===(r=a.converter)||void 0===r?void 0:r.toAttribute)&&void 0!==i?i:o$4.toAttribute)(e,a.type);this._$Ei=t,null==n?this.removeAttribute(s):this.setAttribute(s,n),this._$Ei=null}}_$AK(t,e){var r,i,a,s=this.constructor,n=s._$Eu.get(t);if(void 0!==n&&this._$Ei!==n){var o=s.getPropertyOptions(n),h=o.converter,l=null!==(a=null!==(i=null===(r=h)||void 0===r?void 0:r.fromAttribute)&&void 0!==i?i:\"function\"==typeof h?h:null)&&void 0!==a?a:o$4.fromAttribute;this._$Ei=n,this[n]=l(e,o.type),this._$Ei=null}}requestUpdate(t,e,r){var i=!0;void 0!==t&&(((r=r||this.constructor.getPropertyOptions(t)).hasChanged||n$4)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===r.reflect&&this._$Ei!==t&&(void 0===this._$E_&&(this._$E_=new Map),this._$E_.set(t,r))):i=!1),!this.isUpdatePending&&i&&(this._$Ep=this._$EC())}_$EC(){var t=this;return _asyncToGenerator((function*(){t.isUpdatePending=!0;try{yield t._$Ep}catch(e){Promise.reject(e)}var e=t.scheduleUpdate();return null!=e&&(yield e),!t.isUpdatePending}))()}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(this.isUpdatePending){this.hasUpdated,this._$Et&&(this._$Et.forEach(((t,e)=>this[e]=t)),this._$Et=void 0);var e=!1,r=this._$AL;try{(e=this.shouldUpdate(r))?(this.willUpdate(r),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(r)):this._$EU()}catch(t){throw e=!1,this._$EU(),t}e&&this._$AE(r)}}willUpdate(t){}_$AE(t){var e;null===(e=this._$Eg)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Ep}shouldUpdate(t){return!0}update(t){void 0!==this._$E_&&(this._$E_.forEach(((t,e)=>this._$ES(e,this[e],t))),this._$E_=void 0),this._$EU()}updated(t){}firstUpdated(t){}}a$1.finalized=!0,a$1.elementProperties=new Map,a$1.elementStyles=[],a$1.shadowRootOptions={mode:\"open\"},null==h$2||h$2({ReactiveElement:a$1}),(null!==(s$2=globalThis.reactiveElementVersions)&&void 0!==s$2?s$2:globalThis.reactiveElementVersions=[]).push(\"1.2.1\");var i$2=globalThis.trustedTypes,s$1=i$2?i$2.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e$6=\"lit$\".concat((Math.random()+\"\").slice(9),\"$\"),o$3=\"?\"+e$6,n$3=\"<\".concat(o$3,\">\"),l$2=document,h$1=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\";return l$2.createComment(t)},r$1=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,d=Array.isArray,u=t=>{var e;return d(t)||\"function\"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])},c=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,a=/>/g,f=/>|[ \t\\n\f\\r](?:([^\\s\"'>=/]+)([ \t\\n\f\\r]*=[ \t\\n\f\\r]*(?:[^ \t\\n\f\\r\"'`<>=]|(\"|')|))|$)/g,_=/'/g,m=/\"/g,g=/^(?:script|style|textarea)$/i,p=t=>function(e){for(var r=arguments.length,i=new Array(r>1?r-1:0),a=1;a{var i,a,s=null!==(i=null==r?void 0:r.renderBefore)&&void 0!==i?i:e,n=s._$litPart$;if(void 0===n){var o=null!==(a=null==r?void 0:r.renderBefore)&&void 0!==a?a:null;s._$litPart$=n=new N(e.insertBefore(h$1(),o),o,void 0,null!=r?r:{})}return n._$AI(t),n},A=l$2.createTreeWalker(l$2,129,null,!1),C=(t,e)=>{for(var r,i=t.length-1,s=[],n=2===e?\"\":\"\",o=c,h=0;h\"===d[0]?(o=null!=r?r:c,u=-1):void 0===d[1]?u=-2:(u=o.lastIndex-d[2].length,p=d[1],o=void 0===d[3]?f:'\"'===d[3]?m:_):o===m||o===_?o=f:o===v||o===a?o=c:(o=f,r=void 0);var b=o===f&&t[h+1].startsWith(\"/>\")?\" \":\"\";n+=o===c?l+n$3:u>=0?(s.push(p),l.slice(0,u)+\"$lit$\"+l.slice(u)+e$6+b):l+e$6+(-2===u?(s.push(void 0),h):b)}var P=n+(t[i]||\"\")+(2===e?\"\":\"\");if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return[void 0!==s$1?s$1.createHTML(P):P,s]};class E{constructor(t,e){var r,{strings:i,_$litType$:a}=t;this.parts=[];var s=0,n=0,o=i.length-1,h=this.parts,[l,p]=C(i,a);if(this.el=E.createElement(l,e),A.currentNode=this.el.content,2===a){var c=this.el.content,f=c.firstChild;f.remove(),c.append(...f.childNodes)}for(;null!==(r=A.nextNode())&&h.length0){r.textContent=i$2?i$2.emptyScript:\"\";for(var x=0;x2&&void 0!==arguments[2]?arguments[2]:t,o=arguments.length>3?arguments[3]:void 0;if(e===b)return e;var h=void 0!==o?null===(r=n._$Cl)||void 0===r?void 0:r[o]:n._$Cu,l=r$1(e)?void 0:e._$litDirective$;return(null==h?void 0:h.constructor)!==l&&(null===(i=null==h?void 0:h._$AO)||void 0===i||i.call(h,!1),void 0===l?h=void 0:(h=new l(t))._$AT(t,n,o),void 0!==o?(null!==(a=(s=n)._$Cl)&&void 0!==a?a:s._$Cl=[])[o]=h:n._$Cu=h),void 0!==h&&(e=P(t,h._$AS(t,e.values),h,o)),e}class V{constructor(t,e){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var e,{el:{content:r},parts:i}=this._$AD,a=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:l$2).importNode(r,!0);A.currentNode=a;for(var s=A.nextNode(),n=0,o=0,h=i[0];void 0!==h;){if(n===h.index){var l=void 0;2===h.type?l=new N(s,s.nextSibling,this,t):1===h.type?l=new h.ctor(s,h.name,h.strings,this,t):6===h.type&&(l=new L(s,this,t)),this.v.push(l),h=i[++o]}n!==(null==h?void 0:h.index)&&(s=A.nextNode(),n++)}return a}m(t){var e=0;for(var r of this.v)void 0!==r&&(void 0!==r.strings?(r._$AI(t,r,e),e+=r.strings.length-2):r._$AI(t[e])),e++}}class N{constructor(t,e,r,i){var a;this.type=2,this._$AH=w,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,this.options=i,this._$Cg=null===(a=null==i?void 0:i.isConnected)||void 0===a||a}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cg}get parentNode(){var t=this._$AA.parentNode,e=this._$AM;return void 0!==e&&11===t.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t){t=P(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:this),r$1(t)?t===w||null==t||\"\"===t?(this._$AH!==w&&this._$AR(),this._$AH=w):t!==this._$AH&&t!==b&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.S(t):u(t)?this.A(t):this.$(t)}M(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._$AB;return this._$AA.parentNode.insertBefore(t,e)}S(t){this._$AH!==t&&(this._$AR(),this._$AH=this.M(t))}$(t){this._$AH!==w&&r$1(this._$AH)?this._$AA.nextSibling.data=t:this.S(l$2.createTextNode(t)),this._$AH=t}T(t){var e,{values:r,_$litType$:i}=t,a=\"number\"==typeof i?this._$AC(t):(void 0===i.el&&(i.el=E.createElement(i.h,this.options)),i);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===a)this._$AH.m(r);else{var s=new V(a,this),n=s.p(this.options);s.m(r),this.S(n),this._$AH=s}}_$AC(t){var e=T.get(t.strings);return void 0===e&&T.set(t.strings,e=new E(t)),e}A(t){d(this._$AH)||(this._$AH=[],this._$AR());var e,r=this._$AH,i=0;for(var a of t)i===r.length?r.push(e=new N(this.M(h$1()),this.M(h$1()),this,this.options)):e=r[i],e._$AI(a),i++;i0&&void 0!==arguments[0]?arguments[0]:this._$AA.nextSibling,r=arguments.length>1?arguments[1]:void 0;for(null===(t=this._$AP)||void 0===t||t.call(this,!1,!0,r);e&&e!==this._$AB;){var i=e.nextSibling;e.remove(),e=i}}setConnected(t){var e;void 0===this._$AM&&(this._$Cg=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class S{constructor(t,e,r,i,a){this.type=1,this._$AH=w,this._$AN=void 0,this.element=t,this.name=e,this._$AM=i,this.options=a,r.length>2||\"\"!==r[0]||\"\"!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=w}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,a=this.strings,s=!1;if(void 0===a)t=P(this,t,e,0),(s=!r$1(t)||t!==this._$AH&&t!==b)&&(this._$AH=t);else{var n,o,h=t;for(t=a[0],n=0;n1&&void 0!==arguments[1]?arguments[1]:this,0))&&void 0!==e?e:w)!==b){var r=this._$AH,i=t===w&&r!==w||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,a=t!==w&&(r===w||i);i&&this.element.removeEventListener(this.name,this,r),a&&this.element.addEventListener(this.name,this,t),this._$AH=t}}handleEvent(t){var e,r;\"function\"==typeof this._$AH?this._$AH.call(null!==(r=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==r?r:this.element,t):this._$AH.handleEvent(t)}}class L{constructor(t,e,r){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(t){P(this,t)}}var R={P:\"$lit$\",V:e$6,L:o$3,I:1,N:C,R:V,D:u,j:P,H:N,O:S,F:H,B:I,W:M,Z:L},z=window.litHtmlPolyfillSupport,l$1,o$2;null==z||z(E,N),(null!==(t$2=globalThis.litHtmlVersions)&&void 0!==t$2?t$2:globalThis.litHtmlVersions=[]).push(\"2.1.2\");var r=a$1;class s extends a$1{constructor(){super(...arguments),this.renderOptions={host:this},this._$Dt=void 0}createRenderRoot(){var t,e,r=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=r.firstChild),r}update(t){var e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Dt=x(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!1)}render(){return b}}s.finalized=!0,s._$litElement$=!0,null===(l$1=globalThis.litElementHydrateSupport)||void 0===l$1||l$1.call(globalThis,{LitElement:s});var n$2=globalThis.litElementPolyfillSupport;null==n$2||n$2({LitElement:s});var h={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(null!==(o$2=globalThis.litElementVersions)&&void 0!==o$2?o$2:globalThis.litElementVersions=[]).push(\"3.1.2\");\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar n$1=t=>e=>\"function\"==typeof e?((t,e)=>(window.customElements.define(t,e),e))(t,e):((t,e)=>{var{kind:r,elements:i}=e;return{kind:r,elements:i,finisher(e){window.customElements.define(t,e)}}})(t,e)\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */,i$1=(t,e)=>\"method\"===e.kind&&e.descriptor&&!(\"value\"in e.descriptor)?_objectSpread2(_objectSpread2({},e),{},{finisher(r){r.createProperty(e.key,t)}}):{kind:\"field\",key:Symbol(),placement:\"own\",descriptor:{},originalKey:e.key,initializer(){\"function\"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(r){r.createProperty(e.key,t)}};function e$5(t){return(e,r)=>void 0!==r?((t,e,r)=>{e.constructor.createProperty(r,t)})(t,e,r):i$1(t,e)}\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function t$1(t){return e$5(_objectSpread2(_objectSpread2({},t),{},{state:!0}))}\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var e$4=(t,e,r)=>{Object.defineProperty(e,r,t)},t=(t,e)=>({kind:\"method\",placement:\"prototype\",key:e.key,descriptor:t}),o$1=t=>{var{finisher:e,descriptor:r}=t;return(t,i)=>{var a;if(void 0===i){var s=null!==(a=t.originalKey)&&void 0!==a?a:t.key,n=null!=r?{kind:\"method\",placement:\"prototype\",key:s,descriptor:r(t.key)}:_objectSpread2(_objectSpread2({},t),{},{key:s});return null!=e&&(n.finisher=function(t){e(t,s)}),n}var o=t.constructor;void 0!==r&&Object.defineProperty(t,i,r(i)),null==e||e(o,i)}},n;\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e$3(t){return o$1({finisher:(e,r)=>{Object.assign(e.prototype[r],t)}})}\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function i(t,e){return o$1({descriptor:r=>{var i={get(){var e,r;return null!==(r=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t))&&void 0!==r?r:null},enumerable:!0,configurable:!0};if(e){var a=\"symbol\"==typeof r?Symbol():\"__\"+r;i.get=function(){var e,r;return void 0===this[a]&&(this[a]=null!==(r=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t))&&void 0!==r?r:null),this[a]}}return i}})}\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e$2(t){return o$1({descriptor:e=>({get(){var e,r;return null!==(r=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelectorAll(t))&&void 0!==r?r:[]},enumerable:!0,configurable:!0})})}\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e$1(t){return o$1({descriptor:e=>({get(){var e=this;return _asyncToGenerator((function*(){var r;return yield e.updateComplete,null===(r=e.renderRoot)||void 0===r?void 0:r.querySelector(t)}))()},enumerable:!0,configurable:!0})})}\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var e=null!=(null===(n=window.HTMLSlotElement)||void 0===n?void 0:n.prototype.assignedElements)?(t,e)=>t.assignedElements(e):(t,e)=>t.assignedNodes(e).filter((t=>t.nodeType===Node.ELEMENT_NODE));function l(t){var{slot:r,selector:i}=null!=t?t:{};return o$1({descriptor:a=>({get(){var a,s=\"slot\"+(r?\"[name=\".concat(r,\"]\"):\":not([name])\"),n=null===(a=this.renderRoot)||void 0===a?void 0:a.querySelector(s),o=null!=n?e(n,t):[];return i?o.filter((t=>t.matches(i))):o},enumerable:!0,configurable:!0})})}\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function o(t,e,r){var i,a=t;return\"object\"==typeof t?(a=t.slot,i=t):i={flatten:e},r?l({slot:a,flatten:e,selector:r}):o$1({descriptor:t=>({get(){var t,e,r=\"slot\"+(a?\"[name=\".concat(a,\"]\"):\":not([name])\"),s=null===(t=this.renderRoot)||void 0===t?void 0:t.querySelector(r);return null!==(e=null==s?void 0:s.assignedNodes(i))&&void 0!==e?e:[]},enumerable:!0,configurable:!0})})}var commonjsGlobal=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function getDefaultExportFromCjs(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}function getDefaultExportFromNamespaceIfPresent(t){return t&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}function getDefaultExportFromNamespaceIfNotNamed(t){return t&&Object.prototype.hasOwnProperty.call(t,\"default\")&&1===Object.keys(t).length?t.default:t}function getAugmentedNamespace(t){if(t.__esModule)return t;var e=Object.defineProperty({},\"__esModule\",{value:!0});return Object.keys(t).forEach((function(r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})})),e}function commonjsRequire(t){throw new Error('Could not dynamically require \"'+t+'\". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var lottie$1={exports:{}};(function(module,exports){var factory;\"undefined\"!=typeof navigator&&(factory=function(){var svgNS=\"http://www.w3.org/2000/svg\",locationHref=\"\",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(t){_useWebWorker=!!t},getWebWorker=function(){return _useWebWorker},setLocationHref=function(t){locationHref=t},getLocationHref=function(){return locationHref};function createTag(t){return document.createElement(t)}function extendPrototype(t,e){var r,i,a=t.length;for(r=0;r1?r[1]=1:r[1]<=0&&(r[1]=0),HSVtoRGB(r[0],r[1],r[2])}function addBrightnessToRGB(t,e){var r=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return r[2]+=e,r[2]>1?r[2]=1:r[2]<0&&(r[2]=0),HSVtoRGB(r[0],r[1],r[2])}function addHueToRGB(t,e){var r=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return r[0]+=e/360,r[0]>1?r[0]-=1:r[0]<0&&(r[0]+=1),HSVtoRGB(r[0],r[1],r[2])}var rgbToHex=function(){var t,e,r=[];for(t=0;t<256;t+=1)e=t.toString(16),r[t]=1===e.length?\"0\"+e:e;return function(t,e,i){return t<0&&(t=0),e<0&&(e=0),i<0&&(i=0),\"#\"+r[t]+r[e]+r[i]}}(),setSubframeEnabled=function(t){subframeEnabled=!!t},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(t){expressionsPlugin=t},getExpressionsPlugin=function(){return expressionsPlugin},setDefaultCurveSegments=function(t){defaultCurveSegments=t},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(t){idPrefix$1=t},getIdPrefix=function(){return idPrefix$1};function createNS(t){return document.createElementNS(svgNS,t)}function _typeof$5(t){return _typeof$5=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},_typeof$5(t)}var dataManager=function(){var t,e,r=1,i=[],a={onmessage:function(){},postMessage:function(e){t({data:e})}},_workerSelf={postMessage:function(t){a.onmessage({data:t})}};function s(){e||(e=function(e){if(window.Worker&&window.Blob&&getWebWorker()){var r=new Blob([\"var _workerSelf = self; self.onmessage = \",e.toString()],{type:\"text/javascript\"}),i=URL.createObjectURL(r);return new Worker(i)}return t=e,a}((function(t){if(_workerSelf.dataManager||(_workerSelf.dataManager=function(){function t(a,s){var n,o,h,l,p,f,d=a.length;for(o=0;o=0;e-=1)if(\"sh\"===t[e].ty)if(t[e].ks.k.i)i(t[e].ks.k);else for(s=t[e].ks.k.length,a=0;ar[0]||!(r[0]>t[0])&&(t[1]>r[1]||!(r[1]>t[1])&&(t[2]>r[2]||!(r[2]>t[2])&&null))}var s,n=function(){var t=[4,4,14];function e(t){var e,r,i,a=t.length;for(e=0;e=0;r-=1)if(\"sh\"===t[r].ty)if(t[r].ks.k.i)t[r].ks.k.c=t[r].closed;else for(a=t[r].ks.k.length,i=0;i500)&&(this._imageLoaded(),clearInterval(r)),e+=1}.bind(this),50)}function s(t){var e={assetData:t},r=i(t,this.assetsPath,this.path);return dataManager.loadData(r,function(t){e.img=t,this._footageLoaded()}.bind(this),function(){e.img={},this._footageLoaded()}.bind(this)),e}function 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=[]}return n.prototype={loadAssets:function(t,e){var r;this.imagesLoadedCb=e;var i=t.length;for(r=0;rthis.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip));var e,r,i=this.animationData.layers,a=i.length,s=t.layers,n=s.length;for(r=0;rthis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger(\"enterFrame\"),this.renderFrame(),this.trigger(\"drawnFrame\")},AnimationItem.prototype.renderFrame=function(){if(!1!==this.isLoaded&&this.renderer)try{this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(t){this.triggerRenderFrameError(t)}},AnimationItem.prototype.play=function(t){t&&this.name!==t||!0===this.isPaused&&(this.isPaused=!1,this.trigger(\"_pause\"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger(\"_active\")))},AnimationItem.prototype.pause=function(t){t&&this.name!==t||!1===this.isPaused&&(this.isPaused=!0,this.trigger(\"_play\"),this._idle=!0,this.trigger(\"_idle\"),this.audioController.pause())},AnimationItem.prototype.togglePause=function(t){t&&this.name!==t||(!0===this.isPaused?this.play():this.pause())},AnimationItem.prototype.stop=function(t){t&&this.name!==t||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},AnimationItem.prototype.getMarkerData=function(t){for(var e,r=0;r=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\"))}},AnimationItem.prototype.adjustSegment=function(t,e){this.playCount=0,t[1]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\")},AnimationItem.prototype.setSegment=function(t,e){var r=-1;this.isPaused&&(this.currentRawFrame+this.firstFramee&&(r=e-t)),this.firstFrame=t,this.totalFrames=e-t,this.timeCompleted=this.totalFrames,-1!==r&&this.goToAndStop(r,!0)},AnimationItem.prototype.playSegments=function(t,e){if(e&&(this.segments.length=0),\"object\"===_typeof$4(t[0])){var r,i=t.length;for(r=0;r=0;r-=1)e[r].animation.destroy(t)},t.freeze=function(){n=!0},t.unfreeze=function(){n=!1,m()},t.setVolume=function(t,r){var a;for(a=0;a=.001?function(t,e,r,i){for(var a=0;a<4;++a){var s=h(e,r,i);if(0===s)return e;e-=(o(e,r,i)-t)/s}return e}(t,l,e,i):0===p?l:function(t,e,r,i,a){var s,n,h=0;do{(s=o(n=e+(r-e)/2,i,a)-t)>0?r=n:e=n}while(Math.abs(s)>1e-7&&++h<10);return n}(t,s,s+r,e,i)}},t}(),pooling={double:function(t){return t.concat(createSizedArray(t.length))}},poolFactory=function(t,e,r){var i=0,a=t,s=createSizedArray(a);return{newElement:function(){return i?s[i-=1]:e()},release:function(t){i===a&&(s=pooling.double(s),a*=2),r&&r(t),s[i]=t,i+=1}}},bezierLengthPool=poolFactory(8,(function(){return{addedLength:0,percents:createTypedArray(\"float32\",getDefaultCurveSegments()),lengths:createTypedArray(\"float32\",getDefaultCurveSegments())}})),segmentsLengthPool=poolFactory(8,(function(){return{lengths:[],totalLength:0}}),(function(t){var e,r=t.lengths.length;for(e=0;e-.001&&n<.001}var r=function(t,e,r,i){var a,s,n,o,h,l,p=getDefaultCurveSegments(),c=0,f=[],d=[],m=bezierLengthPool.newElement();for(n=r.length,a=0;an?-1:1,l=!0;l;)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){if(s===a-1)return r[s];l=!1}return r[s]+(r[s+1]-r[s])*o}var h=createTypedArray(\"float32\",8);return{getSegmentsLength:function(t){var e,i=segmentsLengthPool.newElement(),a=t.c,s=t.v,n=t.o,o=t.i,h=t._length,l=i.lengths,p=0;for(e=0;e1&&(s=1);var p,c=o(s,l),f=o(n=n>1?1:n,l),d=e.length,m=1-c,u=1-f,y=m*m*m,g=c*m*m*3,v=c*c*m*3,b=c*c*c,_=m*m*u,P=c*m*u+m*c*u+m*m*f,E=c*c*u+m*c*f+c*m*f,S=c*c*f,x=m*u*u,A=c*u*u+m*f*u+m*u*f,w=c*f*u+m*f*f+c*u*f,C=c*f*f,k=u*u*u,T=f*u*u+u*f*u+u*u*f,D=f*f*u+u*f*f+f*u*f,M=f*f*f;for(p=0;pd?f>m?f-d-m:m-d-f:m>d?m-d-f:d-f-m)>-1e-4&&c<1e-4}}}var bez=bezFunction(),PropertyFactory=function(){var t=initialDefaultFrame,e=Math.abs;function r(t,e){var r,a=this.offsetTime;\"multidimensional\"===this.propType&&(r=createTypedArray(\"float32\",this.pv.length));for(var s,n,o,h,l,p,c,f,d,m=e.lastIndex,u=m,y=this.keyframes.length-1,g=!0;g;){if(s=this.keyframes[u],n=this.keyframes[u+1],u===y-1&&t>=n.t-a){s.h&&(s=n),m=0;break}if(n.t-a>t){m=u;break}u=k||t=k?D.points.length-1:0;for(l=D.points[M].point.length,h=0;h=R&&I=k)r[0]=v[0],r[1]=v[1],r[2]=v[2];else if(t<=T)r[0]=s.s[0],r[1]=s.s[1],r[2]=s.s[2];else{var z=i(s.s),G=i(v);b=r,_=function(t,e,r){var i,a,s,n,o,h=[],l=t[0],p=t[1],c=t[2],f=t[3],d=e[0],m=e[1],u=e[2],y=e[3];return(a=l*d+p*m+c*u+f*y)<0&&(a=-a,d=-d,m=-m,u=-u,y=-y),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),h[0]=n*l+o*d,h[1]=n*p+o*m,h[2]=n*c+o*u,h[3]=n*f+o*y,h}(z,G,(t-T)/(k-T)),P=_[0],E=_[1],S=_[2],x=_[3],A=Math.atan2(2*E*x-2*P*S,1-2*E*E-2*S*S),w=Math.asin(2*P*E+2*S*x),C=Math.atan2(2*P*x-2*E*S,1-2*P*P-2*S*S),b[0]=A/degToRads,b[1]=w/degToRads,b[2]=C/degToRads}else for(u=0;u=k?p=1:t=i&&e>=i||this._caching.lastFrame=e&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var a=this.interpolateValue(e,this._caching);this.pv=a}return this._caching.lastFrame=e,this.pv}function s(t){var r;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;i1e-5&&(this.v[i]=r,this._mdf=!0),i+=1}function n(){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length)if(this.lock)this.setVValue(this.pv);else{var t;this.lock=!0,this._mdf=this._isFirstFrame;var e=this.effectsSequence.length,r=this.kf?this.pv:this.data.k;for(t=0;t=this._maxLength&&this.doubleArrayLength(),r){case\"v\":s=this.v;break;case\"i\":s=this.i;break;case\"o\":s=this.o;break;default:s=[]}(!s[i]||s[i]&&!a)&&(s[i]=pointPool.newElement()),s[i][0]=t,s[i][1]=e},ShapePath.prototype.setTripleAt=function(t,e,r,i,a,s,n,o){this.setXYAt(t,e,\"v\",n,o),this.setXYAt(r,i,\"o\",n,o),this.setXYAt(a,s,\"i\",n,o)},ShapePath.prototype.reverse=function(){var t=new ShapePath;t.setPathData(this.c,this._length);var e=this.v,r=this.o,i=this.i,a=0;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);var s,n=this._length-1,o=this._length;for(s=a;s=d[d.length-1].t-this.offsetTime)i=d[d.length-1].s?d[d.length-1].s[0]:d[d.length-2].e[0],s=!0;else{for(var m,u,y,g=f,v=d.length-1,b=!0;b&&(m=d[g],!((u=d[g+1]).t-this.offsetTime>t));)g=u.t-this.offsetTime)p=1;else if(ti&&e>i)||(this._caching.lastIndex=a0||t>-1e-6&&t<0?i(1e4*t)/1e4:t}function F(){var t=this.props;return\"matrix(\"+M(t[0])+\",\"+M(t[1])+\",\"+M(t[4])+\",\"+M(t[5])+\",\"+M(t[12])+\",\"+M(t[13])+\")\"}return function(){this.reset=a,this.rotate=s,this.rotateX=n,this.rotateY=o,this.rotateZ=h,this.skew=p,this.skewFromAxis=c,this.shear=l,this.scale=f,this.setTransform=d,this.translate=m,this.transform=u,this.applyToPoint=_,this.applyToX=P,this.applyToY=E,this.applyToZ=S,this.applyToPointArray=k,this.applyToTriplePoints=C,this.applyToPointStringified=T,this.toCSS=D,this.to2dCSS=F,this.clone=v,this.cloneFromProps=b,this.equals=g,this.inversePoints=w,this.inversePoint=A,this.getInverseMatrix=x,this._t=this.transform,this.isIdentity=y,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray(\"float32\",16),this.reset()}}();function _typeof$3(t){return _typeof$3=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},_typeof$3(t)}var lottie={},standalone=\"__[STANDALONE]__\",animationData=\"__[ANIMATIONDATA]__\",renderer=\"\";function setLocation(t){setLocationHref(t)}function searchAnimations(){!0===standalone?animationManager.searchAnimations(animationData,standalone,renderer):animationManager.searchAnimations()}function setSubframeRendering(t){setSubframeEnabled(t)}function setPrefix(t){setIdPrefix(t)}function loadAnimation(t){return!0===standalone&&(t.animationData=JSON.parse(animationData)),animationManager.loadAnimation(t)}function setQuality(t){if(\"string\"==typeof t)switch(t){case\"high\":setDefaultCurveSegments(200);break;default:case\"medium\":setDefaultCurveSegments(50);break;case\"low\":setDefaultCurveSegments(10)}else!isNaN(t)&&t>1&&setDefaultCurveSegments(t);getDefaultCurveSegments()>=50?roundValues(!1):roundValues(!0)}function inBrowser(){return\"undefined\"!=typeof navigator}function installPlugin(t,e){\"expressions\"===t&&setExpressionsPlugin(e)}function getFactory(t){switch(t){case\"propertyFactory\":return PropertyFactory;case\"shapePropertyFactory\":return ShapePropertyFactory;case\"matrix\":return Matrix;default:return null}}function checkReady(){\"complete\"===document.readyState&&(clearInterval(readyStateCheckInterval),searchAnimations())}function getQueryVariable(t){for(var e=queryString.split(\"&\"),r=0;r=1?s.push({s:t-1,e:e-1}):(s.push({s:t,e:1}),s.push({s:0,e:e-1}));var n,o,h=[],l=s.length;for(n=0;ni+r||(p=o.s*a<=i?0:(o.s*a-i)/r,c=o.e*a>=i+r?1:(o.e*a-i)/r,h.push([p,c]))}return h.length||h.push([0,0]),h},TrimModifier.prototype.releasePathsData=function(t){var e,r=t.length;for(e=0;e1?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)){var n=e;e=r,r=n}e=1e-4*Math.round(1e4*e),r=1e-4*Math.round(1e4*r),this.sValue=e,this.eValue=r}else e=this.sValue,r=this.eValue;var o,h,l,p,c,f=this.shapes.length,d=0;if(r===e)for(a=0;a=0;a-=1)if((m=this.shapes[a]).shape._mdf){for((u=m.localShapeCollection).releaseShapes(),2===this.m&&f>1?(g=this.calculateShapeEdges(e,r,m.totalShapeLength,_,d),_+=m.totalShapeLength):g=[[v,b]],h=g.length,o=0;o=1?y.push({s:m.totalShapeLength*(v-1),e:m.totalShapeLength*(b-1)}):(y.push({s:m.totalShapeLength*v,e:m.totalShapeLength}),y.push({s:0,e:m.totalShapeLength*(b-1)}));var P=this.addShapes(m,y[0]);if(y[0].s!==y[0].e){if(y.length>1)if(m.shape.paths.shapes[m.shape.paths._length-1].c){var E=P.pop();this.addPaths(P,u),P=this.addShapes(m,y[1],E)}else this.addPaths(P,u),P=this.addShapes(m,y[1]);this.addPaths(P,u)}}m.shape.paths=u}}},TrimModifier.prototype.addPaths=function(t,e){var r,i=t.length;for(r=0;re.e){r.c=!1;break}e.s<=m&&e.e>=m+n.addedLength?(this.addSegment(f[i].v[a-1],f[i].o[a-1],f[i].i[a],f[i].v[a],r,o,y),y=!1):(l=bez.getNewSegment(f[i].v[a-1],f[i].v[a],f[i].o[a-1],f[i].i[a],(e.s-m)/n.addedLength,(e.e-m)/n.addedLength,h[a-1]),this.addSegmentFromArray(l,r,o,y),y=!1,r.c=!1),m+=n.addedLength,o+=1}if(f[i].c&&h.length){if(n=h[a-1],m<=e.e){var g=h[a-1].addedLength;e.s<=m&&e.e>=m+g?(this.addSegment(f[i].v[a-1],f[i].o[a-1],f[i].i[0],f[i].v[0],r,o,y),y=!1):(l=bez.getNewSegment(f[i].v[a-1],f[i].v[0],f[i].o[a-1],f[i].i[0],(e.s-m)/g,(e.e-m)/g,h[a-1]),this.addSegmentFromArray(l,r,o,y),y=!1,r.c=!1)}else r.c=!1;m+=n.addedLength,o+=1}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)),m>e.e)break;i=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){i=[],a=[];var s=this.px,n=this.py;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))}else i=a=t;this.v.rotate(-Math.atan2(i[1]-a[1],i[0]-a[0]))}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])}this.frameId=this.elem.globalData.frameId}},precalculateMatrix:function(){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)){if(this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2,this.sk){if(this.sk.effectsSequence.length||this.sa.effectsSequence.length)return;this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3}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)}},autoOrient:function(){}},extendPrototype([DynamicPropertyContainer],e),e.prototype.addDynamicProperty=function(t){this._addDynamicProperty(t),this.elem.addDynamicProperty(t),this._isDirty=!0},e.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty,{getTransformProperty:function(t,r,i){return new e(t,r,i)}}}();function RepeaterModifier(){}function RoundCornersModifier(){}function getFontProperties(t){for(var e=t.fStyle?t.fStyle.split(\" \"):[],r=\"normal\",i=\"normal\",a=e.length,s=0;s0;)r-=1,this._elements.unshift(e[r]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(t){var e,r=t.length;for(e=0;e0?Math.floor(f):Math.ceil(f),u=this.pMatrix.props,y=this.rMatrix.props,g=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var v,b,_=0;if(f>0){for(;_m;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),_-=1;d&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-d,!0),_-=d)}for(i=1===this.data.m?0:this._currentCopies-1,a=1===this.data.m?1:-1,s=this._currentCopies;s;){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!==_){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;v0&&(p=!1),p){var c=createTag(\"style\");c.setAttribute(\"f-forigin\",i[r].fOrigin),c.setAttribute(\"f-origin\",i[r].origin),c.setAttribute(\"f-family\",i[r].fFamily),c.type=\"text/css\",c.innerText=\"@font-face {font-family: \"+i[r].fFamily+\"; font-style: normal; src: url('\"+i[r].fPath+\"');}\",e.appendChild(c)}}else if(\"g\"===i[r].fOrigin||1===i[r].origin){for(h=document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]'),l=0;lt?!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())},renderRenderable:function(){var t,e=this.renderableComponents.length;for(t=0;t0&&(this.maskElement.setAttribute(\"id\",y),this.element.maskedElement.setAttribute(v,\"url(\"+getLocationHref()+\"#\"+y+\")\"),s.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}FootageElement.prototype.prepareFrame=function(){},extendPrototype([RenderableElement,BaseElement,FrameElement],FootageElement),FootageElement.prototype.getBaseElement=function(){return null},FootageElement.prototype.renderFrame=function(){},FootageElement.prototype.destroy=function(){},FootageElement.prototype.initExpressions=function(){this.layerInterface=FootageInterface(this)},FootageElement.prototype.getFootageData=function(){return this.footageData},AudioElement.prototype.prepareFrame=function(t){if(this.prepareRenderableFrame(t,!0),this.prepareProperties(t,!0),this.tm._placeholder)this._currentTime=t/this.data.sr;else{var e=this.tm.v;this._currentTime=e}this._volume=this.lv.v[0];var r=this._volume*this._volumeMultiplier;this._previousVolume!==r&&(this._previousVolume=r,this.audio.volume(r))},extendPrototype([RenderableElement,BaseElement,FrameElement],AudioElement),AudioElement.prototype.renderFrame=function(){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))},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(t){this.audio.rate(t)},AudioElement.prototype.volume=function(t){this._volumeMultiplier=t,this._previousVolume=t*this._volume,this.audio.volume(this._previousVolume)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){},BaseRenderer.prototype.checkLayers=function(t){var e,r,i=this.layers.length;for(this.completeLayers=!0,e=i-1;e>=0;e-=1)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;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(t){switch(t.ty){case 2:return this.createImage(t);case 0:return this.createComp(t);case 1:return this.createSolid(t);case 3:default:return this.createNull(t);case 4:return this.createShape(t);case 5:return this.createText(t);case 6:return this.createAudio(t);case 13:return this.createCamera(t);case 15:return this.createFootage(t)}},BaseRenderer.prototype.createCamera=function(){throw new Error(\"You're using a 3d camera. Try the html renderer.\")},BaseRenderer.prototype.createAudio=function(t){return new AudioElement(t,this.globalData,this)},BaseRenderer.prototype.createFootage=function(t){return new FootageElement(t,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var t,e=this.layers.length;for(t=0;t1&&(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){var n=\"\";r.elem&&(e.c&&(n=t.inv?this.solidPath+s:s),r.elem.setAttribute(\"d\",n)),r.lastPath=s}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var t={createFilter:function(t,e){var r=createNS(\"filter\");return 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%\")),r},createAlphaToLuminanceFilter:function(){var t=createNS(\"feColorMatrix\");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}};return t}(),featureSupport=function(){var t={maskType:!0};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}(),registeredEffects={},idPrefix=\"filter_result_\";function SVGEffects(t){var e,r,i=\"SourceGraphic\",a=t.data.ef?t.data.ef.length:0,s=createElementID(),n=filtersFactory.createFilter(s,!0),o=0;for(this.filters=[],e=0;e=0&&!this.shapeModifiers[t].processShapes(this._isFirstFrame);t-=1);}},searchProcessedElement:function(t){for(var e=this.processedElements,r=0,i=e.length;r.01)return!1;r+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!=this.c.length/4)return!1;if(this.data.k.k[0].s)for(var t=0,e=this.data.k.k.length;t0;)h=i.transformers[u].mProps._mdf||h,m-=1,u-=1;if(h)for(m=g-i.styles[p].lvl,u=i.transformers.length-1;m>0;)d=i.transformers[u].mProps.v.props,f.transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8],d[9],d[10],d[11],d[12],d[13],d[14],d[15]),m-=1,u-=1}else f=t;if(n=(c=i.sh.paths)._length,h){for(o=\"\",s=0;s=1?v=.99:v<=-1&&(v=-.99);var b=o*v,_=Math.cos(g+e.a.v)*b+p[0],P=Math.sin(g+e.a.v)*b+p[1];h.setAttribute(\"fx\",_),h.setAttribute(\"fy\",P),l&&!e.g._collapsable&&(e.of.setAttribute(\"fx\",_),e.of.setAttribute(\"fy\",P))}}function h(t,e,r){var i=e.style,a=e.d;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))}return{createRenderFunction:function(t){switch(t.ty){case\"fl\":return s;case\"gf\":return o;case\"gs\":return n;case\"st\":return h;case\"sh\":case\"el\":case\"rc\":case\"sr\":return a;case\"tr\":return r;case\"no\":return i;default:return null}}}}();function SVGShapeElement(t,e,r){this.shapes=[],this.shapesData=t.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(t,e,r),this.prevViewData=[]}function LetterProps(t,e,r,i,a,s){this.o=t,this.sw=e,this.sc=r,this.fc=i,this.m=a,this.p=s,this._mdf={o:!0,sw:!!e,sc:!!r,fc:!!i,m:!0,p:!0}}function TextProperty(t,e){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={ascent:0,boxWidth:this.defaultBoxWidth,f:\"\",fStyle:\"\",fWeight:\"\",fc:\"\",j:\"\",justifyOffset:\"\",l:[],lh:0,lineWidths:[],ls:\"\",of:\"\",s:\"\",sc:\"\",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),this.searchProperty()||this.completeTextData(this.currentData)}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(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var t,e,r,i,a=this.shapes.length,s=this.stylesList.length,n=[],o=!1;for(r=0;r1&&o&&this.setShapesAsAnimated(n)}},SVGShapeElement.prototype.setShapesAsAnimated=function(t){var e,r=t.length;for(e=0;e=0;o-=1){if((f=this.searchProcessedElement(t[o]))?e[o]=r[f-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)f?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){if(f)for(l=e[o].it.length,h=0;h1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(t){this.effectsSequence.push(t),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(t){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length||t){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var e=this.currentData,r=this.keysIndex;if(this.lock)this.setCurrentData(this.currentData);else{var i;this.lock=!0,this._mdf=!1;var a=this.effectsSequence.length,s=t||this.data.d.k[this.keysIndex].s;for(i=0;ie);)r+=1;return this.keysIndex!==r&&(this.keysIndex=r),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(t){for(var e,r,i=[],a=0,s=t.length,n=!1;a=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;return i},TextProperty.prototype.completeTextData=function(t){t.__complete=!0;var e,r,i,a,s,n,o,h=this.elem.globalData.fontManager,l=this.data,p=[],c=0,f=l.m.g,d=0,m=0,u=0,y=[],g=0,v=0,b=h.getFontByName(t.f),_=0,P=getFontProperties(b);t.fWeight=P.weight,t.fStyle=P.style,t.finalSize=t.s,t.finalText=this.buildFinalText(t.t),r=t.finalText.length,t.finalLineHeight=t.lh;var E,S=t.tr/1e3*t.finalSize;if(t.sz)for(var x,A,w=!0,C=t.sz[0],k=t.sz[1];w;){x=0,g=0,r=(A=this.buildFinalText(t.t)).length,S=t.tr/1e3*t.finalSize;var T=-1;for(e=0;eC&&\" \"!==A[e]?(-1===T?r+=1:e=T,x+=t.finalLineHeight||1.2*t.finalSize,A.splice(e,T===e?1:0,\"\\r\"),T=-1,g=0):(g+=_,g+=S);x+=b.ascent*t.finalSize/100,this.canResize&&t.finalSize>this.minimumFontSize&&kv?g:v,g=-2*S,a=\"\",i=!0,u+=1):a=D,h.chars?(o=h.getCharData(D,b.fStyle,h.getFontByName(t.f).fFamily),_=i?0:o.w*t.finalSize/100):_=h.measureText(a,t.f,t.finalSize),\" \"===D?M+=_+S:(g+=_+S+M,M=0),p.push({l:_,an:_,add:d,n:i,anIndexes:[],val:a,line:u,animatorJustifyOffset:0}),2==f){if(d+=_,\"\"===a||\" \"===a||e===r-1){for(\"\"!==a&&\" \"!==a||(d-=_);m<=e;)p[m].an=d,p[m].ind=c,p[m].extra=_,m+=1;c+=1,d=0}}else if(3==f){if(d+=_,\"\"===a||e===r-1){for(\"\"===a&&(d-=_);m<=e;)p[m].an=d,p[m].ind=c,p[m].extra=_,m+=1;d=0,c+=1}}else p[c].ind=c,p[c].extra=0,c+=1;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){case 1:t.justifyOffset=-t.boxWidth;break;case 2:t.justifyOffset=-t.boxWidth/2;break;default:t.justifyOffset=0}t.lineWidths=y;var F,I,R,B,V=l.a;n=V.length;var L=[];for(s=0;s0?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;var h=BezierFactory.getBezierEasing(a,s,n,o).get,l=0,p=this.finalS,c=this.finalE,f=this.data.sh;if(2===f)l=h(l=c===p?i>=c?1:0:t(0,e(.5/(c-p)+(i-p)/(c-p),1)));else if(3===f)l=h(l=c===p?i>=c?0:1:1-t(0,e(.5/(c-p)+(i-p)/(c-p),1)));else if(4===f)c===p?l=0:(l=t(0,e(.5/(c-p)+(i-p)/(c-p),1)))<.5?l*=2:l=1-2*(l-.5),l=h(l);else if(5===f){if(c===p)l=0;else{var d=c-p,m=-d/2+(i=e(t(0,i+.5-p),c-p)),u=d/2;l=Math.sqrt(1-m*m/(u*u))}l=h(l)}else 6===f?(c===p?l=0:(i=e(t(0,i+.5-p),c-p),l=(1+Math.cos(Math.PI+2*Math.PI*i/(c-p)))/2),l=h(l)):(i>=r(p)&&(l=t(0,e(i-p<0?e(c,1)-(p-i):c-i,1))),l=h(l));if(100!==this.sm.v){var y=.01*this.sm.v;0===y&&(y=1e-8);var g=.5-.5*y;l1&&(l=1)}return l*this.a.v},getValue:function(t){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);var e=2===this.data.r?1:100/this.data.totalChars,r=this.o.v/e,i=this.s.v/e+r,a=this.e.v/e+r;if(i>a){var s=i;i=a,a=s}this.finalS=i,this.finalE=a}},extendPrototype([DynamicPropertyContainer],i),{getTextSelectorProp:function(t,e,r){return new i(t,e,r)}}}();function TextAnimatorDataProperty(t,e,r){var i={propType:!1},a=PropertyFactory.getProp,s=e.a;this.a={r:s.r?a(t,s.r,0,degToRads,r):i,rx:s.rx?a(t,s.rx,0,degToRads,r):i,ry:s.ry?a(t,s.ry,0,degToRads,r):i,sk:s.sk?a(t,s.sk,0,degToRads,r):i,sa:s.sa?a(t,s.sa,0,degToRads,r):i,s:s.s?a(t,s.s,1,.01,r):i,a:s.a?a(t,s.a,1,0,r):i,o:s.o?a(t,s.o,0,.01,r):i,p:s.p?a(t,s.p,1,0,r):i,sw:s.sw?a(t,s.sw,0,0,r):i,sc:s.sc?a(t,s.sc,1,0,r):i,fc:s.fc?a(t,s.fc,1,0,r):i,fh:s.fh?a(t,s.fh,0,0,r):i,fs:s.fs?a(t,s.fs,0,.01,r):i,fb:s.fb?a(t,s.fb,0,.01,r):i,t:s.t?a(t,s.t,0,0,r):i},this.s=TextSelectorProp.getTextSelectorProp(t,e.s,r),this.s.t=e.s.t}function TextAnimatorProperty(t,e,r){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={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(r)}function ITextElement(){}TextAnimatorProperty.prototype.searchProperties=function(){var t,e,r=this._textData.a.length,i=PropertyFactory.getProp;for(t=0;t=o+ot||!m?(v=(o+ot-l)/h.partialLength,O=d.point[0]+(h.point[0]-d.point[0])*v,$=d.point[1]+(h.point[1]-d.point[1])*v,x.translate(-P[0]*C[a].an*.005,-P[1]*B*.01),p=!1):m&&(l+=h.partialLength,(c+=1)>=m.length&&(c=0,u[f+=1]?m=u[f].points:_.v.c?(c=0,m=u[f=0].points):(l-=h.partialLength,m=null)),m&&(d=h,y=(h=m[c]).partialLength));L=C[a].an/2-C[a].add,x.translate(-L,0,0)}else L=C[a].an/2-C[a].add,x.translate(-L,0,0),x.translate(-P[0]*C[a].an*.005,-P[1]*B*.01,0);for(M=0;Mt?this.textSpans[t].span:createNS(h?\"g\":\"text\"),y<=t){if(n.setAttribute(\"stroke-linecap\",\"butt\"),n.setAttribute(\"stroke-linejoin\",\"round\"),n.setAttribute(\"stroke-miterlimit\",\"4\"),this.textSpans[t].span=n,h){var g=createNS(\"g\");n.appendChild(g),this.textSpans[t].childSpan=g}this.textSpans[t].span=n,this.layerElement.appendChild(n)}n.style.display=\"inherit\"}if(l.reset(),p&&(o[t].n&&(c=-m,f+=r.yOffset,f+=d?1:0,d=!1),this.applyTextPropertiesToMatrix(r,l,o[t].line,c,f),c+=o[t].l||0,c+=m),h){var v;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{var b=emptyShapeData;u.data&&u.data.shapes&&(b=this.buildShapeData(u.data,r.finalSize)),v=new SVGShapeElement(b,this.globalData,this)}if(this.textSpans[t].glyph){var _=this.textSpans[t].glyph;this.textSpans[t].childSpan.removeChild(_.layerElement),_.destroy()}this.textSpans[t].glyph=v,v._debug=!0,v.prepareFrame(0),v.renderFrame(),this.textSpans[t].childSpan.appendChild(v.layerElement),1===u.t&&this.textSpans[t].childSpan.setAttribute(\"transform\",\"scale(\"+r.finalSize/100+\",\"+r.finalSize/100+\")\")}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\")}p&&n&&n.setAttribute(\"d\",\"\")}else{var P=this.textContainer,E=\"start\";switch(r.j){case 1:E=\"end\";break;case 2:E=\"middle\";break;default:E=\"start\"}P.setAttribute(\"text-anchor\",E),P.setAttribute(\"letter-spacing\",m);var S=this.buildTextContents(r.finalText);for(e=S.length,f=r.ps?r.ps[1]+r.ascent:0,t=0;t=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].prepareFrame(t-this.layers[e].st);if(this.globalData._mdf)for(e=0;e=0;r-=1)(this.completeLayers||this.elements[r])&&(this.elements[r].prepareFrame(this.renderedFrame-this.layers[r].st),this.elements[r]._mdf&&(this._mdf=!0))}},ICompElement.prototype.renderInnerContent=function(){var t,e=this.layers.length;for(t=0;t=0;i-=1)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]);t._mdf=s},processSequences:function(t){var e,r=this.sequenceList.length;for(e=0;e=0;s-=1){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],m),f.push(e[s].style);else if(\"gr\"===t[s].ty){if(h)for(o=e[s].it.length,n=0;n=0;a-=1)\"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;i&&this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(t,e){if(this._isFirstFrame||e._mdf||t.transforms._mdf){var r,i,a,s=t.trNodes,n=e.paths,o=n._length;s.length=0;var h=t.transforms.finalTransform;for(a=0;a=1?c=.99:c<=-1&&(c=-.99);var f=l*c,d=Math.cos(p+e.a.v)*f+o[0],m=Math.sin(p+e.a.v)*f+o[1];i=n.createRadialGradient(d,m,0,o[0],o[1],l)}var u=t.g.p,y=e.g.c,g=1;for(s=0;so&&\"xMidYMid slice\"===h||nr&&\"meet\"===s||ir&&\"slice\"===s)?(t-this.transformCanvas.w*(e/this.transformCanvas.h))/2*this.renderConfig.dpr:\"xMax\"===o&&(ir&&\"slice\"===s)?(t-this.transformCanvas.w*(e/this.transformCanvas.h))*this.renderConfig.dpr:0,this.transformCanvas.ty=\"YMid\"===h&&(i>r&&\"meet\"===s||ir&&\"meet\"===s||i=0;t-=1)this.elements[t]&&this.elements[t].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRendererBase.prototype.renderFrame=function(t,e){if((this.renderedFrame!==t||!0!==this.renderConfig.clearCanvas||e)&&!this.destroyed&&-1!==t){var r;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;var i=this.layers.length;for(this.completeLayers||this.checkLayers(t),r=0;r=0;r-=1)(this.completeLayers||this.elements[r])&&this.elements[r].renderFrame();!0!==this.renderConfig.clearCanvas&&this.restore()}}},CanvasRendererBase.prototype.buildItem=function(t){var e=this.elements;if(!e[t]&&99!==this.layers[t].ty){var r=this.createItem(this.layers[t],this,this.globalData);e[t]=r,r.initExpressions()}},CanvasRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;)this.pendingElements.pop().checkParenting()},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display=\"none\"},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display=\"block\"},extendPrototype([CanvasRendererBase,ICompElement,CVBaseElement],CVCompElement),CVCompElement.prototype.renderInnerContent=function(){var t,e=this.canvasContext;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)(this.completeLayers||this.elements[t])&&this.elements[t].renderFrame()},CVCompElement.prototype.destroy=function(){var t;for(t=this.layers.length-1;t>=0;t-=1)this.elements[t]&&this.elements[t].destroy();this.layers=null,this.elements=null},CVCompElement.prototype.createComp=function(t){return new CVCompElement(t,this.globalData,this)},extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(t){return new CVCompElement(t,this.globalData,this)},HBaseElement.prototype={checkBlendMode:function(){},initRendererElement:function(){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)},createContainerElements:function(){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()},renderElement:function(){var t=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var e=this.finalTransform.mat.toCSS();t.transform=e,t.webkitTransform=e}this.finalTransform._opMdf&&(t.opacity=this.finalTransform.mProp.o.v)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},destroy:function(){this.layerElement=null,this.transformedElement=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData)},addEffects:function(){},setMatte:function(){}},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(){var t;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)},extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var t;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),t=this.svgElement;else{t=createNS(\"svg\");var e=this.comp.data?this.comp.data:this.globalData.compSize;t.setAttribute(\"width\",e.w),t.setAttribute(\"height\",e.h),t.appendChild(this.shapesContainer),this.layerElement.appendChild(t)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=t},HShapeElement.prototype.getTransformedPoint=function(t,e){var r,i=t.length;for(r=0;r0&&o<1&&c[f].push(this.calculateF(o,t,e,r,i,f)):(h=s*s-4*n*a)>=0&&((l=(-s+bmSqrt(h))/(2*a))>0&&l<1&&c[f].push(this.calculateF(l,t,e,r,i,f)),(p=(-s-bmSqrt(h))/(2*a))>0&&p<1&&c[f].push(this.calculateF(p,t,e,r,i,f))));this.shapeBoundingBox.left=bmMin.apply(null,c[0]),this.shapeBoundingBox.top=bmMin.apply(null,c[1]),this.shapeBoundingBox.right=bmMax.apply(null,c[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,c[1])},HShapeElement.prototype.calculateF=function(t,e,r,i,a,s){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]},HShapeElement.prototype.calculateBoundingBox=function(t,e){var r,i=t.length;for(r=0;rr&&(r=a)}r*=t.mult}else r=t.v*t.mult;e.x-=r,e.xMax+=r,e.y-=r,e.yMax+=r},HShapeElement.prototype.currentBoxContains=function(t){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},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var t=this.tempBoundingBox,e=999999;if(t.x=e,t.xMax=-e,t.y=e,t.yMax=-e,this.calculateBoundingBox(this.itemsData,t),t.width=t.xMax=0;t-=1){var i=this.hierarchy[t].finalTransform.mProp;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])}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){var a;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]];var s=Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2)+Math.pow(a[2],2)),n=[a[0]/s,a[1]/s,a[2]/s],o=Math.sqrt(n[2]*n[2]+n[0]*n[0]),h=Math.atan2(n[1],o),l=Math.atan2(n[0],-n[2]);this.mat.rotateY(l).rotateX(-h)}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);var p=!this._prevMat.equals(this.mat);if((p||this.pe._mdf)&&this.comp.threeDElements){var c,f,d;for(e=this.comp.threeDElements.length,t=0;t=t)return this.threeDElements[e].perspectiveElem;e+=1}return null},HybridRendererBase.prototype.createThreeDContainer=function(t,e){var r,i,a=createTag(\"div\");styleDiv(a);var s=createTag(\"div\");if(styleDiv(s),\"3d\"===e){(r=a.style).width=this.globalData.compSize.w+\"px\",r.height=this.globalData.compSize.h+\"px\";var n=\"50% 50%\";r.webkitTransformOrigin=n,r.mozTransformOrigin=n,r.transformOrigin=n;var o=\"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";(i=s.style).transform=o,i.webkitTransform=o}a.appendChild(s);var h={container:s,perspectiveElem:a,startPos:t,endPos:t,type:e};return this.threeDElements.push(h),h},HybridRendererBase.prototype.build3dContainers=function(){var t,e,r=this.layers.length,i=\"\";for(t=0;t=0;t-=1)this.resizerElem.appendChild(this.threeDElements[t].perspectiveElem)},HybridRendererBase.prototype.addTo3dContainer=function(t,e){for(var r=0,i=this.threeDElements.length;rn?(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);var o=this.resizerElem.style;o.webkitTransform=\"matrix3d(\"+t+\",0,0,0,0,\"+e+\",0,0,0,0,1,0,\"+r+\",\"+i+\",0,1)\",o.transform=o.webkitTransform},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display=\"none\"},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display=\"block\"},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var t,e=this.globalData.compSize.w,r=this.globalData.compSize.h,i=this.threeDElements.length;for(t=0;t=n;)t/=2,e/=2,r>>>=1;return(t+r)/e};return v.int32=function(){return 0|g.g(4)},v.quick=function(){return g.g(4)/4294967296},v.double=v,c(f(g.S),t),(d.pass||m||function(t,r,i,a){return a&&(a.S&&l(a,g),t.state=function(){return l(g,{})}),i?(e.random=t,r):t})(v,y,\"global\"in d?d.global:this==e,d.state)},c(e.random(),t)}function initialize$2(t){seedRandom([],t)}var propTypes={SHAPE:\"shape\"};function _typeof(t){return _typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},_typeof(t)}var ExpressionManager=function(){var ob={},Math=BMMath,window=null,document=null,XMLHttpRequest=null,fetch=null,frames=null;function $bm_isInstanceOfArray(t){return t.constructor===Array||t.constructor===Float32Array}function isNumerable(t,e){return\"number\"===t||\"boolean\"===t||\"string\"===t||e instanceof Number}function $bm_neg(t){var e=_typeof(t);if(\"number\"===e||\"boolean\"===e||t instanceof Number)return-t;if($bm_isInstanceOfArray(t)){var r,i=t.length,a=[];for(r=0;rr){var i=r;r=e,e=i}return Math.min(Math.max(t,e),r)}function radiansToDegrees(t){return t/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(t){return t*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(t,e){if(\"number\"==typeof t||t instanceof Number)return e=e||0,Math.abs(t-e);var r;e||(e=helperLengthArray);var i=Math.min(t.length,e.length),a=0;for(r=0;r.5?l/(2-n-o):l/(n+o),n){case i:e=(a-s)/l+(a1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}function hslToRgb(t){var e,r,i,a=t[0],s=t[1],n=t[2];if(0===s)e=n,i=n,r=n;else{var o=n<.5?n*(1+s):n+s-n*s,h=2*n-o;e=hue2rgb(h,o,a+1/3),r=hue2rgb(h,o,a),i=hue2rgb(h,o,a-1/3)}return[e,r,i,t[3]]}function linear(t,e,r,i,a){if(void 0!==i&&void 0!==a||(i=e,a=r,e=0,r=1),r=r)return a;var n,o=r===e?0:(t-e)/(r-e);if(!i.length)return i+(a-i)*o;var h=i.length,l=createTypedArray(\"float32\",h);for(n=0;n1){for(i=0;i1?e=1:e<0&&(e=0);var n=t(e);if($bm_isInstanceOfArray(a)){var o,h=a.length,l=createTypedArray(\"float32\",h);for(o=0;odata.k[e].t&&tdata.k[e+1].t-t?(r=e+2,i=data.k[e+1].t):(r=e+1,i=data.k[e].t);break}}-1===r&&(r=e+1,i=data.k[e].t)}else r=0,i=0;var s={};return s.index=r,s.time=i/elem.comp.globalData.frameRate,s}function key(t){var e,r,i;if(!data.k.length||\"number\"==typeof data.k[0])throw new Error(\"The property has no keyframe at index \"+t);t-=1,e={time:data.k[t].t/elem.comp.globalData.frameRate,value:[]};var a=Object.prototype.hasOwnProperty.call(data.k[t],\"s\")?data.k[t].s:data.k[t-1].e;for(i=a.length,r=0;rl.length-1)&&(e=l.length-1),i=p-(a=l[l.length-1-e].t)),\"pingpong\"===t){if(Math.floor((h-a)/i)%2!=0)return this.getValueAtTime((i-(h-a)%i+a)/this.comp.globalData.frameRate,0)}else{if(\"offset\"===t){var c=this.getValueAtTime(a/this.comp.globalData.frameRate,0),f=this.getValueAtTime(p/this.comp.globalData.frameRate,0),d=this.getValueAtTime(((h-a)%i+a)/this.comp.globalData.frameRate,0),m=Math.floor((h-a)/i);if(this.pv.length){for(n=(o=new Array(c.length)).length,s=0;s=p)return this.pv;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){if(Math.floor((p-h)/i)%2==0)return this.getValueAtTime(((p-h)%i+p)/this.comp.globalData.frameRate,0)}else{if(\"offset\"===t){var c=this.getValueAtTime(p/this.comp.globalData.frameRate,0),f=this.getValueAtTime(a/this.comp.globalData.frameRate,0),d=this.getValueAtTime((i-(p-h)%i+p)/this.comp.globalData.frameRate,0),m=Math.floor((p-h)/i)+1;if(this.pv.length){for(n=(o=new Array(c.length)).length,s=0;s1?(a+t-s)/(e-1):1,o=0,h=0;for(r=this.pv.length?createTypedArray(\"float32\",this.pv.length):0;on){var p=o,c=r.c&&o===h-1?0:o+1,f=(n-l)/s[o].addedLength;i=bez.getPointInSegment(r.v[p],r.v[c],r.o[p],r.i[c],f,s[o]);break}l+=s[o].addedLength,o+=1}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},vectorOnPath:function(t,e,r){1==t?t=this.v.c:0==t&&(t=.999);var i=this.pointOnPath(t,e),a=this.pointOnPath(t+.001,e),s=a[0]-i[0],n=a[1]-i[1],o=Math.sqrt(Math.pow(s,2)+Math.pow(n,2));return 0===o?[0,0]:\"tangent\"===r?[s/o,n/o]:[-n/o,s/o]},tangentOnPath:function(t,e){return this.vectorOnPath(t,e,\"tangent\")},normalOnPath:function(t,e){return this.vectorOnPath(t,e,\"normal\")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([l],o),extendPrototype([l],h),h.prototype.getValueAtTime=function(t){return this._cachingAtTime||(this._cachingAtTime={shapeValue:shapePool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame}),t*=this.elem.globalData.frameRate,(t-=this.offsetTime)!==this._cachingAtTime.lastTime&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime=l?d<0?i:a:i+f*Math.pow((s-t)/d,1/r),p[c]=n,c+=1,o+=256/255;return p.join(\" \")},SVGProLevelsFilter.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){var e,r=this.filterManager.effectElements;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))}},extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){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){var e=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute(\"flood-color\",rgbToHex(Math.round(255*e[0]),Math.round(255*e[1]),Math.round(255*e[2])))}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){var r=this.filterManager.effectElements[3].p.v,i=(this.filterManager.effectElements[2].p.v-90)*degToRads,a=r*Math.cos(i),s=r*Math.sin(i);this.feOffset.setAttribute(\"dx\",a),this.feOffset.setAttribute(\"dy\",s)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(t,e,r){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}function SVGGaussianBlurEffect(t,e,r,i){t.setAttribute(\"x\",\"-100%\"),t.setAttribute(\"y\",\"-100%\"),t.setAttribute(\"width\",\"300%\"),t.setAttribute(\"height\",\"300%\"),this.filterManager=e;var a=createNS(\"feGaussianBlur\");a.setAttribute(\"result\",i),t.appendChild(a),this.feGaussianBlur=a}return SVGMatte3Effect.prototype.findSymbol=function(t){for(var e=0,r=_svgMatteSymbols.length;eObject.prototype.hasOwnProperty.call(t,e)))}function fromURL(t){return _fromURL.apply(this,arguments)}function _fromURL(){return(_fromURL=_asyncToGenerator((function*(t){if(\"string\"!=typeof t)throw new Error(\"The url value must be a string\");var e;try{var r=new URL(t),i=yield fetch(r.toString());e=yield i.json()}catch(t){throw new Error(\"An error occurred while trying to load the Lottie file from URL\")}return e}))).apply(this,arguments)}!function(t){t.Destroyed=\"destroyed\",t.Error=\"error\",t.Frozen=\"frozen\",t.Loading=\"loading\",t.Paused=\"paused\",t.Playing=\"playing\",t.Stopped=\"stopped\"}(PlayerState||(PlayerState={})),function(t){t.Bounce=\"bounce\",t.Normal=\"normal\"}(PlayMode||(PlayMode={})),function(t){t.Complete=\"complete\",t.Destroyed=\"destroyed\",t.Error=\"error\",t.Frame=\"frame\",t.Freeze=\"freeze\",t.Load=\"load\",t.Loop=\"loop\",t.Pause=\"pause\",t.Play=\"play\",t.Ready=\"ready\",t.Rendered=\"rendered\",t.Stop=\"stop\"}(PlayerEvents||(PlayerEvents={}));var LottiePlayer=class extends s{constructor(){super(...arguments),this.autoplay=!1,this.background=\"transparent\",this.controls=!1,this.currentState=PlayerState.Loading,this.description=\"Lottie animation\",this.direction=1,this.hover=!1,this.intermission=1,this.loop=!1,this.mode=PlayMode.Normal,this.preserveAspectRatio=\"xMidYMid meet\",this.renderer=\"svg\",this.speed=1,this._io=void 0,this._counter=1}load(t){var e=this;return _asyncToGenerator((function*(){if(e.shadowRoot){var r={container:e.container,loop:!1,autoplay:!1,renderer:e.renderer,rendererSettings:{preserveAspectRatio:e.preserveAspectRatio,clearCanvas:!1,progressiveLoad:!0,hideOnTransparent:!0}};try{var i=parseSrc(t),a={},s=\"string\"==typeof i?\"path\":\"animationData\";e._lottie&&e._lottie.destroy(),e.webworkers&&lottie$1.exports.useWebWorker(!0),e._lottie=lottie$1.exports.loadAnimation(Object.assign(Object.assign({},r),{[s]:i})),e._attachEventListeners(),\"path\"===s?(a=yield fromURL(i),s=\"animationData\"):a=i,isLottie(a)||(e.currentState=PlayerState.Error,e.dispatchEvent(new CustomEvent(PlayerEvents.Error)))}catch(t){e.currentState=PlayerState.Error,e.dispatchEvent(new CustomEvent(PlayerEvents.Error))}}}))()}getLottie(){return this._lottie}play(){this._lottie&&(this._lottie.play(),this.currentState=PlayerState.Playing,this.dispatchEvent(new CustomEvent(PlayerEvents.Play)))}pause(){this._lottie&&(this._lottie.pause(),this.currentState=PlayerState.Paused,this.dispatchEvent(new CustomEvent(PlayerEvents.Pause)))}stop(){this._lottie&&(this._counter=1,this._lottie.stop(),this.currentState=PlayerState.Stopped,this.dispatchEvent(new CustomEvent(PlayerEvents.Stop)))}destroy(){this._lottie&&(this._lottie.destroy(),this._lottie=null,this.currentState=PlayerState.Destroyed,this.dispatchEvent(new CustomEvent(PlayerEvents.Destroyed)),this.remove())}seek(t){if(this._lottie){var e=/^(\\d+)(%?)$/.exec(t.toString());if(e){var r=\"%\"===e[2]?this._lottie.totalFrames*Number(e[1])/100:Number(e[1]);this.seeker=r,this.currentState===PlayerState.Playing?this._lottie.goToAndPlay(r,!0):(this._lottie.goToAndStop(r,!0),this._lottie.pause())}}}snapshot(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(this.shadowRoot){var e=this.shadowRoot.querySelector(\".animation svg\"),r=(new XMLSerializer).serializeToString(e);if(t){var i=document.createElement(\"a\");i.href=\"data:image/svg+xml;charset=utf-8,\".concat(encodeURIComponent(r)),i.download=\"download_\".concat(this.seeker,\".svg\"),document.body.appendChild(i),i.click(),document.body.removeChild(i)}return r}}setSpeed(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this._lottie&&this._lottie.setSpeed(t)}setDirection(t){this._lottie&&this._lottie.setDirection(t)}setLooping(t){this._lottie&&(this.loop=t,this._lottie.loop=t)}togglePlay(){return this.currentState===PlayerState.Playing?this.pause():this.play()}toggleLooping(){this.setLooping(!this.loop)}resize(){this._lottie&&this._lottie.resize()}static get styles(){return styles}disconnectedCallback(){this.isConnected||(this._io&&(this._io.disconnect(),this._io=void 0),document.removeEventListener(\"visibilitychange\",(()=>this._onVisibilityChange())),this.destroy())}render(){var t=this.controls?\"main controls\":\"main\",e=this.controls?\"animation controls\":\"animation\";return $(_templateObject||(_templateObject=_taggedTemplateLiteral([' \\n \\n ',\"\\n \\n \",\"\\n \"])),t,this.description,e,this.background,this.currentState===PlayerState.Error?$(_templateObject2||(_templateObject2=_taggedTemplateLiteral(['
⚠️
']))):void 0,this.controls?this.renderControls():void 0)}firstUpdated(){\"IntersectionObserver\"in window&&(this._io=new IntersectionObserver((t=>{t[0].isIntersecting?this.currentState===PlayerState.Frozen&&this.play():this.currentState===PlayerState.Playing&&this.freeze()})),this._io.observe(this.container)),void 0!==document.hidden&&document.addEventListener(\"visibilitychange\",(()=>this._onVisibilityChange())),this.src&&this.load(this.src),this.dispatchEvent(new CustomEvent(PlayerEvents.Rendered))}renderControls(){var t=this.currentState===PlayerState.Playing,e=this.currentState===PlayerState.Paused,r=this.currentState===PlayerState.Stopped;return $(_templateObject3||(_templateObject3=_taggedTemplateLiteral(['\\n \\n \\n ','\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n '])),this.togglePlay,t||e?\"active\":\"\",$(t?_templateObject4||(_templateObject4=_taggedTemplateLiteral(['\\n \\n '])):_templateObject5||(_templateObject5=_taggedTemplateLiteral(['\\n \\n ']))),this.stop,r?\"active\":\"\",this.seeker,this._handleSeekChange,(()=>{this._prevState=this.currentState,this.freeze()}),(()=>{this._prevState===PlayerState.Playing&&this.play()}),this.seeker,this.toggleLooping,this.loop?\"active\":\"\")}_onVisibilityChange(){!0===document.hidden&&this.currentState===PlayerState.Playing?this.freeze():this.currentState===PlayerState.Frozen&&this.play()}_handleSeekChange(t){if(this._lottie&&!isNaN(t.target.value)){var e=t.target.value/100*this._lottie.totalFrames;this.seek(e)}}_attachEventListeners(){this._lottie.addEventListener(\"enterFrame\",(()=>{this.seeker=this._lottie.currentFrame/this._lottie.totalFrames*100,this.dispatchEvent(new CustomEvent(PlayerEvents.Frame,{detail:{frame:this._lottie.currentFrame,seeker:this.seeker}}))})),this._lottie.addEventListener(\"complete\",(()=>{if(this.currentState===PlayerState.Playing){if(!this.loop||this.count&&this._counter>=this.count){if(this.dispatchEvent(new CustomEvent(PlayerEvents.Complete)),this.mode!==PlayMode.Bounce)return;if(0===this._lottie.currentFrame)return}this.mode===PlayMode.Bounce?(this.count&&(this._counter+=.5),setTimeout((()=>{this.dispatchEvent(new CustomEvent(PlayerEvents.Loop)),this.currentState===PlayerState.Playing&&(this._lottie.setDirection(-1*this._lottie.playDirection),this._lottie.play())}),this.intermission)):(this.count&&(this._counter+=1),window.setTimeout((()=>{this.dispatchEvent(new CustomEvent(PlayerEvents.Loop)),this.currentState===PlayerState.Playing&&(-1===this.direction?(this.seek(\"99%\"),this.play()):(this._lottie.stop(),this._lottie.play()))}),this.intermission))}else this.dispatchEvent(new CustomEvent(PlayerEvents.Complete))})),this._lottie.addEventListener(\"DOMLoaded\",(()=>{this.setSpeed(this.speed),this.setDirection(this.direction),this.autoplay&&(-1===this.direction&&this.seek(\"100%\"),this.play()),this.dispatchEvent(new CustomEvent(PlayerEvents.Ready))})),this._lottie.addEventListener(\"data_ready\",(()=>{this.dispatchEvent(new CustomEvent(PlayerEvents.Load))})),this._lottie.addEventListener(\"data_failed\",(()=>{this.currentState=PlayerState.Error,this.dispatchEvent(new CustomEvent(PlayerEvents.Error))})),this.container.addEventListener(\"mouseenter\",(()=>{this.hover&&this.currentState!==PlayerState.Playing&&this.play()})),this.container.addEventListener(\"mouseleave\",(()=>{this.hover&&this.currentState===PlayerState.Playing&&this.stop()}))}freeze(){this._lottie&&(this._lottie.pause(),this.currentState=PlayerState.Frozen,this.dispatchEvent(new CustomEvent(PlayerEvents.Freeze)))}};__decorate([e$5({type:Boolean})],LottiePlayer.prototype,\"autoplay\",void 0),__decorate([e$5({type:String,reflect:!0})],LottiePlayer.prototype,\"background\",void 0),__decorate([e$5({type:Boolean})],LottiePlayer.prototype,\"controls\",void 0),__decorate([e$5({type:Number})],LottiePlayer.prototype,\"count\",void 0),__decorate([e$5({type:String})],LottiePlayer.prototype,\"currentState\",void 0),__decorate([e$5({type:String})],LottiePlayer.prototype,\"description\",void 0),__decorate([e$5({type:Number})],LottiePlayer.prototype,\"direction\",void 0),__decorate([e$5({type:Boolean})],LottiePlayer.prototype,\"hover\",void 0),__decorate([e$5()],LottiePlayer.prototype,\"intermission\",void 0),__decorate([e$5({type:Boolean,reflect:!0})],LottiePlayer.prototype,\"loop\",void 0),__decorate([e$5()],LottiePlayer.prototype,\"mode\",void 0),__decorate([e$5({type:String})],LottiePlayer.prototype,\"preserveAspectRatio\",void 0),__decorate([e$5({type:String})],LottiePlayer.prototype,\"renderer\",void 0),__decorate([e$5()],LottiePlayer.prototype,\"seeker\",void 0),__decorate([e$5({type:Number})],LottiePlayer.prototype,\"speed\",void 0),__decorate([e$5({type:String})],LottiePlayer.prototype,\"src\",void 0),__decorate([e$5({type:Boolean})],LottiePlayer.prototype,\"webworkers\",void 0),__decorate([i(\".animation\")],LottiePlayer.prototype,\"container\",void 0),LottiePlayer=__decorate([n$1(\"lottie-player\")],LottiePlayer);export{LottiePlayer,PlayMode,PlayerEvents,PlayerState,parseSrc};\n//# sourceMappingURL=lottie-player.esm.js.map\n","(typeof navigator !== \"undefined\") && (function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lottie = factory());\n})(this, (function () { 'use strict';\n\n var svgNS = 'http://www.w3.org/2000/svg';\n var locationHref = '';\n var _useWebWorker = false;\n var initialDefaultFrame = -999999;\n\n var setWebWorker = function setWebWorker(flag) {\n _useWebWorker = !!flag;\n };\n\n var getWebWorker = function getWebWorker() {\n return _useWebWorker;\n };\n\n var setLocationHref = function setLocationHref(value) {\n locationHref = value;\n };\n\n var getLocationHref = function getLocationHref() {\n return locationHref;\n };\n\n function createTag(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElement(type);\n }\n\n function extendPrototype(sources, destination) {\n var i;\n var len = sources.length;\n var sourcePrototype;\n\n for (i = 0; i < len; i += 1) {\n sourcePrototype = sources[i].prototype;\n\n for (var attr in sourcePrototype) {\n if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n }\n }\n }\n\n function getDescriptor(object, prop) {\n return Object.getOwnPropertyDescriptor(object, prop);\n }\n\n function createProxyFunction(prototype) {\n function ProxyFunction() {}\n\n ProxyFunction.prototype = prototype;\n return ProxyFunction;\n }\n\n // import Howl from '../../3rd_party/howler';\n var audioControllerFactory = function () {\n function AudioController(audioFactory) {\n this.audios = [];\n this.audioFactory = audioFactory;\n this._volume = 1;\n this._isMuted = false;\n }\n\n AudioController.prototype = {\n addAudio: function addAudio(audio) {\n this.audios.push(audio);\n },\n pause: function pause() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].pause();\n }\n },\n resume: function resume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].resume();\n }\n },\n setRate: function setRate(rateValue) {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].setRate(rateValue);\n }\n },\n createAudio: function createAudio(assetPath) {\n if (this.audioFactory) {\n return this.audioFactory(assetPath);\n }\n\n if (window.Howl) {\n return new window.Howl({\n src: [assetPath]\n });\n }\n\n return {\n isPlaying: false,\n play: function play() {\n this.isPlaying = true;\n },\n seek: function seek() {\n this.isPlaying = false;\n },\n playing: function playing() {},\n rate: function rate() {},\n setVolume: function setVolume() {}\n };\n },\n setAudioFactory: function setAudioFactory(audioFactory) {\n this.audioFactory = audioFactory;\n },\n setVolume: function setVolume(value) {\n this._volume = value;\n\n this._updateVolume();\n },\n mute: function mute() {\n this._isMuted = true;\n\n this._updateVolume();\n },\n unmute: function unmute() {\n this._isMuted = false;\n\n this._updateVolume();\n },\n getVolume: function getVolume() {\n return this._volume;\n },\n _updateVolume: function _updateVolume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].volume(this._volume * (this._isMuted ? 0 : 1));\n }\n }\n };\n return function () {\n return new AudioController();\n };\n }();\n\n var createTypedArray = function () {\n function createRegularArray(type, len) {\n var i = 0;\n var arr = [];\n var value;\n\n switch (type) {\n case 'int16':\n case 'uint8c':\n value = 1;\n break;\n\n default:\n value = 1.1;\n break;\n }\n\n for (i = 0; i < len; i += 1) {\n arr.push(value);\n }\n\n return arr;\n }\n\n function createTypedArrayFactory(type, len) {\n if (type === 'float32') {\n return new Float32Array(len);\n }\n\n if (type === 'int16') {\n return new Int16Array(len);\n }\n\n if (type === 'uint8c') {\n return new Uint8ClampedArray(len);\n }\n\n return createRegularArray(type, len);\n }\n\n if (typeof Uint8ClampedArray === 'function' && typeof Float32Array === 'function') {\n return createTypedArrayFactory;\n }\n\n return createRegularArray;\n }();\n\n function createSizedArray(len) {\n return Array.apply(null, {\n length: len\n });\n }\n\n function _typeof$6(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$6 = function _typeof(obj) { return typeof obj; }; } else { _typeof$6 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$6(obj); }\n var subframeEnabled = true;\n var expressionsPlugin = null;\n var idPrefix$1 = '';\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n var _shouldRoundValues = false;\n var bmPow = Math.pow;\n var bmSqrt = Math.sqrt;\n var bmFloor = Math.floor;\n var bmMax = Math.max;\n var bmMin = Math.min;\n var BMMath = {};\n\n (function () {\n var propertyNames = ['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 var i;\n var len = propertyNames.length;\n\n for (i = 0; i < len; i += 1) {\n BMMath[propertyNames[i]] = Math[propertyNames[i]];\n }\n })();\n\n function ProjectInterface$1() {\n return {};\n }\n\n BMMath.random = Math.random;\n\n BMMath.abs = function (val) {\n var tOfVal = _typeof$6(val);\n\n if (tOfVal === 'object' && val.length) {\n var absArr = createSizedArray(val.length);\n var i;\n var len = val.length;\n\n for (i = 0; i < len; i += 1) {\n absArr[i] = Math.abs(val[i]);\n }\n\n return absArr;\n }\n\n return Math.abs(val);\n };\n\n var defaultCurveSegments = 150;\n var degToRads = Math.PI / 180;\n var roundCorner = 0.5519;\n\n function roundValues(flag) {\n _shouldRoundValues = !!flag;\n }\n\n function bmRnd(value) {\n if (_shouldRoundValues) {\n return Math.round(value);\n }\n\n return value;\n }\n\n function styleDiv(element) {\n element.style.position = 'absolute';\n element.style.top = 0;\n element.style.left = 0;\n element.style.display = 'block';\n element.style.transformOrigin = '0 0';\n element.style.webkitTransformOrigin = '0 0';\n element.style.backfaceVisibility = 'visible';\n element.style.webkitBackfaceVisibility = 'visible';\n element.style.transformStyle = 'preserve-3d';\n element.style.webkitTransformStyle = 'preserve-3d';\n element.style.mozTransformStyle = 'preserve-3d';\n }\n\n function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n this.type = type;\n this.currentTime = currentTime;\n this.totalTime = totalTime;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteEvent(type, frameMultiplier) {\n this.type = type;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n this.type = type;\n this.currentLoop = currentLoop;\n this.totalLoops = totalLoops;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n this.type = type;\n this.firstFrame = firstFrame;\n this.totalFrames = totalFrames;\n }\n\n function BMDestroyEvent(type, target) {\n this.type = type;\n this.target = target;\n }\n\n function BMRenderFrameErrorEvent(nativeError, currentTime) {\n this.type = 'renderFrameError';\n this.nativeError = nativeError;\n this.currentTime = currentTime;\n }\n\n function BMConfigErrorEvent(nativeError) {\n this.type = 'configError';\n this.nativeError = nativeError;\n }\n\n function BMAnimationConfigErrorEvent(type, nativeError) {\n this.type = type;\n this.nativeError = nativeError;\n }\n\n var createElementID = function () {\n var _count = 0;\n return function createID() {\n _count += 1;\n return idPrefix$1 + '__lottie_element_' + _count;\n };\n }();\n\n function HSVtoRGB(h, s, v) {\n var r;\n var g;\n var b;\n var i;\n var f;\n var p;\n var q;\n var t;\n i = Math.floor(h * 6);\n f = h * 6 - i;\n p = v * (1 - s);\n q = v * (1 - f * s);\n t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n\n case 5:\n r = v;\n g = p;\n b = q;\n break;\n\n default:\n break;\n }\n\n return [r, g, b];\n }\n\n function RGBtoHSV(r, g, b) {\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var d = max - min;\n var h;\n var s = max === 0 ? 0 : d / max;\n var v = max / 255;\n\n switch (max) {\n case min:\n h = 0;\n break;\n\n case r:\n h = g - b + d * (g < b ? 6 : 0);\n h /= 6 * d;\n break;\n\n case g:\n h = b - r + d * 2;\n h /= 6 * d;\n break;\n\n case b:\n h = r - g + d * 4;\n h /= 6 * d;\n break;\n\n default:\n break;\n }\n\n return [h, s, v];\n }\n\n function addSaturationToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[1] += offset;\n\n if (hsv[1] > 1) {\n hsv[1] = 1;\n } else if (hsv[1] <= 0) {\n hsv[1] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addBrightnessToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[2] += offset;\n\n if (hsv[2] > 1) {\n hsv[2] = 1;\n } else if (hsv[2] < 0) {\n hsv[2] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addHueToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[0] += offset / 360;\n\n if (hsv[0] > 1) {\n hsv[0] -= 1;\n } else if (hsv[0] < 0) {\n hsv[0] += 1;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n var rgbToHex = function () {\n var colorMap = [];\n var i;\n var hex;\n\n for (i = 0; i < 256; i += 1) {\n hex = i.toString(16);\n colorMap[i] = hex.length === 1 ? '0' + hex : hex;\n }\n\n return function (r, g, b) {\n if (r < 0) {\n r = 0;\n }\n\n if (g < 0) {\n g = 0;\n }\n\n if (b < 0) {\n b = 0;\n }\n\n return '#' + colorMap[r] + colorMap[g] + colorMap[b];\n };\n }();\n\n var setSubframeEnabled = function setSubframeEnabled(flag) {\n subframeEnabled = !!flag;\n };\n\n var getSubframeEnabled = function getSubframeEnabled() {\n return subframeEnabled;\n };\n\n var setExpressionsPlugin = function setExpressionsPlugin(value) {\n expressionsPlugin = value;\n };\n\n var getExpressionsPlugin = function getExpressionsPlugin() {\n return expressionsPlugin;\n };\n\n var setDefaultCurveSegments = function setDefaultCurveSegments(value) {\n defaultCurveSegments = value;\n };\n\n var getDefaultCurveSegments = function getDefaultCurveSegments() {\n return defaultCurveSegments;\n };\n\n var setIdPrefix = function setIdPrefix(value) {\n idPrefix$1 = value;\n };\n\n var getIdPrefix = function getIdPrefix() {\n return idPrefix$1;\n };\n\n function createNS(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElementNS(svgNS, type);\n }\n\n function _typeof$5(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$5 = function _typeof(obj) { return typeof obj; }; } else { _typeof$5 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$5(obj); }\n\n var dataManager = function () {\n var _counterId = 1;\n var processes = [];\n var workerFn;\n var workerInstance;\n var workerProxy = {\n onmessage: function onmessage() {},\n postMessage: function postMessage(path) {\n workerFn({\n data: path\n });\n }\n };\n var _workerSelf = {\n postMessage: function postMessage(data) {\n workerProxy.onmessage({\n data: data\n });\n }\n };\n\n function createWorker(fn) {\n if (window.Worker && window.Blob && getWebWorker()) {\n var blob = new Blob(['var _workerSelf = self; self.onmessage = ', fn.toString()], {\n type: 'text/javascript'\n }); // var blob = new Blob(['self.onmessage = ', fn.toString()], { type: 'text/javascript' });\n\n var url = URL.createObjectURL(blob);\n return new Worker(url);\n }\n\n workerFn = fn;\n return workerProxy;\n }\n\n function setupWorker() {\n if (!workerInstance) {\n workerInstance = createWorker(function workerStart(e) {\n function dataFunctionManager() {\n function completeLayers(layers, comps) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if ('ks' in layerData && !layerData.completed) {\n layerData.completed = true;\n\n if (layerData.tt) {\n layers[i - 1].td = layerData.tt;\n }\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k);\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n }\n\n if (maskProps[j].pt.k[k].e) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n }\n }\n }\n }\n }\n\n if (layerData.ty === 0) {\n layerData.layers = findCompLayers(layerData.refId, comps);\n completeLayers(layerData.layers, comps);\n } else if (layerData.ty === 4) {\n completeShapes(layerData.shapes);\n } else if (layerData.ty === 5) {\n completeText(layerData);\n }\n }\n }\n }\n\n function completeChars(chars, assets) {\n if (chars) {\n var i = 0;\n var len = chars.length;\n\n for (i = 0; i < len; i += 1) {\n if (chars[i].t === 1) {\n // var compData = findComp(chars[i].data.refId, assets);\n chars[i].data.layers = findCompLayers(chars[i].data.refId, assets); // chars[i].data.ip = 0;\n // chars[i].data.op = 99999;\n // chars[i].data.st = 0;\n // chars[i].data.sr = 1;\n // chars[i].w = compData.w;\n // chars[i].data.ks = {\n // a: { k: [0, 0, 0], a: 0 },\n // p: { k: [0, -compData.h, 0], a: 0 },\n // r: { k: 0, a: 0 },\n // s: { k: [100, 100], a: 0 },\n // o: { k: 100, a: 0 },\n // };\n\n completeLayers(chars[i].data.layers, assets);\n }\n }\n }\n }\n\n function findComp(id, comps) {\n var i = 0;\n var len = comps.length;\n\n while (i < len) {\n if (comps[i].id === id) {\n return comps[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function findCompLayers(id, comps) {\n var comp = findComp(id, comps);\n\n if (comp) {\n if (!comp.layers.__used) {\n comp.layers.__used = true;\n return comp.layers;\n }\n\n return JSON.parse(JSON.stringify(comp.layers));\n }\n\n return null;\n }\n\n function completeShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n convertPathsToAbsoluteValues(arr[i].ks.k);\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n }\n\n if (arr[i].ks.k[j].e) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeShapes(arr[i].it);\n }\n }\n }\n\n function convertPathsToAbsoluteValues(path) {\n var i;\n var len = path.i.length;\n\n for (i = 0; i < len; i += 1) {\n path.i[i][0] += path.v[i][0];\n path.i[i][1] += path.v[i][1];\n path.o[i][0] += path.v[i][0];\n path.o[i][1] += path.v[i][1];\n }\n }\n\n function checkVersion(minimum, animVersionString) {\n var animVersion = animVersionString ? animVersionString.split('.') : [100, 100, 100];\n\n if (minimum[0] > animVersion[0]) {\n return true;\n }\n\n if (animVersion[0] > minimum[0]) {\n return false;\n }\n\n if (minimum[1] > animVersion[1]) {\n return true;\n }\n\n if (animVersion[1] > minimum[1]) {\n return false;\n }\n\n if (minimum[2] > animVersion[2]) {\n return true;\n }\n\n if (animVersion[2] > minimum[2]) {\n return false;\n }\n\n return null;\n }\n\n var checkText = function () {\n var minimumVersion = [4, 4, 14];\n\n function updateTextLayer(textLayer) {\n var documentData = textLayer.t.d;\n textLayer.t.d = {\n k: [{\n s: documentData,\n t: 0\n }]\n };\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkChars = function () {\n var minimumVersion = [4, 7, 99];\n return function (animationData) {\n if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n var i;\n var len = animationData.chars.length;\n\n for (i = 0; i < len; i += 1) {\n var charData = animationData.chars[i];\n\n if (charData.data && charData.data.shapes) {\n completeShapes(charData.data.shapes);\n charData.data.ip = 0;\n charData.data.op = 99999;\n charData.data.st = 0;\n charData.data.sr = 1;\n charData.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 };\n\n if (!animationData.chars[i].t) {\n charData.data.shapes.push({\n ty: 'no'\n });\n charData.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 }\n };\n }();\n\n var checkPathProperties = function () {\n var minimumVersion = [5, 7, 15];\n\n function updateTextLayer(textLayer) {\n var pathData = textLayer.t.p;\n\n if (typeof pathData.a === 'number') {\n pathData.a = {\n a: 0,\n k: pathData.a\n };\n }\n\n if (typeof pathData.p === 'number') {\n pathData.p = {\n a: 0,\n k: pathData.p\n };\n }\n\n if (typeof pathData.r === 'number') {\n pathData.r = {\n a: 0,\n k: pathData.r\n };\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkColors = function () {\n var minimumVersion = [4, 1, 9];\n\n function iterateShapes(shapes) {\n var i;\n var len = shapes.length;\n var j;\n var jLen;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n iterateShapes(shapes[i].it);\n } else if (shapes[i].ty === 'fl' || shapes[i].ty === 'st') {\n if (shapes[i].c.k && shapes[i].c.k[0].i) {\n jLen = shapes[i].c.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[i].c.k[j].s) {\n shapes[i].c.k[j].s[0] /= 255;\n shapes[i].c.k[j].s[1] /= 255;\n shapes[i].c.k[j].s[2] /= 255;\n shapes[i].c.k[j].s[3] /= 255;\n }\n\n if (shapes[i].c.k[j].e) {\n shapes[i].c.k[j].e[0] /= 255;\n shapes[i].c.k[j].e[1] /= 255;\n shapes[i].c.k[j].e[2] /= 255;\n shapes[i].c.k[j].e[3] /= 255;\n }\n }\n } else {\n shapes[i].c.k[0] /= 255;\n shapes[i].c.k[1] /= 255;\n shapes[i].c.k[2] /= 255;\n shapes[i].c.k[3] /= 255;\n }\n }\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 4) {\n iterateShapes(layers[i].shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkShapes = function () {\n var minimumVersion = [4, 4, 18];\n\n function completeClosingShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n arr[i].ks.k.c = arr[i].closed;\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n arr[i].ks.k[j].s[0].c = arr[i].closed;\n }\n\n if (arr[i].ks.k[j].e) {\n arr[i].ks.k[j].e[0].c = arr[i].closed;\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeClosingShapes(arr[i].it);\n }\n }\n }\n\n function iterateLayers(layers) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n maskProps[j].pt.k.c = maskProps[j].cl;\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n }\n\n if (maskProps[j].pt.k[k].e) {\n maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n }\n }\n }\n }\n }\n\n if (layerData.ty === 4) {\n completeClosingShapes(layerData.shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n function completeData(animationData) {\n if (animationData.__complete) {\n return;\n }\n\n checkColors(animationData);\n checkText(animationData);\n checkChars(animationData);\n checkPathProperties(animationData);\n checkShapes(animationData);\n completeLayers(animationData.layers, animationData.assets);\n completeChars(animationData.chars, animationData.assets);\n animationData.__complete = true;\n }\n\n function completeText(data) {\n if (data.t.a.length === 0 && !('m' in data.t.p)) {// data.singleShape = true;\n }\n }\n\n var moduleOb = {};\n moduleOb.completeData = completeData;\n moduleOb.checkColors = checkColors;\n moduleOb.checkChars = checkChars;\n moduleOb.checkPathProperties = checkPathProperties;\n moduleOb.checkShapes = checkShapes;\n moduleOb.completeLayers = completeLayers;\n return moduleOb;\n }\n\n if (!_workerSelf.dataManager) {\n _workerSelf.dataManager = dataFunctionManager();\n }\n\n if (!_workerSelf.assetLoader) {\n _workerSelf.assetLoader = function () {\n function formatResponse(xhr) {\n // using typeof doubles the time of execution of this method,\n // so if available, it's better to use the header to validate the type\n var contentTypeHeader = xhr.getResponseHeader('content-type');\n\n if (contentTypeHeader && xhr.responseType === 'json' && contentTypeHeader.indexOf('json') !== -1) {\n return xhr.response;\n }\n\n if (xhr.response && _typeof$5(xhr.response) === 'object') {\n return xhr.response;\n }\n\n if (xhr.response && typeof xhr.response === 'string') {\n return JSON.parse(xhr.response);\n }\n\n if (xhr.responseText) {\n return JSON.parse(xhr.responseText);\n }\n\n return null;\n }\n\n function loadAsset(path, fullPath, callback, errorCallback) {\n var response;\n var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n try {\n // This crashes on Android WebView prior to KitKat\n xhr.responseType = 'json';\n } catch (err) {} // eslint-disable-line no-empty\n\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n response = formatResponse(xhr);\n callback(response);\n } else {\n try {\n response = formatResponse(xhr);\n callback(response);\n } catch (err) {\n if (errorCallback) {\n errorCallback(err);\n }\n }\n }\n }\n };\n\n try {\n xhr.open('GET', path, true);\n } catch (error) {\n xhr.open('GET', fullPath + '/' + path, true);\n }\n\n xhr.send();\n }\n\n return {\n load: loadAsset\n };\n }();\n }\n\n if (e.data.type === 'loadAnimation') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.dataManager.completeData(data);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n } else if (e.data.type === 'complete') {\n var animation = e.data.animation;\n\n _workerSelf.dataManager.completeData(animation);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: animation,\n status: 'success'\n });\n } else if (e.data.type === 'loadData') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n }\n });\n\n workerInstance.onmessage = function (event) {\n var data = event.data;\n var id = data.id;\n var process = processes[id];\n processes[id] = null;\n\n if (data.status === 'success') {\n process.onComplete(data.payload);\n } else if (process.onError) {\n process.onError();\n }\n };\n }\n }\n\n function createProcess(onComplete, onError) {\n _counterId += 1;\n var id = 'processId_' + _counterId;\n processes[id] = {\n onComplete: onComplete,\n onError: onError\n };\n return id;\n }\n\n function loadAnimation(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadAnimation',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function loadData(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadData',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function completeAnimation(anim, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'complete',\n animation: anim,\n id: processId\n });\n }\n\n return {\n loadAnimation: loadAnimation,\n loadData: loadData,\n completeAnimation: completeAnimation\n };\n }();\n\n var ImagePreloader = function () {\n var proxyImage = function () {\n var canvas = createTag('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n ctx.fillStyle = 'rgba(0,0,0,0)';\n ctx.fillRect(0, 0, 1, 1);\n return canvas;\n }();\n\n function imageLoaded() {\n this.loadedAssets += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function footageLoaded() {\n this.loadedFootagesCount += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function getAssetsPath(assetData, assetsPath, originalPath) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = assetsPath + imagePath;\n } else {\n path = originalPath;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n }\n\n function testImageLoaded(img) {\n var _count = 0;\n var intervalId = setInterval(function () {\n var box = img.getBBox();\n\n if (box.width || _count > 500) {\n this._imageLoaded();\n\n clearInterval(intervalId);\n }\n\n _count += 1;\n }.bind(this), 50);\n }\n\n function createImageData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createNS('image');\n\n if (isSafari) {\n this.testImageLoaded(img);\n } else {\n img.addEventListener('load', this._imageLoaded, false);\n }\n\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\n\n if (this._elementHelper.append) {\n this._elementHelper.append(img);\n } else {\n this._elementHelper.appendChild(img);\n }\n\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createImgData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createTag('img');\n img.crossOrigin = 'anonymous';\n img.addEventListener('load', this._imageLoaded, false);\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.src = path;\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createFootageData(data) {\n var ob = {\n assetData: data\n };\n var path = getAssetsPath(data, this.assetsPath, this.path);\n dataManager.loadData(path, function (footageData) {\n ob.img = footageData;\n\n this._footageLoaded();\n }.bind(this), function () {\n ob.img = {};\n\n this._footageLoaded();\n }.bind(this));\n return ob;\n }\n\n function loadAssets(assets, cb) {\n this.imagesLoadedCb = cb;\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (!assets[i].layers) {\n if (!assets[i].t || assets[i].t === 'seq') {\n this.totalImages += 1;\n this.images.push(this._createImageData(assets[i]));\n } else if (assets[i].t === 3) {\n this.totalFootages += 1;\n this.images.push(this.createFootageData(assets[i]));\n }\n }\n }\n }\n\n function setPath(path) {\n this.path = path || '';\n }\n\n function setAssetsPath(path) {\n this.assetsPath = path || '';\n }\n\n function getAsset(assetData) {\n var i = 0;\n var len = this.images.length;\n\n while (i < len) {\n if (this.images[i].assetData === assetData) {\n return this.images[i].img;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function destroy() {\n this.imagesLoadedCb = null;\n this.images.length = 0;\n }\n\n function loadedImages() {\n return this.totalImages === this.loadedAssets;\n }\n\n function loadedFootages() {\n return this.totalFootages === this.loadedFootagesCount;\n }\n\n function setCacheType(type, elementHelper) {\n if (type === 'svg') {\n this._elementHelper = elementHelper;\n this._createImageData = this.createImageData.bind(this);\n } else {\n this._createImageData = this.createImgData.bind(this);\n }\n }\n\n function ImagePreloaderFactory() {\n this._imageLoaded = imageLoaded.bind(this);\n this._footageLoaded = footageLoaded.bind(this);\n this.testImageLoaded = testImageLoaded.bind(this);\n this.createFootageData = createFootageData.bind(this);\n this.assetsPath = '';\n this.path = '';\n this.totalImages = 0;\n this.totalFootages = 0;\n this.loadedAssets = 0;\n this.loadedFootagesCount = 0;\n this.imagesLoadedCb = null;\n this.images = [];\n }\n\n ImagePreloaderFactory.prototype = {\n loadAssets: loadAssets,\n setAssetsPath: setAssetsPath,\n setPath: setPath,\n loadedImages: loadedImages,\n loadedFootages: loadedFootages,\n destroy: destroy,\n getAsset: getAsset,\n createImgData: createImgData,\n createImageData: createImageData,\n imageLoaded: imageLoaded,\n footageLoaded: footageLoaded,\n setCacheType: setCacheType\n };\n return ImagePreloaderFactory;\n }();\n\n function BaseEvent() {}\n\n BaseEvent.prototype = {\n triggerEvent: function triggerEvent(eventName, args) {\n if (this._cbs[eventName]) {\n var callbacks = this._cbs[eventName];\n\n for (var i = 0; i < callbacks.length; i += 1) {\n callbacks[i](args);\n }\n }\n },\n addEventListener: function addEventListener(eventName, callback) {\n if (!this._cbs[eventName]) {\n this._cbs[eventName] = [];\n }\n\n this._cbs[eventName].push(callback);\n\n return function () {\n this.removeEventListener(eventName, callback);\n }.bind(this);\n },\n removeEventListener: function removeEventListener(eventName, callback) {\n if (!callback) {\n this._cbs[eventName] = null;\n } else if (this._cbs[eventName]) {\n var i = 0;\n var len = this._cbs[eventName].length;\n\n while (i < len) {\n if (this._cbs[eventName][i] === callback) {\n this._cbs[eventName].splice(i, 1);\n\n i -= 1;\n len -= 1;\n }\n\n i += 1;\n }\n\n if (!this._cbs[eventName].length) {\n this._cbs[eventName] = null;\n }\n }\n }\n };\n\n var markerParser = function () {\n function parsePayloadLines(payload) {\n var lines = payload.split('\\r\\n');\n var keys = {};\n var line;\n var keysCount = 0;\n\n for (var i = 0; i < lines.length; i += 1) {\n line = lines[i].split(':');\n\n if (line.length === 2) {\n keys[line[0]] = line[1].trim();\n keysCount += 1;\n }\n }\n\n if (keysCount === 0) {\n throw new Error();\n }\n\n return keys;\n }\n\n return function (_markers) {\n var markers = [];\n\n for (var i = 0; i < _markers.length; i += 1) {\n var _marker = _markers[i];\n var markerData = {\n time: _marker.tm,\n duration: _marker.dr\n };\n\n try {\n markerData.payload = JSON.parse(_markers[i].cm);\n } catch (_) {\n try {\n markerData.payload = parsePayloadLines(_markers[i].cm);\n } catch (__) {\n markerData.payload = {\n name: _markers[i].cm\n };\n }\n }\n\n markers.push(markerData);\n }\n\n return markers;\n };\n }();\n\n var ProjectInterface = function () {\n function registerComposition(comp) {\n this.compositions.push(comp);\n }\n\n return function () {\n function _thisProjectFunction(name) {\n var i = 0;\n var len = this.compositions.length;\n\n while (i < len) {\n if (this.compositions[i].data && this.compositions[i].data.nm === name) {\n if (this.compositions[i].prepareFrame && this.compositions[i].data.xt) {\n this.compositions[i].prepareFrame(this.currentFrame);\n }\n\n return this.compositions[i].compInterface;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n _thisProjectFunction.compositions = [];\n _thisProjectFunction.currentFrame = 0;\n _thisProjectFunction.registerComposition = registerComposition;\n return _thisProjectFunction;\n };\n }();\n\n var renderers = {};\n\n var registerRenderer = function registerRenderer(key, value) {\n renderers[key] = value;\n };\n\n function getRenderer(key) {\n return renderers[key];\n }\n\n function _typeof$4(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$4 = function _typeof(obj) { return typeof obj; }; } else { _typeof$4 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$4(obj); }\n\n var AnimationItem = function AnimationItem() {\n this._cbs = [];\n this.name = '';\n this.path = '';\n this.isLoaded = false;\n this.currentFrame = 0;\n this.currentRawFrame = 0;\n this.firstFrame = 0;\n this.totalFrames = 0;\n this.frameRate = 0;\n this.frameMult = 0;\n this.playSpeed = 1;\n this.playDirection = 1;\n this.playCount = 0;\n this.animationData = {};\n this.assets = [];\n this.isPaused = true;\n this.autoplay = false;\n this.loop = true;\n this.renderer = null;\n this.animationID = createElementID();\n this.assetsPath = '';\n this.timeCompleted = 0;\n this.segmentPos = 0;\n this.isSubframeEnabled = getSubframeEnabled();\n this.segments = [];\n this._idle = true;\n this._completedLoop = false;\n this.projectInterface = ProjectInterface();\n this.imagePreloader = new ImagePreloader();\n this.audioController = audioControllerFactory();\n this.markers = [];\n this.configAnimation = this.configAnimation.bind(this);\n this.onSetupError = this.onSetupError.bind(this);\n this.onSegmentComplete = this.onSegmentComplete.bind(this);\n this.drawnFrameEvent = new BMEnterFrameEvent('drawnFrame', 0, 0, 0);\n };\n\n extendPrototype([BaseEvent], AnimationItem);\n\n AnimationItem.prototype.setParams = function (params) {\n if (params.wrapper || params.container) {\n this.wrapper = params.wrapper || params.container;\n }\n\n var animType = 'svg';\n\n if (params.animType) {\n animType = params.animType;\n } else if (params.renderer) {\n animType = params.renderer;\n }\n\n var RendererClass = getRenderer(animType);\n this.renderer = new RendererClass(this, params.rendererSettings);\n this.imagePreloader.setCacheType(animType, this.renderer.globalData.defs);\n this.renderer.setProjectInterface(this.projectInterface);\n this.animType = animType;\n\n if (params.loop === '' || params.loop === null || params.loop === undefined || params.loop === true) {\n this.loop = true;\n } else if (params.loop === false) {\n this.loop = false;\n } else {\n this.loop = parseInt(params.loop, 10);\n }\n\n this.autoplay = 'autoplay' in params ? params.autoplay : true;\n this.name = params.name ? params.name : '';\n this.autoloadSegments = Object.prototype.hasOwnProperty.call(params, 'autoloadSegments') ? params.autoloadSegments : true;\n this.assetsPath = params.assetsPath;\n this.initialSegment = params.initialSegment;\n\n if (params.audioFactory) {\n this.audioController.setAudioFactory(params.audioFactory);\n }\n\n if (params.animationData) {\n this.setupAnimation(params.animationData);\n } else if (params.path) {\n if (params.path.lastIndexOf('\\\\') !== -1) {\n this.path = params.path.substr(0, params.path.lastIndexOf('\\\\') + 1);\n } else {\n this.path = params.path.substr(0, params.path.lastIndexOf('/') + 1);\n }\n\n this.fileName = params.path.substr(params.path.lastIndexOf('/') + 1);\n this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf('.json'));\n dataManager.loadAnimation(params.path, this.configAnimation, this.onSetupError);\n }\n };\n\n AnimationItem.prototype.onSetupError = function () {\n this.trigger('data_failed');\n };\n\n AnimationItem.prototype.setupAnimation = function (data) {\n dataManager.completeAnimation(data, this.configAnimation);\n };\n\n AnimationItem.prototype.setData = function (wrapper, animationData) {\n if (animationData) {\n if (_typeof$4(animationData) !== 'object') {\n animationData = JSON.parse(animationData);\n }\n }\n\n var params = {\n wrapper: wrapper,\n animationData: animationData\n };\n var wrapperAttributes = wrapper.attributes;\n params.path = wrapperAttributes.getNamedItem('data-animation-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-animation-path').value : wrapperAttributes.getNamedItem('data-bm-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-path').value : wrapperAttributes.getNamedItem('bm-path') ? wrapperAttributes.getNamedItem('bm-path').value : '';\n params.animType = wrapperAttributes.getNamedItem('data-anim-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-type').value : wrapperAttributes.getNamedItem('data-bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-type').value : wrapperAttributes.getNamedItem('bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('bm-type').value : wrapperAttributes.getNamedItem('data-bm-renderer') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-renderer').value : wrapperAttributes.getNamedItem('bm-renderer') ? wrapperAttributes.getNamedItem('bm-renderer').value : 'canvas';\n var loop = wrapperAttributes.getNamedItem('data-anim-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-loop').value : wrapperAttributes.getNamedItem('data-bm-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-loop').value : wrapperAttributes.getNamedItem('bm-loop') ? wrapperAttributes.getNamedItem('bm-loop').value : '';\n\n if (loop === 'false') {\n params.loop = false;\n } else if (loop === 'true') {\n params.loop = true;\n } else if (loop !== '') {\n params.loop = parseInt(loop, 10);\n }\n\n var autoplay = wrapperAttributes.getNamedItem('data-anim-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-autoplay').value : wrapperAttributes.getNamedItem('data-bm-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-autoplay').value : wrapperAttributes.getNamedItem('bm-autoplay') ? wrapperAttributes.getNamedItem('bm-autoplay').value : true;\n params.autoplay = autoplay !== 'false';\n params.name = wrapperAttributes.getNamedItem('data-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-name').value : wrapperAttributes.getNamedItem('data-bm-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-name').value : wrapperAttributes.getNamedItem('bm-name') ? wrapperAttributes.getNamedItem('bm-name').value : '';\n var prerender = wrapperAttributes.getNamedItem('data-anim-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-prerender').value : wrapperAttributes.getNamedItem('data-bm-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-prerender').value : wrapperAttributes.getNamedItem('bm-prerender') ? wrapperAttributes.getNamedItem('bm-prerender').value : '';\n\n if (prerender === 'false') {\n params.prerender = false;\n }\n\n this.setParams(params);\n };\n\n AnimationItem.prototype.includeLayers = function (data) {\n if (data.op > this.animationData.op) {\n this.animationData.op = data.op;\n this.totalFrames = Math.floor(data.op - this.animationData.ip);\n }\n\n var layers = this.animationData.layers;\n var i;\n var len = layers.length;\n var newLayers = data.layers;\n var j;\n var jLen = newLayers.length;\n\n for (j = 0; j < jLen; j += 1) {\n i = 0;\n\n while (i < len) {\n if (layers[i].id === newLayers[j].id) {\n layers[i] = newLayers[j];\n break;\n }\n\n i += 1;\n }\n }\n\n if (data.chars || data.fonts) {\n this.renderer.globalData.fontManager.addChars(data.chars);\n this.renderer.globalData.fontManager.addFonts(data.fonts, this.renderer.globalData.defs);\n }\n\n if (data.assets) {\n len = data.assets.length;\n\n for (i = 0; i < len; i += 1) {\n this.animationData.assets.push(data.assets[i]);\n }\n }\n\n this.animationData.__complete = false;\n dataManager.completeAnimation(this.animationData, this.onSegmentComplete);\n };\n\n AnimationItem.prototype.onSegmentComplete = function (data) {\n this.animationData = data;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.loadNextSegment = function () {\n var segments = this.animationData.segments;\n\n if (!segments || segments.length === 0 || !this.autoloadSegments) {\n this.trigger('data_ready');\n this.timeCompleted = this.totalFrames;\n return;\n }\n\n var segment = segments.shift();\n this.timeCompleted = segment.time * this.frameRate;\n var segmentPath = this.path + this.fileName + '_' + this.segmentPos + '.json';\n this.segmentPos += 1;\n dataManager.loadData(segmentPath, this.includeLayers.bind(this), function () {\n this.trigger('data_failed');\n }.bind(this));\n };\n\n AnimationItem.prototype.loadSegments = function () {\n var segments = this.animationData.segments;\n\n if (!segments) {\n this.timeCompleted = this.totalFrames;\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.imagesLoaded = function () {\n this.trigger('loaded_images');\n this.checkLoaded();\n };\n\n AnimationItem.prototype.preloadImages = function () {\n this.imagePreloader.setAssetsPath(this.assetsPath);\n this.imagePreloader.setPath(this.path);\n this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\n };\n\n AnimationItem.prototype.configAnimation = function (animData) {\n if (!this.renderer) {\n return;\n }\n\n try {\n this.animationData = animData;\n\n if (this.initialSegment) {\n this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]);\n this.firstFrame = Math.round(this.initialSegment[0]);\n } else {\n this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip);\n this.firstFrame = Math.round(this.animationData.ip);\n }\n\n this.renderer.configAnimation(animData);\n\n if (!animData.assets) {\n animData.assets = [];\n }\n\n this.assets = this.animationData.assets;\n this.frameRate = this.animationData.fr;\n this.frameMult = this.animationData.fr / 1000;\n this.renderer.searchExtraCompositions(animData.assets);\n this.markers = markerParser(animData.markers || []);\n this.trigger('config_ready');\n this.preloadImages();\n this.loadSegments();\n this.updaFrameModifier();\n this.waitForFontsLoaded();\n\n if (this.isPaused) {\n this.audioController.pause();\n }\n } catch (error) {\n this.triggerConfigError(error);\n }\n };\n\n AnimationItem.prototype.waitForFontsLoaded = function () {\n if (!this.renderer) {\n return;\n }\n\n if (this.renderer.globalData.fontManager.isLoaded) {\n this.checkLoaded();\n } else {\n setTimeout(this.waitForFontsLoaded.bind(this), 20);\n }\n };\n\n AnimationItem.prototype.checkLoaded = function () {\n if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== 'canvas') && this.imagePreloader.loadedFootages()) {\n this.isLoaded = true;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.renderer.initItems();\n setTimeout(function () {\n this.trigger('DOMLoaded');\n }.bind(this), 0);\n this.gotoFrame();\n\n if (this.autoplay) {\n this.play();\n }\n }\n };\n\n AnimationItem.prototype.resize = function () {\n this.renderer.updateContainerSize();\n };\n\n AnimationItem.prototype.setSubframe = function (flag) {\n this.isSubframeEnabled = !!flag;\n };\n\n AnimationItem.prototype.gotoFrame = function () {\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame; // eslint-disable-line no-bitwise\n\n if (this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted) {\n this.currentFrame = this.timeCompleted;\n }\n\n this.trigger('enterFrame');\n this.renderFrame();\n this.trigger('drawnFrame');\n };\n\n AnimationItem.prototype.renderFrame = function () {\n if (this.isLoaded === false || !this.renderer) {\n return;\n }\n\n try {\n this.renderer.renderFrame(this.currentFrame + this.firstFrame);\n } catch (error) {\n this.triggerRenderFrameError(error);\n }\n };\n\n AnimationItem.prototype.play = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.isPaused = false;\n this.trigger('_pause');\n this.audioController.resume();\n\n if (this._idle) {\n this._idle = false;\n this.trigger('_active');\n }\n }\n };\n\n AnimationItem.prototype.pause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === false) {\n this.isPaused = true;\n this.trigger('_play');\n this._idle = true;\n this.trigger('_idle');\n this.audioController.pause();\n }\n };\n\n AnimationItem.prototype.togglePause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.play();\n } else {\n this.pause();\n }\n };\n\n AnimationItem.prototype.stop = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.pause();\n this.playCount = 0;\n this._completedLoop = false;\n this.setCurrentRawFrameValue(0);\n };\n\n AnimationItem.prototype.getMarkerData = function (markerName) {\n var marker;\n\n for (var i = 0; i < this.markers.length; i += 1) {\n marker = this.markers[i];\n\n if (marker.payload && marker.payload.name === markerName) {\n return marker;\n }\n }\n\n return null;\n };\n\n AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n this.goToAndStop(marker.time, true);\n }\n } else if (isFrame) {\n this.setCurrentRawFrameValue(value);\n } else {\n this.setCurrentRawFrameValue(value * this.frameModifier);\n }\n\n this.pause();\n };\n\n AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n if (!marker.duration) {\n this.goToAndStop(marker.time, true);\n } else {\n this.playSegments([marker.time, marker.time + marker.duration], true);\n }\n }\n } else {\n this.goToAndStop(numValue, isFrame, name);\n }\n\n this.play();\n };\n\n AnimationItem.prototype.advanceTime = function (value) {\n if (this.isPaused === true || this.isLoaded === false) {\n return;\n }\n\n var nextValue = this.currentRawFrame + value * this.frameModifier;\n var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n if (nextValue >= this.totalFrames - 1 && this.frameModifier > 0) {\n if (!this.loop || this.playCount === this.loop) {\n if (!this.checkSegments(nextValue > this.totalFrames ? nextValue % this.totalFrames : 0)) {\n _isComplete = true;\n nextValue = this.totalFrames - 1;\n }\n } else if (nextValue >= this.totalFrames) {\n this.playCount += 1;\n\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n this.setCurrentRawFrameValue(nextValue % this.totalFrames);\n this._completedLoop = true;\n this.trigger('loopComplete');\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n } else if (nextValue < 0) {\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) {\n // eslint-disable-line no-plusplus\n this.setCurrentRawFrameValue(this.totalFrames + nextValue % this.totalFrames);\n\n if (!this._completedLoop) {\n this._completedLoop = true;\n } else {\n this.trigger('loopComplete');\n }\n } else {\n _isComplete = true;\n nextValue = 0;\n }\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n\n if (_isComplete) {\n this.setCurrentRawFrameValue(nextValue);\n this.pause();\n this.trigger('complete');\n }\n };\n\n AnimationItem.prototype.adjustSegment = function (arr, offset) {\n this.playCount = 0;\n\n if (arr[1] < arr[0]) {\n if (this.frameModifier > 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(-1);\n }\n }\n\n this.totalFrames = arr[0] - arr[1];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[1];\n this.setCurrentRawFrameValue(this.totalFrames - 0.001 - offset);\n } else if (arr[1] > arr[0]) {\n if (this.frameModifier < 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(1);\n }\n }\n\n this.totalFrames = arr[1] - arr[0];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[0];\n this.setCurrentRawFrameValue(0.001 + offset);\n }\n\n this.trigger('segmentStart');\n };\n\n AnimationItem.prototype.setSegment = function (init, end) {\n var pendingFrame = -1;\n\n if (this.isPaused) {\n if (this.currentRawFrame + this.firstFrame < init) {\n pendingFrame = init;\n } else if (this.currentRawFrame + this.firstFrame > end) {\n pendingFrame = end - init;\n }\n }\n\n this.firstFrame = init;\n this.totalFrames = end - init;\n this.timeCompleted = this.totalFrames;\n\n if (pendingFrame !== -1) {\n this.goToAndStop(pendingFrame, true);\n }\n };\n\n AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n if (forceFlag) {\n this.segments.length = 0;\n }\n\n if (_typeof$4(arr[0]) === 'object') {\n var i;\n var len = arr.length;\n\n for (i = 0; i < len; i += 1) {\n this.segments.push(arr[i]);\n }\n } else {\n this.segments.push(arr);\n }\n\n if (this.segments.length && forceFlag) {\n this.adjustSegment(this.segments.shift(), 0);\n }\n\n if (this.isPaused) {\n this.play();\n }\n };\n\n AnimationItem.prototype.resetSegments = function (forceFlag) {\n this.segments.length = 0;\n this.segments.push([this.animationData.ip, this.animationData.op]);\n\n if (forceFlag) {\n this.checkSegments(0);\n }\n };\n\n AnimationItem.prototype.checkSegments = function (offset) {\n if (this.segments.length) {\n this.adjustSegment(this.segments.shift(), offset);\n return true;\n }\n\n return false;\n };\n\n AnimationItem.prototype.destroy = function (name) {\n if (name && this.name !== name || !this.renderer) {\n return;\n }\n\n this.renderer.destroy();\n this.imagePreloader.destroy();\n this.trigger('destroy');\n this._cbs = null;\n this.onEnterFrame = null;\n this.onLoopComplete = null;\n this.onComplete = null;\n this.onSegmentStart = null;\n this.onDestroy = null;\n this.renderer = null;\n this.renderer = null;\n this.imagePreloader = null;\n this.projectInterface = null;\n };\n\n AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n this.currentRawFrame = value;\n this.gotoFrame();\n };\n\n AnimationItem.prototype.setSpeed = function (val) {\n this.playSpeed = val;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setDirection = function (val) {\n this.playDirection = val < 0 ? -1 : 1;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setVolume = function (val, name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.setVolume(val);\n };\n\n AnimationItem.prototype.getVolume = function () {\n return this.audioController.getVolume();\n };\n\n AnimationItem.prototype.mute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.mute();\n };\n\n AnimationItem.prototype.unmute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.unmute();\n };\n\n AnimationItem.prototype.updaFrameModifier = function () {\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection;\n this.audioController.setRate(this.playSpeed * this.playDirection);\n };\n\n AnimationItem.prototype.getPath = function () {\n return this.path;\n };\n\n AnimationItem.prototype.getAssetsPath = function (assetData) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (this.assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = this.assetsPath + imagePath;\n } else {\n path = this.path;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n };\n\n AnimationItem.prototype.getAssetData = function (id) {\n var i = 0;\n var len = this.assets.length;\n\n while (i < len) {\n if (id === this.assets[i].id) {\n return this.assets[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n AnimationItem.prototype.hide = function () {\n this.renderer.hide();\n };\n\n AnimationItem.prototype.show = function () {\n this.renderer.show();\n };\n\n AnimationItem.prototype.getDuration = function (isFrame) {\n return isFrame ? this.totalFrames : this.totalFrames / this.frameRate;\n };\n\n AnimationItem.prototype.updateDocumentData = function (path, documentData, index) {\n try {\n var element = this.renderer.getElementByPath(path);\n element.updateDocumentData(documentData, index);\n } catch (error) {// TODO: decide how to handle catch case\n }\n };\n\n AnimationItem.prototype.trigger = function (name) {\n if (this._cbs && this._cbs[name]) {\n switch (name) {\n case 'enterFrame':\n this.triggerEvent(name, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameModifier));\n break;\n\n case 'drawnFrame':\n this.drawnFrameEvent.currentTime = this.currentFrame;\n this.drawnFrameEvent.totalTime = this.totalFrames;\n this.drawnFrameEvent.direction = this.frameModifier;\n this.triggerEvent(name, this.drawnFrameEvent);\n break;\n\n case 'loopComplete':\n this.triggerEvent(name, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n break;\n\n case 'complete':\n this.triggerEvent(name, new BMCompleteEvent(name, this.frameMult));\n break;\n\n case 'segmentStart':\n this.triggerEvent(name, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n break;\n\n case 'destroy':\n this.triggerEvent(name, new BMDestroyEvent(name, this));\n break;\n\n default:\n this.triggerEvent(name);\n }\n }\n\n if (name === 'enterFrame' && this.onEnterFrame) {\n this.onEnterFrame.call(this, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameMult));\n }\n\n if (name === 'loopComplete' && this.onLoopComplete) {\n this.onLoopComplete.call(this, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n }\n\n if (name === 'complete' && this.onComplete) {\n this.onComplete.call(this, new BMCompleteEvent(name, this.frameMult));\n }\n\n if (name === 'segmentStart' && this.onSegmentStart) {\n this.onSegmentStart.call(this, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n }\n\n if (name === 'destroy' && this.onDestroy) {\n this.onDestroy.call(this, new BMDestroyEvent(name, this));\n }\n };\n\n AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n AnimationItem.prototype.triggerConfigError = function (nativeError) {\n var error = new BMConfigErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n var animationManager = function () {\n var moduleOb = {};\n var registeredAnimations = [];\n var initTime = 0;\n var len = 0;\n var playingAnimationsNum = 0;\n var _stopped = true;\n var _isFrozen = false;\n\n function removeElement(ev) {\n var i = 0;\n var animItem = ev.target;\n\n while (i < len) {\n if (registeredAnimations[i].animation === animItem) {\n registeredAnimations.splice(i, 1);\n i -= 1;\n len -= 1;\n\n if (!animItem.isPaused) {\n subtractPlayingCount();\n }\n }\n\n i += 1;\n }\n }\n\n function registerAnimation(element, animationData) {\n if (!element) {\n return null;\n }\n\n var i = 0;\n\n while (i < len) {\n if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n return registeredAnimations[i].animation;\n }\n\n i += 1;\n }\n\n var animItem = new AnimationItem();\n setupAnimation(animItem, element);\n animItem.setData(element, animationData);\n return animItem;\n }\n\n function getRegisteredAnimations() {\n var i;\n var lenAnims = registeredAnimations.length;\n var animations = [];\n\n for (i = 0; i < lenAnims; i += 1) {\n animations.push(registeredAnimations[i].animation);\n }\n\n return animations;\n }\n\n function addPlayingCount() {\n playingAnimationsNum += 1;\n activate();\n }\n\n function subtractPlayingCount() {\n playingAnimationsNum -= 1;\n }\n\n function setupAnimation(animItem, element) {\n animItem.addEventListener('destroy', removeElement);\n animItem.addEventListener('_active', addPlayingCount);\n animItem.addEventListener('_idle', subtractPlayingCount);\n registeredAnimations.push({\n elem: element,\n animation: animItem\n });\n len += 1;\n }\n\n function loadAnimation(params) {\n var animItem = new AnimationItem();\n setupAnimation(animItem, null);\n animItem.setParams(params);\n return animItem;\n }\n\n function setSpeed(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setSpeed(val, animation);\n }\n }\n\n function setDirection(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setDirection(val, animation);\n }\n }\n\n function play(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.play(animation);\n }\n }\n\n function resume(nowTime) {\n var elapsedTime = nowTime - initTime;\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.advanceTime(elapsedTime);\n }\n\n initTime = nowTime;\n\n if (playingAnimationsNum && !_isFrozen) {\n window.requestAnimationFrame(resume);\n } else {\n _stopped = true;\n }\n }\n\n function first(nowTime) {\n initTime = nowTime;\n window.requestAnimationFrame(resume);\n }\n\n function pause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.pause(animation);\n }\n }\n\n function goToAndStop(value, isFrame, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n }\n }\n\n function stop(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.stop(animation);\n }\n }\n\n function togglePause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.togglePause(animation);\n }\n }\n\n function destroy(animation) {\n var i;\n\n for (i = len - 1; i >= 0; i -= 1) {\n registeredAnimations[i].animation.destroy(animation);\n }\n }\n\n function searchAnimations(animationData, standalone, renderer) {\n var animElements = [].concat([].slice.call(document.getElementsByClassName('lottie')), [].slice.call(document.getElementsByClassName('bodymovin')));\n var i;\n var lenAnims = animElements.length;\n\n for (i = 0; i < lenAnims; i += 1) {\n if (renderer) {\n animElements[i].setAttribute('data-bm-type', renderer);\n }\n\n registerAnimation(animElements[i], animationData);\n }\n\n if (standalone && lenAnims === 0) {\n if (!renderer) {\n renderer = 'svg';\n }\n\n var body = document.getElementsByTagName('body')[0];\n body.innerText = '';\n var div = createTag('div');\n div.style.width = '100%';\n div.style.height = '100%';\n div.setAttribute('data-bm-type', renderer);\n body.appendChild(div);\n registerAnimation(div, animationData);\n }\n }\n\n function resize() {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.resize();\n }\n }\n\n function activate() {\n if (!_isFrozen && playingAnimationsNum) {\n if (_stopped) {\n window.requestAnimationFrame(first);\n _stopped = false;\n }\n }\n }\n\n function freeze() {\n _isFrozen = true;\n }\n\n function unfreeze() {\n _isFrozen = false;\n activate();\n }\n\n function setVolume(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setVolume(val, animation);\n }\n }\n\n function mute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.mute(animation);\n }\n }\n\n function unmute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.unmute(animation);\n }\n }\n\n moduleOb.registerAnimation = registerAnimation;\n moduleOb.loadAnimation = loadAnimation;\n moduleOb.setSpeed = setSpeed;\n moduleOb.setDirection = setDirection;\n moduleOb.play = play;\n moduleOb.pause = pause;\n moduleOb.stop = stop;\n moduleOb.togglePause = togglePause;\n moduleOb.searchAnimations = searchAnimations;\n moduleOb.resize = resize; // moduleOb.start = start;\n\n moduleOb.goToAndStop = goToAndStop;\n moduleOb.destroy = destroy;\n moduleOb.freeze = freeze;\n moduleOb.unfreeze = unfreeze;\n moduleOb.setVolume = setVolume;\n moduleOb.mute = mute;\n moduleOb.unmute = unmute;\n moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n return moduleOb;\n }();\n\n /* eslint-disable */\n var BezierFactory = function () {\n /**\r\n * BezierEasing - use bezier curve for transition easing function\r\n * by Gaëtan Renaudeau 2014 - 2015 – MIT License\r\n *\r\n * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n * Usage:\r\n * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n *\r\n */\n var ob = {};\n ob.getBezierEasing = getBezierEasing;\n var beziers = {};\n\n function getBezierEasing(a, b, c, d, nm) {\n var str = nm || ('bez_' + a + '_' + b + '_' + c + '_' + d).replace(/\\./g, 'p');\n\n if (beziers[str]) {\n return beziers[str];\n }\n\n var bezEasing = new BezierEasing([a, b, c, d]);\n beziers[str] = bezEasing;\n return bezEasing;\n } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n var NEWTON_ITERATIONS = 4;\n var NEWTON_MIN_SLOPE = 0.001;\n var SUBDIVISION_PRECISION = 0.0000001;\n var SUBDIVISION_MAX_ITERATIONS = 10;\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n var float32ArraySupported = typeof Float32Array === 'function';\n\n function A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n }\n\n function B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n }\n\n function C(aA1) {\n return 3.0 * aA1;\n } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n function calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n function getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0;\n\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) return aGuessT;\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n\n return aGuessT;\n }\n /**\r\n * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n */\n\n\n function BezierEasing(points) {\n this._p = points;\n this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n this._precomputed = false;\n this.get = this.get.bind(this);\n }\n\n BezierEasing.prototype = {\n get: function get(x) {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n if (!this._precomputed) this._precompute();\n if (mX1 === mY1 && mX2 === mY2) return x; // linear\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n if (x === 0) return 0;\n if (x === 1) return 1;\n return calcBezier(this._getTForX(x), mY1, mY2);\n },\n // Private part\n _precompute: function _precompute() {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n this._precomputed = true;\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n this._calcSampleValues();\n }\n },\n _calcSampleValues: function _calcSampleValues() {\n var mX1 = this._p[0],\n mX2 = this._p[2];\n\n for (var i = 0; i < kSplineTableSize; ++i) {\n this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n },\n\n /**\r\n * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n */\n _getTForX: function _getTForX(aX) {\n var mX1 = this._p[0],\n mX2 = this._p[2],\n mSampleValues = this._mSampleValues;\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample; // Interpolate to provide an initial guess for t\n\n var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n }\n\n if (initialSlope === 0.0) {\n return guessForT;\n }\n\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n };\n return ob;\n }();\n\n var pooling = function () {\n function _double(arr) {\n return arr.concat(createSizedArray(arr.length));\n }\n\n return {\n \"double\": _double\n };\n }();\n\n var poolFactory = function () {\n return function (initialLength, _create, _release) {\n var _length = 0;\n var _maxLength = initialLength;\n var pool = createSizedArray(_maxLength);\n var ob = {\n newElement: newElement,\n release: release\n };\n\n function newElement() {\n var element;\n\n if (_length) {\n _length -= 1;\n element = pool[_length];\n } else {\n element = _create();\n }\n\n return element;\n }\n\n function release(element) {\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n if (_release) {\n _release(element);\n }\n\n pool[_length] = element;\n _length += 1;\n }\n\n return ob;\n };\n }();\n\n var bezierLengthPool = function () {\n function create() {\n return {\n addedLength: 0,\n percents: createTypedArray('float32', getDefaultCurveSegments()),\n lengths: createTypedArray('float32', getDefaultCurveSegments())\n };\n }\n\n return poolFactory(8, create);\n }();\n\n var segmentsLengthPool = function () {\n function create() {\n return {\n lengths: [],\n totalLength: 0\n };\n }\n\n function release(element) {\n var i;\n var len = element.lengths.length;\n\n for (i = 0; i < len; i += 1) {\n bezierLengthPool.release(element.lengths[i]);\n }\n\n element.lengths.length = 0;\n }\n\n return poolFactory(8, create, release);\n }();\n\n function bezFunction() {\n var math = Math;\n\n function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n return det1 > -0.001 && det1 < 0.001;\n }\n\n function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n if (z1 === 0 && z2 === 0 && z3 === 0) {\n return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n }\n\n var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n var diffDist;\n\n if (dist1 > dist2) {\n if (dist1 > dist3) {\n diffDist = dist1 - dist2 - dist3;\n } else {\n diffDist = dist3 - dist2 - dist1;\n }\n } else if (dist3 > dist2) {\n diffDist = dist3 - dist2 - dist1;\n } else {\n diffDist = dist2 - dist1 - dist3;\n }\n\n return diffDist > -0.0001 && diffDist < 0.0001;\n }\n\n var getBezierLength = function () {\n return function (pt1, pt2, pt3, pt4) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point = [];\n var lastPoint = [];\n var lengthData = bezierLengthPool.newElement();\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint[i] !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n\n lastPoint[i] = point[i];\n }\n\n if (ptDistance) {\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n }\n\n lengthData.percents[k] = perc;\n lengthData.lengths[k] = addedLength;\n }\n\n lengthData.addedLength = addedLength;\n return lengthData;\n };\n }();\n\n function getSegmentsLength(shapeData) {\n var segmentsLength = segmentsLengthPool.newElement();\n var closed = shapeData.c;\n var pathV = shapeData.v;\n var pathO = shapeData.o;\n var pathI = shapeData.i;\n var i;\n var len = shapeData._length;\n var lengths = segmentsLength.lengths;\n var totalLength = 0;\n\n for (i = 0; i < len - 1; i += 1) {\n lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n totalLength += lengths[i].addedLength;\n }\n\n if (closed && len) {\n lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n totalLength += lengths[i].addedLength;\n }\n\n segmentsLength.totalLength = totalLength;\n return segmentsLength;\n }\n\n function BezierData(length) {\n this.segmentLength = 0;\n this.points = new Array(length);\n }\n\n function PointData(partial, point) {\n this.partialLength = partial;\n this.point = point;\n }\n\n var buildBezierData = function () {\n var storedData = {};\n return function (pt1, pt2, pt3, pt4) {\n var bezierName = (pt1[0] + '_' + pt1[1] + '_' + pt2[0] + '_' + pt2[1] + '_' + pt3[0] + '_' + pt3[1] + '_' + pt4[0] + '_' + pt4[1]).replace(/\\./g, 'p');\n\n if (!storedData[bezierName]) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point;\n var lastPoint = null;\n\n if (pt1.length === 2 && (pt1[0] !== pt2[0] || pt1[1] !== pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) {\n curveSegments = 2;\n }\n\n var bezierData = new BezierData(curveSegments);\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n point = createSizedArray(len);\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n }\n\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n bezierData.points[k] = new PointData(ptDistance, point);\n lastPoint = point;\n }\n\n bezierData.segmentLength = addedLength;\n storedData[bezierName] = bezierData;\n }\n\n return storedData[bezierName];\n };\n }();\n\n function getDistancePerc(perc, bezierData) {\n var percents = bezierData.percents;\n var lengths = bezierData.lengths;\n var len = percents.length;\n var initPos = bmFloor((len - 1) * perc);\n var lengthPos = perc * bezierData.addedLength;\n var lPerc = 0;\n\n if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n return percents[initPos];\n }\n\n var dir = lengths[initPos] > lengthPos ? -1 : 1;\n var flag = true;\n\n while (flag) {\n if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n flag = false;\n } else {\n initPos += dir;\n }\n\n if (initPos < 0 || initPos >= len - 1) {\n // FIX for TypedArrays that don't store floating point values with enough accuracy\n if (initPos === len - 1) {\n return percents[initPos];\n }\n\n flag = false;\n }\n }\n\n return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n }\n\n function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n var t1 = getDistancePerc(percent, bezierData);\n var u1 = 1 - t1;\n var ptX = math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000;\n var ptY = math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000;\n return [ptX, ptY];\n }\n\n var bezierSegmentPoints = createTypedArray('float32', 8);\n\n function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n if (startPerc < 0) {\n startPerc = 0;\n } else if (startPerc > 1) {\n startPerc = 1;\n }\n\n var t0 = getDistancePerc(startPerc, bezierData);\n endPerc = endPerc > 1 ? 1 : endPerc;\n var t1 = getDistancePerc(endPerc, bezierData);\n var i;\n var len = pt1.length;\n var u0 = 1 - t0;\n var u1 = 1 - t1;\n var u0u0u0 = u0 * u0 * u0;\n var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0t0 = t0 * t0 * t0; //\n\n var u0u0u1 = u0 * u0 * u1;\n var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0t1 = t0 * t0 * t1; //\n\n var u0u1u1 = u0 * u1 * u1;\n var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1t1 = t0 * t1 * t1; //\n\n var u1u1u1 = u1 * u1 * u1;\n var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1t1 = t1 * t1 * t1;\n\n for (i = 0; i < len; i += 1) {\n bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n }\n\n return bezierSegmentPoints;\n }\n\n return {\n getSegmentsLength: getSegmentsLength,\n getNewSegment: getNewSegment,\n getPointInSegment: getPointInSegment,\n buildBezierData: buildBezierData,\n pointOnLine2D: pointOnLine2D,\n pointOnLine3D: pointOnLine3D\n };\n }\n\n var bez = bezFunction();\n\n var PropertyFactory = function () {\n var initFrame = initialDefaultFrame;\n var mathAbs = Math.abs;\n\n function interpolateValue(frameNum, caching) {\n var offsetTime = this.offsetTime;\n var newValue;\n\n if (this.propType === 'multidimensional') {\n newValue = createTypedArray('float32', this.pv.length);\n }\n\n var iterationIndex = caching.lastIndex;\n var i = iterationIndex;\n var len = this.keyframes.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = this.keyframes[i];\n nextKeyData = this.keyframes[i + 1];\n\n if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n if (keyData.h) {\n keyData = nextKeyData;\n }\n\n iterationIndex = 0;\n break;\n }\n\n if (nextKeyData.t - offsetTime > frameNum) {\n iterationIndex = i;\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n iterationIndex = 0;\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n var k;\n var kLen;\n var perc;\n var jLen;\n var j;\n var fnc;\n var nextKeyTime = nextKeyData.t - offsetTime;\n var keyTime = keyData.t - offsetTime;\n var endValue;\n\n if (keyData.to) {\n if (!keyframeMetadata.bezierData) {\n keyframeMetadata.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n }\n\n var bezierData = keyframeMetadata.bezierData;\n\n if (frameNum >= nextKeyTime || frameNum < keyTime) {\n var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n kLen = bezierData.points[ind].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[ind].point[k];\n } // caching._lastKeyframeIndex = -1;\n\n } else {\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n var distanceInLine = bezierData.segmentLength * perc;\n var segmentPerc;\n var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n flag = true;\n jLen = bezierData.points.length;\n\n while (flag) {\n addedLength += bezierData.points[j].partialLength;\n\n if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k];\n }\n\n break;\n } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n }\n\n break;\n }\n\n if (j < jLen - 1) {\n j += 1;\n } else {\n flag = false;\n }\n }\n\n caching._lastPoint = j;\n caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n caching._lastKeyframeIndex = i;\n }\n } else {\n var outX;\n var outY;\n var inX;\n var inY;\n var keyValue;\n len = keyData.s.length;\n endValue = nextKeyData.s || keyData.e;\n\n if (this.sh && keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n newValue[0] = endValue[0];\n newValue[1] = endValue[1];\n newValue[2] = endValue[2];\n } else if (frameNum <= keyTime) {\n newValue[0] = keyData.s[0];\n newValue[1] = keyData.s[1];\n newValue[2] = keyData.s[2];\n } else {\n var quatStart = createQuaternion(keyData.s);\n var quatEnd = createQuaternion(endValue);\n var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n }\n } else {\n for (i = 0; i < len; i += 1) {\n if (keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n perc = 1;\n } else if (frameNum < keyTime) {\n perc = 0;\n } else {\n if (keyData.o.x.constructor === Array) {\n if (!keyframeMetadata.__fnct) {\n keyframeMetadata.__fnct = [];\n }\n\n if (!keyframeMetadata.__fnct[i]) {\n outX = keyData.o.x[i] === undefined ? keyData.o.x[0] : keyData.o.x[i];\n outY = keyData.o.y[i] === undefined ? keyData.o.y[0] : keyData.o.y[i];\n inX = keyData.i.x[i] === undefined ? keyData.i.x[0] : keyData.i.x[i];\n inY = keyData.i.y[i] === undefined ? keyData.i.y[0] : keyData.i.y[i];\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyframeMetadata.__fnct[i] = fnc;\n } else {\n fnc = keyframeMetadata.__fnct[i];\n }\n } else if (!keyframeMetadata.__fnct) {\n outX = keyData.o.x;\n outY = keyData.o.y;\n inX = keyData.i.x;\n inY = keyData.i.y;\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyData.keyframeMetadata = fnc;\n } else {\n fnc = keyframeMetadata.__fnct;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n }\n }\n\n endValue = nextKeyData.s || keyData.e;\n keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n if (this.propType === 'multidimensional') {\n newValue[i] = keyValue;\n } else {\n newValue = keyValue;\n }\n }\n }\n }\n\n caching.lastIndex = iterationIndex;\n return newValue;\n } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n function slerp(a, b, t) {\n var out = [];\n var ax = a[0];\n var ay = a[1];\n var az = a[2];\n var aw = a[3];\n var bx = b[0];\n var by = b[1];\n var bz = b[2];\n var bw = b[3];\n var omega;\n var cosom;\n var sinom;\n var scale0;\n var scale1;\n cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n if (cosom < 0.0) {\n cosom = -cosom;\n bx = -bx;\n by = -by;\n bz = -bz;\n bw = -bw;\n }\n\n if (1.0 - cosom > 0.000001) {\n omega = Math.acos(cosom);\n sinom = Math.sin(omega);\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\n scale1 = Math.sin(t * omega) / sinom;\n } else {\n scale0 = 1.0 - t;\n scale1 = t;\n }\n\n out[0] = scale0 * ax + scale1 * bx;\n out[1] = scale0 * ay + scale1 * by;\n out[2] = scale0 * az + scale1 * bz;\n out[3] = scale0 * aw + scale1 * bw;\n return out;\n }\n\n function quaternionToEuler(out, quat) {\n var qx = quat[0];\n var qy = quat[1];\n var qz = quat[2];\n var qw = quat[3];\n var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n out[0] = heading / degToRads;\n out[1] = attitude / degToRads;\n out[2] = bank / degToRads;\n }\n\n function createQuaternion(values) {\n var heading = values[0] * degToRads;\n var attitude = values[1] * degToRads;\n var bank = values[2] * degToRads;\n var c1 = Math.cos(heading / 2);\n var c2 = Math.cos(attitude / 2);\n var c3 = Math.cos(bank / 2);\n var s1 = Math.sin(heading / 2);\n var s2 = Math.sin(attitude / 2);\n var s3 = Math.sin(bank / 2);\n var w = c1 * c2 * c3 - s1 * s2 * s3;\n var x = s1 * s2 * c3 + c1 * c2 * s3;\n var y = s1 * c2 * c3 + c1 * s2 * s3;\n var z = c1 * s2 * c3 - s1 * c2 * s3;\n return [x, y, z, w];\n }\n\n function getValueAtCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n\n if (!(frameNum === this._caching.lastFrame || this._caching.lastFrame !== initFrame && (this._caching.lastFrame >= endTime && frameNum >= endTime || this._caching.lastFrame < initTime && frameNum < initTime))) {\n if (this._caching.lastFrame >= frameNum) {\n this._caching._lastKeyframeIndex = -1;\n this._caching.lastIndex = 0;\n }\n\n var renderResult = this.interpolateValue(frameNum, this._caching);\n this.pv = renderResult;\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function setVValue(val) {\n var multipliedValue;\n\n if (this.propType === 'unidimensional') {\n multipliedValue = val * this.mult;\n\n if (mathAbs(this.v - multipliedValue) > 0.00001) {\n this.v = multipliedValue;\n this._mdf = true;\n }\n } else {\n var i = 0;\n var len = this.v.length;\n\n while (i < len) {\n multipliedValue = val[i] * this.mult;\n\n if (mathAbs(this.v[i] - multipliedValue) > 0.00001) {\n this.v[i] = multipliedValue;\n this._mdf = true;\n }\n\n i += 1;\n }\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = this._isFirstFrame;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = this.kf ? this.pv : this.data.k;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this._isFirstFrame = false;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n function ValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.mult = mult || 1;\n this.data = data;\n this.v = mult ? data.k * mult : data.k;\n this.pv = data.k;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.vel = 0;\n this.effectsSequence = [];\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function MultiDimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n this.mult = mult || 1;\n this.data = data;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.frameId = -1;\n var i;\n var len = data.k.length;\n this.v = createTypedArray('float32', len);\n this.pv = createTypedArray('float32', len);\n this.vel = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n this.v[i] = data.k[i] * this.mult;\n this.pv[i] = data.k[i];\n }\n\n this._isFirstFrame = true;\n this.effectsSequence = [];\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function KeyframedValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.frameId = -1;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: 0,\n _lastKeyframeIndex: -1\n };\n this.k = true;\n this.kf = true;\n this.data = data;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.v = initFrame;\n this.pv = initFrame;\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.addEffect = addEffect;\n }\n\n function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n var i;\n var len = data.k.length;\n var s;\n var e;\n var to;\n var ti;\n\n for (i = 0; i < len - 1; i += 1) {\n if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n s = data.k[i].s;\n e = data.k[i + 1].s;\n to = data.k[i].to;\n ti = data.k[i].ti;\n\n if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n\n if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n }\n }\n }\n\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.data = data;\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.k = true;\n this.kf = true;\n this._isFirstFrame = true;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.frameId = -1;\n var arrLen = data.k[0].s.length;\n this.v = createTypedArray('float32', arrLen);\n this.pv = createTypedArray('float32', arrLen);\n\n for (i = 0; i < arrLen; i += 1) {\n this.v[i] = initFrame;\n this.pv[i] = initFrame;\n }\n\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: createTypedArray('float32', arrLen)\n };\n this.addEffect = addEffect;\n }\n\n function getProp(elem, data, type, mult, container) {\n var p;\n\n if (!data.k.length) {\n p = new ValueProperty(elem, data, mult, container);\n } else if (typeof data.k[0] === 'number') {\n p = new MultiDimensionalProperty(elem, data, mult, container);\n } else {\n switch (type) {\n case 0:\n p = new KeyframedValueProperty(elem, data, mult, container);\n break;\n\n case 1:\n p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n break;\n\n default:\n break;\n }\n }\n\n if (p.effectsSequence.length) {\n container.addDynamicProperty(p);\n }\n\n return p;\n }\n\n var ob = {\n getProp: getProp\n };\n return ob;\n }();\n\n function DynamicPropertyContainer() {}\n\n DynamicPropertyContainer.prototype = {\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n this.container.addDynamicProperty(this);\n this._isAnimated = true;\n }\n },\n iterateDynamicProperties: function iterateDynamicProperties() {\n this._mdf = false;\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this._mdf = true;\n }\n }\n },\n initDynamicPropertyContainer: function initDynamicPropertyContainer(container) {\n this.container = container;\n this.dynamicProperties = [];\n this._mdf = false;\n this._isAnimated = false;\n }\n };\n\n var pointPool = function () {\n function create() {\n return createTypedArray('float32', 2);\n }\n\n return poolFactory(8, create);\n }();\n\n function ShapePath() {\n this.c = false;\n this._length = 0;\n this._maxLength = 8;\n this.v = createSizedArray(this._maxLength);\n this.o = createSizedArray(this._maxLength);\n this.i = createSizedArray(this._maxLength);\n }\n\n ShapePath.prototype.setPathData = function (closed, len) {\n this.c = closed;\n this.setLength(len);\n var i = 0;\n\n while (i < len) {\n this.v[i] = pointPool.newElement();\n this.o[i] = pointPool.newElement();\n this.i[i] = pointPool.newElement();\n i += 1;\n }\n };\n\n ShapePath.prototype.setLength = function (len) {\n while (this._maxLength < len) {\n this.doubleArrayLength();\n }\n\n this._length = len;\n };\n\n ShapePath.prototype.doubleArrayLength = function () {\n this.v = this.v.concat(createSizedArray(this._maxLength));\n this.i = this.i.concat(createSizedArray(this._maxLength));\n this.o = this.o.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n };\n\n ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n var arr;\n this._length = Math.max(this._length, pos + 1);\n\n if (this._length >= this._maxLength) {\n this.doubleArrayLength();\n }\n\n switch (type) {\n case 'v':\n arr = this.v;\n break;\n\n case 'i':\n arr = this.i;\n break;\n\n case 'o':\n arr = this.o;\n break;\n\n default:\n arr = [];\n break;\n }\n\n if (!arr[pos] || arr[pos] && !replace) {\n arr[pos] = pointPool.newElement();\n }\n\n arr[pos][0] = x;\n arr[pos][1] = y;\n };\n\n ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n this.setXYAt(vX, vY, 'v', pos, replace);\n this.setXYAt(oX, oY, 'o', pos, replace);\n this.setXYAt(iX, iY, 'i', pos, replace);\n };\n\n ShapePath.prototype.reverse = function () {\n var newPath = new ShapePath();\n newPath.setPathData(this.c, this._length);\n var vertices = this.v;\n var outPoints = this.o;\n var inPoints = this.i;\n var init = 0;\n\n if (this.c) {\n newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n init = 1;\n }\n\n var cnt = this._length - 1;\n var len = this._length;\n var i;\n\n for (i = init; i < len; i += 1) {\n newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n cnt -= 1;\n }\n\n return newPath;\n };\n\n var shapePool = function () {\n function create() {\n return new ShapePath();\n }\n\n function release(shapePath) {\n var len = shapePath._length;\n var i;\n\n for (i = 0; i < len; i += 1) {\n pointPool.release(shapePath.v[i]);\n pointPool.release(shapePath.i[i]);\n pointPool.release(shapePath.o[i]);\n shapePath.v[i] = null;\n shapePath.i[i] = null;\n shapePath.o[i] = null;\n }\n\n shapePath._length = 0;\n shapePath.c = false;\n }\n\n function clone(shape) {\n var cloned = factory.newElement();\n var i;\n var len = shape._length === undefined ? shape.v.length : shape._length;\n cloned.setLength(len);\n cloned.c = shape.c;\n\n for (i = 0; i < len; i += 1) {\n cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);\n }\n\n return cloned;\n }\n\n var factory = poolFactory(4, create, release);\n factory.clone = clone;\n return factory;\n }();\n\n function ShapeCollection() {\n this._length = 0;\n this._maxLength = 4;\n this.shapes = createSizedArray(this._maxLength);\n }\n\n ShapeCollection.prototype.addShape = function (shapeData) {\n if (this._length === this._maxLength) {\n this.shapes = this.shapes.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n }\n\n this.shapes[this._length] = shapeData;\n this._length += 1;\n };\n\n ShapeCollection.prototype.releaseShapes = function () {\n var i;\n\n for (i = 0; i < this._length; i += 1) {\n shapePool.release(this.shapes[i]);\n }\n\n this._length = 0;\n };\n\n var shapeCollectionPool = function () {\n var ob = {\n newShapeCollection: newShapeCollection,\n release: release\n };\n var _length = 0;\n var _maxLength = 4;\n var pool = createSizedArray(_maxLength);\n\n function newShapeCollection() {\n var shapeCollection;\n\n if (_length) {\n _length -= 1;\n shapeCollection = pool[_length];\n } else {\n shapeCollection = new ShapeCollection();\n }\n\n return shapeCollection;\n }\n\n function release(shapeCollection) {\n var i;\n var len = shapeCollection._length;\n\n for (i = 0; i < len; i += 1) {\n shapePool.release(shapeCollection.shapes[i]);\n }\n\n shapeCollection._length = 0;\n\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n pool[_length] = shapeCollection;\n _length += 1;\n }\n\n return ob;\n }();\n\n var ShapePropertyFactory = function () {\n var initFrame = -999999;\n\n function interpolateShape(frameNum, previousValue, caching) {\n var iterationIndex = caching.lastIndex;\n var keyPropS;\n var keyPropE;\n var isHold;\n var j;\n var k;\n var jLen;\n var kLen;\n var perc;\n var vertexValue;\n var kf = this.keyframes;\n\n if (frameNum < kf[0].t - this.offsetTime) {\n keyPropS = kf[0].s[0];\n isHold = true;\n iterationIndex = 0;\n } else if (frameNum >= kf[kf.length - 1].t - this.offsetTime) {\n keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n /* if(kf[kf.length - 1].s){\r\n keyPropS = kf[kf.length - 1].s[0];\r\n }else{\r\n keyPropS = kf[kf.length - 2].e[0];\r\n } */\n\n isHold = true;\n } else {\n var i = iterationIndex;\n var len = kf.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = kf[i];\n nextKeyData = kf[i + 1];\n\n if (nextKeyData.t - this.offsetTime > frameNum) {\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n isHold = keyData.h === 1;\n iterationIndex = i;\n\n if (!isHold) {\n if (frameNum >= nextKeyData.t - this.offsetTime) {\n perc = 1;\n } else if (frameNum < keyData.t - this.offsetTime) {\n perc = 0;\n } else {\n var fnc;\n\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - (keyData.t - this.offsetTime)) / (nextKeyData.t - this.offsetTime - (keyData.t - this.offsetTime)));\n }\n\n keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n }\n\n keyPropS = keyData.s[0];\n }\n\n jLen = previousValue._length;\n kLen = keyPropS.i[0].length;\n caching.lastIndex = iterationIndex;\n\n for (j = 0; j < jLen; j += 1) {\n for (k = 0; k < kLen; k += 1) {\n vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n previousValue.i[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n previousValue.o[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n previousValue.v[j][k] = vertexValue;\n }\n }\n }\n\n function interpolateShapeCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n var lastFrame = this._caching.lastFrame;\n\n if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n /// /\n this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;\n this.interpolateShape(frameNum, this.pv, this._caching); /// /\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function resetShape() {\n this.paths = this.localShapeCollection;\n }\n\n function shapesEqual(shape1, shape2) {\n if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n return false;\n }\n\n var i;\n var len = shape1._length;\n\n for (i = 0; i < len; i += 1) {\n if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) {\n return false;\n }\n }\n\n return true;\n }\n\n function setVValue(newPath) {\n if (!shapesEqual(this.v, newPath)) {\n this.v = shapePool.clone(newPath);\n this.localShapeCollection.releaseShapes();\n this.localShapeCollection.addShape(this.v);\n this._mdf = true;\n this.paths = this.localShapeCollection;\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (!this.effectsSequence.length) {\n this._mdf = false;\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var finalValue;\n\n if (this.kf) {\n finalValue = this.pv;\n } else if (this.data.ks) {\n finalValue = this.data.ks.k;\n } else {\n finalValue = this.data.pt.k;\n }\n\n var i;\n var len = this.effectsSequence.length;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function ShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.container = elem;\n this.elem = elem;\n this.data = data;\n this.k = false;\n this.kf = false;\n this._mdf = false;\n var pathData = type === 3 ? data.pt.k : data.ks.k;\n this.v = shapePool.clone(pathData);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.reset = resetShape;\n this.effectsSequence = [];\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n ShapeProperty.prototype.interpolateShape = interpolateShape;\n ShapeProperty.prototype.getValue = processEffectsSequence;\n ShapeProperty.prototype.setVValue = setVValue;\n ShapeProperty.prototype.addEffect = addEffect;\n\n function KeyframedShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.elem = elem;\n this.container = elem;\n this.offsetTime = elem.data.st;\n this.keyframes = type === 3 ? data.pt.k : data.ks.k;\n this.keyframesMetadata = [];\n this.k = true;\n this.kf = true;\n var len = this.keyframes[0].s[0].i.length;\n this.v = shapePool.newElement();\n this.v.setPathData(this.keyframes[0].s[0].c, len);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.lastFrame = initFrame;\n this.reset = resetShape;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0\n };\n this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];\n }\n\n KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n KeyframedShapeProperty.prototype.setVValue = setVValue;\n KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n var EllShapeProperty = function () {\n var cPoint = roundCorner;\n\n function EllShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 4);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.localShapeCollection.addShape(this.v);\n this.d = data.d;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertEllToPath();\n }\n }\n\n EllShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertEllToPath();\n }\n },\n convertEllToPath: function convertEllToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var s0 = this.s.v[0] / 2;\n var s1 = this.s.v[1] / 2;\n\n var _cw = this.d !== 3;\n\n var _v = this.v;\n _v.v[0][0] = p0;\n _v.v[0][1] = p1 - s1;\n _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.v[1][1] = p1;\n _v.v[2][0] = p0;\n _v.v[2][1] = p1 + s1;\n _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.v[3][1] = p1;\n _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.i[0][1] = p1 - s1;\n _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.i[1][1] = p1 - s1 * cPoint;\n _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.i[2][1] = p1 + s1;\n _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.i[3][1] = p1 + s1 * cPoint;\n _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.o[0][1] = p1 - s1;\n _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.o[1][1] = p1 + s1 * cPoint;\n _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.o[2][1] = p1 + s1;\n _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.o[3][1] = p1 - s1 * cPoint;\n }\n };\n extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n return EllShapePropertyFactory;\n }();\n\n var StarShapeProperty = function () {\n function StarShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 0);\n this.elem = elem;\n this.comp = elem.comp;\n this.data = data;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n\n if (data.sy === 1) {\n this.ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this);\n this.is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this);\n this.convertToPath = this.convertStarToPath;\n } else {\n this.convertToPath = this.convertPolygonToPath;\n }\n\n this.pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this);\n this.or = PropertyFactory.getProp(elem, data.or, 0, 0, this);\n this.os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertToPath();\n }\n }\n\n StarShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertToPath();\n }\n },\n convertStarToPath: function convertStarToPath() {\n var numPts = Math.floor(this.pt.v) * 2;\n var angle = Math.PI * 2 / numPts;\n /* this.v.v.length = numPts;\r\n this.v.i.length = numPts;\r\n this.v.o.length = numPts; */\n\n var longFlag = true;\n var longRad = this.or.v;\n var shortRad = this.ir.v;\n var longRound = this.os.v;\n var shortRound = this.is.v;\n var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n var i;\n var rad;\n var roundness;\n var perimSegment;\n var currentAng = -Math.PI / 2;\n currentAng += this.r.v;\n var dir = this.data.d === 3 ? -1 : 1;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n rad = longFlag ? longRad : shortRad;\n roundness = longFlag ? longRound : shortRound;\n perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n /* this.v.v[i] = [x,y];\r\n this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n this.v._length = numPts; */\n\n longFlag = !longFlag;\n currentAng += angle * dir;\n }\n },\n convertPolygonToPath: function convertPolygonToPath() {\n var numPts = Math.floor(this.pt.v);\n var angle = Math.PI * 2 / numPts;\n var rad = this.or.v;\n var roundness = this.os.v;\n var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n var i;\n var currentAng = -Math.PI * 0.5;\n var dir = this.data.d === 3 ? -1 : 1;\n currentAng += this.r.v;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n currentAng += angle * dir;\n }\n\n this.paths.length = 0;\n this.paths[0] = this.v;\n }\n };\n extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n return StarShapePropertyFactory;\n }();\n\n var RectShapeProperty = function () {\n function RectShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.c = true;\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertRectToPath();\n }\n }\n\n RectShapePropertyFactory.prototype = {\n convertRectToPath: function convertRectToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var v0 = this.s.v[0] / 2;\n var v1 = this.s.v[1] / 2;\n var round = bmMin(v0, v1, this.r.v);\n var cPoint = round * (1 - roundCorner);\n this.v._length = 0;\n\n if (this.d === 2 || this.d === 1) {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n }\n } else {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n this.v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n }\n }\n },\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertRectToPath();\n }\n },\n reset: resetShape\n };\n extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n return RectShapePropertyFactory;\n }();\n\n function getShapeProp(elem, data, type) {\n var prop;\n\n if (type === 3 || type === 4) {\n var dataProp = type === 3 ? data.pt : data.ks;\n var keys = dataProp.k;\n\n if (keys.length) {\n prop = new KeyframedShapeProperty(elem, data, type);\n } else {\n prop = new ShapeProperty(elem, data, type);\n }\n } else if (type === 5) {\n prop = new RectShapeProperty(elem, data);\n } else if (type === 6) {\n prop = new EllShapeProperty(elem, data);\n } else if (type === 7) {\n prop = new StarShapeProperty(elem, data);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n }\n\n function getConstructorFunction() {\n return ShapeProperty;\n }\n\n function getKeyframedConstructorFunction() {\n return KeyframedShapeProperty;\n }\n\n var ob = {};\n ob.getShapeProp = getShapeProp;\n ob.getConstructorFunction = getConstructorFunction;\n ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n return ob;\n }();\n\n /*!\r\n Transformation Matrix v2.0\r\n (c) Epistemex 2014-2015\r\n www.epistemex.com\r\n By Ken Fyrstenberg\r\n Contributions by leeoniya.\r\n License: MIT, header required.\r\n */\n\n /**\r\n * 2D transformation matrix object initialized with identity matrix.\r\n *\r\n * The matrix can synchronize a canvas context by supplying the context\r\n * as an argument, or later apply current absolute transform to an\r\n * existing context.\r\n *\r\n * All values are handled as floating point values.\r\n *\r\n * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n * @prop {number} a - scale x\r\n * @prop {number} b - shear y\r\n * @prop {number} c - shear x\r\n * @prop {number} d - scale y\r\n * @prop {number} e - translate x\r\n * @prop {number} f - translate y\r\n * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n * @constructor\r\n */\n\n var Matrix = function () {\n var _cos = Math.cos;\n var _sin = Math.sin;\n var _tan = Math.tan;\n var _rnd = Math.round;\n\n function reset() {\n this.props[0] = 1;\n this.props[1] = 0;\n this.props[2] = 0;\n this.props[3] = 0;\n this.props[4] = 0;\n this.props[5] = 1;\n this.props[6] = 0;\n this.props[7] = 0;\n this.props[8] = 0;\n this.props[9] = 0;\n this.props[10] = 1;\n this.props[11] = 0;\n this.props[12] = 0;\n this.props[13] = 0;\n this.props[14] = 0;\n this.props[15] = 1;\n return this;\n }\n\n function rotate(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function rotateX(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateY(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateZ(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function shear(sx, sy) {\n return this._t(1, sy, sx, 1, 0, 0);\n }\n\n function skew(ax, ay) {\n return this.shear(_tan(ax), _tan(ay));\n }\n\n function skewFromAxis(ax, angle) {\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n }\n\n function scale(sx, sy, sz) {\n if (!sz && sz !== 0) {\n sz = 1;\n }\n\n if (sx === 1 && sy === 1 && sz === 1) {\n return this;\n }\n\n return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n }\n\n function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n this.props[0] = a;\n this.props[1] = b;\n this.props[2] = c;\n this.props[3] = d;\n this.props[4] = e;\n this.props[5] = f;\n this.props[6] = g;\n this.props[7] = h;\n this.props[8] = i;\n this.props[9] = j;\n this.props[10] = k;\n this.props[11] = l;\n this.props[12] = m;\n this.props[13] = n;\n this.props[14] = o;\n this.props[15] = p;\n return this;\n }\n\n function translate(tx, ty, tz) {\n tz = tz || 0;\n\n if (tx !== 0 || ty !== 0 || tz !== 0) {\n return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n }\n\n return this;\n }\n\n function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n var _p = this.props;\n\n if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) {\n // NOTE: commenting this condition because TurboFan deoptimizes code when present\n // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n _p[12] = _p[12] * a2 + _p[15] * m2;\n _p[13] = _p[13] * f2 + _p[15] * n2;\n _p[14] = _p[14] * k2 + _p[15] * o2;\n _p[15] *= p2; // }\n\n this._identityCalculated = false;\n return this;\n }\n\n var a1 = _p[0];\n var b1 = _p[1];\n var c1 = _p[2];\n var d1 = _p[3];\n var e1 = _p[4];\n var f1 = _p[5];\n var g1 = _p[6];\n var h1 = _p[7];\n var i1 = _p[8];\n var j1 = _p[9];\n var k1 = _p[10];\n var l1 = _p[11];\n var m1 = _p[12];\n var n1 = _p[13];\n var o1 = _p[14];\n var p1 = _p[15];\n /* matrix order (canvas compatible):\r\n * ace\r\n * bdf\r\n * 001\r\n */\n\n _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n this._identityCalculated = false;\n return this;\n }\n\n function isIdentity() {\n if (!this._identityCalculated) {\n this._identity = !(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);\n this._identityCalculated = true;\n }\n\n return this._identity;\n }\n\n function equals(matr) {\n var i = 0;\n\n while (i < 16) {\n if (matr.props[i] !== this.props[i]) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n }\n\n function clone(matr) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n matr.props[i] = this.props[i];\n }\n\n return matr;\n }\n\n function cloneFromProps(props) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n this.props[i] = props[i];\n }\n }\n\n function applyToPoint(x, y, z) {\n return {\n x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],\n y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],\n z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]\n };\n /* return {\r\n x: x * me.a + y * me.c + me.e,\r\n y: x * me.b + y * me.d + me.f\r\n }; */\n }\n\n function applyToX(x, y, z) {\n return x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12];\n }\n\n function applyToY(x, y, z) {\n return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13];\n }\n\n function applyToZ(x, y, z) {\n return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14];\n }\n\n function getInverseMatrix() {\n var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4];\n var a = this.props[5] / determinant;\n var b = -this.props[1] / determinant;\n var c = -this.props[4] / determinant;\n var d = this.props[0] / determinant;\n var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / determinant;\n var f = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / determinant;\n var inverseMatrix = new Matrix();\n inverseMatrix.props[0] = a;\n inverseMatrix.props[1] = b;\n inverseMatrix.props[4] = c;\n inverseMatrix.props[5] = d;\n inverseMatrix.props[12] = e;\n inverseMatrix.props[13] = f;\n return inverseMatrix;\n }\n\n function inversePoint(pt) {\n var inverseMatrix = this.getInverseMatrix();\n return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n }\n\n function inversePoints(pts) {\n var i;\n var len = pts.length;\n var retPts = [];\n\n for (i = 0; i < len; i += 1) {\n retPts[i] = inversePoint(pts[i]);\n }\n\n return retPts;\n }\n\n function applyToTriplePoints(pt1, pt2, pt3) {\n var arr = createTypedArray('float32', 6);\n\n if (this.isIdentity()) {\n arr[0] = pt1[0];\n arr[1] = pt1[1];\n arr[2] = pt2[0];\n arr[3] = pt2[1];\n arr[4] = pt3[0];\n arr[5] = pt3[1];\n } else {\n var p0 = this.props[0];\n var p1 = this.props[1];\n var p4 = this.props[4];\n var p5 = this.props[5];\n var p12 = this.props[12];\n var p13 = this.props[13];\n arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n }\n\n return arr;\n }\n\n function applyToPointArray(x, y, z) {\n var arr;\n\n if (this.isIdentity()) {\n arr = [x, y, z];\n } else {\n arr = [x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12], x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13], x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]];\n }\n\n return arr;\n }\n\n function applyToPointStringified(x, y) {\n if (this.isIdentity()) {\n return x + ',' + y;\n }\n\n var _p = this.props;\n return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + ',' + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;\n }\n\n function toCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var i = 0;\n var props = this.props;\n var cssValue = 'matrix3d(';\n var v = 10000;\n\n while (i < 16) {\n cssValue += _rnd(props[i] * v) / v;\n cssValue += i === 15 ? ')' : ',';\n i += 1;\n }\n\n return cssValue;\n }\n\n function roundMatrixProperty(val) {\n var v = 10000;\n\n if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n return _rnd(val * v) / v;\n }\n\n return val;\n }\n\n function to2dCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var props = this.props;\n\n var _a = roundMatrixProperty(props[0]);\n\n var _b = roundMatrixProperty(props[1]);\n\n var _c = roundMatrixProperty(props[4]);\n\n var _d = roundMatrixProperty(props[5]);\n\n var _e = roundMatrixProperty(props[12]);\n\n var _f = roundMatrixProperty(props[13]);\n\n return 'matrix(' + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + ')';\n }\n\n return function () {\n this.reset = reset;\n this.rotate = rotate;\n this.rotateX = rotateX;\n this.rotateY = rotateY;\n this.rotateZ = rotateZ;\n this.skew = skew;\n this.skewFromAxis = skewFromAxis;\n this.shear = shear;\n this.scale = scale;\n this.setTransform = setTransform;\n this.translate = translate;\n this.transform = transform;\n this.applyToPoint = applyToPoint;\n this.applyToX = applyToX;\n this.applyToY = applyToY;\n this.applyToZ = applyToZ;\n this.applyToPointArray = applyToPointArray;\n this.applyToTriplePoints = applyToTriplePoints;\n this.applyToPointStringified = applyToPointStringified;\n this.toCSS = toCSS;\n this.to2dCSS = to2dCSS;\n this.clone = clone;\n this.cloneFromProps = cloneFromProps;\n this.equals = equals;\n this.inversePoints = inversePoints;\n this.inversePoint = inversePoint;\n this.getInverseMatrix = getInverseMatrix;\n this._t = this.transform;\n this.isIdentity = isIdentity;\n this._identity = true;\n this._identityCalculated = false;\n this.props = createTypedArray('float32', 16);\n this.reset();\n };\n }();\n\n function _typeof$3(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$3 = function _typeof(obj) { return typeof obj; }; } else { _typeof$3 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$3(obj); }\n var lottie = {};\n var standalone = '__[STANDALONE]__';\n var animationData = '__[ANIMATIONDATA]__';\n var renderer = '';\n\n function setLocation(href) {\n setLocationHref(href);\n }\n\n function searchAnimations() {\n if (standalone === true) {\n animationManager.searchAnimations(animationData, standalone, renderer);\n } else {\n animationManager.searchAnimations();\n }\n }\n\n function setSubframeRendering(flag) {\n setSubframeEnabled(flag);\n }\n\n function setPrefix(prefix) {\n setIdPrefix(prefix);\n }\n\n function loadAnimation(params) {\n if (standalone === true) {\n params.animationData = JSON.parse(animationData);\n }\n\n return animationManager.loadAnimation(params);\n }\n\n function setQuality(value) {\n if (typeof value === 'string') {\n switch (value) {\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 break;\n }\n } else if (!isNaN(value) && value > 1) {\n setDefaultCurveSegments(value);\n }\n\n if (getDefaultCurveSegments() >= 50) {\n roundValues(false);\n } else {\n roundValues(true);\n }\n }\n\n function inBrowser() {\n return typeof navigator !== 'undefined';\n }\n\n function installPlugin(type, plugin) {\n if (type === 'expressions') {\n setExpressionsPlugin(plugin);\n }\n }\n\n function getFactory(name) {\n switch (name) {\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 lottie.play = animationManager.play;\n lottie.pause = animationManager.pause;\n lottie.setLocationHref = setLocation;\n lottie.togglePause = animationManager.togglePause;\n lottie.setSpeed = animationManager.setSpeed;\n lottie.setDirection = animationManager.setDirection;\n lottie.stop = animationManager.stop;\n lottie.searchAnimations = searchAnimations;\n lottie.registerAnimation = animationManager.registerAnimation;\n lottie.loadAnimation = loadAnimation;\n lottie.setSubframeRendering = setSubframeRendering;\n lottie.resize = animationManager.resize; // lottie.start = start;\n\n lottie.goToAndStop = animationManager.goToAndStop;\n lottie.destroy = animationManager.destroy;\n lottie.setQuality = setQuality;\n lottie.inBrowser = inBrowser;\n lottie.installPlugin = installPlugin;\n lottie.freeze = animationManager.freeze;\n lottie.unfreeze = animationManager.unfreeze;\n lottie.setVolume = animationManager.setVolume;\n lottie.mute = animationManager.mute;\n lottie.unmute = animationManager.unmute;\n lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n lottie.useWebWorker = setWebWorker;\n lottie.setIDPrefix = setPrefix;\n lottie.__getFactory = getFactory;\n lottie.version = '5.9.6';\n\n function checkReady() {\n if (document.readyState === 'complete') {\n clearInterval(readyStateCheckInterval);\n searchAnimations();\n }\n }\n\n function getQueryVariable(variable) {\n var vars = queryString.split('&');\n\n for (var i = 0; i < vars.length; i += 1) {\n var pair = vars[i].split('=');\n\n if (decodeURIComponent(pair[0]) == variable) {\n // eslint-disable-line eqeqeq\n return decodeURIComponent(pair[1]);\n }\n }\n\n return null;\n }\n\n var queryString = '';\n\n if (standalone) {\n var scripts = document.getElementsByTagName('script');\n var index = scripts.length - 1;\n var myScript = scripts[index] || {\n src: ''\n };\n queryString = myScript.src ? myScript.src.replace(/^[^\\?]+\\??/, '') : ''; // eslint-disable-line no-useless-escape\n\n renderer = getQueryVariable('renderer');\n }\n\n var readyStateCheckInterval = setInterval(checkReady, 100); // this adds bodymovin to the window object for backwards compatibility\n\n try {\n if (!((typeof exports === \"undefined\" ? \"undefined\" : _typeof$3(exports)) === 'object' && typeof module !== 'undefined') && !(typeof define === 'function' && define.amd) // eslint-disable-line no-undef\n ) {\n window.bodymovin = lottie;\n }\n } catch (err) {//\n }\n\n var ShapeModifiers = function () {\n var ob = {};\n var modifiers = {};\n ob.registerModifier = registerModifier;\n ob.getModifier = getModifier;\n\n function registerModifier(nm, factory) {\n if (!modifiers[nm]) {\n modifiers[nm] = factory;\n }\n }\n\n function getModifier(nm, elem, data) {\n return new modifiers[nm](elem, data);\n }\n\n return ob;\n }();\n\n function ShapeModifier() {}\n\n ShapeModifier.prototype.initModifierProperties = function () {};\n\n ShapeModifier.prototype.addShapeToModifier = function () {};\n\n ShapeModifier.prototype.addShape = function (data) {\n if (!this.closed) {\n // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n data.sh.container.addDynamicProperty(data.sh);\n var shapeData = {\n shape: data.sh,\n data: data,\n localShapeCollection: shapeCollectionPool.newShapeCollection()\n };\n this.shapes.push(shapeData);\n this.addShapeToModifier(shapeData);\n\n if (this._isAnimated) {\n data.setAsAnimated();\n }\n }\n };\n\n ShapeModifier.prototype.init = function (elem, data) {\n this.shapes = [];\n this.elem = elem;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, data);\n this.frameId = initialDefaultFrame;\n this.closed = false;\n this.k = false;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n ShapeModifier.prototype.processKeys = function () {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n extendPrototype([DynamicPropertyContainer], ShapeModifier);\n\n function TrimModifier() {}\n\n extendPrototype([ShapeModifier], TrimModifier);\n\n TrimModifier.prototype.initModifierProperties = function (elem, data) {\n this.s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this);\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0, this);\n this.sValue = 0;\n this.eValue = 0;\n this.getValue = this.processKeys;\n this.m = data.m;\n this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\n };\n\n TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n shapeData.pathsData = [];\n };\n\n TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n var segments = [];\n\n if (e <= 1) {\n segments.push({\n s: s,\n e: e\n });\n } else if (s >= 1) {\n segments.push({\n s: s - 1,\n e: e - 1\n });\n } else {\n segments.push({\n s: s,\n e: 1\n });\n segments.push({\n s: 0,\n e: e - 1\n });\n }\n\n var shapeSegments = [];\n var i;\n var len = segments.length;\n var segmentOb;\n\n for (i = 0; i < len; i += 1) {\n segmentOb = segments[i];\n\n if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n var shapeS;\n var shapeE;\n\n if (segmentOb.s * totalModifierLength <= addedLength) {\n shapeS = 0;\n } else {\n shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n }\n\n if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n shapeE = 1;\n } else {\n shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n }\n\n shapeSegments.push([shapeS, shapeE]);\n }\n }\n\n if (!shapeSegments.length) {\n shapeSegments.push([0, 0]);\n }\n\n return shapeSegments;\n };\n\n TrimModifier.prototype.releasePathsData = function (pathsData) {\n var i;\n var len = pathsData.length;\n\n for (i = 0; i < len; i += 1) {\n segmentsLengthPool.release(pathsData[i]);\n }\n\n pathsData.length = 0;\n return pathsData;\n };\n\n TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n var s;\n var e;\n\n if (this._mdf || _isFirstFrame) {\n var o = this.o.v % 360 / 360;\n\n if (o < 0) {\n o += 1;\n }\n\n if (this.s.v > 1) {\n s = 1 + o;\n } else if (this.s.v < 0) {\n s = 0 + o;\n } else {\n s = this.s.v + o;\n }\n\n if (this.e.v > 1) {\n e = 1 + o;\n } else if (this.e.v < 0) {\n e = 0 + o;\n } else {\n e = this.e.v + o;\n }\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n s = Math.round(s * 10000) * 0.0001;\n e = Math.round(e * 10000) * 0.0001;\n this.sValue = s;\n this.eValue = e;\n } else {\n s = this.sValue;\n e = this.eValue;\n }\n\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var pathsData;\n var pathData;\n var totalShapeLength;\n var totalModifierLength = 0;\n\n if (e === s) {\n for (i = 0; i < len; i += 1) {\n this.shapes[i].localShapeCollection.releaseShapes();\n this.shapes[i].shape._mdf = true;\n this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;\n\n if (this._mdf) {\n this.shapes[i].pathsData.length = 0;\n }\n }\n } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n var segments = [];\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) {\n shapeData.shape.paths = shapeData.localShapeCollection;\n } else {\n shapePaths = shapeData.shape.paths;\n jLen = shapePaths._length;\n totalShapeLength = 0;\n\n if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n totalShapeLength = shapeData.totalShapeLength;\n } else {\n pathsData = this.releasePathsData(shapeData.pathsData);\n\n for (j = 0; j < jLen; j += 1) {\n pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n pathsData.push(pathData);\n totalShapeLength += pathData.totalLength;\n }\n\n shapeData.totalShapeLength = totalShapeLength;\n shapeData.pathsData = pathsData;\n }\n\n totalModifierLength += totalShapeLength;\n shapeData.shape._mdf = true;\n }\n }\n\n var shapeS = s;\n var shapeE = e;\n var addedLength = 0;\n var edges;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shapeData = this.shapes[i];\n\n if (shapeData.shape._mdf) {\n localShapeCollection = shapeData.localShapeCollection;\n localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n if (this.m === 2 && len > 1) {\n edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n addedLength += shapeData.totalShapeLength;\n } else {\n edges = [[shapeS, shapeE]];\n }\n\n jLen = edges.length;\n\n for (j = 0; j < jLen; j += 1) {\n shapeS = edges[j][0];\n shapeE = edges[j][1];\n segments.length = 0;\n\n if (shapeE <= 1) {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength * shapeE\n });\n } else if (shapeS >= 1) {\n segments.push({\n s: shapeData.totalShapeLength * (shapeS - 1),\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n } else {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength\n });\n segments.push({\n s: 0,\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n }\n\n var newShapesData = this.addShapes(shapeData, segments[0]);\n\n if (segments[0].s !== segments[0].e) {\n if (segments.length > 1) {\n var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n if (lastShapeInCollection.c) {\n var lastShape = newShapesData.pop();\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n } else {\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1]);\n }\n }\n\n this.addPaths(newShapesData, localShapeCollection);\n }\n }\n\n shapeData.shape.paths = localShapeCollection;\n }\n }\n } else if (this._mdf) {\n for (i = 0; i < len; i += 1) {\n // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n // Don't remove this even if it's losing cached info.\n this.shapes[i].pathsData.length = 0;\n this.shapes[i].shape._mdf = true;\n }\n }\n };\n\n TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n var i;\n var len = newPaths.length;\n\n for (i = 0; i < len; i += 1) {\n localShapeCollection.addShape(newPaths[i]);\n }\n };\n\n TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n shapePath.setXYAt(pt2[0], pt2[1], 'o', pos);\n shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(pt1[0], pt1[1], 'v', pos);\n }\n\n shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n shapePath.setXYAt(points[1], points[5], 'o', pos);\n shapePath.setXYAt(points[2], points[6], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(points[0], points[4], 'v', pos);\n }\n\n shapePath.setXYAt(points[3], points[7], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n var pathsData = shapeData.pathsData;\n var shapePaths = shapeData.shape.paths.shapes;\n var i;\n var len = shapeData.shape.paths._length;\n var j;\n var jLen;\n var addedLength = 0;\n var currentLengthData;\n var segmentCount;\n var lengths;\n var segment;\n var shapes = [];\n var initPos;\n var newShape = true;\n\n if (!shapePath) {\n shapePath = shapePool.newElement();\n segmentCount = 0;\n initPos = 0;\n } else {\n segmentCount = shapePath._length;\n initPos = shapePath._length;\n }\n\n shapes.push(shapePath);\n\n for (i = 0; i < len; i += 1) {\n lengths = pathsData[i].lengths;\n shapePath.c = shapePaths[i].c;\n jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n for (j = 1; j < jLen; j += 1) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n addedLength += currentLengthData.addedLength;\n shapePath.c = false;\n } else if (addedLength > shapeSegment.e) {\n shapePath.c = false;\n break;\n } else {\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n }\n\n if (shapePaths[i].c && lengths.length) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength <= shapeSegment.e) {\n var segmentLength = lengths[j - 1].addedLength;\n\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n } else {\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n\n if (shapePath._length) {\n shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos);\n shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], 'o', shapePath._length - 1);\n }\n\n if (addedLength > shapeSegment.e) {\n break;\n }\n\n if (i < len - 1) {\n shapePath = shapePool.newElement();\n newShape = true;\n shapes.push(shapePath);\n segmentCount = 0;\n }\n }\n\n return shapes;\n };\n\n function PuckerAndBloatModifier() {}\n\n extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this._isAnimated = !!this.amount.effectsSequence.length;\n };\n\n PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n var percent = amount / 100;\n var centerPoint = [0, 0];\n var pathLength = path._length;\n var i = 0;\n\n for (i = 0; i < pathLength; i += 1) {\n centerPoint[0] += path.v[i][0];\n centerPoint[1] += path.v[i][1];\n }\n\n centerPoint[0] /= pathLength;\n centerPoint[1] /= pathLength;\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < pathLength; i += 1) {\n vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n }\n\n return clonedPath;\n };\n\n PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amount = this.amount.v;\n\n if (amount !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n var TransformPropertyFactory = function () {\n var defaultVector = [0, 0];\n\n function applyToMatrix(mat) {\n var _mdf = this._mdf;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || _mdf;\n\n if (this.a) {\n mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.s) {\n mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk) {\n mat.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r) {\n mat.rotate(-this.r.v);\n } else {\n mat.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]);\n }\n\n if (this.data.p.s) {\n if (this.data.p.z) {\n mat.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n mat.translate(this.px.v, this.py.v, 0);\n }\n } else {\n mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n function processKeys(forceRender) {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (this._isDirty) {\n this.precalculateMatrix();\n this._isDirty = false;\n }\n\n this.iterateDynamicProperties();\n\n if (this._mdf || forceRender) {\n var frameRate;\n this.v.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.appliedTransformations < 2) {\n this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n this.v.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n this.v.rotate(-this.r.v);\n } else if (!this.r && this.appliedTransformations < 4) {\n 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]);\n }\n\n if (this.autoOriented) {\n var v1;\n var v2;\n frameRate = this.elem.globalData.frameRate;\n\n if (this.p && this.p.keyframes && this.p.getValueAtTime) {\n if (this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t) {\n v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate, 0);\n v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);\n } else if (this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {\n v1 = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / frameRate, 0);\n v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n } else {\n v1 = this.p.pv;\n v2 = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);\n }\n } else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n v1 = [];\n v2 = [];\n var px = this.px;\n var py = this.py;\n\n if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n } else {\n v1 = [px.pv, py.pv];\n v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n }\n } else {\n v2 = defaultVector;\n v1 = v2;\n }\n\n this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n }\n\n if (this.data.p && this.data.p.s) {\n if (this.data.p.z) {\n this.v.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n this.v.translate(this.px.v, this.py.v, 0);\n }\n } else {\n this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n this.frameId = this.elem.globalData.frameId;\n }\n\n function precalculateMatrix() {\n if (!this.a.k) {\n this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n this.appliedTransformations = 1;\n } else {\n return;\n }\n\n if (!this.s.effectsSequence.length) {\n this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n this.appliedTransformations = 2;\n } else {\n return;\n }\n\n if (this.sk) {\n if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {\n this.pre.skewFromAxis(-this.sk.v, this.sa.v);\n this.appliedTransformations = 3;\n } else {\n return;\n }\n }\n\n if (this.r) {\n if (!this.r.effectsSequence.length) {\n this.pre.rotate(-this.r.v);\n this.appliedTransformations = 4;\n }\n } else if (!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {\n 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]);\n this.appliedTransformations = 4;\n }\n }\n\n function autoOrient() {//\n // var prevP = this.getValueAtTime();\n }\n\n function addDynamicProperty(prop) {\n this._addDynamicProperty(prop);\n\n this.elem.addDynamicProperty(prop);\n this._isDirty = true;\n }\n\n function TransformProperty(elem, data, container) {\n this.elem = elem;\n this.frameId = -1;\n this.propType = 'transform';\n this.data = data;\n this.v = new Matrix(); // Precalculated matrix with non animated properties\n\n this.pre = new Matrix();\n this.appliedTransformations = 0;\n this.initDynamicPropertyContainer(container || elem);\n\n if (data.p && data.p.s) {\n this.px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this);\n this.py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this);\n\n if (data.p.z) {\n this.pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this);\n }\n } else {\n this.p = PropertyFactory.getProp(elem, data.p || {\n k: [0, 0, 0]\n }, 1, 0, this);\n }\n\n if (data.rx) {\n this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);\n this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);\n this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);\n\n if (data.or.k[0].ti) {\n var i;\n var len = data.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.or.k[i].to = null;\n data.or.k[i].ti = null;\n }\n }\n\n this.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this); // sh Indicates it needs to be capped between -180 and 180\n\n this.or.sh = true;\n } else {\n this.r = PropertyFactory.getProp(elem, data.r || {\n k: 0\n }, 0, degToRads, this);\n }\n\n if (data.sk) {\n this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this);\n this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this);\n }\n\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: [0, 0, 0]\n }, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: [100, 100, 100]\n }, 1, 0.01, this); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n if (data.o) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n } else {\n this.o = {\n _mdf: false,\n v: 1\n };\n }\n\n this._isDirty = true;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n }\n\n TransformProperty.prototype = {\n applyToMatrix: applyToMatrix,\n getValue: processKeys,\n precalculateMatrix: precalculateMatrix,\n autoOrient: autoOrient\n };\n extendPrototype([DynamicPropertyContainer], TransformProperty);\n TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n function getTransformProperty(elem, data, container) {\n return new TransformProperty(elem, data, container);\n }\n\n return {\n getTransformProperty: getTransformProperty\n };\n }();\n\n function RepeaterModifier() {}\n\n extendPrototype([ShapeModifier], RepeaterModifier);\n\n RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.c = PropertyFactory.getProp(elem, data.c, 0, null, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, null, this);\n this.tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this);\n this.so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this);\n this.eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this);\n this.data = data;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n\n this._isAnimated = !!this.dynamicProperties.length;\n this.pMatrix = new Matrix();\n this.rMatrix = new Matrix();\n this.sMatrix = new Matrix();\n this.tMatrix = new Matrix();\n this.matrix = new Matrix();\n };\n\n RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n var dir = inv ? -1 : 1;\n var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n rMatrix.rotate(-transform.r.v * dir * perc);\n rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n };\n\n RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n this.elem = elem;\n this.arr = arr;\n this.pos = pos;\n this.elemsData = elemsData;\n this._currentCopies = 0;\n this._elements = [];\n this._groups = [];\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, arr[pos]);\n\n while (pos > 0) {\n pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n this._elements.unshift(arr[pos]);\n }\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n RepeaterModifier.prototype.resetElements = function (elements) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._processed = false;\n\n if (elements[i].ty === 'gr') {\n this.resetElements(elements[i].it);\n }\n }\n };\n\n RepeaterModifier.prototype.cloneElements = function (elements) {\n var newElements = JSON.parse(JSON.stringify(elements));\n this.resetElements(newElements);\n return newElements;\n };\n\n RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._render = renderFlag;\n\n if (elements[i].ty === 'gr') {\n this.changeGroupRender(elements[i].it, renderFlag);\n }\n }\n };\n\n RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n var items;\n var itemsTransform;\n var i;\n var dir;\n var cont;\n var hasReloaded = false;\n\n if (this._mdf || _isFirstFrame) {\n var copies = Math.ceil(this.c.v);\n\n if (this._groups.length < copies) {\n while (this._groups.length < copies) {\n var group = {\n it: this.cloneElements(this._elements),\n ty: 'gr'\n };\n group.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 });\n this.arr.splice(0, 0, group);\n\n this._groups.splice(0, 0, group);\n\n this._currentCopies += 1;\n }\n\n this.elem.reloadShapes();\n hasReloaded = true;\n }\n\n cont = 0;\n var renderFlag;\n\n for (i = 0; i <= this._groups.length - 1; i += 1) {\n renderFlag = cont < copies;\n this._groups[i]._render = renderFlag;\n this.changeGroupRender(this._groups[i].it, renderFlag);\n\n if (!renderFlag) {\n var elems = this.elemsData[i].it;\n var transformData = elems[elems.length - 1];\n\n if (transformData.transform.op.v !== 0) {\n transformData.transform.op._mdf = true;\n transformData.transform.op.v = 0;\n } else {\n transformData.transform.op._mdf = false;\n }\n }\n\n cont += 1;\n }\n\n this._currentCopies = copies; /// /\n\n var offset = this.o.v;\n var offsetModulo = offset % 1;\n var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n var pProps = this.pMatrix.props;\n var rProps = this.rMatrix.props;\n var sProps = this.sMatrix.props;\n this.pMatrix.reset();\n this.rMatrix.reset();\n this.sMatrix.reset();\n this.tMatrix.reset();\n this.matrix.reset();\n var iteration = 0;\n\n if (offset > 0) {\n while (iteration < roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n iteration += 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, offsetModulo, false);\n iteration += offsetModulo;\n }\n } else if (offset < 0) {\n while (iteration > roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);\n iteration -= 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -offsetModulo, true);\n iteration -= offsetModulo;\n }\n }\n\n i = this.data.m === 1 ? 0 : this._currentCopies - 1;\n dir = this.data.m === 1 ? 1 : -1;\n cont = this._currentCopies;\n var j;\n var jLen;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n jLen = itemsTransform.length;\n items[items.length - 1].transform.mProps._mdf = true;\n items[items.length - 1].transform.op._mdf = true;\n items[items.length - 1].transform.op.v = this._currentCopies === 1 ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));\n\n if (iteration !== 0) {\n if (i !== 0 && dir === 1 || i !== this._currentCopies - 1 && dir === -1) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n }\n\n this.matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]);\n this.matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n this.matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n\n this.matrix.reset();\n } else {\n this.matrix.reset();\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n }\n\n iteration += 1;\n cont -= 1;\n i += dir;\n }\n } else {\n cont = this._currentCopies;\n i = 0;\n dir = 1;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n items[items.length - 1].transform.mProps._mdf = false;\n items[items.length - 1].transform.op._mdf = false;\n cont -= 1;\n i += dir;\n }\n }\n\n return hasReloaded;\n };\n\n RepeaterModifier.prototype.addShape = function () {};\n\n function RoundCornersModifier() {}\n\n extendPrototype([ShapeModifier], RoundCornersModifier);\n\n RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.rd = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this._isAnimated = !!this.rd.effectsSequence.length;\n };\n\n RoundCornersModifier.prototype.processPath = function (path, round) {\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var i;\n var len = path._length;\n var currentV;\n var currentI;\n var currentO;\n var closerV;\n var distance;\n var newPosPerc;\n var index = 0;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < len; i += 1) {\n currentV = path.v[i];\n currentO = path.o[i];\n currentI = path.i[i];\n\n if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n if ((i === 0 || i === len - 1) && !path.c) {\n clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n /* clonedPath.v[index] = currentV;\r\n clonedPath.o[index] = currentO;\r\n clonedPath.i[index] = currentI; */\n\n index += 1;\n } else {\n if (i === 0) {\n closerV = path.v[len - 1];\n } else {\n closerV = path.v[i - 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = iX;\n iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n vY = iY;\n oX = vX - (vX - currentV[0]) * roundCorner;\n oY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n\n if (i === len - 1) {\n closerV = path.v[0];\n } else {\n closerV = path.v[i + 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = oX;\n oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n vY = oY;\n iX = vX - (vX - currentV[0]) * roundCorner;\n iY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n }\n } else {\n clonedPath.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index);\n index += 1;\n }\n }\n\n return clonedPath;\n };\n\n RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var rd = this.rd.v;\n\n if (rd !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function getFontProperties(fontData) {\n var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];\n var fWeight = 'normal';\n var fStyle = 'normal';\n var len = styles.length;\n var styleName;\n\n for (var i = 0; i < len; i += 1) {\n styleName = styles[i].toLowerCase();\n\n switch (styleName) {\n case 'italic':\n fStyle = 'italic';\n break;\n\n case 'bold':\n fWeight = '700';\n break;\n\n case 'black':\n fWeight = '900';\n break;\n\n case 'medium':\n fWeight = '500';\n break;\n\n case 'regular':\n case 'normal':\n fWeight = '400';\n break;\n\n case 'light':\n case 'thin':\n fWeight = '200';\n break;\n\n default:\n break;\n }\n }\n\n return {\n style: fStyle,\n weight: fontData.fWeight || fWeight\n };\n }\n\n var FontManager = function () {\n var maxWaitingTime = 5000;\n var emptyChar = {\n w: 0,\n size: 0,\n shapes: [],\n data: {\n shapes: []\n }\n };\n var combinedCharacters = []; // Hindi characters\n\n combinedCharacters = combinedCharacters.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 surrogateModifiers = ['d83cdffb', 'd83cdffc', 'd83cdffd', 'd83cdffe', 'd83cdfff'];\n var zeroWidthJoiner = [65039, 8205];\n\n function trimFontOptions(font) {\n var familyArray = font.split(',');\n var i;\n var len = familyArray.length;\n var enabledFamilies = [];\n\n for (i = 0; i < len; i += 1) {\n if (familyArray[i] !== 'sans-serif' && familyArray[i] !== 'monospace') {\n enabledFamilies.push(familyArray[i]);\n }\n }\n\n return enabledFamilies.join(',');\n }\n\n function setUpNode(font, family) {\n var parentNode = createTag('span'); // Node is invisible to screen readers.\n\n parentNode.setAttribute('aria-hidden', true);\n parentNode.style.fontFamily = family;\n var node = createTag('span'); // Characters that vary significantly among different fonts\n\n node.innerText = 'giItT1WQy@!-/#'; // Visible - so we can measure it - but not on the screen\n\n parentNode.style.position = 'absolute';\n parentNode.style.left = '-10000px';\n parentNode.style.top = '-10000px'; // Large font size makes even subtle changes obvious\n\n parentNode.style.fontSize = '300px'; // Reset any font properties\n\n parentNode.style.fontVariant = 'normal';\n parentNode.style.fontStyle = 'normal';\n parentNode.style.fontWeight = 'normal';\n parentNode.style.letterSpacing = '0';\n parentNode.appendChild(node);\n document.body.appendChild(parentNode); // Remember width with no applied web font\n\n var width = node.offsetWidth;\n node.style.fontFamily = trimFontOptions(font) + ', ' + family;\n return {\n node: node,\n w: width,\n parent: parentNode\n };\n }\n\n function checkLoadedFonts() {\n var i;\n var len = this.fonts.length;\n var node;\n var w;\n var loadedCount = len;\n\n for (i = 0; i < len; i += 1) {\n if (this.fonts[i].loaded) {\n loadedCount -= 1;\n } else if (this.fonts[i].fOrigin === 'n' || this.fonts[i].origin === 0) {\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].monoCase.node;\n w = this.fonts[i].monoCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].sansCase.node;\n w = this.fonts[i].sansCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n }\n }\n\n if (this.fonts[i].loaded) {\n this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);\n this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent);\n }\n }\n }\n\n if (loadedCount !== 0 && Date.now() - this.initTime < maxWaitingTime) {\n setTimeout(this.checkLoadedFontsBinded, 20);\n } else {\n setTimeout(this.setIsLoadedBinded, 10);\n }\n }\n\n function createHelper(fontData, def) {\n var engine = document.body && def ? 'svg' : 'canvas';\n var helper;\n var fontProps = getFontProperties(fontData);\n\n if (engine === 'svg') {\n var tHelper = createNS('text');\n tHelper.style.fontSize = '100px'; // tHelper.style.fontFamily = fontData.fFamily;\n\n tHelper.setAttribute('font-family', fontData.fFamily);\n tHelper.setAttribute('font-style', fontProps.style);\n tHelper.setAttribute('font-weight', fontProps.weight);\n tHelper.textContent = '1';\n\n if (fontData.fClass) {\n tHelper.style.fontFamily = 'inherit';\n tHelper.setAttribute('class', fontData.fClass);\n } else {\n tHelper.style.fontFamily = fontData.fFamily;\n }\n\n def.appendChild(tHelper);\n helper = tHelper;\n } else {\n var tCanvasHelper = new OffscreenCanvas(500, 500).getContext('2d');\n tCanvasHelper.font = fontProps.style + ' ' + fontProps.weight + ' 100px ' + fontData.fFamily;\n helper = tCanvasHelper;\n }\n\n function measure(text) {\n if (engine === 'svg') {\n helper.textContent = text;\n return helper.getComputedTextLength();\n }\n\n return helper.measureText(text).width;\n }\n\n return {\n measureText: measure\n };\n }\n\n function addFonts(fontData, defs) {\n if (!fontData) {\n this.isLoaded = true;\n return;\n }\n\n if (this.chars) {\n this.isLoaded = true;\n this.fonts = fontData.list;\n return;\n }\n\n if (!document.body) {\n this.isLoaded = true;\n fontData.list.forEach(function (data) {\n data.helper = createHelper(data);\n data.cache = {};\n });\n this.fonts = fontData.list;\n return;\n }\n\n var fontArr = fontData.list;\n var i;\n var len = fontArr.length;\n var _pendingFonts = len;\n\n for (i = 0; i < len; i += 1) {\n var shouldLoadFont = true;\n var loadedSelector;\n var j;\n fontArr[i].loaded = false;\n fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, 'monospace');\n fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, 'sans-serif');\n\n if (!fontArr[i].fPath) {\n fontArr[i].loaded = true;\n _pendingFonts -= 1;\n } else if (fontArr[i].fOrigin === 'p' || fontArr[i].origin === 3) {\n loadedSelector = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + fontArr[i].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + fontArr[i].fFamily + '\"]');\n\n if (loadedSelector.length > 0) {\n shouldLoadFont = false;\n }\n\n if (shouldLoadFont) {\n var s = createTag('style');\n s.setAttribute('f-forigin', fontArr[i].fOrigin);\n s.setAttribute('f-origin', fontArr[i].origin);\n s.setAttribute('f-family', fontArr[i].fFamily);\n s.type = 'text/css';\n s.innerText = '@font-face {font-family: ' + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n defs.appendChild(s);\n }\n } else if (fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1) {\n loadedSelector = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var l = createTag('link');\n l.setAttribute('f-forigin', fontArr[i].fOrigin);\n l.setAttribute('f-origin', fontArr[i].origin);\n l.type = 'text/css';\n l.rel = 'stylesheet';\n l.href = fontArr[i].fPath;\n document.body.appendChild(l);\n }\n } else if (fontArr[i].fOrigin === 't' || fontArr[i].origin === 2) {\n loadedSelector = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (fontArr[i].fPath === loadedSelector[j].src) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var sc = createTag('link');\n sc.setAttribute('f-forigin', fontArr[i].fOrigin);\n sc.setAttribute('f-origin', fontArr[i].origin);\n sc.setAttribute('rel', 'stylesheet');\n sc.setAttribute('href', fontArr[i].fPath);\n defs.appendChild(sc);\n }\n }\n\n fontArr[i].helper = createHelper(fontArr[i], defs);\n fontArr[i].cache = {};\n this.fonts.push(fontArr[i]);\n }\n\n if (_pendingFonts === 0) {\n this.isLoaded = true;\n } else {\n // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n // Adding this timeout seems to fix it\n setTimeout(this.checkLoadedFonts.bind(this), 100);\n }\n }\n\n function addChars(chars) {\n if (!chars) {\n return;\n }\n\n if (!this.chars) {\n this.chars = [];\n }\n\n var i;\n var len = chars.length;\n var j;\n var jLen = this.chars.length;\n var found;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n found = false;\n\n while (j < jLen) {\n if (this.chars[j].style === chars[i].style && this.chars[j].fFamily === chars[i].fFamily && this.chars[j].ch === chars[i].ch) {\n found = true;\n }\n\n j += 1;\n }\n\n if (!found) {\n this.chars.push(chars[i]);\n jLen += 1;\n }\n }\n }\n\n function getCharData(_char, style, font) {\n var i = 0;\n var len = this.chars.length;\n\n while (i < len) {\n if (this.chars[i].ch === _char && this.chars[i].style === style && this.chars[i].fFamily === font) {\n return this.chars[i];\n }\n\n i += 1;\n }\n\n if ((typeof _char === 'string' && _char.charCodeAt(0) !== 13 || !_char) && console && console.warn // eslint-disable-line no-console\n && !this._warned) {\n this._warned = true;\n console.warn('Missing character from exported characters list: ', _char, style, font); // eslint-disable-line no-console\n }\n\n return emptyChar;\n }\n\n function measureText(_char2, fontName, size) {\n var fontData = this.getFontByName(fontName);\n\n var index = _char2.charCodeAt(0);\n\n if (!fontData.cache[index + 1]) {\n var tHelper = fontData.helper;\n\n if (_char2 === ' ') {\n var doubleSize = tHelper.measureText('|' + _char2 + '|');\n var singleSize = tHelper.measureText('||');\n fontData.cache[index + 1] = (doubleSize - singleSize) / 100;\n } else {\n fontData.cache[index + 1] = tHelper.measureText(_char2) / 100;\n }\n }\n\n return fontData.cache[index + 1] * size;\n }\n\n function getFontByName(name) {\n var i = 0;\n var len = this.fonts.length;\n\n while (i < len) {\n if (this.fonts[i].fName === name) {\n return this.fonts[i];\n }\n\n i += 1;\n }\n\n return this.fonts[0];\n }\n\n function isModifier(firstCharCode, secondCharCode) {\n var sum = firstCharCode.toString(16) + secondCharCode.toString(16);\n return surrogateModifiers.indexOf(sum) !== -1;\n }\n\n function isZeroWidthJoiner(firstCharCode, secondCharCode) {\n if (!secondCharCode) {\n return firstCharCode === zeroWidthJoiner[1];\n }\n\n return firstCharCode === zeroWidthJoiner[0] && secondCharCode === zeroWidthJoiner[1];\n }\n\n function isCombinedCharacter(_char3) {\n return combinedCharacters.indexOf(_char3) !== -1;\n }\n\n function setIsLoaded() {\n this.isLoaded = true;\n }\n\n var Font = function Font() {\n this.fonts = [];\n this.chars = null;\n this.typekitLoaded = 0;\n this.isLoaded = false;\n this._warned = false;\n this.initTime = Date.now();\n this.setIsLoadedBinded = this.setIsLoaded.bind(this);\n this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n };\n\n Font.isModifier = isModifier;\n Font.isZeroWidthJoiner = isZeroWidthJoiner;\n Font.isCombinedCharacter = isCombinedCharacter;\n var fontPrototype = {\n addChars: addChars,\n addFonts: addFonts,\n getCharData: getCharData,\n getFontByName: getFontByName,\n measureText: measureText,\n checkLoadedFonts: checkLoadedFonts,\n setIsLoaded: setIsLoaded\n };\n Font.prototype = fontPrototype;\n return Font;\n }();\n\n function RenderableElement() {}\n\n RenderableElement.prototype = {\n initRenderable: function initRenderable() {\n // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n this.isInRange = false; // layer's display state\n\n this.hidden = false; // If layer's transparency equals 0, it can be hidden\n\n this.isTransparent = false; // list of animated components\n\n this.renderableComponents = [];\n },\n addRenderableComponent: function addRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) === -1) {\n this.renderableComponents.push(component);\n }\n },\n removeRenderableComponent: function removeRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) !== -1) {\n this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);\n }\n },\n prepareRenderableFrame: function prepareRenderableFrame(num) {\n this.checkLayerLimits(num);\n },\n checkTransparency: function checkTransparency() {\n if (this.finalTransform.mProp.o.v <= 0) {\n if (!this.isTransparent && this.globalData.renderConfig.hideOnTransparent) {\n this.isTransparent = true;\n this.hide();\n }\n } else if (this.isTransparent) {\n this.isTransparent = false;\n this.show();\n }\n },\n\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n *\r\n */\n checkLayerLimits: function checkLayerLimits(num) {\n if (this.data.ip - this.data.st <= num && this.data.op - this.data.st > num) {\n if (this.isInRange !== true) {\n this.globalData._mdf = true;\n this._mdf = true;\n this.isInRange = true;\n this.show();\n }\n } else if (this.isInRange !== false) {\n this.globalData._mdf = true;\n this.isInRange = false;\n this.hide();\n }\n },\n renderRenderable: function renderRenderable() {\n var i;\n var len = this.renderableComponents.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderableComponents[i].renderFrame(this._isFirstFrame);\n }\n /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n this.renderableEffectsManager.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 if (this.data.ty === 5) {\n return {\n w: this.data.textData.width,\n h: this.data.textData.height\n };\n }\n\n return {\n w: this.data.width,\n h: this.data.height\n };\n }\n };\n\n var MaskManagerInterface = function () {\n function MaskInterface(mask, data) {\n this._mask = mask;\n this._data = data;\n }\n\n Object.defineProperty(MaskInterface.prototype, 'maskPath', {\n get: function get() {\n if (this._mask.prop.k) {\n this._mask.prop.getValue();\n }\n\n return this._mask.prop;\n }\n });\n Object.defineProperty(MaskInterface.prototype, 'maskOpacity', {\n get: function get() {\n if (this._mask.op.k) {\n this._mask.op.getValue();\n }\n\n return this._mask.op.v * 100;\n }\n });\n\n var MaskManager = function MaskManager(maskManager) {\n var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n var i;\n var len = maskManager.viewData.length;\n\n for (i = 0; i < len; i += 1) {\n _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n }\n\n var maskFunction = function maskFunction(name) {\n i = 0;\n\n while (i < len) {\n if (maskManager.masksProperties[i].nm === name) {\n return _masksInterfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n return maskFunction;\n };\n\n return MaskManager;\n }();\n\n var ExpressionPropertyInterface = function () {\n var defaultUnidimensionalValue = {\n pv: 0,\n v: 0,\n mult: 1\n };\n var defaultMultidimensionalValue = {\n pv: [0, 0, 0],\n v: [0, 0, 0],\n mult: 1\n };\n\n function completeProperty(expressionValue, property, type) {\n Object.defineProperty(expressionValue, 'velocity', {\n get: function get() {\n return property.getVelocityAtTime(property.comp.currentFrame);\n }\n });\n expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n expressionValue.key = function (pos) {\n if (!expressionValue.numKeys) {\n return 0;\n }\n\n var value = '';\n\n if ('s' in property.keyframes[pos - 1]) {\n value = property.keyframes[pos - 1].s;\n } else if ('e' in property.keyframes[pos - 2]) {\n value = property.keyframes[pos - 2].e;\n } else {\n value = property.keyframes[pos - 2].s;\n }\n\n var valueProp = type === 'unidimensional' ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n valueProp.value = type === 'unidimensional' ? value[0] : value;\n return valueProp;\n };\n\n expressionValue.valueAtTime = property.getValueAtTime;\n expressionValue.speedAtTime = property.getSpeedAtTime;\n expressionValue.velocityAtTime = property.getVelocityAtTime;\n expressionValue.propertyGroup = property.propertyGroup;\n }\n\n function UnidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultUnidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var val = property.pv * mult;\n var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n val = property.v * mult;\n\n if (expressionValue.value !== val) {\n expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n }\n\n return expressionValue;\n };\n }\n\n function MultidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultMultidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var len = property.data && property.data.l || property.pv.length;\n var expressionValue = createTypedArray('float32', len);\n var arrValue = createTypedArray('float32', len);\n expressionValue.value = arrValue;\n completeProperty(expressionValue, property, 'multidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n for (var i = 0; i < len; i += 1) {\n arrValue[i] = property.v[i] * mult;\n expressionValue[i] = arrValue[i];\n }\n\n return expressionValue;\n };\n } // TODO: try to avoid using this getter\n\n\n function defaultGetter() {\n return defaultUnidimensionalValue;\n }\n\n return function (property) {\n if (!property) {\n return defaultGetter;\n }\n\n if (property.propType === 'unidimensional') {\n return UnidimensionalPropertyInterface(property);\n }\n\n return MultidimensionalPropertyInterface(property);\n };\n }();\n\n var TransformExpressionInterface = function () {\n return function (transform) {\n function _thisFunction(name) {\n switch (name) {\n case 'scale':\n case 'Scale':\n case 'ADBE Scale':\n case 6:\n return _thisFunction.scale;\n\n case 'rotation':\n case 'Rotation':\n case 'ADBE Rotation':\n case 'ADBE Rotate Z':\n case 10:\n return _thisFunction.rotation;\n\n case 'ADBE Rotate X':\n return _thisFunction.xRotation;\n\n case 'ADBE Rotate Y':\n return _thisFunction.yRotation;\n\n case 'position':\n case 'Position':\n case 'ADBE Position':\n case 2:\n return _thisFunction.position;\n\n case 'ADBE Position_0':\n return _thisFunction.xPosition;\n\n case 'ADBE Position_1':\n return _thisFunction.yPosition;\n\n case 'ADBE Position_2':\n return _thisFunction.zPosition;\n\n case 'anchorPoint':\n case 'AnchorPoint':\n case 'Anchor Point':\n case 'ADBE AnchorPoint':\n case 1:\n return _thisFunction.anchorPoint;\n\n case 'opacity':\n case 'Opacity':\n case 11:\n return _thisFunction.opacity;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisFunction, 'rotation', {\n get: ExpressionPropertyInterface(transform.r || transform.rz)\n });\n Object.defineProperty(_thisFunction, 'zRotation', {\n get: ExpressionPropertyInterface(transform.rz || transform.r)\n });\n Object.defineProperty(_thisFunction, 'xRotation', {\n get: ExpressionPropertyInterface(transform.rx)\n });\n Object.defineProperty(_thisFunction, 'yRotation', {\n get: ExpressionPropertyInterface(transform.ry)\n });\n Object.defineProperty(_thisFunction, 'scale', {\n get: ExpressionPropertyInterface(transform.s)\n });\n\n var _px;\n\n var _py;\n\n var _pz;\n\n var _transformFactory;\n\n if (transform.p) {\n _transformFactory = ExpressionPropertyInterface(transform.p);\n } else {\n _px = ExpressionPropertyInterface(transform.px);\n _py = ExpressionPropertyInterface(transform.py);\n\n if (transform.pz) {\n _pz = ExpressionPropertyInterface(transform.pz);\n }\n }\n\n Object.defineProperty(_thisFunction, 'position', {\n get: function get() {\n if (transform.p) {\n return _transformFactory();\n }\n\n return [_px(), _py(), _pz ? _pz() : 0];\n }\n });\n Object.defineProperty(_thisFunction, 'xPosition', {\n get: ExpressionPropertyInterface(transform.px)\n });\n Object.defineProperty(_thisFunction, 'yPosition', {\n get: ExpressionPropertyInterface(transform.py)\n });\n Object.defineProperty(_thisFunction, 'zPosition', {\n get: ExpressionPropertyInterface(transform.pz)\n });\n Object.defineProperty(_thisFunction, 'anchorPoint', {\n get: ExpressionPropertyInterface(transform.a)\n });\n Object.defineProperty(_thisFunction, 'opacity', {\n get: ExpressionPropertyInterface(transform.o)\n });\n Object.defineProperty(_thisFunction, 'skew', {\n get: ExpressionPropertyInterface(transform.sk)\n });\n Object.defineProperty(_thisFunction, 'skewAxis', {\n get: ExpressionPropertyInterface(transform.sa)\n });\n Object.defineProperty(_thisFunction, 'orientation', {\n get: ExpressionPropertyInterface(transform.or)\n });\n return _thisFunction;\n };\n }();\n\n var LayerExpressionInterface = function () {\n function getMatrix(time) {\n var toWorldMat = new Matrix();\n\n if (time !== undefined) {\n var propMatrix = this._elem.finalTransform.mProp.getValueAtTime(time);\n\n propMatrix.clone(toWorldMat);\n } else {\n var transformMat = this._elem.finalTransform.mProp;\n transformMat.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat;\n }\n\n function toWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.applyPoint(toWorldMat, arr);\n }\n\n function toWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.applyPoint(toWorldMat, arr);\n }\n\n function fromWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.invertPoint(toWorldMat, arr);\n }\n\n function fromWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.invertPoint(toWorldMat, arr);\n }\n\n function applyPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n }\n\n function invertPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.inversePoint(arr);\n }\n\n function fromComp(arr) {\n var toWorldMat = new Matrix();\n toWorldMat.reset();\n\n this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n function sampleImage() {\n return [1, 1, 1, 1];\n }\n\n return function (elem) {\n var transformInterface;\n\n function _registerMaskInterface(maskManager) {\n _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n }\n\n function _registerEffectsInterface(effects) {\n _thisLayerFunction.effect = effects;\n }\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Root Vectors Group':\n case 'Contents':\n case 2:\n return _thisLayerFunction.shapeInterface;\n\n case 1:\n case 6:\n case 'Transform':\n case 'transform':\n case 'ADBE Transform Group':\n return transformInterface;\n\n case 4:\n case 'ADBE Effect Parade':\n case 'effects':\n case 'Effects':\n return _thisLayerFunction.effect;\n\n case 'ADBE Text Properties':\n return _thisLayerFunction.textInterface;\n\n default:\n return null;\n }\n }\n\n _thisLayerFunction.getMatrix = getMatrix;\n _thisLayerFunction.invertPoint = invertPoint;\n _thisLayerFunction.applyPoint = applyPoint;\n _thisLayerFunction.toWorld = toWorld;\n _thisLayerFunction.toWorldVec = toWorldVec;\n _thisLayerFunction.fromWorld = fromWorld;\n _thisLayerFunction.fromWorldVec = fromWorldVec;\n _thisLayerFunction.toComp = toWorld;\n _thisLayerFunction.fromComp = fromComp;\n _thisLayerFunction.sampleImage = sampleImage;\n _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n _thisLayerFunction._elem = elem;\n transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n var anchorPointDescriptor = getDescriptor(transformInterface, 'anchorPoint');\n Object.defineProperties(_thisLayerFunction, {\n hasParent: {\n get: function get() {\n return elem.hierarchy.length;\n }\n },\n parent: {\n get: function get() {\n return elem.hierarchy[0].layerInterface;\n }\n },\n rotation: getDescriptor(transformInterface, 'rotation'),\n scale: getDescriptor(transformInterface, 'scale'),\n position: getDescriptor(transformInterface, 'position'),\n opacity: getDescriptor(transformInterface, 'opacity'),\n anchorPoint: anchorPointDescriptor,\n anchor_point: anchorPointDescriptor,\n transform: {\n get: function get() {\n return transformInterface;\n }\n },\n active: {\n get: function get() {\n return elem.isInRange;\n }\n }\n });\n _thisLayerFunction.startTime = elem.data.st;\n _thisLayerFunction.index = elem.data.ind;\n _thisLayerFunction.source = elem.data.refId;\n _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n _thisLayerFunction._name = elem.data.nm;\n _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n return _thisLayerFunction;\n };\n }();\n\n var propertyGroupFactory = function () {\n return function (interfaceFunction, parentPropertyGroup) {\n return function (val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return parentPropertyGroup(val - 1);\n };\n };\n }();\n\n var PropertyInterface = function () {\n return function (propertyName, propertyGroup) {\n var interfaceFunction = {\n _name: propertyName\n };\n\n function _propertyGroup(val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return propertyGroup(val - 1);\n }\n\n return _propertyGroup;\n };\n }();\n\n var EffectsExpressionInterface = function () {\n var ob = {\n createEffectsInterface: createEffectsInterface\n };\n\n function createEffectsInterface(elem, propertyGroup) {\n if (elem.effectsManager) {\n var effectElements = [];\n var effectsData = elem.data.ef;\n var i;\n var len = elem.effectsManager.effectElements.length;\n\n for (i = 0; i < len; i += 1) {\n effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n }\n\n var effects = elem.data.ef || [];\n\n var groupInterface = function groupInterface(name) {\n i = 0;\n len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n return effectElements[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n Object.defineProperty(groupInterface, 'numProperties', {\n get: function get() {\n return effects.length;\n }\n });\n return groupInterface;\n }\n\n return null;\n }\n\n function createGroupInterface(data, elements, propertyGroup, elem) {\n function groupInterface(name) {\n var effects = data.ef;\n var i = 0;\n var len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n if (effects[i].ty === 5) {\n return effectElements[i];\n }\n\n return effectElements[i]();\n }\n\n i += 1;\n }\n\n throw new Error();\n }\n\n var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n var effectElements = [];\n var i;\n var len = data.ef.length;\n\n for (i = 0; i < len; i += 1) {\n if (data.ef[i].ty === 5) {\n effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n } else {\n effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n }\n }\n\n if (data.mn === 'ADBE Color Control') {\n Object.defineProperty(groupInterface, 'color', {\n get: function get() {\n return effectElements[0]();\n }\n });\n }\n\n Object.defineProperties(groupInterface, {\n numProperties: {\n get: function get() {\n return data.np;\n }\n },\n _name: {\n value: data.nm\n },\n propertyGroup: {\n value: _propertyGroup\n }\n });\n groupInterface.enabled = data.en !== 0;\n groupInterface.active = groupInterface.enabled;\n return groupInterface;\n }\n\n function createValueInterface(element, type, elem, propertyGroup) {\n var expressionProperty = ExpressionPropertyInterface(element.p);\n\n function interfaceFunction() {\n if (type === 10) {\n return elem.comp.compInterface(element.p.v);\n }\n\n return expressionProperty();\n }\n\n if (element.p.setGroupProperty) {\n element.p.setGroupProperty(PropertyInterface('', propertyGroup));\n }\n\n return interfaceFunction;\n }\n\n return ob;\n }();\n\n var CompExpressionInterface = function () {\n return function (comp) {\n function _thisLayerFunction(name) {\n var i = 0;\n var len = comp.layers.length;\n\n while (i < len) {\n if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n return comp.elements[i].layerInterface;\n }\n\n i += 1;\n }\n\n return null; // return {active:false};\n }\n\n Object.defineProperty(_thisLayerFunction, '_name', {\n value: comp.data.nm\n });\n _thisLayerFunction.layer = _thisLayerFunction;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n _thisLayerFunction.displayStartTime = 0;\n _thisLayerFunction.numLayers = comp.layers.length;\n return _thisLayerFunction;\n };\n }();\n\n var ShapePathInterface = function () {\n return function pathInterfaceFactory(shape, view, propertyGroup) {\n var prop = view.sh;\n\n function interfaceFunction(val) {\n if (val === 'Shape' || val === 'shape' || val === 'Path' || val === 'path' || val === 'ADBE Vector Shape' || val === 2) {\n return interfaceFunction.path;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n prop.setGroupProperty(PropertyInterface('Path', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n path: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n shape: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n _name: {\n value: shape.nm\n },\n ix: {\n value: shape.ix\n },\n propertyIndex: {\n value: shape.ix\n },\n mn: {\n value: shape.mn\n },\n propertyGroup: {\n value: propertyGroup\n }\n });\n return interfaceFunction;\n };\n }();\n\n var ShapeExpressionInterface = function () {\n function iterateElements(shapes, view, propertyGroup) {\n var arr = [];\n var i;\n var len = shapes ? shapes.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'fl') {\n arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'st') {\n arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tm') {\n arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tr') {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n } else if (shapes[i].ty === 'el') {\n arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sr') {\n arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sh') {\n arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rc') {\n arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rd') {\n arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rp') {\n arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'gf') {\n arr.push(gradientFillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else {\n arr.push(defaultInterfaceFactory(shapes[i], view[i], propertyGroup));\n }\n }\n\n return arr;\n }\n\n function contentsInterfaceFactory(shape, view, propertyGroup) {\n var interfaces;\n\n var interfaceFunction = function _interfaceFunction(value) {\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n if (typeof value === 'number') {\n return interfaces[value - 1];\n }\n\n return null;\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n interfaceFunction.numProperties = interfaces.length;\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.transform = transformInterface;\n interfaceFunction.propertyIndex = shape.cix;\n interfaceFunction._name = shape.nm;\n return interfaceFunction;\n }\n\n function groupInterfaceFactory(shape, view, propertyGroup) {\n var interfaceFunction = function _interfaceFunction(value) {\n switch (value) {\n case 'ADBE Vectors Group':\n case 'Contents':\n case 2:\n return interfaceFunction.content;\n // Not necessary for now. Keeping them here in case a new case appears\n // case 'ADBE Vector Transform Group':\n // case 3:\n\n default:\n return interfaceFunction.transform;\n }\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.content = content;\n interfaceFunction.transform = transformInterface;\n Object.defineProperty(interfaceFunction, '_name', {\n get: function get() {\n return shape.nm;\n }\n }); // interfaceFunction.content = interfaceFunction;\n\n interfaceFunction.numProperties = shape.np;\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.nm = shape.nm;\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function fillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function gradientFillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Start Point' || val === 'start point') {\n return interfaceFunction.startPoint;\n }\n\n if (val === 'End Point' || val === 'end point') {\n return interfaceFunction.endPoint;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n startPoint: {\n get: ExpressionPropertyInterface(view.s)\n },\n endPoint: {\n get: ExpressionPropertyInterface(view.e)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n type: {\n get: function get() {\n return 'a';\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.s.setGroupProperty(PropertyInterface('Start Point', propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End Point', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function defaultInterfaceFactory() {\n function interfaceFunction() {\n return null;\n }\n\n return interfaceFunction;\n }\n\n function strokeInterfaceFactory(shape, view, propertyGroup) {\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n function addPropertyToDashOb(i) {\n Object.defineProperty(dashOb, shape.d[i].nm, {\n get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n });\n }\n\n var i;\n var len = shape.d ? shape.d.length : 0;\n var dashOb = {};\n\n for (i = 0; i < len; i += 1) {\n addPropertyToDashOb(i);\n view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n }\n\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n if (val === 'Stroke Width' || val === 'stroke width') {\n return interfaceFunction.strokeWidth;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n strokeWidth: {\n get: ExpressionPropertyInterface(view.w)\n },\n dash: {\n get: function get() {\n return dashOb;\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.w.setGroupProperty(PropertyInterface('Stroke Width', _propertyGroup));\n return interfaceFunction;\n }\n\n function trimInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === shape.e.ix || val === 'End' || val === 'end') {\n return interfaceFunction.end;\n }\n\n if (val === shape.s.ix) {\n return interfaceFunction.start;\n }\n\n if (val === shape.o.ix) {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n view.s.setGroupProperty(PropertyInterface('Start', _propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.propertyGroup = propertyGroup;\n Object.defineProperties(interfaceFunction, {\n start: {\n get: ExpressionPropertyInterface(view.s)\n },\n end: {\n get: ExpressionPropertyInterface(view.e)\n },\n offset: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function transformInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.a.ix === value || value === 'Anchor Point') {\n return interfaceFunction.anchorPoint;\n }\n\n if (shape.o.ix === value || value === 'Opacity') {\n return interfaceFunction.opacity;\n }\n\n if (shape.p.ix === value || value === 'Position') {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value || value === 'Rotation' || value === 'ADBE Vector Rotation') {\n return interfaceFunction.rotation;\n }\n\n if (shape.s.ix === value || value === 'Scale') {\n return interfaceFunction.scale;\n }\n\n if (shape.sk && shape.sk.ix === value || value === 'Skew') {\n return interfaceFunction.skew;\n }\n\n if (shape.sa && shape.sa.ix === value || value === 'Skew Axis') {\n return interfaceFunction.skewAxis;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n view.transform.mProps.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.transform.mProps.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n view.transform.mProps.a.setGroupProperty(PropertyInterface('Anchor Point', _propertyGroup));\n view.transform.mProps.s.setGroupProperty(PropertyInterface('Scale', _propertyGroup));\n view.transform.mProps.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (view.transform.mProps.sk) {\n view.transform.mProps.sk.setGroupProperty(PropertyInterface('Skew', _propertyGroup));\n view.transform.mProps.sa.setGroupProperty(PropertyInterface('Skew Angle', _propertyGroup));\n }\n\n view.transform.op.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n opacity: {\n get: ExpressionPropertyInterface(view.transform.mProps.o)\n },\n position: {\n get: ExpressionPropertyInterface(view.transform.mProps.p)\n },\n anchorPoint: {\n get: ExpressionPropertyInterface(view.transform.mProps.a)\n },\n scale: {\n get: ExpressionPropertyInterface(view.transform.mProps.s)\n },\n rotation: {\n get: ExpressionPropertyInterface(view.transform.mProps.r)\n },\n skew: {\n get: ExpressionPropertyInterface(view.transform.mProps.sk)\n },\n skewAxis: {\n get: ExpressionPropertyInterface(view.transform.mProps.sa)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.ty = 'tr';\n interfaceFunction.mn = shape.mn;\n interfaceFunction.propertyGroup = propertyGroup;\n return interfaceFunction;\n }\n\n function ellipseInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.s.ix === value) {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function starInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.rotation;\n }\n\n if (shape.pt.ix === value) {\n return interfaceFunction.points;\n }\n\n if (shape.or.ix === value || value === 'ADBE Vector Star Outer Radius') {\n return interfaceFunction.outerRadius;\n }\n\n if (shape.os.ix === value) {\n return interfaceFunction.outerRoundness;\n }\n\n if (shape.ir && (shape.ir.ix === value || value === 'ADBE Vector Star Inner Radius')) {\n return interfaceFunction.innerRadius;\n }\n\n if (shape.is && shape.is.ix === value) {\n return interfaceFunction.innerRoundness;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.or.setGroupProperty(PropertyInterface('Outer Radius', _propertyGroup));\n prop.os.setGroupProperty(PropertyInterface('Outer Roundness', _propertyGroup));\n prop.pt.setGroupProperty(PropertyInterface('Points', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (shape.ir) {\n prop.ir.setGroupProperty(PropertyInterface('Inner Radius', _propertyGroup));\n prop.is.setGroupProperty(PropertyInterface('Inner Roundness', _propertyGroup));\n }\n\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n rotation: {\n get: ExpressionPropertyInterface(prop.r)\n },\n points: {\n get: ExpressionPropertyInterface(prop.pt)\n },\n outerRadius: {\n get: ExpressionPropertyInterface(prop.or)\n },\n outerRoundness: {\n get: ExpressionPropertyInterface(prop.os)\n },\n innerRadius: {\n get: ExpressionPropertyInterface(prop.ir)\n },\n innerRoundness: {\n get: ExpressionPropertyInterface(prop.is)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function rectInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.roundness;\n }\n\n if (shape.s.ix === value || value === 'Size' || value === 'ADBE Vector Rect Size') {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n roundness: {\n get: ExpressionPropertyInterface(prop.r)\n },\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function roundedInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.r.ix === value || value === 'Round Corners 1') {\n return interfaceFunction.radius;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.rd.setGroupProperty(PropertyInterface('Radius', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n radius: {\n get: ExpressionPropertyInterface(prop.rd)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function repeaterInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.c.ix === value || value === 'Copies') {\n return interfaceFunction.copies;\n }\n\n if (shape.o.ix === value || value === 'Offset') {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.c.setGroupProperty(PropertyInterface('Copies', _propertyGroup));\n prop.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n copies: {\n get: ExpressionPropertyInterface(prop.c)\n },\n offset: {\n get: ExpressionPropertyInterface(prop.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n return function (shapes, view, propertyGroup) {\n var interfaces;\n\n function _interfaceFunction(value) {\n if (typeof value === 'number') {\n value = value === undefined ? 1 : value;\n\n if (value === 0) {\n return propertyGroup;\n }\n\n return interfaces[value - 1];\n }\n\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function parentGroupWrapper() {\n return propertyGroup;\n }\n\n _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n _interfaceFunction.numProperties = interfaces.length;\n _interfaceFunction._name = 'Contents';\n return _interfaceFunction;\n };\n }();\n\n var TextExpressionInterface = function () {\n return function (elem) {\n var _prevValue;\n\n var _sourceText;\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Text Document':\n return _thisLayerFunction.sourceText;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisLayerFunction, 'sourceText', {\n get: function get() {\n elem.textProperty.getValue();\n var stringValue = elem.textProperty.currentData.t;\n\n if (stringValue !== _prevValue) {\n elem.textProperty.currentData.t = _prevValue;\n _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n }\n\n return _sourceText;\n }\n });\n return _thisLayerFunction;\n };\n }();\n\n var getBlendMode = function () {\n var 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 };\n return function (mode) {\n return blendModeEnums[mode] || '';\n };\n }();\n\n function SliderEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function AngleEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function ColorEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function PointEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function LayerIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function MaskIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function CheckboxEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function NoValueEffect() {\n this.p = {};\n }\n\n function EffectsManager(data, element) {\n var effects = data.ef || [];\n this.effectElements = [];\n var i;\n var len = effects.length;\n var effectItem;\n\n for (i = 0; i < len; i += 1) {\n effectItem = new GroupEffect(effects[i], element);\n this.effectElements.push(effectItem);\n }\n }\n\n function GroupEffect(data, element) {\n this.init(data, element);\n }\n\n extendPrototype([DynamicPropertyContainer], GroupEffect);\n GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n GroupEffect.prototype.init = function (data, element) {\n this.data = data;\n this.effectElements = [];\n this.initDynamicPropertyContainer(element);\n var i;\n var len = this.data.ef.length;\n var eff;\n var effects = this.data.ef;\n\n for (i = 0; i < len; i += 1) {\n eff = null;\n\n switch (effects[i].ty) {\n case 0:\n eff = new SliderEffect(effects[i], element, this);\n break;\n\n case 1:\n eff = new AngleEffect(effects[i], element, this);\n break;\n\n case 2:\n eff = new ColorEffect(effects[i], element, this);\n break;\n\n case 3:\n eff = new PointEffect(effects[i], element, this);\n break;\n\n case 4:\n case 7:\n eff = new CheckboxEffect(effects[i], element, this);\n break;\n\n case 10:\n eff = new LayerIndexEffect(effects[i], element, this);\n break;\n\n case 11:\n eff = new MaskIndexEffect(effects[i], element, this);\n break;\n\n case 5:\n eff = new EffectsManager(effects[i], element, this);\n break;\n // case 6:\n\n default:\n eff = new NoValueEffect(effects[i], element, this);\n break;\n }\n\n if (eff) {\n this.effectElements.push(eff);\n }\n }\n };\n\n function BaseElement() {}\n\n BaseElement.prototype = {\n checkMasks: function checkMasks() {\n if (!this.data.hasMask) {\n return false;\n }\n\n var i = 0;\n var len = this.data.masksProperties.length;\n\n while (i < len) {\n if (this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false) {\n return true;\n }\n\n i += 1;\n }\n\n return false;\n },\n initExpressions: function initExpressions() {\n this.layerInterface = LayerExpressionInterface(this);\n\n if (this.data.hasMask && this.maskManager) {\n this.layerInterface.registerMaskInterface(this.maskManager);\n }\n\n var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\n this.layerInterface.registerEffectsInterface(effectsInterface);\n\n if (this.data.ty === 0 || this.data.xt) {\n this.compInterface = CompExpressionInterface(this);\n } else if (this.data.ty === 4) {\n this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface);\n this.layerInterface.content = this.layerInterface.shapeInterface;\n } else if (this.data.ty === 5) {\n this.layerInterface.textInterface = TextExpressionInterface(this);\n this.layerInterface.text = this.layerInterface.textInterface;\n }\n },\n setBlendMode: function setBlendMode() {\n var blendModeValue = getBlendMode(this.data.bm);\n var elem = this.baseElement || this.layerElement;\n elem.style['mix-blend-mode'] = blendModeValue;\n },\n initBaseData: function initBaseData(data, globalData, comp) {\n this.globalData = globalData;\n this.comp = comp;\n this.data = data;\n this.layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n if (!this.data.sr) {\n this.data.sr = 1;\n } // effects manager\n\n\n this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\n },\n getType: function getType() {\n return this.type;\n },\n sourceRectAtTime: function sourceRectAtTime() {}\n };\n\n /**\r\n * @file\r\n * Handles element's layer frame update.\r\n * Checks layer in point and out point\r\n *\r\n */\n function FrameElement() {}\n\n FrameElement.prototype = {\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n */\n initFrame: function initFrame() {\n // set to true when inpoint is rendered\n this._isFirstFrame = false; // list of animated properties\n\n this.dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n this._mdf = false;\n },\n\n /**\r\n * @function\r\n * Calculates all dynamic values\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n * @param {boolean} isVisible\r\n * if layers is currently in range\r\n *\r\n */\n prepareProperties: function prepareProperties(num, isVisible) {\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (isVisible || this._isParent && this.dynamicProperties[i].propType === 'transform') {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this.globalData._mdf = true;\n this._mdf = true;\n }\n }\n }\n },\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n }\n }\n };\n\n function _typeof$2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$2 = function _typeof(obj) { return typeof obj; }; } else { _typeof$2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$2(obj); }\n\n var FootageInterface = function () {\n var outlineInterfaceFactory = function outlineInterfaceFactory(elem) {\n var currentPropertyName = '';\n var currentProperty = elem.getFootageData();\n\n function init() {\n currentPropertyName = '';\n currentProperty = elem.getFootageData();\n return searchProperty;\n }\n\n function searchProperty(value) {\n if (currentProperty[value]) {\n currentPropertyName = value;\n currentProperty = currentProperty[value];\n\n if (_typeof$2(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n var propertyNameIndex = value.indexOf(currentPropertyName);\n\n if (propertyNameIndex !== -1) {\n var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n currentProperty = currentProperty[index];\n\n if (_typeof$2(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n return '';\n }\n\n return init;\n };\n\n var dataInterfaceFactory = function dataInterfaceFactory(elem) {\n function interfaceFunction(value) {\n if (value === 'Outline') {\n return interfaceFunction.outlineInterface();\n }\n\n return null;\n }\n\n interfaceFunction._name = 'Outline';\n interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n return interfaceFunction;\n };\n\n return function (elem) {\n function _interfaceFunction(value) {\n if (value === 'Data') {\n return _interfaceFunction.dataInterface;\n }\n\n return null;\n }\n\n _interfaceFunction._name = 'Data';\n _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n return _interfaceFunction;\n };\n }();\n\n function FootageElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.footageData = globalData.imageLoader.getAsset(this.assetData);\n this.initBaseData(data, globalData, comp);\n }\n\n FootageElement.prototype.prepareFrame = function () {};\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n FootageElement.prototype.getBaseElement = function () {\n return null;\n };\n\n FootageElement.prototype.renderFrame = function () {};\n\n FootageElement.prototype.destroy = function () {};\n\n FootageElement.prototype.initExpressions = function () {\n this.layerInterface = FootageInterface(this);\n };\n\n FootageElement.prototype.getFootageData = function () {\n return this.footageData;\n };\n\n function AudioElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.initBaseData(data, globalData, comp);\n this._isPlaying = false;\n this._canPlay = false;\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.audio = this.globalData.audioController.createAudio(assetPath);\n this._currentTime = 0;\n this.globalData.audioController.addAudio(this);\n this._volumeMultiplier = 1;\n this._volume = 1;\n this._previousVolume = null;\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n this.lv = PropertyFactory.getProp(this, data.au && data.au.lv ? data.au.lv : {\n k: [100]\n }, 1, 0.01, this);\n }\n\n AudioElement.prototype.prepareFrame = function (num) {\n this.prepareRenderableFrame(num, true);\n this.prepareProperties(num, true);\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n this._currentTime = timeRemapped;\n } else {\n this._currentTime = num / this.data.sr;\n }\n\n this._volume = this.lv.v[0];\n var totalVolume = this._volume * this._volumeMultiplier;\n\n if (this._previousVolume !== totalVolume) {\n this._previousVolume = totalVolume;\n this.audio.volume(totalVolume);\n }\n };\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n AudioElement.prototype.renderFrame = function () {\n if (this.isInRange && this._canPlay) {\n if (!this._isPlaying) {\n this.audio.play();\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n this._isPlaying = true;\n } else if (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1) {\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n }\n }\n };\n\n AudioElement.prototype.show = function () {// this.audio.play()\n };\n\n AudioElement.prototype.hide = function () {\n this.audio.pause();\n this._isPlaying = false;\n };\n\n AudioElement.prototype.pause = function () {\n this.audio.pause();\n this._isPlaying = false;\n this._canPlay = false;\n };\n\n AudioElement.prototype.resume = function () {\n this._canPlay = true;\n };\n\n AudioElement.prototype.setRate = function (rateValue) {\n this.audio.rate(rateValue);\n };\n\n AudioElement.prototype.volume = function (volumeValue) {\n this._volumeMultiplier = volumeValue;\n this._previousVolume = volumeValue * this._volume;\n this.audio.volume(this._previousVolume);\n };\n\n AudioElement.prototype.getBaseElement = function () {\n return null;\n };\n\n AudioElement.prototype.destroy = function () {};\n\n AudioElement.prototype.sourceRectAtTime = function () {};\n\n AudioElement.prototype.initExpressions = function () {};\n\n function BaseRenderer() {}\n\n BaseRenderer.prototype.checkLayers = function (num) {\n var i;\n var len = this.layers.length;\n var data;\n this.completeLayers = true;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (!this.elements[i]) {\n data = this.layers[i];\n\n if (data.ip - data.st <= num - this.layers[i].st && data.op - data.st > num - this.layers[i].st) {\n this.buildItem(i);\n }\n }\n\n this.completeLayers = this.elements[i] ? this.completeLayers : false;\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.createItem = function (layer) {\n switch (layer.ty) {\n case 2:\n return this.createImage(layer);\n\n case 0:\n return this.createComp(layer);\n\n case 1:\n return this.createSolid(layer);\n\n case 3:\n return this.createNull(layer);\n\n case 4:\n return this.createShape(layer);\n\n case 5:\n return this.createText(layer);\n\n case 6:\n return this.createAudio(layer);\n\n case 13:\n return this.createCamera(layer);\n\n case 15:\n return this.createFootage(layer);\n\n default:\n return this.createNull(layer);\n }\n };\n\n BaseRenderer.prototype.createCamera = function () {\n throw new Error('You\\'re using a 3d camera. Try the html renderer.');\n };\n\n BaseRenderer.prototype.createAudio = function (data) {\n return new AudioElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.createFootage = function (data) {\n return new FootageElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.buildAllItems = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n this.buildItem(i);\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.includeLayers = function (newLayers) {\n this.completeLayers = false;\n var i;\n var len = newLayers.length;\n var j;\n var jLen = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n\n while (j < jLen) {\n if (this.layers[j].id === newLayers[i].id) {\n this.layers[j] = newLayers[i];\n break;\n }\n\n j += 1;\n }\n }\n };\n\n BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n this.globalData.projectInterface = pInterface;\n };\n\n BaseRenderer.prototype.initItems = function () {\n if (!this.globalData.progressiveLoad) {\n this.buildAllItems();\n }\n };\n\n BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n var elements = this.elements;\n var layers = this.layers;\n var i = 0;\n var len = layers.length;\n\n while (i < len) {\n if (layers[i].ind == parentName) {\n // eslint-disable-line eqeqeq\n if (!elements[i] || elements[i] === true) {\n this.buildItem(i);\n this.addPendingElement(element);\n } else {\n hierarchy.push(elements[i]);\n elements[i].setAsParent();\n\n if (layers[i].parent !== undefined) {\n this.buildElementParenting(element, layers[i].parent, hierarchy);\n } else {\n element.setHierarchy(hierarchy);\n }\n }\n }\n\n i += 1;\n }\n };\n\n BaseRenderer.prototype.addPendingElement = function (element) {\n this.pendingElements.push(element);\n };\n\n BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i]);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n BaseRenderer.prototype.getElementByPath = function (path) {\n var pathValue = path.shift();\n var element;\n\n if (typeof pathValue === 'number') {\n element = this.elements[pathValue];\n } else {\n var i;\n var len = this.elements.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i].data.nm === pathValue) {\n element = this.elements[i];\n break;\n }\n }\n }\n\n if (path.length === 0) {\n return element;\n }\n\n return element.getElementByPath(path);\n };\n\n BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n this.globalData.fontManager = new FontManager();\n this.globalData.fontManager.addChars(animData.chars);\n this.globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem);\n this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem);\n this.globalData.imageLoader = this.animationItem.imagePreloader;\n this.globalData.audioController = this.animationItem.audioController;\n this.globalData.frameId = 0;\n this.globalData.frameRate = animData.fr;\n this.globalData.nm = animData.nm;\n this.globalData.compSize = {\n w: animData.w,\n h: animData.h\n };\n };\n\n function TransformElement() {}\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: false,\n _opMdf: false,\n mat: new Matrix()\n };\n\n if (this.data.ao) {\n this.finalTransform.mProp.autoOriented = true;\n } // TODO: check TYPE 11: Guided elements\n\n\n if (this.data.ty !== 11) {// this.createElements();\n }\n },\n renderTransform: function renderTransform() {\n this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;\n this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;\n\n if (this.hierarchy) {\n var mat;\n var finalMat = this.finalTransform.mat;\n var i = 0;\n var len = this.hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n if (!this.finalTransform._matMdf) {\n while (i < len) {\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\n this.finalTransform._matMdf = true;\n break;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._matMdf) {\n mat = this.finalTransform.mProp.v.props;\n finalMat.cloneFromProps(mat);\n\n for (i = 0; i < len; i += 1) {\n mat = this.hierarchy[i].finalTransform.mProp.v.props;\n finalMat.transform(mat[0], mat[1], mat[2], mat[3], mat[4], mat[5], mat[6], mat[7], mat[8], mat[9], mat[10], mat[11], mat[12], mat[13], mat[14], mat[15]);\n }\n }\n }\n },\n globalToLocal: function globalToLocal(pt) {\n var transforms = [];\n transforms.push(this.finalTransform);\n var flag = true;\n var comp = this.comp;\n\n while (flag) {\n if (comp.finalTransform) {\n if (comp.data.hasMask) {\n transforms.splice(0, 0, comp.finalTransform);\n }\n\n comp = comp.comp;\n } else {\n flag = false;\n }\n }\n\n var i;\n var len = transforms.length;\n var ptNew;\n\n for (i = 0; i < len; i += 1) {\n ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n }\n\n return pt;\n },\n mHelper: new Matrix()\n };\n\n function MaskElement(data, element, globalData) {\n this.data = data;\n this.element = element;\n this.globalData = globalData;\n this.storedData = [];\n this.masksProperties = this.data.masksProperties || [];\n this.maskElement = null;\n var defs = this.globalData.defs;\n var i;\n var len = this.masksProperties ? this.masksProperties.length : 0;\n this.viewData = createSizedArray(len);\n this.solidPath = '';\n var path;\n var properties = this.masksProperties;\n var count = 0;\n var currentMasks = [];\n var j;\n var jLen;\n var layerId = createElementID();\n var rect;\n var expansor;\n var feMorph;\n var x;\n var maskType = 'clipPath';\n var maskRef = 'clip-path';\n\n for (i = 0; i < len; i += 1) {\n if (properties[i].mode !== 'a' && properties[i].mode !== 'n' || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n maskType = 'mask';\n maskRef = 'mask';\n }\n\n if ((properties[i].mode === 's' || properties[i].mode === 'i') && count === 0) {\n rect = createNS('rect');\n rect.setAttribute('fill', '#ffffff');\n rect.setAttribute('width', this.element.comp.data.w || 0);\n rect.setAttribute('height', this.element.comp.data.h || 0);\n currentMasks.push(rect);\n } else {\n rect = null;\n }\n\n path = createNS('path');\n\n if (properties[i].mode === 'n') {\n // TODO move this to a factory or to a constructor\n this.viewData[i] = {\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n elem: path,\n lastPath: ''\n };\n defs.appendChild(path);\n } else {\n count += 1;\n path.setAttribute('fill', properties[i].mode === 's' ? '#000000' : '#ffffff');\n path.setAttribute('clip-rule', 'nonzero');\n var filterID;\n\n if (properties[i].x.k !== 0) {\n maskType = 'mask';\n maskRef = 'mask';\n x = PropertyFactory.getProp(this.element, properties[i].x, 0, null, this.element);\n filterID = createElementID();\n expansor = createNS('filter');\n expansor.setAttribute('id', filterID);\n feMorph = createNS('feMorphology');\n feMorph.setAttribute('operator', 'erode');\n feMorph.setAttribute('in', 'SourceGraphic');\n feMorph.setAttribute('radius', '0');\n expansor.appendChild(feMorph);\n defs.appendChild(expansor);\n path.setAttribute('stroke', properties[i].mode === 's' ? '#000000' : '#ffffff');\n } else {\n feMorph = null;\n x = null;\n } // TODO move this to a factory or to a constructor\n\n\n this.storedData[i] = {\n elem: path,\n x: x,\n expan: feMorph,\n lastPath: '',\n lastOperator: '',\n filterId: filterID,\n lastRadius: 0\n };\n\n if (properties[i].mode === 'i') {\n jLen = currentMasks.length;\n var g = createNS('g');\n\n for (j = 0; j < jLen; j += 1) {\n g.appendChild(currentMasks[j]);\n }\n\n var mask = createNS('mask');\n mask.setAttribute('mask-type', 'alpha');\n mask.setAttribute('id', layerId + '_' + count);\n mask.appendChild(path);\n defs.appendChild(mask);\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + layerId + '_' + count + ')');\n currentMasks.length = 0;\n currentMasks.push(g);\n } else {\n currentMasks.push(path);\n }\n\n if (properties[i].inv && !this.solidPath) {\n this.solidPath = this.createLayerSolidPath();\n } // TODO move this to a factory or to a constructor\n\n\n this.viewData[i] = {\n elem: path,\n lastPath: '',\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n invRect: rect\n };\n\n if (!this.viewData[i].prop.k) {\n this.drawPath(properties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n }\n }\n\n this.maskElement = createNS(maskType);\n len = currentMasks.length;\n\n for (i = 0; i < len; i += 1) {\n this.maskElement.appendChild(currentMasks[i]);\n }\n\n if (count > 0) {\n this.maskElement.setAttribute('id', layerId);\n this.element.maskedElement.setAttribute(maskRef, 'url(' + getLocationHref() + '#' + layerId + ')');\n defs.appendChild(this.maskElement);\n }\n\n if (this.viewData.length) {\n this.element.addRenderableComponent(this);\n }\n }\n\n MaskElement.prototype.getMaskProperty = function (pos) {\n return this.viewData[pos].prop;\n };\n\n MaskElement.prototype.renderFrame = function (isFirstFrame) {\n var finalMat = this.element.finalTransform.mat;\n var i;\n var len = this.masksProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.viewData[i].prop._mdf || isFirstFrame) {\n this.drawPath(this.masksProperties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n\n if (this.viewData[i].op._mdf || isFirstFrame) {\n this.viewData[i].elem.setAttribute('fill-opacity', this.viewData[i].op.v);\n }\n\n if (this.masksProperties[i].mode !== 'n') {\n if (this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)) {\n this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS());\n }\n\n if (this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)) {\n var feMorph = this.storedData[i].expan;\n\n if (this.storedData[i].x.v < 0) {\n if (this.storedData[i].lastOperator !== 'erode') {\n this.storedData[i].lastOperator = 'erode';\n this.storedData[i].elem.setAttribute('filter', 'url(' + getLocationHref() + '#' + this.storedData[i].filterId + ')');\n }\n\n feMorph.setAttribute('radius', -this.storedData[i].x.v);\n } else {\n if (this.storedData[i].lastOperator !== 'dilate') {\n this.storedData[i].lastOperator = 'dilate';\n this.storedData[i].elem.setAttribute('filter', null);\n }\n\n this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v * 2);\n }\n }\n }\n }\n };\n\n MaskElement.prototype.getMaskelement = function () {\n return this.maskElement;\n };\n\n MaskElement.prototype.createLayerSolidPath = function () {\n var path = 'M0,0 ';\n path += ' h' + this.globalData.compSize.w;\n path += ' v' + this.globalData.compSize.h;\n path += ' h-' + this.globalData.compSize.w;\n path += ' v-' + this.globalData.compSize.h + ' ';\n return path;\n };\n\n MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n var pathString = ' M' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n var i;\n var len;\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[i][0]+','+pathNodes.i[i][1] + \" \"+pathNodes.v[i][0]+','+pathNodes.v[i][1];\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[i][0] + ',' + pathNodes.i[i][1] + ' ' + pathNodes.v[i][0] + ',' + pathNodes.v[i][1];\n } // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\n\n\n if (pathNodes.c && len > 1) {\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[0][0] + ',' + pathNodes.i[0][1] + ' ' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n } // pathNodes.__renderedString = pathString;\n\n\n if (viewData.lastPath !== pathString) {\n var pathShapeValue = '';\n\n if (viewData.elem) {\n if (pathNodes.c) {\n pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;\n }\n\n viewData.elem.setAttribute('d', pathShapeValue);\n }\n\n viewData.lastPath = pathString;\n }\n };\n\n MaskElement.prototype.destroy = function () {\n this.element = null;\n this.globalData = null;\n this.maskElement = null;\n this.data = null;\n this.masksProperties = null;\n };\n\n var filtersFactory = function () {\n var ob = {};\n ob.createFilter = createFilter;\n ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n function createFilter(filId, skipCoordinates) {\n var fil = createNS('filter');\n fil.setAttribute('id', filId);\n\n if (skipCoordinates !== true) {\n fil.setAttribute('filterUnits', 'objectBoundingBox');\n fil.setAttribute('x', '0%');\n fil.setAttribute('y', '0%');\n fil.setAttribute('width', '100%');\n fil.setAttribute('height', '100%');\n }\n\n return fil;\n }\n\n function createAlphaToLuminanceFilter() {\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1');\n return feColorMatrix;\n }\n\n return ob;\n }();\n\n var featureSupport = function () {\n var ob = {\n maskType: true\n };\n\n if (/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)) {\n ob.maskType = false;\n }\n\n return ob;\n }();\n\n var registeredEffects = {};\n var idPrefix = 'filter_result_';\n\n function SVGEffects(elem) {\n var i;\n var source = 'SourceGraphic';\n var len = elem.data.ef ? elem.data.ef.length : 0;\n var filId = createElementID();\n var fil = filtersFactory.createFilter(filId, true);\n var count = 0;\n this.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects[type]) {\n var Effect = registeredEffects[type].effect;\n filterManager = new Effect(fil, elem.effectsManager.effectElements[i], elem, idPrefix + count, source);\n source = idPrefix + count;\n\n if (registeredEffects[type].countsAsEffect) {\n count += 1;\n }\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (count) {\n elem.globalData.defs.appendChild(fil);\n elem.layerElement.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n function registerEffect(id, effect, countsAsEffect) {\n registeredEffects[id] = {\n effect: effect,\n countsAsEffect: countsAsEffect\n };\n }\n\n function SVGBaseElement() {}\n\n SVGBaseElement.prototype = {\n initRendererElement: function initRendererElement() {\n this.layerElement = createNS('g');\n },\n createContainerElements: function createContainerElements() {\n this.matteElement = createNS('g');\n this.transformedElement = this.layerElement;\n this.maskedElement = this.layerElement;\n this._sizeChanged = false;\n var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n var filId;\n var fil;\n var gg;\n\n if (this.data.td) {\n if (this.data.td == 3 || this.data.td == 1) {\n // eslint-disable-line eqeqeq\n var masker = createNS('mask');\n masker.setAttribute('id', this.layerId);\n masker.setAttribute('mask-type', this.data.td == 3 ? 'luminance' : 'alpha'); // eslint-disable-line eqeqeq\n\n masker.appendChild(this.layerElement);\n layerElementParent = masker;\n this.globalData.defs.appendChild(masker); // This is only for IE and Edge when mask if of type alpha\n\n if (!featureSupport.maskType && this.data.td == 1) {\n // eslint-disable-line eqeqeq\n masker.setAttribute('mask-type', 'luminance');\n filId = createElementID();\n fil = filtersFactory.createFilter(filId);\n this.globalData.defs.appendChild(fil);\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n gg.appendChild(this.layerElement);\n layerElementParent = gg;\n masker.appendChild(gg);\n gg.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n } else if (this.data.td == 2) {\n // eslint-disable-line eqeqeq\n var maskGroup = createNS('mask');\n maskGroup.setAttribute('id', this.layerId);\n maskGroup.setAttribute('mask-type', 'alpha');\n var maskGrouper = createNS('g');\n maskGroup.appendChild(maskGrouper);\n filId = createElementID();\n fil = filtersFactory.createFilter(filId); /// /\n // This solution doesn't work on Android when meta tag with viewport attribute is set\n\n /* var feColorMatrix = createNS('feColorMatrix');\r\n feColorMatrix.setAttribute('type', 'matrix');\r\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\r\n feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 -1 1');\r\n fil.appendChild(feColorMatrix); */\n /// /\n\n var feCTr = createNS('feComponentTransfer');\n feCTr.setAttribute('in', 'SourceGraphic');\n fil.appendChild(feCTr);\n var feFunc = createNS('feFuncA');\n feFunc.setAttribute('type', 'table');\n feFunc.setAttribute('tableValues', '1.0 0.0');\n feCTr.appendChild(feFunc); /// /\n\n this.globalData.defs.appendChild(fil);\n var alphaRect = createNS('rect');\n alphaRect.setAttribute('width', this.comp.data.w);\n alphaRect.setAttribute('height', this.comp.data.h);\n alphaRect.setAttribute('x', '0');\n alphaRect.setAttribute('y', '0');\n alphaRect.setAttribute('fill', '#ffffff');\n alphaRect.setAttribute('opacity', '0');\n maskGrouper.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n maskGrouper.appendChild(alphaRect);\n maskGrouper.appendChild(this.layerElement);\n layerElementParent = maskGrouper;\n\n if (!featureSupport.maskType) {\n maskGroup.setAttribute('mask-type', 'luminance');\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n maskGrouper.appendChild(alphaRect);\n gg.appendChild(this.layerElement);\n layerElementParent = gg;\n maskGrouper.appendChild(gg);\n }\n\n this.globalData.defs.appendChild(maskGroup);\n }\n } else if (this.data.tt) {\n this.matteElement.appendChild(this.layerElement);\n layerElementParent = this.matteElement;\n this.baseElement = this.matteElement;\n } else {\n this.baseElement = this.layerElement;\n }\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n if (this.data.ty === 0 && !this.data.hd) {\n var cp = createNS('clipPath');\n var pt = createNS('path');\n pt.setAttribute('d', 'M0,0 L' + this.data.w + ',0 L' + this.data.w + ',' + this.data.h + ' L0,' + this.data.h + 'z');\n var clipId = createElementID();\n cp.setAttribute('id', clipId);\n cp.appendChild(pt);\n this.globalData.defs.appendChild(cp);\n\n if (this.checkMasks()) {\n var cpGroup = createNS('g');\n cpGroup.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n cpGroup.appendChild(this.layerElement);\n this.transformedElement = cpGroup;\n\n if (layerElementParent) {\n layerElementParent.appendChild(this.transformedElement);\n } else {\n this.baseElement = this.transformedElement;\n }\n } else {\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n }\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n if (this.finalTransform._matMdf) {\n this.transformedElement.setAttribute('transform', this.finalTransform.mat.to2dCSS());\n }\n\n if (this.finalTransform._opMdf) {\n this.transformedElement.setAttribute('opacity', this.finalTransform.mProp.o.v);\n }\n },\n destroyBaseElement: function destroyBaseElement() {\n this.layerElement = null;\n this.matteElement = null;\n this.maskManager.destroy();\n },\n getBaseElement: function getBaseElement() {\n if (this.data.hd) {\n return null;\n }\n\n return this.baseElement;\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n this.renderableEffectsManager = new SVGEffects(this);\n },\n setMatte: function setMatte(id) {\n if (!this.matteElement) {\n return;\n }\n\n this.matteElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n }\n };\n\n /**\r\n * @file\r\n * Handles AE's layer parenting property.\r\n *\r\n */\n function HierarchyElement() {}\n\n HierarchyElement.prototype = {\n /**\r\n * @function\r\n * Initializes hierarchy properties\r\n *\r\n */\n initHierarchy: function initHierarchy() {\n // element's parent list\n this.hierarchy = []; // if element is parent of another layer _isParent will be true\n\n this._isParent = false;\n this.checkParenting();\n },\n\n /**\r\n * @function\r\n * Sets layer's hierarchy.\r\n * @param {array} hierarch\r\n * layer's parent list\r\n *\r\n */\n setHierarchy: function setHierarchy(hierarchy) {\n this.hierarchy = hierarchy;\n },\n\n /**\r\n * @function\r\n * Sets layer as parent.\r\n *\r\n */\n setAsParent: function setAsParent() {\n this._isParent = true;\n },\n\n /**\r\n * @function\r\n * Searches layer's parenting chain\r\n *\r\n */\n checkParenting: function checkParenting() {\n if (this.data.parent !== undefined) {\n this.comp.buildElementParenting(this, this.data.parent, []);\n }\n }\n };\n\n function RenderableDOMElement() {}\n\n (function () {\n var _prototype = {\n initElement: function initElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n },\n hide: function hide() {\n // console.log('HIDE', this);\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'none';\n this.hidden = true;\n }\n },\n show: function show() {\n // console.log('SHOW', this);\n if (this.isInRange && !this.isTransparent) {\n if (!this.data.hd) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'block';\n }\n\n this.hidden = false;\n this._isFirstFrame = true;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n renderInnerContent: function renderInnerContent() {},\n prepareFrame: function prepareFrame(num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n this.checkTransparency();\n },\n destroy: function destroy() {\n this.innerElem = null;\n this.destroyBaseElement();\n }\n };\n extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n })();\n\n function IImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.initElement(data, globalData, comp);\n this.sourceRect = {\n top: 0,\n left: 0,\n width: this.assetData.w,\n height: this.assetData.h\n };\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n IImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.innerElem = createNS('image');\n this.innerElem.setAttribute('width', this.assetData.w + 'px');\n this.innerElem.setAttribute('height', this.assetData.h + 'px');\n this.innerElem.setAttribute('preserveAspectRatio', this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);\n this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.innerElem);\n };\n\n IImageElement.prototype.sourceRectAtTime = function () {\n return this.sourceRect;\n };\n\n function ProcessedElement(element, position) {\n this.elem = element;\n this.pos = position;\n }\n\n function IShapeElement() {}\n\n IShapeElement.prototype = {\n addShapeToModifiers: function addShapeToModifiers(data) {\n var i;\n var len = this.shapeModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapeModifiers[i].addShape(data);\n }\n },\n isShapeInAnimatedModifiers: function isShapeInAnimatedModifiers(data) {\n var i = 0;\n var len = this.shapeModifiers.length;\n\n while (i < len) {\n if (this.shapeModifiers[i].isAnimatedWithShape(data)) {\n return true;\n }\n }\n\n return false;\n },\n renderModifiers: function renderModifiers() {\n if (!this.shapeModifiers.length) {\n return;\n }\n\n var i;\n var len = this.shapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapes[i].sh.reset();\n }\n\n len = this.shapeModifiers.length;\n var shouldBreakProcess;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shouldBreakProcess = this.shapeModifiers[i].processShapes(this._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n // TODO: find a better solution for this\n\n if (shouldBreakProcess) {\n break;\n }\n }\n },\n searchProcessedElement: function searchProcessedElement(elem) {\n var elements = this.processedElements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i].elem === elem) {\n return elements[i].pos;\n }\n\n i += 1;\n }\n\n return 0;\n },\n addProcessedElement: function addProcessedElement(elem, pos) {\n var elements = this.processedElements;\n var i = elements.length;\n\n while (i) {\n i -= 1;\n\n if (elements[i].elem === elem) {\n elements[i].pos = pos;\n return;\n }\n }\n\n elements.push(new ProcessedElement(elem, pos));\n },\n prepareFrame: function prepareFrame(num) {\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n }\n };\n\n var lineCapEnum = {\n 1: 'butt',\n 2: 'round',\n 3: 'square'\n };\n var lineJoinEnum = {\n 1: 'miter',\n 2: 'round',\n 3: 'bevel'\n };\n\n function SVGShapeData(transformers, level, shape) {\n this.caches = [];\n this.styles = [];\n this.transformers = transformers;\n this.lStr = '';\n this.sh = shape;\n this.lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n // For now, since shapes add up with other shapes. They have to be calculated every time.\n // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n this._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n var i = 0;\n var len = transformers.length;\n\n while (i < len) {\n if (transformers[i].mProps.dynamicProperties.length) {\n this._isAnimated = true;\n break;\n }\n\n i += 1;\n }\n }\n\n SVGShapeData.prototype.setAsAnimated = function () {\n this._isAnimated = true;\n };\n\n function SVGStyleData(data, level) {\n this.data = data;\n this.type = data.ty;\n this.d = '';\n this.lvl = level;\n this._mdf = false;\n this.closed = data.hd === true;\n this.pElem = createNS('path');\n this.msElem = null;\n }\n\n SVGStyleData.prototype.reset = function () {\n this.d = '';\n this._mdf = false;\n };\n\n function DashProperty(elem, data, renderer, container) {\n this.elem = elem;\n this.frameId = -1;\n this.dataProps = createSizedArray(data.length);\n this.renderer = renderer;\n this.k = false;\n this.dashStr = '';\n this.dashArray = createTypedArray('float32', data.length ? data.length - 1 : 0);\n this.dashoffset = createTypedArray('float32', 1);\n this.initDynamicPropertyContainer(container);\n var i;\n var len = data.length || 0;\n var prop;\n\n for (i = 0; i < len; i += 1) {\n prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this);\n this.k = prop.k || this.k;\n this.dataProps[i] = {\n n: data[i].n,\n p: prop\n };\n }\n\n if (!this.k) {\n this.getValue(true);\n }\n\n this._isAnimated = this.k;\n }\n\n DashProperty.prototype.getValue = function (forceRender) {\n if (this.elem.globalData.frameId === this.frameId && !forceRender) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || forceRender;\n\n if (this._mdf) {\n var i = 0;\n var len = this.dataProps.length;\n\n if (this.renderer === 'svg') {\n this.dashStr = '';\n }\n\n for (i = 0; i < len; i += 1) {\n if (this.dataProps[i].n !== 'o') {\n if (this.renderer === 'svg') {\n this.dashStr += ' ' + this.dataProps[i].p.v;\n } else {\n this.dashArray[i] = this.dataProps[i].p.v;\n }\n } else {\n this.dashoffset[0] = this.dataProps[i].p.v;\n }\n }\n }\n };\n\n extendPrototype([DynamicPropertyContainer], DashProperty);\n\n function SVGStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n\n function SVGFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n\n function SVGNoStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGNoStyleData);\n\n function GradientProperty(elem, data, container) {\n this.data = data;\n this.c = createTypedArray('uint8c', data.p * 4);\n var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n this.o = createTypedArray('float32', cLength);\n this._cmdf = false;\n this._omdf = false;\n this._collapsable = this.checkCollapsable();\n this._hasOpacity = cLength;\n this.initDynamicPropertyContainer(container);\n this.prop = PropertyFactory.getProp(elem, data.k, 1, null, this);\n this.k = this.prop.k;\n this.getValue(true);\n }\n\n GradientProperty.prototype.comparePoints = function (values, points) {\n var i = 0;\n var len = this.o.length / 2;\n var diff;\n\n while (i < len) {\n diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n if (diff > 0.01) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n };\n\n GradientProperty.prototype.checkCollapsable = function () {\n if (this.o.length / 2 !== this.c.length / 4) {\n return false;\n }\n\n if (this.data.k.k[0].s) {\n var i = 0;\n var len = this.data.k.k.length;\n\n while (i < len) {\n if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {\n return false;\n }\n\n i += 1;\n }\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) {\n return false;\n }\n\n return true;\n };\n\n GradientProperty.prototype.getValue = function (forceRender) {\n this.prop.getValue();\n this._mdf = false;\n this._cmdf = false;\n this._omdf = false;\n\n if (this.prop._mdf || forceRender) {\n var i;\n var len = this.data.p * 4;\n var mult;\n var val;\n\n for (i = 0; i < len; i += 1) {\n mult = i % 4 === 0 ? 100 : 255;\n val = Math.round(this.prop.v[i] * mult);\n\n if (this.c[i] !== val) {\n this.c[i] = val;\n this._cmdf = !forceRender;\n }\n }\n\n if (this.o.length) {\n len = this.prop.v.length;\n\n for (i = this.data.p * 4; i < len; i += 1) {\n mult = i % 2 === 0 ? 100 : 1;\n val = i % 2 === 0 ? Math.round(this.prop.v[i] * 100) : this.prop.v[i];\n\n if (this.o[i - this.data.p * 4] !== val) {\n this.o[i - this.data.p * 4] = val;\n this._omdf = !forceRender;\n }\n }\n }\n\n this._mdf = !forceRender;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], GradientProperty);\n\n function SVGGradientFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.initGradientData(elem, data, styleOb);\n }\n\n SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, null, this);\n this.e = PropertyFactory.getProp(elem, data.e, 1, null, this);\n this.h = PropertyFactory.getProp(elem, data.h || {\n k: 0\n }, 0, 0.01, this);\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: 0\n }, 0, degToRads, this);\n this.g = new GradientProperty(elem, data.g, this);\n this.style = styleOb;\n this.stops = [];\n this.setGradientData(styleOb.pElem, data);\n this.setGradientOpacity(data, styleOb);\n this._isAnimated = !!this._isAnimated;\n };\n\n SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n var gradientId = createElementID();\n var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n gfill.setAttribute('id', gradientId);\n gfill.setAttribute('spreadMethod', 'pad');\n gfill.setAttribute('gradientUnits', 'userSpaceOnUse');\n var stops = [];\n var stop;\n var j;\n var jLen;\n jLen = data.g.p * 4;\n\n for (j = 0; j < jLen; j += 4) {\n stop = createNS('stop');\n gfill.appendChild(stop);\n stops.push(stop);\n }\n\n pathElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + gradientId + ')');\n this.gf = gfill;\n this.cst = stops;\n };\n\n SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n if (this.g._hasOpacity && !this.g._collapsable) {\n var stop;\n var j;\n var jLen;\n var mask = createNS('mask');\n var maskElement = createNS('path');\n mask.appendChild(maskElement);\n var opacityId = createElementID();\n var maskId = createElementID();\n mask.setAttribute('id', maskId);\n var opFill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n opFill.setAttribute('id', opacityId);\n opFill.setAttribute('spreadMethod', 'pad');\n opFill.setAttribute('gradientUnits', 'userSpaceOnUse');\n jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n var stops = this.stops;\n\n for (j = data.g.p * 4; j < jLen; j += 2) {\n stop = createNS('stop');\n stop.setAttribute('stop-color', 'rgb(255,255,255)');\n opFill.appendChild(stop);\n stops.push(stop);\n }\n\n maskElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + opacityId + ')');\n\n if (data.ty === 'gs') {\n maskElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n maskElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n\n if (data.lj === 1) {\n maskElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n this.of = opFill;\n this.ms = mask;\n this.ost = stops;\n this.maskId = maskId;\n styleOb.msElem = maskElement;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n\n function SVGGradientStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.initGradientData(elem, data, styleOb);\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n\n function ShapeGroupData() {\n this.it = [];\n this.prevViewData = [];\n this.gr = createNS('g');\n }\n\n function SVGTransformData(mProps, op, container) {\n this.transform = {\n mProps: mProps,\n op: op,\n container: container\n };\n this.elements = [];\n this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n }\n\n var buildShapeString = function buildShapeString(pathNodes, length, closed, mat) {\n if (length === 0) {\n return '';\n }\n\n var _o = pathNodes.o;\n var _i = pathNodes.i;\n var _v = pathNodes.v;\n var i;\n var shapeString = ' M' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n for (i = 1; i < length; i += 1) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[i][0], _i[i][1]) + ' ' + mat.applyToPointStringified(_v[i][0], _v[i][1]);\n }\n\n if (closed && length) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[0][0], _i[0][1]) + ' ' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n shapeString += 'z';\n }\n\n return shapeString;\n };\n\n var SVGElementsRenderer = function () {\n var _identityMatrix = new Matrix();\n\n var _matrixHelper = new Matrix();\n\n var ob = {\n createRenderFunction: createRenderFunction\n };\n\n function createRenderFunction(data) {\n switch (data.ty) {\n case 'fl':\n return renderFill;\n\n case 'gf':\n return renderGradient;\n\n case 'gs':\n return renderGradientStroke;\n\n case 'st':\n return renderStroke;\n\n case 'sh':\n case 'el':\n case 'rc':\n case 'sr':\n return renderPath;\n\n case 'tr':\n return renderContentTransform;\n\n case 'no':\n return renderNoop;\n\n default:\n return null;\n }\n }\n\n function renderContentTransform(styleData, itemData, isFirstFrame) {\n if (isFirstFrame || itemData.transform.op._mdf) {\n itemData.transform.container.setAttribute('opacity', itemData.transform.op.v);\n }\n\n if (isFirstFrame || itemData.transform.mProps._mdf) {\n itemData.transform.container.setAttribute('transform', itemData.transform.mProps.v.to2dCSS());\n }\n }\n\n function renderNoop() {}\n\n function renderPath(styleData, itemData, isFirstFrame) {\n var j;\n var jLen;\n var pathStringTransformed;\n var redraw;\n var pathNodes;\n var l;\n var lLen = itemData.styles.length;\n var lvl = itemData.lvl;\n var paths;\n var mat;\n var props;\n var iterations;\n var k;\n\n for (l = 0; l < lLen; l += 1) {\n redraw = itemData.sh._mdf || isFirstFrame;\n\n if (itemData.styles[l].lvl < lvl) {\n mat = _matrixHelper.reset();\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (!redraw && iterations > 0) {\n redraw = itemData.transformers[k].mProps._mdf || redraw;\n iterations -= 1;\n k -= 1;\n }\n\n if (redraw) {\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (iterations > 0) {\n props = itemData.transformers[k].mProps.v.props;\n mat.transform(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]);\n iterations -= 1;\n k -= 1;\n }\n }\n } else {\n mat = _identityMatrix;\n }\n\n paths = itemData.sh.paths;\n jLen = paths._length;\n\n if (redraw) {\n pathStringTransformed = '';\n\n for (j = 0; j < jLen; j += 1) {\n pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes._length) {\n pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n }\n }\n\n itemData.caches[l] = pathStringTransformed;\n } else {\n pathStringTransformed = itemData.caches[l];\n }\n\n itemData.styles[l].d += styleData.hd === true ? '' : pathStringTransformed;\n itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n }\n }\n\n function renderFill(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill-opacity', itemData.o.v);\n }\n }\n\n function renderGradientStroke(styleData, itemData, isFirstFrame) {\n renderGradient(styleData, itemData, isFirstFrame);\n renderStroke(styleData, itemData, isFirstFrame);\n }\n\n function renderGradient(styleData, itemData, isFirstFrame) {\n var gfill = itemData.gf;\n var hasOpacity = itemData.g._hasOpacity;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (itemData.o._mdf || isFirstFrame) {\n var attr = styleData.ty === 'gf' ? 'fill-opacity' : 'stroke-opacity';\n itemData.style.pElem.setAttribute(attr, itemData.o.v);\n }\n\n if (itemData.s._mdf || isFirstFrame) {\n var attr1 = styleData.t === 1 ? 'x1' : 'cx';\n var attr2 = attr1 === 'x1' ? 'y1' : 'cy';\n gfill.setAttribute(attr1, pt1[0]);\n gfill.setAttribute(attr2, pt1[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute(attr1, pt1[0]);\n itemData.of.setAttribute(attr2, pt1[1]);\n }\n }\n\n var stops;\n var i;\n var len;\n var stop;\n\n if (itemData.g._cmdf || isFirstFrame) {\n stops = itemData.cst;\n var cValues = itemData.g.c;\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n stop.setAttribute('offset', cValues[i * 4] + '%');\n stop.setAttribute('stop-color', 'rgb(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ')');\n }\n }\n\n if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n var oValues = itemData.g.o;\n\n if (itemData.g._collapsable) {\n stops = itemData.cst;\n } else {\n stops = itemData.ost;\n }\n\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n\n if (!itemData.g._collapsable) {\n stop.setAttribute('offset', oValues[i * 2] + '%');\n }\n\n stop.setAttribute('stop-opacity', oValues[i * 2 + 1]);\n }\n }\n\n if (styleData.t === 1) {\n if (itemData.e._mdf || isFirstFrame) {\n gfill.setAttribute('x2', pt2[0]);\n gfill.setAttribute('y2', pt2[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('x2', pt2[0]);\n itemData.of.setAttribute('y2', pt2[1]);\n }\n }\n } else {\n var rad;\n\n if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n gfill.setAttribute('r', rad);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('r', rad);\n }\n }\n\n if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n if (!rad) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n }\n\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n gfill.setAttribute('fx', x);\n gfill.setAttribute('fy', y);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('fx', x);\n itemData.of.setAttribute('fy', y);\n }\n } // gfill.setAttribute('fy','200');\n\n }\n }\n\n function renderStroke(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr);\n styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]);\n }\n\n if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n styleElem.pElem.setAttribute('stroke', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v);\n }\n\n if (itemData.w._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-width', itemData.w.v);\n\n if (styleElem.msElem) {\n styleElem.msElem.setAttribute('stroke-width', itemData.w.v);\n }\n }\n }\n\n return ob;\n }();\n\n function SVGShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n SVGShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n };\n /*\r\n This method searches for multiple shapes that affect a single element and one of them is animated\r\n */\n\n\n SVGShapeElement.prototype.filterUniqueShapes = function () {\n var i;\n var len = this.shapes.length;\n var shape;\n var j;\n var jLen = this.stylesList.length;\n var style;\n var tempShapes = [];\n var areAnimated = false;\n\n for (j = 0; j < jLen; j += 1) {\n style = this.stylesList[j];\n areAnimated = false;\n tempShapes.length = 0;\n\n for (i = 0; i < len; i += 1) {\n shape = this.shapes[i];\n\n if (shape.styles.indexOf(style) !== -1) {\n tempShapes.push(shape);\n areAnimated = shape._isAnimated || areAnimated;\n }\n }\n\n if (tempShapes.length > 1 && areAnimated) {\n this.setShapesAsAnimated(tempShapes);\n }\n }\n };\n\n SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n var i;\n var len = shapes.length;\n\n for (i = 0; i < len; i += 1) {\n shapes[i].setAsAnimated();\n }\n };\n\n SVGShapeElement.prototype.createStyleElement = function (data, level) {\n // TODO: prevent drawing of hidden styles\n var elementData;\n var styleOb = new SVGStyleData(data, level);\n var pathElement = styleOb.pElem;\n\n if (data.ty === 'st') {\n elementData = new SVGStrokeStyleData(this, data, styleOb);\n } else if (data.ty === 'fl') {\n elementData = new SVGFillStyleData(this, data, styleOb);\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n var GradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n elementData = new GradientConstructor(this, data, styleOb);\n this.globalData.defs.appendChild(elementData.gf);\n\n if (elementData.maskId) {\n this.globalData.defs.appendChild(elementData.ms);\n this.globalData.defs.appendChild(elementData.of);\n pathElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + elementData.maskId + ')');\n }\n } else if (data.ty === 'no') {\n elementData = new SVGNoStyleData(this, data, styleOb);\n }\n\n if (data.ty === 'st' || data.ty === 'gs') {\n pathElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n pathElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n pathElement.setAttribute('fill-opacity', '0');\n\n if (data.lj === 1) {\n pathElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n if (data.r === 2) {\n pathElement.setAttribute('fill-rule', 'evenodd');\n }\n\n if (data.ln) {\n pathElement.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n pathElement.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n pathElement.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n this.stylesList.push(styleOb);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createGroupElement = function (data) {\n var elementData = new ShapeGroupData();\n\n if (data.ln) {\n elementData.gr.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n elementData.gr.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n return elementData;\n };\n\n SVGShapeElement.prototype.createTransformElement = function (data, container) {\n var transformProperty = TransformPropertyFactory.getTransformProperty(this, data, this);\n var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n var shapeProperty = ShapePropertyFactory.getShapeProp(this, data, ty, this);\n var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n var i = 0;\n var len = this.animatedContents.length;\n\n while (i < len) {\n if (this.animatedContents[i].element === element) {\n return;\n }\n\n i += 1;\n }\n\n this.animatedContents.push({\n fn: SVGElementsRenderer.createRenderFunction(data),\n element: element,\n data: data\n });\n };\n\n SVGShapeElement.prototype.setElementStyles = function (elementData) {\n var arr = elementData.styles;\n var j;\n var jLen = this.stylesList.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (!this.stylesList[j].closed) {\n arr.push(this.stylesList[j]);\n }\n }\n };\n\n SVGShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n };\n\n SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n var ownTransformers = [].concat(transformers);\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var currentTransform;\n var modifier;\n var processedPos;\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._render = render;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs' || arr[i].ty === 'no') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], level);\n } else {\n itemsData[i].style.closed = false;\n }\n\n if (arr[i]._render) {\n if (itemsData[i].style.pElem.parentNode !== container) {\n container.appendChild(itemsData[i].style.pElem);\n }\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n if (arr[i]._render) {\n if (itemsData[i].gr.parentNode !== container) {\n container.appendChild(itemsData[i].gr);\n }\n }\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n itemsData[i] = this.createTransformElement(arr[i], container);\n }\n\n currentTransform = itemsData[i].transform;\n ownTransformers.push(currentTransform);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n }\n\n this.setElementStyles(itemsData[i]);\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'ms' || arr[i].ty === 'pb') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n render = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n len = ownStyles.length;\n\n for (i = 0; i < len; i += 1) {\n ownStyles[i].closed = true;\n }\n\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n SVGShapeElement.prototype.renderInnerContent = function () {\n this.renderModifiers();\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n this.stylesList[i].reset();\n }\n\n this.renderShape();\n\n for (i = 0; i < len; i += 1) {\n if (this.stylesList[i]._mdf || this._isFirstFrame) {\n if (this.stylesList[i].msElem) {\n this.stylesList[i].msElem.setAttribute('d', this.stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n this.stylesList[i].d = 'M0 0' + this.stylesList[i].d;\n }\n\n this.stylesList[i].pElem.setAttribute('d', this.stylesList[i].d || 'M0 0');\n }\n }\n };\n\n SVGShapeElement.prototype.renderShape = function () {\n var i;\n var len = this.animatedContents.length;\n var animatedContent;\n\n for (i = 0; i < len; i += 1) {\n animatedContent = this.animatedContents[i];\n\n if ((this._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n animatedContent.fn(animatedContent.data, animatedContent.element, this._isFirstFrame);\n }\n }\n };\n\n SVGShapeElement.prototype.destroy = function () {\n this.destroyBaseElement();\n this.shapesData = null;\n this.itemsData = null;\n };\n\n function LetterProps(o, sw, sc, fc, m, p) {\n this.o = o;\n this.sw = sw;\n this.sc = sc;\n this.fc = fc;\n this.m = m;\n this.p = p;\n this._mdf = {\n o: true,\n sw: !!sw,\n sc: !!sc,\n fc: !!fc,\n m: true,\n p: true\n };\n }\n\n LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n this._mdf.o = false;\n this._mdf.sw = false;\n this._mdf.sc = false;\n this._mdf.fc = false;\n this._mdf.m = false;\n this._mdf.p = false;\n var updated = false;\n\n if (this.o !== o) {\n this.o = o;\n this._mdf.o = true;\n updated = true;\n }\n\n if (this.sw !== sw) {\n this.sw = sw;\n this._mdf.sw = true;\n updated = true;\n }\n\n if (this.sc !== sc) {\n this.sc = sc;\n this._mdf.sc = true;\n updated = true;\n }\n\n if (this.fc !== fc) {\n this.fc = fc;\n this._mdf.fc = true;\n updated = true;\n }\n\n if (this.m !== m) {\n this.m = m;\n this._mdf.m = true;\n updated = true;\n }\n\n if (p.length && (this.p[0] !== p[0] || this.p[1] !== p[1] || this.p[4] !== p[4] || this.p[5] !== p[5] || this.p[12] !== p[12] || this.p[13] !== p[13])) {\n this.p = p;\n this._mdf.p = true;\n updated = true;\n }\n\n return updated;\n };\n\n function TextProperty(elem, data) {\n this._frameId = initialDefaultFrame;\n this.pv = '';\n this.v = '';\n this.kf = false;\n this._isFirstFrame = true;\n this._mdf = false;\n this.data = data;\n this.elem = elem;\n this.comp = this.elem.comp;\n this.keysIndex = 0;\n this.canResize = false;\n this.minimumFontSize = 1;\n this.effectsSequence = [];\n 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: false,\n strokeColorAnim: false,\n strokeWidthAnim: false,\n yOffset: 0,\n finalSize: 0,\n finalText: [],\n finalLineHeight: 0,\n __complete: false\n };\n this.copyData(this.currentData, this.data.d.k[0].s);\n\n if (!this.searchProperty()) {\n this.completeTextData(this.currentData);\n }\n }\n\n TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n TextProperty.prototype.copyData = function (obj, data) {\n for (var s in data) {\n if (Object.prototype.hasOwnProperty.call(data, s)) {\n obj[s] = data[s];\n }\n }\n\n return obj;\n };\n\n TextProperty.prototype.setCurrentData = function (data) {\n if (!data.__complete) {\n this.completeTextData(data);\n }\n\n this.currentData = data;\n this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth;\n this._mdf = true;\n };\n\n TextProperty.prototype.searchProperty = function () {\n return this.searchKeyframes();\n };\n\n TextProperty.prototype.searchKeyframes = function () {\n this.kf = this.data.d.k.length > 1;\n\n if (this.kf) {\n this.addEffect(this.getKeyframeValue.bind(this));\n }\n\n return this.kf;\n };\n\n TextProperty.prototype.addEffect = function (effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.getValue = function (_finalValue) {\n if ((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {\n return;\n }\n\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\n var currentValue = this.currentData;\n var currentIndex = this.keysIndex;\n\n if (this.lock) {\n this.setCurrentData(this.currentData);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;\n\n for (i = 0; i < len; i += 1) {\n // Checking if index changed to prevent creating a new object every time the expression updates.\n if (currentIndex !== this.keysIndex) {\n finalValue = this.effectsSequence[i](finalValue, finalValue.t);\n } else {\n finalValue = this.effectsSequence[i](this.currentData, finalValue.t);\n }\n }\n\n if (currentValue !== finalValue) {\n this.setCurrentData(finalValue);\n }\n\n this.v = this.currentData;\n this.pv = this.v;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n };\n\n TextProperty.prototype.getKeyframeValue = function () {\n var textKeys = this.data.d.k;\n var frameNum = this.elem.comp.renderedFrame;\n var i = 0;\n var len = textKeys.length;\n\n while (i <= len - 1) {\n if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n break;\n }\n\n i += 1;\n }\n\n if (this.keysIndex !== i) {\n this.keysIndex = i;\n }\n\n return this.data.d.k[this.keysIndex].s;\n };\n\n TextProperty.prototype.buildFinalText = function (text) {\n var charactersArray = [];\n var i = 0;\n var len = text.length;\n var charCode;\n var secondCharCode;\n var shouldCombine = false;\n\n while (i < len) {\n charCode = text.charCodeAt(i);\n\n if (FontManager.isCombinedCharacter(charCode)) {\n charactersArray[charactersArray.length - 1] += text.charAt(i);\n } else if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n secondCharCode = text.charCodeAt(i + 1);\n\n if (secondCharCode >= 0xDC00 && secondCharCode <= 0xDFFF) {\n if (shouldCombine || FontManager.isModifier(charCode, secondCharCode)) {\n charactersArray[charactersArray.length - 1] += text.substr(i, 2);\n shouldCombine = false;\n } else {\n charactersArray.push(text.substr(i, 2));\n }\n\n i += 1;\n } else {\n charactersArray.push(text.charAt(i));\n }\n } else if (charCode > 0xDBFF) {\n secondCharCode = text.charCodeAt(i + 1);\n\n if (FontManager.isZeroWidthJoiner(charCode, secondCharCode)) {\n shouldCombine = true;\n charactersArray[charactersArray.length - 1] += text.substr(i, 2);\n i += 1;\n } else {\n charactersArray.push(text.charAt(i));\n }\n } else if (FontManager.isZeroWidthJoiner(charCode)) {\n charactersArray[charactersArray.length - 1] += text.charAt(i);\n shouldCombine = true;\n } else {\n charactersArray.push(text.charAt(i));\n }\n\n i += 1;\n }\n\n return charactersArray;\n };\n\n TextProperty.prototype.completeTextData = function (documentData) {\n documentData.__complete = true;\n var fontManager = this.elem.globalData.fontManager;\n var data = this.data;\n var letters = [];\n var i;\n var len;\n var newLineFlag;\n var index = 0;\n var val;\n var anchorGrouping = data.m.g;\n var currentSize = 0;\n var currentPos = 0;\n var currentLine = 0;\n var lineWidths = [];\n var lineWidth = 0;\n var maxLineWidth = 0;\n var j;\n var jLen;\n var fontData = fontManager.getFontByName(documentData.f);\n var charData;\n var cLength = 0;\n var fontProps = getFontProperties(fontData);\n documentData.fWeight = fontProps.weight;\n documentData.fStyle = fontProps.style;\n documentData.finalSize = documentData.s;\n documentData.finalText = this.buildFinalText(documentData.t);\n len = documentData.finalText.length;\n documentData.finalLineHeight = documentData.lh;\n var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var charCode;\n\n if (documentData.sz) {\n var flag = true;\n var boxWidth = documentData.sz[0];\n var boxHeight = documentData.sz[1];\n var currentHeight;\n var finalText;\n\n while (flag) {\n finalText = this.buildFinalText(documentData.t);\n currentHeight = 0;\n lineWidth = 0;\n len = finalText.length;\n trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var lastSpaceIndex = -1;\n\n for (i = 0; i < len; i += 1) {\n charCode = finalText[i].charCodeAt(0);\n newLineFlag = false;\n\n if (finalText[i] === ' ') {\n lastSpaceIndex = i;\n } else if (charCode === 13 || charCode === 3) {\n lineWidth = 0;\n newLineFlag = true;\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n }\n\n if (lineWidth + cLength > boxWidth && finalText[i] !== ' ') {\n if (lastSpaceIndex === -1) {\n len += 1;\n } else {\n i = lastSpaceIndex;\n }\n\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n finalText.splice(i, lastSpaceIndex === i ? 1 : 0, '\\r'); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n lastSpaceIndex = -1;\n lineWidth = 0;\n } else {\n lineWidth += cLength;\n lineWidth += trackingOffset;\n }\n }\n\n currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n if (this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {\n documentData.finalSize -= 1;\n documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n } else {\n documentData.finalText = finalText;\n len = documentData.finalText.length;\n flag = false;\n }\n }\n }\n\n lineWidth = -trackingOffset;\n cLength = 0;\n var uncollapsedSpaces = 0;\n var currentChar;\n\n for (i = 0; i < len; i += 1) {\n newLineFlag = false;\n currentChar = documentData.finalText[i];\n charCode = currentChar.charCodeAt(0);\n\n if (charCode === 13 || charCode === 3) {\n uncollapsedSpaces = 0;\n lineWidths.push(lineWidth);\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidth = -2 * trackingOffset;\n val = '';\n newLineFlag = true;\n currentLine += 1;\n } else {\n val = currentChar;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n } //\n\n\n if (currentChar === ' ') {\n uncollapsedSpaces += cLength + trackingOffset;\n } else {\n lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n uncollapsedSpaces = 0;\n }\n\n letters.push({\n l: cLength,\n an: cLength,\n add: currentSize,\n n: newLineFlag,\n anIndexes: [],\n val: val,\n line: currentLine,\n animatorJustifyOffset: 0\n });\n\n if (anchorGrouping == 2) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || val === ' ' || i === len - 1) {\n if (val === '' || val === ' ') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n index += 1;\n currentSize = 0;\n }\n } else if (anchorGrouping == 3) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || i === len - 1) {\n if (val === '') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n currentSize = 0;\n index += 1;\n }\n } else {\n letters[index].ind = index;\n letters[index].extra = 0;\n index += 1;\n }\n }\n\n documentData.l = letters;\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidths.push(lineWidth);\n\n if (documentData.sz) {\n documentData.boxWidth = documentData.sz[0];\n documentData.justifyOffset = 0;\n } else {\n documentData.boxWidth = maxLineWidth;\n\n switch (documentData.j) {\n case 1:\n documentData.justifyOffset = -documentData.boxWidth;\n break;\n\n case 2:\n documentData.justifyOffset = -documentData.boxWidth / 2;\n break;\n\n default:\n documentData.justifyOffset = 0;\n }\n }\n\n documentData.lineWidths = lineWidths;\n var animators = data.a;\n var animatorData;\n var letterData;\n jLen = animators.length;\n var based;\n var ind;\n var indexes = [];\n\n for (j = 0; j < jLen; j += 1) {\n animatorData = animators[j];\n\n if (animatorData.a.sc) {\n documentData.strokeColorAnim = true;\n }\n\n if (animatorData.a.sw) {\n documentData.strokeWidthAnim = true;\n }\n\n if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n documentData.fillColorAnim = true;\n }\n\n ind = 0;\n based = animatorData.s.b;\n\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n letterData.anIndexes[j] = ind;\n\n if (based == 1 && letterData.val !== '' || based == 2 && letterData.val !== '' && letterData.val !== ' ' || based == 3 && (letterData.n || letterData.val == ' ' || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n // eslint-disable-line eqeqeq\n if (animatorData.s.rn === 1) {\n indexes.push(ind);\n }\n\n ind += 1;\n }\n }\n\n data.a[j].s.totalChars = ind;\n var currentInd = -1;\n var newInd;\n\n if (animatorData.s.rn === 1) {\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n\n if (currentInd != letterData.anIndexes[j]) {\n // eslint-disable-line eqeqeq\n currentInd = letterData.anIndexes[j];\n newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n }\n\n letterData.anIndexes[j] = newInd;\n }\n }\n }\n\n documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n documentData.ls = documentData.ls || 0;\n documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n };\n\n TextProperty.prototype.updateDocumentData = function (newData, index) {\n index = index === undefined ? this.keysIndex : index;\n var dData = this.copyData({}, this.data.d.k[index].s);\n dData = this.copyData(dData, newData);\n this.data.d.k[index].s = dData;\n this.recalculate(index);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.recalculate = function (index) {\n var dData = this.data.d.k[index].s;\n dData.__complete = false;\n this.keysIndex = 0;\n this._isFirstFrame = true;\n this.getValue(dData);\n };\n\n TextProperty.prototype.canResizeFont = function (_canResize) {\n this.canResize = _canResize;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n this.minimumFontSize = Math.floor(_fontValue) || 1;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n var TextSelectorProp = function () {\n var max = Math.max;\n var min = Math.min;\n var floor = Math.floor;\n\n function TextSelectorPropFactory(elem, data) {\n this._currentTextLength = -1;\n this.k = false;\n this.data = data;\n this.elem = elem;\n this.comp = elem.comp;\n this.finalS = 0;\n this.finalE = 0;\n this.initDynamicPropertyContainer(elem);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: 0\n }, 0, 0, this);\n\n if ('e' in data) {\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0, this);\n } else {\n this.e = {\n v: 100\n };\n }\n\n this.o = PropertyFactory.getProp(elem, data.o || {\n k: 0\n }, 0, 0, this);\n this.xe = PropertyFactory.getProp(elem, data.xe || {\n k: 0\n }, 0, 0, this);\n this.ne = PropertyFactory.getProp(elem, data.ne || {\n k: 0\n }, 0, 0, this);\n this.sm = PropertyFactory.getProp(elem, data.sm || {\n k: 100\n }, 0, 0, this);\n this.a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this);\n\n if (!this.dynamicProperties.length) {\n this.getValue();\n }\n }\n\n TextSelectorPropFactory.prototype = {\n getMult: function getMult(ind) {\n if (this._currentTextLength !== this.elem.textProperty.currentData.l.length) {\n this.getValue();\n }\n\n var x1 = 0;\n var y1 = 0;\n var x2 = 1;\n var y2 = 1;\n\n if (this.ne.v > 0) {\n x1 = this.ne.v / 100.0;\n } else {\n y1 = -this.ne.v / 100.0;\n }\n\n if (this.xe.v > 0) {\n x2 = 1.0 - this.xe.v / 100.0;\n } else {\n y2 = 1.0 + this.xe.v / 100.0;\n }\n\n var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n var mult = 0;\n var s = this.finalS;\n var e = this.finalE;\n var type = this.data.sh;\n\n if (type === 2) {\n if (e === s) {\n mult = ind >= e ? 1 : 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 3) {\n if (e === s) {\n mult = ind >= e ? 0 : 1;\n } else {\n mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 4) {\n if (e === s) {\n mult = 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n if (mult < 0.5) {\n mult *= 2;\n } else {\n mult = 1 - 2 * (mult - 0.5);\n }\n }\n\n mult = easer(mult);\n } else if (type === 5) {\n if (e === s) {\n mult = 0;\n } else {\n var tot = e - s;\n /* ind += 0.5;\r\n mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n ind = min(max(0, ind + 0.5 - s), e - s);\n var x = -tot / 2 + ind;\n var a = tot / 2;\n mult = Math.sqrt(1 - x * x / (a * a));\n }\n\n mult = easer(mult);\n } else if (type === 6) {\n if (e === s) {\n mult = 0;\n } else {\n ind = min(max(0, ind + 0.5 - s), e - s);\n mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n }\n\n mult = easer(mult);\n } else {\n if (ind >= floor(s)) {\n if (ind - s < 0) {\n mult = max(0, min(min(e, 1) - (s - ind), 1));\n } else {\n mult = max(0, min(e - ind, 1));\n }\n }\n\n mult = easer(mult);\n } // Smoothness implementation.\n // The smoothness represents a reduced range of the original [0; 1] range.\n // if smoothness is 25%, the new range will be [0.375; 0.625]\n // Steps are:\n // - find the lower value of the new range (threshold)\n // - if multiplier is smaller than that value, floor it to 0\n // - if it is larger,\n // - subtract the threshold\n // - divide it by the smoothness (this will return the range to [0; 1])\n // Note: If it doesn't work on some scenarios, consider applying it before the easer.\n\n\n if (this.sm.v !== 100) {\n var smoothness = this.sm.v * 0.01;\n\n if (smoothness === 0) {\n smoothness = 0.00000001;\n }\n\n var threshold = 0.5 - smoothness * 0.5;\n\n if (mult < threshold) {\n mult = 0;\n } else {\n mult = (mult - threshold) / smoothness;\n\n if (mult > 1) {\n mult = 1;\n }\n }\n }\n\n return mult * this.a.v;\n },\n getValue: function getValue(newCharsFlag) {\n this.iterateDynamicProperties();\n this._mdf = newCharsFlag || this._mdf;\n this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;\n\n if (newCharsFlag && this.data.r === 2) {\n this.e.v = this._currentTextLength;\n }\n\n var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;\n var o = this.o.v / divisor;\n var s = this.s.v / divisor + o;\n var e = this.e.v / divisor + o;\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n this.finalS = s;\n this.finalE = e;\n }\n };\n extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n function getTextSelectorProp(elem, data, arr) {\n return new TextSelectorPropFactory(elem, data, arr);\n }\n\n return {\n getTextSelectorProp: getTextSelectorProp\n };\n }();\n\n function TextAnimatorDataProperty(elem, animatorProps, container) {\n var defaultData = {\n propType: false\n };\n var getProp = PropertyFactory.getProp;\n var textAnimatorAnimatables = animatorProps.a;\n this.a = {\n r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n };\n this.s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n this.s.t = animatorProps.s.t;\n }\n\n function TextAnimatorProperty(textData, renderType, elem) {\n this._isFirstFrame = true;\n this._hasMaskedPath = false;\n this._frameId = -1;\n this._textData = textData;\n this._renderType = renderType;\n this._elem = elem;\n this._animatorsData = createSizedArray(this._textData.a.length);\n this._pathData = {};\n this._moreOptions = {\n alignment: {}\n };\n this.renderedLetters = [];\n this.lettersChangedFlag = false;\n this.initDynamicPropertyContainer(elem);\n }\n\n TextAnimatorProperty.prototype.searchProperties = function () {\n var i;\n var len = this._textData.a.length;\n var animatorProps;\n var getProp = PropertyFactory.getProp;\n\n for (i = 0; i < len; i += 1) {\n animatorProps = this._textData.a[i];\n this._animatorsData[i] = new TextAnimatorDataProperty(this._elem, animatorProps, this);\n }\n\n if (this._textData.p && 'm' in this._textData.p) {\n this._pathData = {\n a: getProp(this._elem, this._textData.p.a, 0, 0, this),\n f: getProp(this._elem, this._textData.p.f, 0, 0, this),\n l: getProp(this._elem, this._textData.p.l, 0, 0, this),\n r: getProp(this._elem, this._textData.p.r, 0, 0, this),\n p: getProp(this._elem, this._textData.p.p, 0, 0, this),\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\n };\n this._hasMaskedPath = true;\n } else {\n this._hasMaskedPath = false;\n }\n\n this._moreOptions.alignment = getProp(this._elem, this._textData.m.a, 1, 0, this);\n };\n\n TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n this.lettersChangedFlag = lettersChangedFlag;\n\n if (!this._mdf && !this._isFirstFrame && !lettersChangedFlag && (!this._hasMaskedPath || !this._pathData.m._mdf)) {\n return;\n }\n\n this._isFirstFrame = false;\n var alignment = this._moreOptions.alignment.v;\n var animators = this._animatorsData;\n var textData = this._textData;\n var matrixHelper = this.mHelper;\n var renderType = this._renderType;\n var renderedLettersCount = this.renderedLetters.length;\n var xPos;\n var yPos;\n var i;\n var len;\n var letters = documentData.l;\n var pathInfo;\n var currentLength;\n var currentPoint;\n var segmentLength;\n var flag;\n var pointInd;\n var segmentInd;\n var prevPoint;\n var points;\n var segments;\n var partialLength;\n var totalLength;\n var perc;\n var tanAngle;\n var mask;\n\n if (this._hasMaskedPath) {\n mask = this._pathData.m;\n\n if (!this._pathData.n || this._pathData._mdf) {\n var paths = mask.v;\n\n if (this._pathData.r.v) {\n paths = paths.reverse();\n } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n pathInfo = {\n tLength: 0,\n segments: []\n };\n len = paths._length - 1;\n var bezierData;\n totalLength = 0;\n\n for (i = 0; i < len; i += 1) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n i = len;\n\n if (mask.v.c) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n this._pathData.pi = pathInfo;\n }\n\n pathInfo = this._pathData.pi;\n currentLength = this._pathData.f.v;\n segmentInd = 0;\n pointInd = 1;\n segmentLength = 0;\n flag = true;\n segments = pathInfo.segments;\n\n if (currentLength < 0 && mask.v.c) {\n if (pathInfo.tLength < Math.abs(currentLength)) {\n currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n }\n\n segmentInd = segments.length - 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n\n while (currentLength < 0) {\n currentLength += points[pointInd].partialLength;\n pointInd -= 1;\n\n if (pointInd < 0) {\n segmentInd -= 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n }\n }\n }\n\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n\n len = letters.length;\n xPos = 0;\n yPos = 0;\n var yOff = documentData.finalSize * 1.2 * 0.714;\n var firstLine = true;\n var animatorProps;\n var animatorSelector;\n var j;\n var jLen;\n var letterValue;\n jLen = animators.length;\n var mult;\n var ind = -1;\n var offf;\n var xPathPos;\n var yPathPos;\n var initPathPos = currentLength;\n var initSegmentInd = segmentInd;\n var initPointInd = pointInd;\n var currentLine = -1;\n var elemOpacity;\n var sc;\n var sw;\n var fc;\n var k;\n var letterSw;\n var letterSc;\n var letterFc;\n var letterM = '';\n var letterP = this.defaultPropsArray;\n var letterO; //\n\n if (documentData.j === 2 || documentData.j === 1) {\n var animatorJustifyOffset = 0;\n var animatorFirstCharOffset = 0;\n var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n var lastIndex = 0;\n var isNewLine = true;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n\n animatorJustifyOffset = 0;\n isNewLine = true;\n } else {\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n if (isNewLine && documentData.j === 2) {\n animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n }\n\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n } else {\n animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n }\n }\n }\n\n isNewLine = false;\n }\n }\n\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n } //\n\n\n for (i = 0; i < len; i += 1) {\n matrixHelper.reset();\n elemOpacity = 1;\n\n if (letters[i].n) {\n xPos = 0;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n currentLength = initPathPos;\n firstLine = false;\n\n if (this._hasMaskedPath) {\n segmentInd = initSegmentInd;\n pointInd = initPointInd;\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n segmentLength = 0;\n }\n\n letterM = '';\n letterFc = '';\n letterSw = '';\n letterO = '';\n letterP = this.defaultPropsArray;\n } else {\n if (this._hasMaskedPath) {\n if (currentLine !== letters[i].line) {\n switch (documentData.j) {\n case 1:\n currentLength += totalLength - documentData.lineWidths[letters[i].line];\n break;\n\n case 2:\n currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n break;\n\n default:\n break;\n }\n\n currentLine = letters[i].line;\n }\n\n if (ind !== letters[i].ind) {\n if (letters[ind]) {\n currentLength += letters[ind].extra;\n }\n\n currentLength += letters[i].an / 2;\n ind = letters[i].ind;\n }\n\n currentLength += alignment[0] * letters[i].an * 0.005;\n var animatorOffset = 0;\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.p.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.p.v[0] * mult;\n }\n }\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.a.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.a.v[0] * mult;\n }\n }\n }\n\n flag = true; // Force alignment only works with a single line for now\n\n if (this._pathData.a.v) {\n currentLength = letters[0].an * 0.5 + (totalLength - this._pathData.f.v - letters[0].an * 0.5 - letters[letters.length - 1].an * 0.5) * ind / (len - 1);\n currentLength += this._pathData.f.v;\n }\n\n while (flag) {\n if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n flag = false;\n } else if (points) {\n segmentLength += currentPoint.partialLength;\n pointInd += 1;\n\n if (pointInd >= points.length) {\n pointInd = 0;\n segmentInd += 1;\n\n if (!segments[segmentInd]) {\n if (mask.v.c) {\n pointInd = 0;\n segmentInd = 0;\n points = segments[segmentInd].points;\n } else {\n segmentLength -= currentPoint.partialLength;\n points = null;\n }\n } else {\n points = segments[segmentInd].points;\n }\n }\n\n if (points) {\n prevPoint = currentPoint;\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n }\n }\n\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0);\n } else {\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n if (xPos !== 0 || documentData.j !== 0) {\n if (this._hasMaskedPath) {\n if (mult.length) {\n currentLength += animatorProps.t.v * mult[0];\n } else {\n currentLength += animatorProps.t.v * mult;\n }\n } else if (mult.length) {\n xPos += animatorProps.t.v * mult[0];\n } else {\n xPos += animatorProps.t.v * mult;\n }\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n sw = documentData.sw || 0;\n }\n\n if (documentData.strokeColorAnim) {\n if (documentData.sc) {\n sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n } else {\n sc = [0, 0, 0];\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n } else {\n matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.s.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n } else {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (animatorProps.sk.propType) {\n if (mult.length) {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n } else {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n }\n }\n\n if (animatorProps.r.propType) {\n if (mult.length) {\n matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n } else {\n matrixHelper.rotateZ(-animatorProps.r.v * mult);\n }\n }\n\n if (animatorProps.ry.propType) {\n if (mult.length) {\n matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n } else {\n matrixHelper.rotateY(animatorProps.ry.v * mult);\n }\n }\n\n if (animatorProps.rx.propType) {\n if (mult.length) {\n matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n } else {\n matrixHelper.rotateX(animatorProps.rx.v * mult);\n }\n }\n\n if (animatorProps.o.propType) {\n if (mult.length) {\n elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n } else {\n elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n }\n }\n\n if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n if (mult.length) {\n sw += animatorProps.sw.v * mult[0];\n } else {\n sw += animatorProps.sw.v * mult;\n }\n }\n\n if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n } else {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n }\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n if (animatorProps.fc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n } else {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n }\n }\n }\n\n if (animatorProps.fh.propType) {\n if (mult.length) {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n } else {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n }\n }\n\n if (animatorProps.fs.propType) {\n if (mult.length) {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n } else {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n }\n }\n\n if (animatorProps.fb.propType) {\n if (mult.length) {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n } else {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n }\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (this._hasMaskedPath) {\n if (mult.length) {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n } else {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n } else if (mult.length) {\n matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n } else {\n matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n letterSw = sw < 0 ? 0 : sw;\n }\n\n if (documentData.strokeColorAnim) {\n letterSc = 'rgb(' + Math.round(sc[0] * 255) + ',' + Math.round(sc[1] * 255) + ',' + Math.round(sc[2] * 255) + ')';\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n letterFc = 'rgb(' + Math.round(fc[0] * 255) + ',' + Math.round(fc[1] * 255) + ',' + Math.round(fc[2] * 255) + ')';\n }\n\n if (this._hasMaskedPath) {\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n if (this._pathData.p.v) {\n tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n if (currentPoint.point[0] < prevPoint.point[0]) {\n rot += 180;\n }\n\n matrixHelper.rotate(-rot * Math.PI / 180);\n }\n\n matrixHelper.translate(xPathPos, yPathPos, 0);\n currentLength -= alignment[0] * letters[i].an * 0.005;\n\n if (letters[i + 1] && ind !== letters[i + 1].ind) {\n currentLength += letters[i].an / 2;\n currentLength += documentData.tr * 0.001 * documentData.finalSize;\n }\n } else {\n matrixHelper.translate(xPos, yPos, 0);\n\n if (documentData.ps) {\n // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(offf, 0, 0);\n matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n }\n\n if (renderType === 'html') {\n letterM = matrixHelper.toCSS();\n } else if (renderType === 'svg') {\n letterM = matrixHelper.to2dCSS();\n } else {\n letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]];\n }\n\n letterO = elemOpacity;\n }\n\n if (renderedLettersCount <= i) {\n letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n this.renderedLetters.push(letterValue);\n renderedLettersCount += 1;\n this.lettersChangedFlag = true;\n } else {\n letterValue = this.renderedLetters[i];\n this.lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || this.lettersChangedFlag;\n }\n }\n };\n\n TextAnimatorProperty.prototype.getValue = function () {\n if (this._elem.globalData.frameId === this._frameId) {\n return;\n }\n\n this._frameId = this._elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n TextAnimatorProperty.prototype.mHelper = new Matrix();\n TextAnimatorProperty.prototype.defaultPropsArray = [];\n extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n\n function ITextElement() {}\n\n ITextElement.prototype.initElement = function (data, globalData, comp) {\n this.lettersChangedFlag = true;\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);\n this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n this.textAnimator.searchProperties(this.dynamicProperties);\n };\n\n ITextElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n\n if (this.textProperty._mdf || this.textProperty._isFirstFrame) {\n this.buildNewText();\n this.textProperty._isFirstFrame = false;\n this.textProperty._mdf = false;\n }\n };\n\n ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n var j;\n var jLen = shapes.length;\n var pathNodes;\n var shapeStr = '';\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n pathNodes = shapes[j].ks.k;\n shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n }\n }\n\n return shapeStr;\n };\n\n ITextElement.prototype.updateDocumentData = function (newData, index) {\n this.textProperty.updateDocumentData(newData, index);\n };\n\n ITextElement.prototype.canResizeFont = function (_canResize) {\n this.textProperty.canResizeFont(_canResize);\n };\n\n ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n this.textProperty.setMinimumFontSize(_fontSize);\n };\n\n ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n if (documentData.ps) {\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n matrixHelper.translate(0, -documentData.ls, 0);\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(xPos, yPos, 0);\n };\n\n ITextElement.prototype.buildColor = function (colorData) {\n return 'rgb(' + Math.round(colorData[0] * 255) + ',' + Math.round(colorData[1] * 255) + ',' + Math.round(colorData[2] * 255) + ')';\n };\n\n ITextElement.prototype.emptyProp = new LetterProps();\n\n ITextElement.prototype.destroy = function () {};\n\n var emptyShapeData = {\n shapes: []\n };\n\n function SVGTextLottieElement(data, globalData, comp) {\n this.textSpans = [];\n this.renderType = 'svg';\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n SVGTextLottieElement.prototype.createContent = function () {\n if (this.data.singleShape && !this.globalData.fontManager.chars) {\n this.textContainer = createNS('text');\n }\n };\n\n SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n var i = 0;\n var len = textArray.length;\n var textContents = [];\n var currentTextContent = '';\n\n while (i < len) {\n if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n textContents.push(currentTextContent);\n currentTextContent = '';\n } else {\n currentTextContent += textArray[i];\n }\n\n i += 1;\n }\n\n textContents.push(currentTextContent);\n return textContents;\n };\n\n SVGTextLottieElement.prototype.buildShapeData = function (data, scale) {\n // data should probably be cloned to apply scale separately to each instance of a text on different layers\n // but since text internal content gets only rendered once and then it's never rerendered,\n // it's probably safe not to clone data and reuse always the same instance even if the object is mutated.\n // Avoiding cloning is preferred since cloning each character shape data is expensive\n if (data.shapes && data.shapes.length) {\n var shape = data.shapes[0];\n\n if (shape.it) {\n var shapeItem = shape.it[shape.it.length - 1];\n\n if (shapeItem.s) {\n shapeItem.s.k[0] = scale;\n shapeItem.s.k[1] = scale;\n }\n }\n }\n\n return data;\n };\n\n SVGTextLottieElement.prototype.buildNewText = function () {\n this.addDynamicProperty(this);\n var i;\n var len;\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n if (documentData.fc) {\n this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));\n } else {\n this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');\n }\n\n if (documentData.sc) {\n this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));\n this.layerElement.setAttribute('stroke-width', documentData.sw);\n }\n\n this.layerElement.setAttribute('font-size', documentData.finalSize);\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (fontData.fClass) {\n this.layerElement.setAttribute('class', fontData.fClass);\n } else {\n this.layerElement.setAttribute('font-family', fontData.fFamily);\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n this.layerElement.setAttribute('font-style', fStyle);\n this.layerElement.setAttribute('font-weight', fWeight);\n }\n\n this.layerElement.setAttribute('aria-label', documentData.t);\n var letters = documentData.l || [];\n var usesGlyphs = !!this.globalData.fontManager.chars;\n len = letters.length;\n var tSpan;\n var matrixHelper = this.mHelper;\n var shapeStr = '';\n var singleShape = this.data.singleShape;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n if (singleShape && !usesGlyphs && !documentData.sz) {\n var tElement = this.textContainer;\n var justify = 'start';\n\n switch (documentData.j) {\n case 1:\n justify = 'end';\n break;\n\n case 2:\n justify = 'middle';\n break;\n\n default:\n justify = 'start';\n break;\n }\n\n tElement.setAttribute('text-anchor', justify);\n tElement.setAttribute('letter-spacing', trackingOffset);\n var textContent = this.buildTextContents(documentData.finalText);\n len = textContent.length;\n yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n for (i = 0; i < len; i += 1) {\n tSpan = this.textSpans[i].span || createNS('tspan');\n tSpan.textContent = textContent[i];\n tSpan.setAttribute('x', 0);\n tSpan.setAttribute('y', yPos);\n tSpan.style.display = 'inherit';\n tElement.appendChild(tSpan);\n\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n glyph: null\n };\n }\n\n this.textSpans[i].span = tSpan;\n yPos += documentData.finalLineHeight;\n }\n\n this.layerElement.appendChild(tElement);\n } else {\n var cachedSpansLength = this.textSpans.length;\n var charData;\n\n for (i = 0; i < len; i += 1) {\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n childSpan: null,\n glyph: null\n };\n }\n\n if (!usesGlyphs || !singleShape || i === 0) {\n tSpan = cachedSpansLength > i ? this.textSpans[i].span : createNS(usesGlyphs ? 'g' : 'text');\n\n if (cachedSpansLength <= i) {\n tSpan.setAttribute('stroke-linecap', 'butt');\n tSpan.setAttribute('stroke-linejoin', 'round');\n tSpan.setAttribute('stroke-miterlimit', '4');\n this.textSpans[i].span = tSpan;\n\n if (usesGlyphs) {\n var childSpan = createNS('g');\n tSpan.appendChild(childSpan);\n this.textSpans[i].childSpan = childSpan;\n }\n\n this.textSpans[i].span = tSpan;\n this.layerElement.appendChild(tSpan);\n }\n\n tSpan.style.display = 'inherit';\n }\n\n matrixHelper.reset();\n\n if (singleShape) {\n if (letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n xPos += trackingOffset;\n }\n\n if (usesGlyphs) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var glyphElement; // t === 1 means the character has been replaced with an animated shaped\n\n if (charData.t === 1) {\n glyphElement = new SVGCompElement(charData.data, this.globalData, this);\n } else {\n var data = emptyShapeData;\n\n if (charData.data && charData.data.shapes) {\n data = this.buildShapeData(charData.data, documentData.finalSize);\n }\n\n glyphElement = new SVGShapeElement(data, this.globalData, this);\n }\n\n if (this.textSpans[i].glyph) {\n var glyph = this.textSpans[i].glyph;\n this.textSpans[i].childSpan.removeChild(glyph.layerElement);\n glyph.destroy();\n }\n\n this.textSpans[i].glyph = glyphElement;\n glyphElement._debug = true;\n glyphElement.prepareFrame(0);\n glyphElement.renderFrame();\n this.textSpans[i].childSpan.appendChild(glyphElement.layerElement); // when using animated shapes, the layer will be scaled instead of replacing the internal scale\n // this might have issues with strokes and might need a different solution\n\n if (charData.t === 1) {\n this.textSpans[i].childSpan.setAttribute('transform', 'scale(' + documentData.finalSize / 100 + ',' + documentData.finalSize / 100 + ')');\n }\n } else {\n if (singleShape) {\n tSpan.setAttribute('transform', 'translate(' + matrixHelper.props[12] + ',' + matrixHelper.props[13] + ')');\n }\n\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n } //\n\n }\n\n if (singleShape && tSpan) {\n tSpan.setAttribute('d', shapeStr);\n }\n }\n\n while (i < this.textSpans.length) {\n this.textSpans[i].span.style.display = 'none';\n i += 1;\n }\n\n this._sizeChanged = true;\n };\n\n SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n this.prepareFrame(this.comp.renderedFrame - this.data.st);\n this.renderInnerContent();\n\n if (this._sizeChanged) {\n this._sizeChanged = false;\n var textBox = this.layerElement.getBBox();\n this.bbox = {\n top: textBox.y,\n left: textBox.x,\n width: textBox.width,\n height: textBox.height\n };\n }\n\n return this.bbox;\n };\n\n SVGTextLottieElement.prototype.getValue = function () {\n var i;\n var len = this.textSpans.length;\n var glyphElement;\n this.renderedFrame = this.comp.renderedFrame;\n\n for (i = 0; i < len; i += 1) {\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.prepareFrame(this.comp.renderedFrame - this.data.st);\n\n if (glyphElement._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n SVGTextLottieElement.prototype.renderInnerContent = function () {\n if (!this.data.singleShape || this._mdf) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\n this._sizeChanged = true;\n var i;\n var len;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var glyphElement;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n textSpan = this.textSpans[i].span;\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.renderFrame();\n }\n\n if (renderedLetter._mdf.m) {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n\n if (renderedLetter._mdf.o) {\n textSpan.setAttribute('opacity', renderedLetter.o);\n }\n\n if (renderedLetter._mdf.sw) {\n textSpan.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter._mdf.sc) {\n textSpan.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter._mdf.fc) {\n textSpan.setAttribute('fill', renderedLetter.fc);\n }\n }\n }\n }\n }\n };\n\n function ISolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([IImageElement], ISolidElement);\n\n ISolidElement.prototype.createContent = function () {\n var rect = createNS('rect'); /// /rect.style.width = this.data.sw;\n /// /rect.style.height = this.data.sh;\n /// /rect.style.fill = this.data.sc;\n\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.layerElement.appendChild(rect);\n };\n\n function NullElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initFrame();\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n }\n\n NullElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n NullElement.prototype.renderFrame = function () {};\n\n NullElement.prototype.getBaseElement = function () {\n return null;\n };\n\n NullElement.prototype.destroy = function () {};\n\n NullElement.prototype.sourceRectAtTime = function () {};\n\n NullElement.prototype.hide = function () {};\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n\n function SVGRendererBase() {}\n\n extendPrototype([BaseRenderer], SVGRendererBase);\n\n SVGRendererBase.prototype.createNull = function (data) {\n return new NullElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createShape = function (data) {\n return new SVGShapeElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createText = function (data) {\n return new SVGTextLottieElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createImage = function (data) {\n return new IImageElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createSolid = function (data) {\n return new ISolidElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.configAnimation = function (animData) {\n this.svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\n if (this.renderConfig.viewBoxSize) {\n this.svgElement.setAttribute('viewBox', this.renderConfig.viewBoxSize);\n } else {\n this.svgElement.setAttribute('viewBox', '0 0 ' + animData.w + ' ' + animData.h);\n }\n\n if (!this.renderConfig.viewBoxOnly) {\n this.svgElement.setAttribute('width', animData.w);\n this.svgElement.setAttribute('height', animData.h);\n this.svgElement.style.width = '100%';\n this.svgElement.style.height = '100%';\n this.svgElement.style.transform = 'translate3d(0,0,0)';\n this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility;\n }\n\n if (this.renderConfig.width) {\n this.svgElement.setAttribute('width', this.renderConfig.width);\n }\n\n if (this.renderConfig.height) {\n this.svgElement.setAttribute('height', this.renderConfig.height);\n }\n\n if (this.renderConfig.className) {\n this.svgElement.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.svgElement.setAttribute('id', this.renderConfig.id);\n }\n\n if (this.renderConfig.focusable !== undefined) {\n this.svgElement.setAttribute('focusable', this.renderConfig.focusable);\n }\n\n this.svgElement.setAttribute('preserveAspectRatio', this.renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n this.animationItem.wrapper.appendChild(this.svgElement); // Mask animation\n\n var defs = this.globalData.defs;\n this.setupGlobalData(animData, defs);\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.data = animData;\n var maskElement = createNS('clipPath');\n var rect = createNS('rect');\n rect.setAttribute('width', animData.w);\n rect.setAttribute('height', animData.h);\n rect.setAttribute('x', 0);\n rect.setAttribute('y', 0);\n var maskId = createElementID();\n maskElement.setAttribute('id', maskId);\n maskElement.appendChild(rect);\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + maskId + ')');\n defs.appendChild(maskElement);\n this.layers = animData.layers;\n this.elements = createSizedArray(animData.layers.length);\n };\n\n SVGRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.layerElement = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n SVGRendererBase.prototype.updateContainerSize = function () {};\n\n SVGRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n elements[pos] = true;\n var element = this.createItem(this.layers[pos]);\n elements[pos] = element;\n\n if (getExpressionsPlugin()) {\n if (this.layers[pos].ty === 0) {\n this.globalData.projectInterface.registerComposition(element);\n }\n\n element.initExpressions();\n }\n\n this.appendElementInPos(element, pos);\n\n if (this.layers[pos].tt) {\n if (!this.elements[pos - 1] || this.elements[pos - 1] === true) {\n this.buildItem(pos - 1);\n this.addPendingElement(element);\n } else {\n element.setMatte(elements[pos - 1].layerId);\n }\n }\n };\n\n SVGRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n\n if (element.data.tt) {\n var i = 0;\n var len = this.elements.length;\n\n while (i < len) {\n if (this.elements[i] === element) {\n element.setMatte(this.elements[i - 1].layerId);\n break;\n }\n\n i += 1;\n }\n }\n }\n };\n\n SVGRendererBase.prototype.renderFrame = function (num) {\n if (this.renderedFrame === num || this.destroyed) {\n return;\n }\n\n if (num === null) {\n num = this.renderedFrame;\n } else {\n this.renderedFrame = num;\n } // console.log('-------');\n // console.log('FRAME ',num);\n\n\n this.globalData.frameNum = num;\n this.globalData.frameId += 1;\n this.globalData.projectInterface.currentFrame = num;\n this.globalData._mdf = false;\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n }\n };\n\n SVGRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newElement = element.getBaseElement();\n\n if (!newElement) {\n return;\n }\n\n var i = 0;\n var nextElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement()) {\n nextElement = this.elements[i].getBaseElement();\n }\n\n i += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(newElement, nextElement);\n } else {\n this.layerElement.appendChild(newElement);\n }\n };\n\n SVGRendererBase.prototype.hide = function () {\n this.layerElement.style.display = 'none';\n };\n\n SVGRendererBase.prototype.show = function () {\n this.layerElement.style.display = 'block';\n };\n\n function ICompElement() {}\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n ICompElement.prototype.initElement = function (data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initRenderable();\n this.initHierarchy();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n\n if (this.data.xt || !globalData.progressiveLoad) {\n this.buildAllItems();\n }\n\n this.hide();\n };\n /* ICompElement.prototype.hide = function(){\r\n if(!this.hidden){\r\n this.hideElement();\r\n var i,len = this.elements.length;\r\n for( i = 0; i < len; i+=1 ){\r\n if(this.elements[i]){\r\n this.elements[i].hide();\r\n }\r\n }\r\n }\r\n }; */\n\n\n ICompElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n\n if (!this.isInRange && !this.data.xt) {\n return;\n }\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n\n if (timeRemapped === this.data.op) {\n timeRemapped = this.data.op - 1;\n }\n\n this.renderedFrame = timeRemapped;\n } else {\n this.renderedFrame = num / this.data.sr;\n }\n\n var i;\n var len = this.elements.length;\n\n if (!this.completeLayers) {\n this.checkLayers(this.renderedFrame);\n } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);\n\n if (this.elements[i]._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n ICompElement.prototype.renderInnerContent = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n ICompElement.prototype.setElements = function (elems) {\n this.elements = elems;\n };\n\n ICompElement.prototype.getElements = function () {\n return this.elements;\n };\n\n ICompElement.prototype.destroyElements = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n };\n\n ICompElement.prototype.destroy = function () {\n this.destroyElements();\n this.destroyBaseElement();\n };\n\n function SVGCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = true;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([SVGRendererBase, ICompElement, SVGBaseElement], SVGCompElement);\n\n SVGCompElement.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function SVGRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.svgElement = createNS('svg');\n var ariaLabel = '';\n\n if (config && config.title) {\n var titleElement = createNS('title');\n var titleId = createElementID();\n titleElement.setAttribute('id', titleId);\n titleElement.textContent = config.title;\n this.svgElement.appendChild(titleElement);\n ariaLabel += titleId;\n }\n\n if (config && config.description) {\n var descElement = createNS('desc');\n var descId = createElementID();\n descElement.setAttribute('id', descId);\n descElement.textContent = config.description;\n this.svgElement.appendChild(descElement);\n ariaLabel += ' ' + descId;\n }\n\n if (ariaLabel) {\n this.svgElement.setAttribute('aria-labelledby', ariaLabel);\n }\n\n var defs = createNS('defs');\n this.svgElement.appendChild(defs);\n var maskElement = createNS('g');\n this.svgElement.appendChild(maskElement);\n this.layerElement = maskElement;\n this.renderConfig = {\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n progressiveLoad: config && config.progressiveLoad || false,\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n viewBoxOnly: config && config.viewBoxOnly || false,\n viewBoxSize: config && config.viewBoxSize || false,\n className: config && config.className || '',\n id: config && config.id || '',\n focusable: config && config.focusable,\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '100%',\n height: config && config.filterSize && config.filterSize.height || '100%',\n x: config && config.filterSize && config.filterSize.x || '0%',\n y: config && config.filterSize && config.filterSize.y || '0%'\n },\n width: config && config.width,\n height: config && config.height\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n defs: defs,\n renderConfig: this.renderConfig\n };\n this.elements = [];\n this.pendingElements = [];\n this.destroyed = false;\n this.rendererType = 'svg';\n }\n\n extendPrototype([SVGRendererBase], SVGRenderer);\n\n SVGRenderer.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function CVContextData() {\n this.saved = [];\n this.cArrPos = 0;\n this.cTr = new Matrix();\n this.cO = 1;\n var i;\n var len = 15;\n this.savedOp = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n this.saved[i] = createTypedArray('float32', 16);\n }\n\n this._length = len;\n }\n\n CVContextData.prototype.duplicate = function () {\n var newLength = this._length * 2;\n var currentSavedOp = this.savedOp;\n this.savedOp = createTypedArray('float32', newLength);\n this.savedOp.set(currentSavedOp);\n var i = 0;\n\n for (i = this._length; i < newLength; i += 1) {\n this.saved[i] = createTypedArray('float32', 16);\n }\n\n this._length = newLength;\n };\n\n CVContextData.prototype.reset = function () {\n this.cArrPos = 0;\n this.cTr.reset();\n this.cO = 1;\n };\n\n function ShapeTransformManager() {\n this.sequences = {};\n this.sequenceList = [];\n this.transform_key_count = 0;\n }\n\n ShapeTransformManager.prototype = {\n addTransformSequence: function addTransformSequence(transforms) {\n var i;\n var len = transforms.length;\n var key = '_';\n\n for (i = 0; i < len; i += 1) {\n key += transforms[i].transform.key + '_';\n }\n\n var sequence = this.sequences[key];\n\n if (!sequence) {\n sequence = {\n transforms: [].concat(transforms),\n finalTransform: new Matrix(),\n _mdf: false\n };\n this.sequences[key] = sequence;\n this.sequenceList.push(sequence);\n }\n\n return sequence;\n },\n processSequence: function processSequence(sequence, isFirstFrame) {\n var i = 0;\n var len = sequence.transforms.length;\n var _mdf = isFirstFrame;\n\n while (i < len && !isFirstFrame) {\n if (sequence.transforms[i].transform.mProps._mdf) {\n _mdf = true;\n break;\n }\n\n i += 1;\n }\n\n if (_mdf) {\n var props;\n sequence.finalTransform.reset();\n\n for (i = len - 1; i >= 0; i -= 1) {\n props = sequence.transforms[i].transform.mProps.v.props;\n sequence.finalTransform.transform(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]);\n }\n }\n\n sequence._mdf = _mdf;\n },\n processSequences: function processSequences(isFirstFrame) {\n var i;\n var len = this.sequenceList.length;\n\n for (i = 0; i < len; i += 1) {\n this.processSequence(this.sequenceList[i], isFirstFrame);\n }\n },\n getNewKey: function getNewKey() {\n this.transform_key_count += 1;\n return '_' + this.transform_key_count;\n }\n };\n\n function CVEffects() {}\n\n CVEffects.prototype.renderFrame = function () {};\n\n function CVMaskElement(data, element) {\n this.data = data;\n this.element = element;\n this.masksProperties = this.data.masksProperties || [];\n this.viewData = createSizedArray(this.masksProperties.length);\n var i;\n var len = this.masksProperties.length;\n var hasMasks = false;\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n hasMasks = true;\n }\n\n this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[i], 3);\n }\n\n this.hasMasks = hasMasks;\n\n if (hasMasks) {\n this.element.addRenderableComponent(this);\n }\n }\n\n CVMaskElement.prototype.renderFrame = function () {\n if (!this.hasMasks) {\n return;\n }\n\n var transform = this.element.finalTransform.mat;\n var ctx = this.element.canvasContext;\n var i;\n var len = this.masksProperties.length;\n var pt;\n var pts;\n var data;\n ctx.beginPath();\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n if (this.masksProperties[i].inv) {\n ctx.moveTo(0, 0);\n ctx.lineTo(this.element.globalData.compSize.w, 0);\n ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);\n ctx.lineTo(0, this.element.globalData.compSize.h);\n ctx.lineTo(0, 0);\n }\n\n data = this.viewData[i].v;\n pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n ctx.moveTo(pt[0], pt[1]);\n var j;\n var jLen = data._length;\n\n for (j = 1; j < jLen; j += 1) {\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n }\n\n this.element.globalData.renderer.save(true);\n ctx.clip();\n };\n\n CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n CVMaskElement.prototype.destroy = function () {\n this.element = null;\n };\n\n function CVBaseElement() {}\n\n CVBaseElement.prototype = {\n createElements: function createElements() {},\n initRendererElement: function initRendererElement() {},\n createContainerElements: function createContainerElements() {\n this.canvasContext = this.globalData.canvasContext;\n this.renderableEffectsManager = new CVEffects(this);\n },\n createContent: function createContent() {},\n setBlendMode: function setBlendMode() {\n var globalData = this.globalData;\n\n if (globalData.blendMode !== this.data.bm) {\n globalData.blendMode = this.data.bm;\n var blendModeValue = getBlendMode(this.data.bm);\n globalData.canvasContext.globalCompositeOperation = blendModeValue;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new CVMaskElement(this.data, this);\n },\n hideElement: function hideElement() {\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n this.hidden = true;\n }\n },\n showElement: function showElement() {\n if (this.isInRange && !this.isTransparent) {\n this.hidden = false;\n this._isFirstFrame = true;\n this.maskManager._isFirstFrame = true;\n }\n },\n renderFrame: function renderFrame() {\n if (this.hidden || this.data.hd) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.setBlendMode();\n var forceRealStack = this.data.ty === 0;\n this.globalData.renderer.save(forceRealStack);\n this.globalData.renderer.ctxTransform(this.finalTransform.mat.props);\n this.globalData.renderer.ctxOpacity(this.finalTransform.mProp.o.v);\n this.renderInnerContent();\n this.globalData.renderer.restore(forceRealStack);\n\n if (this.maskManager.hasMasks) {\n this.globalData.renderer.restore(true);\n }\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.canvasContext = null;\n this.data = null;\n this.globalData = null;\n this.maskManager.destroy();\n },\n mHelper: new Matrix()\n };\n CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n\n function CVShapeData(element, data, styles, transformsManager) {\n this.styledShapes = [];\n this.tr = [0, 0, 0, 0, 0, 0];\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n this.sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n var i;\n var len = styles.length;\n var styledShape;\n\n for (i = 0; i < len; i += 1) {\n if (!styles[i].closed) {\n styledShape = {\n transforms: transformsManager.addTransformSequence(styles[i].transforms),\n trNodes: []\n };\n this.styledShapes.push(styledShape);\n styles[i].elements.push(styledShape);\n }\n }\n }\n\n CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n\n function CVShapeElement(data, globalData, comp) {\n this.shapes = [];\n this.shapesData = data.shapes;\n this.stylesList = [];\n this.itemsData = [];\n this.prevViewData = [];\n this.shapeModifiers = [];\n this.processedElements = [];\n this.transformsManager = new ShapeTransformManager();\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n CVShapeElement.prototype.transformHelper = {\n opacity: 1,\n _opMdf: false\n };\n CVShapeElement.prototype.dashResetter = [];\n\n CVShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n };\n\n CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n var styleElem = {\n data: data,\n type: data.ty,\n preTransforms: this.transformsManager.addTransformSequence(transforms),\n transforms: [],\n elements: [],\n closed: data.hd === true\n };\n var elementData = {};\n\n if (data.ty === 'fl' || data.ty === 'st') {\n elementData.c = PropertyFactory.getProp(this, data.c, 1, 255, this);\n\n if (!elementData.c.k) {\n styleElem.co = 'rgb(' + bmFloor(elementData.c.v[0]) + ',' + bmFloor(elementData.c.v[1]) + ',' + bmFloor(elementData.c.v[2]) + ')';\n }\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n elementData.s = PropertyFactory.getProp(this, data.s, 1, null, this);\n elementData.e = PropertyFactory.getProp(this, data.e, 1, null, this);\n elementData.h = PropertyFactory.getProp(this, data.h || {\n k: 0\n }, 0, 0.01, this);\n elementData.a = PropertyFactory.getProp(this, data.a || {\n k: 0\n }, 0, degToRads, this);\n elementData.g = new GradientProperty(this, data.g, this);\n }\n\n elementData.o = PropertyFactory.getProp(this, data.o, 0, 0.01, this);\n\n if (data.ty === 'st' || data.ty === 'gs') {\n styleElem.lc = lineCapEnum[data.lc || 2];\n styleElem.lj = lineJoinEnum[data.lj || 2];\n\n if (data.lj == 1) {\n // eslint-disable-line eqeqeq\n styleElem.ml = data.ml;\n }\n\n elementData.w = PropertyFactory.getProp(this, data.w, 0, null, this);\n\n if (!elementData.w.k) {\n styleElem.wi = elementData.w.v;\n }\n\n if (data.d) {\n var d = new DashProperty(this, data.d, 'canvas', this);\n elementData.d = d;\n\n if (!elementData.d.k) {\n styleElem.da = elementData.d.dashArray;\n styleElem[\"do\"] = elementData.d.dashoffset[0];\n }\n }\n } else {\n styleElem.r = data.r === 2 ? 'evenodd' : 'nonzero';\n }\n\n this.stylesList.push(styleElem);\n elementData.style = styleElem;\n return elementData;\n };\n\n CVShapeElement.prototype.createGroupElement = function () {\n var elementData = {\n it: [],\n prevViewData: []\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createTransformElement = function (data) {\n var elementData = {\n transform: {\n opacity: 1,\n _opMdf: false,\n key: this.transformsManager.getNewKey(),\n op: PropertyFactory.getProp(this, data.o, 0, 0.01, this),\n mProps: TransformPropertyFactory.getTransformProperty(this, data, this)\n }\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createShapeElement = function (data) {\n var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n return elementData;\n };\n\n CVShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n };\n\n CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.push(transform);\n }\n }\n };\n\n CVShapeElement.prototype.removeTransformFromStyleList = function () {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.pop();\n }\n }\n };\n\n CVShapeElement.prototype.closeStyles = function (styles) {\n var i;\n var len = styles.length;\n\n for (i = 0; i < len; i += 1) {\n styles[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var processedPos;\n var modifier;\n var currentTransform;\n var ownTransforms = [].concat(transforms);\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._shouldRender = shouldRender;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n } else {\n itemsData[i].style.closed = false;\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n currentTransform = this.createTransformElement(arr[i]);\n itemsData[i] = currentTransform;\n }\n\n ownTransforms.push(itemsData[i]);\n this.addTransformToStyleList(itemsData[i]);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i]);\n }\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'pb') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n shouldRender = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n this.removeTransformFromStyleList();\n this.closeStyles(ownStyles);\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.renderInnerContent = function () {\n this.transformHelper.opacity = 1;\n this.transformHelper._opMdf = false;\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n this.renderShape(this.transformHelper, this.shapesData, this.itemsData, true);\n };\n\n CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n if (parentTransform._opMdf || groupTransform.op._mdf || this._isFirstFrame) {\n groupTransform.opacity = parentTransform.opacity;\n groupTransform.opacity *= groupTransform.op.v;\n groupTransform._opMdf = true;\n }\n };\n\n CVShapeElement.prototype.drawLayer = function () {\n var i;\n var len = this.stylesList.length;\n var j;\n var jLen;\n var k;\n var kLen;\n var elems;\n var nodes;\n var renderer = this.globalData.renderer;\n var ctx = this.globalData.canvasContext;\n var type;\n var currentStyle;\n\n for (i = 0; i < len; i += 1) {\n currentStyle = this.stylesList[i];\n type = currentStyle.type; // Skipping style when\n // Stroke width equals 0\n // style should not be rendered (extra unused repeaters)\n // current opacity equals 0\n // global opacity equals 0\n\n if (!((type === 'st' || type === 'gs') && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || this.globalData.currentGlobalAlpha === 0)) {\n renderer.save();\n elems = currentStyle.elements;\n\n if (type === 'st' || type === 'gs') {\n ctx.strokeStyle = type === 'st' ? currentStyle.co : currentStyle.grd;\n ctx.lineWidth = currentStyle.wi;\n ctx.lineCap = currentStyle.lc;\n ctx.lineJoin = currentStyle.lj;\n ctx.miterLimit = currentStyle.ml || 0;\n } else {\n ctx.fillStyle = type === 'fl' ? currentStyle.co : currentStyle.grd;\n }\n\n renderer.ctxOpacity(currentStyle.coOp);\n\n if (type !== 'st' && type !== 'gs') {\n ctx.beginPath();\n }\n\n renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n jLen = elems.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (type === 'st' || type === 'gs') {\n ctx.beginPath();\n\n if (currentStyle.da) {\n ctx.setLineDash(currentStyle.da);\n ctx.lineDashOffset = currentStyle[\"do\"];\n }\n }\n\n nodes = elems[j].trNodes;\n kLen = nodes.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (nodes[k].t === 'm') {\n ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n } else if (nodes[k].t === 'c') {\n ctx.bezierCurveTo(nodes[k].pts[0], nodes[k].pts[1], nodes[k].pts[2], nodes[k].pts[3], nodes[k].pts[4], nodes[k].pts[5]);\n } else {\n ctx.closePath();\n }\n }\n\n if (type === 'st' || type === 'gs') {\n ctx.stroke();\n\n if (currentStyle.da) {\n ctx.setLineDash(this.dashResetter);\n }\n }\n }\n\n if (type !== 'st' && type !== 'gs') {\n ctx.fill(currentStyle.r);\n }\n\n renderer.restore();\n }\n }\n };\n\n CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n var i;\n var len = items.length - 1;\n var groupTransform;\n groupTransform = parentTransform;\n\n for (i = len; i >= 0; i -= 1) {\n if (items[i].ty === 'tr') {\n groupTransform = data[i].transform;\n this.renderShapeTransform(parentTransform, groupTransform);\n } else if (items[i].ty === 'sh' || items[i].ty === 'el' || items[i].ty === 'rc' || items[i].ty === 'sr') {\n this.renderPath(items[i], data[i]);\n } else if (items[i].ty === 'fl') {\n this.renderFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'st') {\n this.renderStroke(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gf' || items[i].ty === 'gs') {\n this.renderGradientFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gr') {\n this.renderShape(groupTransform, items[i].it, data[i].it);\n } else if (items[i].ty === 'tm') {//\n }\n }\n\n if (isMain) {\n this.drawLayer();\n }\n };\n\n CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n if (this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n var shapeNodes = styledShape.trNodes;\n var paths = shape.paths;\n var i;\n var len;\n var j;\n var jLen = paths._length;\n shapeNodes.length = 0;\n var groupTransformMat = styledShape.transforms.finalTransform;\n\n for (j = 0; j < jLen; j += 1) {\n var pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes.v) {\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n if (i === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n });\n }\n\n if (len === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n if (pathNodes.c && len) {\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n });\n shapeNodes.push({\n t: 'z'\n });\n }\n }\n }\n\n styledShape.trNodes = shapeNodes;\n }\n };\n\n CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n if (pathData.hd !== true && pathData._shouldRender) {\n var i;\n var len = itemData.styledShapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n }\n }\n };\n\n CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n };\n\n CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var grd;\n\n if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n var ctx = this.globalData.canvasContext;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (styleData.t === 1) {\n grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n } else {\n var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n }\n\n var i;\n var len = styleData.g.p;\n var cValues = itemData.g.c;\n var opacity = 1;\n\n for (i = 0; i < len; i += 1) {\n if (itemData.g._hasOpacity && itemData.g._collapsable) {\n opacity = itemData.g.o[i * 2 + 1];\n }\n\n grd.addColorStop(cValues[i * 4] / 100, 'rgba(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ',' + opacity + ')');\n }\n\n styleElem.grd = grd;\n }\n\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n };\n\n CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || this._isFirstFrame)) {\n styleElem.da = d.dashArray;\n styleElem[\"do\"] = d.dashoffset[0];\n }\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n\n if (itemData.w._mdf || this._isFirstFrame) {\n styleElem.wi = itemData.w.v;\n }\n };\n\n CVShapeElement.prototype.destroy = function () {\n this.shapesData = null;\n this.globalData = null;\n this.canvasContext = null;\n this.stylesList.length = 0;\n this.itemsData.length = 0;\n };\n\n function CVTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.yOffset = 0;\n this.fillColorAnim = false;\n this.strokeColorAnim = false;\n this.strokeWidthAnim = false;\n this.stroke = false;\n this.fill = false;\n this.justifyOffset = 0;\n this.currentRender = null;\n this.renderType = 'canvas';\n this.values = {\n fill: 'rgba(0,0,0,0)',\n stroke: 'rgba(0,0,0,0)',\n sWidth: 0,\n fValue: ''\n };\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n CVTextElement.prototype.tHelper = createTag('canvas').getContext('2d');\n\n CVTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var hasFill = false;\n\n if (documentData.fc) {\n hasFill = true;\n this.values.fill = this.buildColor(documentData.fc);\n } else {\n this.values.fill = 'rgba(0,0,0,0)';\n }\n\n this.fill = hasFill;\n var hasStroke = false;\n\n if (documentData.sc) {\n hasStroke = true;\n this.values.stroke = this.buildColor(documentData.sc);\n this.values.sWidth = documentData.sw;\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n var i;\n var len;\n var letters = documentData.l;\n var matrixHelper = this.mHelper;\n this.stroke = hasStroke;\n this.values.fValue = documentData.finalSize + 'px ' + this.globalData.fontManager.getFontByName(documentData.f).fFamily;\n len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n var charData;\n var shapeData;\n var k;\n var kLen;\n var shapes;\n var j;\n var jLen;\n var pathNodes;\n var commands;\n var pathArr;\n var singleShape = this.data.singleShape;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n shapeData = charData && charData.data || {};\n matrixHelper.reset();\n\n if (singleShape && letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n jLen = shapes.length;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n if (singleShape) {\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n }\n\n commands = createSizedArray(jLen - 1);\n var commandsCounter = 0;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n kLen = shapes[j].ks.k.i.length;\n pathNodes = shapes[j].ks.k;\n pathArr = [];\n\n for (k = 1; k < kLen; k += 1) {\n if (k === 1) {\n pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToY(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToX(pathNodes.v[k][0], pathNodes.v[k][1], 0), matrixHelper.applyToY(pathNodes.v[k][0], pathNodes.v[k][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToY(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n commands[commandsCounter] = pathArr;\n commandsCounter += 1;\n }\n }\n\n if (singleShape) {\n xPos += letters[i].l;\n xPos += trackingOffset;\n }\n\n if (this.textSpans[cnt]) {\n this.textSpans[cnt].elem = commands;\n } else {\n this.textSpans[cnt] = {\n elem: commands\n };\n }\n\n cnt += 1;\n }\n };\n\n CVTextElement.prototype.renderInnerContent = function () {\n var ctx = this.canvasContext;\n ctx.font = this.values.fValue;\n ctx.lineCap = 'butt';\n ctx.lineJoin = 'miter';\n ctx.miterLimit = 4;\n\n if (!this.data.singleShape) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n }\n\n var i;\n var len;\n var j;\n var jLen;\n var k;\n var kLen;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var lastFill = null;\n var lastStroke = null;\n var lastStrokeW = null;\n var commands;\n var pathArr;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n\n if (renderedLetter) {\n this.globalData.renderer.save();\n this.globalData.renderer.ctxTransform(renderedLetter.p);\n this.globalData.renderer.ctxOpacity(renderedLetter.o);\n }\n\n if (this.fill) {\n if (renderedLetter && renderedLetter.fc) {\n if (lastFill !== renderedLetter.fc) {\n lastFill = renderedLetter.fc;\n ctx.fillStyle = renderedLetter.fc;\n }\n } else if (lastFill !== this.values.fill) {\n lastFill = this.values.fill;\n ctx.fillStyle = this.values.fill;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n this.globalData.canvasContext.fill(); /// ctx.fillText(this.textSpans[i].val,0,0);\n }\n\n if (this.stroke) {\n if (renderedLetter && renderedLetter.sw) {\n if (lastStrokeW !== renderedLetter.sw) {\n lastStrokeW = renderedLetter.sw;\n ctx.lineWidth = renderedLetter.sw;\n }\n } else if (lastStrokeW !== this.values.sWidth) {\n lastStrokeW = this.values.sWidth;\n ctx.lineWidth = this.values.sWidth;\n }\n\n if (renderedLetter && renderedLetter.sc) {\n if (lastStroke !== renderedLetter.sc) {\n lastStroke = renderedLetter.sc;\n ctx.strokeStyle = renderedLetter.sc;\n }\n } else if (lastStroke !== this.values.stroke) {\n lastStroke = this.values.stroke;\n ctx.strokeStyle = this.values.stroke;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n this.globalData.canvasContext.stroke(); /// ctx.strokeText(letters[i].val,0,0);\n }\n\n if (renderedLetter) {\n this.globalData.renderer.restore();\n }\n }\n }\n };\n\n function CVImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.img = globalData.imageLoader.getAsset(this.assetData);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVImageElement.prototype.createContent = function () {\n if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\n var canvas = createTag('canvas');\n canvas.width = this.assetData.w;\n canvas.height = this.assetData.h;\n var ctx = canvas.getContext('2d');\n var imgW = this.img.width;\n var imgH = this.img.height;\n var imgRel = imgW / imgH;\n var canvasRel = this.assetData.w / this.assetData.h;\n var widthCrop;\n var heightCrop;\n var par = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\n\n if (imgRel > canvasRel && par === 'xMidYMid slice' || imgRel < canvasRel && par !== 'xMidYMid slice') {\n heightCrop = imgH;\n widthCrop = heightCrop * canvasRel;\n } else {\n widthCrop = imgW;\n heightCrop = widthCrop / canvasRel;\n }\n\n ctx.drawImage(this.img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, this.assetData.w, this.assetData.h);\n this.img = canvas;\n }\n };\n\n CVImageElement.prototype.renderInnerContent = function () {\n this.canvasContext.drawImage(this.img, 0, 0);\n };\n\n CVImageElement.prototype.destroy = function () {\n this.img = null;\n };\n\n function CVSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVSolidElement.prototype.renderInnerContent = function () {\n var ctx = this.canvasContext;\n ctx.fillStyle = this.data.sc;\n ctx.fillRect(0, 0, this.data.sw, this.data.sh); //\n };\n\n function CanvasRendererBase(animationItem, config) {\n this.animationItem = animationItem;\n this.renderConfig = {\n clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n context: config && config.context || null,\n progressiveLoad: config && config.progressiveLoad || false,\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n className: config && config.className || '',\n id: config && config.id || ''\n };\n this.renderConfig.dpr = config && config.dpr || 1;\n\n if (this.animationItem.wrapper) {\n this.renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n }\n\n this.renderedFrame = -1;\n this.globalData = {\n frameNum: -1,\n _mdf: false,\n renderConfig: this.renderConfig,\n currentGlobalAlpha: -1\n };\n this.contextData = new CVContextData();\n this.elements = [];\n this.pendingElements = [];\n this.transformMat = new Matrix();\n this.completeLayers = false;\n this.rendererType = 'canvas';\n }\n\n extendPrototype([BaseRenderer], CanvasRendererBase);\n\n CanvasRendererBase.prototype.createShape = function (data) {\n return new CVShapeElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createText = function (data) {\n return new CVTextElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createImage = function (data) {\n return new CVImageElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createSolid = function (data) {\n return new CVSolidElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n CanvasRendererBase.prototype.ctxTransform = function (props) {\n if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n return;\n }\n\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n return;\n }\n\n this.transformMat.cloneFromProps(props);\n var cProps = this.contextData.cTr.props;\n this.transformMat.transform(cProps[0], cProps[1], cProps[2], cProps[3], cProps[4], cProps[5], cProps[6], cProps[7], cProps[8], cProps[9], cProps[10], cProps[11], cProps[12], cProps[13], cProps[14], cProps[15]); // this.contextData.cTr.transform(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]);\n\n this.contextData.cTr.cloneFromProps(this.transformMat.props);\n var trProps = this.contextData.cTr.props;\n this.canvasContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n };\n\n CanvasRendererBase.prototype.ctxOpacity = function (op) {\n /* if(op === 1){\r\n return;\r\n } */\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.globalAlpha *= op < 0 ? 0 : op;\n this.globalData.currentGlobalAlpha = this.contextData.cO;\n return;\n }\n\n this.contextData.cO *= op < 0 ? 0 : op;\n\n if (this.globalData.currentGlobalAlpha !== this.contextData.cO) {\n this.canvasContext.globalAlpha = this.contextData.cO;\n this.globalData.currentGlobalAlpha = this.contextData.cO;\n }\n };\n\n CanvasRendererBase.prototype.reset = function () {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n this.contextData.reset();\n };\n\n CanvasRendererBase.prototype.save = function (actionFlag) {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.save();\n return;\n }\n\n if (actionFlag) {\n this.canvasContext.save();\n }\n\n var props = this.contextData.cTr.props;\n\n if (this.contextData._length <= this.contextData.cArrPos) {\n this.contextData.duplicate();\n }\n\n var i;\n var arr = this.contextData.saved[this.contextData.cArrPos];\n\n for (i = 0; i < 16; i += 1) {\n arr[i] = props[i];\n }\n\n this.contextData.savedOp[this.contextData.cArrPos] = this.contextData.cO;\n this.contextData.cArrPos += 1;\n };\n\n CanvasRendererBase.prototype.restore = function (actionFlag) {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n if (actionFlag) {\n this.canvasContext.restore();\n this.globalData.blendMode = 'source-over';\n }\n\n this.contextData.cArrPos -= 1;\n var popped = this.contextData.saved[this.contextData.cArrPos];\n var i;\n var arr = this.contextData.cTr.props;\n\n for (i = 0; i < 16; i += 1) {\n arr[i] = popped[i];\n }\n\n this.canvasContext.setTransform(popped[0], popped[1], popped[4], popped[5], popped[12], popped[13]);\n popped = this.contextData.savedOp[this.contextData.cArrPos];\n this.contextData.cO = popped;\n\n if (this.globalData.currentGlobalAlpha !== popped) {\n this.canvasContext.globalAlpha = popped;\n this.globalData.currentGlobalAlpha = popped;\n }\n };\n\n CanvasRendererBase.prototype.configAnimation = function (animData) {\n if (this.animationItem.wrapper) {\n this.animationItem.container = createTag('canvas');\n var containerStyle = this.animationItem.container.style;\n containerStyle.width = '100%';\n containerStyle.height = '100%';\n var origin = '0px 0px 0px';\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n containerStyle['-webkit-transform'] = origin;\n containerStyle.contentVisibility = this.renderConfig.contentVisibility;\n this.animationItem.wrapper.appendChild(this.animationItem.container);\n this.canvasContext = this.animationItem.container.getContext('2d');\n\n if (this.renderConfig.className) {\n this.animationItem.container.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.animationItem.container.setAttribute('id', this.renderConfig.id);\n }\n } else {\n this.canvasContext = this.renderConfig.context;\n }\n\n this.data = animData;\n this.layers = animData.layers;\n this.transformCanvas = {\n w: animData.w,\n h: animData.h,\n sx: 0,\n sy: 0,\n tx: 0,\n ty: 0\n };\n this.setupGlobalData(animData, document.body);\n this.globalData.canvasContext = this.canvasContext;\n this.globalData.renderer = this;\n this.globalData.isDashed = false;\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.globalData.transformCanvas = this.transformCanvas;\n this.elements = createSizedArray(animData.layers.length);\n this.updateContainerSize();\n };\n\n CanvasRendererBase.prototype.updateContainerSize = function () {\n this.reset();\n var elementWidth;\n var elementHeight;\n\n if (this.animationItem.wrapper && this.animationItem.container) {\n elementWidth = this.animationItem.wrapper.offsetWidth;\n elementHeight = this.animationItem.wrapper.offsetHeight;\n this.animationItem.container.setAttribute('width', elementWidth * this.renderConfig.dpr);\n this.animationItem.container.setAttribute('height', elementHeight * this.renderConfig.dpr);\n } else {\n elementWidth = this.canvasContext.canvas.width * this.renderConfig.dpr;\n elementHeight = this.canvasContext.canvas.height * this.renderConfig.dpr;\n }\n\n var elementRel;\n var animationRel;\n\n if (this.renderConfig.preserveAspectRatio.indexOf('meet') !== -1 || this.renderConfig.preserveAspectRatio.indexOf('slice') !== -1) {\n var par = this.renderConfig.preserveAspectRatio.split(' ');\n var fillType = par[1] || 'meet';\n var pos = par[0] || 'xMidYMid';\n var xPos = pos.substr(0, 4);\n var yPos = pos.substr(4);\n elementRel = elementWidth / elementHeight;\n animationRel = this.transformCanvas.w / this.transformCanvas.h;\n\n if (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n } else {\n this.transformCanvas.sx = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n }\n\n if (xPos === 'xMid' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) / 2 * this.renderConfig.dpr;\n } else if (xPos === 'xMax' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.tx = 0;\n }\n\n if (yPos === 'YMid' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) / 2 * this.renderConfig.dpr;\n } else if (yPos === 'YMax' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.ty = 0;\n }\n } else if (this.renderConfig.preserveAspectRatio === 'none') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n } else {\n this.transformCanvas.sx = this.renderConfig.dpr;\n this.transformCanvas.sy = this.renderConfig.dpr;\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n }\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];\n /* var i, len = this.elements.length;\r\n for(i=0;i= 0; i -= 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.globalData.canvasContext = null;\n this.animationItem.container = null;\n this.destroyed = true;\n };\n\n CanvasRendererBase.prototype.renderFrame = function (num, forceRender) {\n if (this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender || this.destroyed || num === -1) {\n return;\n }\n\n this.renderedFrame = num;\n this.globalData.frameNum = num - this.animationItem._isFirstFrame;\n this.globalData.frameId += 1;\n this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;\n this.globalData.projectInterface.currentFrame = num; // console.log('--------');\n // console.log('NEW: ',num);\n\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n if (this.renderConfig.clearCanvas === true) {\n this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);\n } else {\n this.save();\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n\n if (this.renderConfig.clearCanvas !== true) {\n this.restore();\n }\n }\n };\n\n CanvasRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n var element = this.createItem(this.layers[pos], this, this.globalData);\n elements[pos] = element;\n element.initExpressions();\n /* if(this.layers[pos].ty === 0){\r\n element.resize(this.globalData.transformCanvas);\r\n } */\n };\n\n CanvasRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n CanvasRendererBase.prototype.hide = function () {\n this.animationItem.container.style.display = 'none';\n };\n\n CanvasRendererBase.prototype.show = function () {\n this.animationItem.container.style.display = 'block';\n };\n\n function CVCompElement(data, globalData, comp) {\n this.completeLayers = false;\n this.layers = data.layers;\n this.pendingElements = [];\n this.elements = createSizedArray(this.layers.length);\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([CanvasRendererBase, ICompElement, CVBaseElement], CVCompElement);\n\n CVCompElement.prototype.renderInnerContent = function () {\n var ctx = this.canvasContext;\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(this.data.w, 0);\n ctx.lineTo(this.data.w, this.data.h);\n ctx.lineTo(0, this.data.h);\n ctx.lineTo(0, 0);\n ctx.clip();\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n CVCompElement.prototype.destroy = function () {\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n\n this.layers = null;\n this.elements = null;\n };\n\n CVCompElement.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function CanvasRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.renderConfig = {\n clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n context: config && config.context || null,\n progressiveLoad: config && config.progressiveLoad || false,\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n className: config && config.className || '',\n id: config && config.id || ''\n };\n this.renderConfig.dpr = config && config.dpr || 1;\n\n if (this.animationItem.wrapper) {\n this.renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n }\n\n this.renderedFrame = -1;\n this.globalData = {\n frameNum: -1,\n _mdf: false,\n renderConfig: this.renderConfig,\n currentGlobalAlpha: -1\n };\n this.contextData = new CVContextData();\n this.elements = [];\n this.pendingElements = [];\n this.transformMat = new Matrix();\n this.completeLayers = false;\n this.rendererType = 'canvas';\n }\n\n extendPrototype([CanvasRendererBase], CanvasRenderer);\n\n CanvasRenderer.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function HBaseElement() {}\n\n HBaseElement.prototype = {\n checkBlendMode: function checkBlendMode() {},\n initRendererElement: function initRendererElement() {\n this.baseElement = createTag(this.data.tg || 'div');\n\n if (this.data.hasMask) {\n this.svgElement = createNS('svg');\n this.layerElement = createNS('g');\n this.maskedElement = this.layerElement;\n this.svgElement.appendChild(this.layerElement);\n this.baseElement.appendChild(this.svgElement);\n } else {\n this.layerElement = this.baseElement;\n }\n\n styleDiv(this.baseElement);\n },\n createContainerElements: function createContainerElements() {\n this.renderableEffectsManager = new CVEffects(this);\n this.transformedElement = this.baseElement;\n this.maskedElement = this.layerElement;\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n var transformedElementStyle = this.transformedElement ? this.transformedElement.style : {};\n\n if (this.finalTransform._matMdf) {\n var matrixValue = this.finalTransform.mat.toCSS();\n transformedElementStyle.transform = matrixValue;\n transformedElementStyle.webkitTransform = matrixValue;\n }\n\n if (this.finalTransform._opMdf) {\n transformedElementStyle.opacity = this.finalTransform.mProp.o.v;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.layerElement = null;\n this.transformedElement = null;\n\n if (this.matteElement) {\n this.matteElement = null;\n }\n\n if (this.maskManager) {\n this.maskManager.destroy();\n this.maskManager = null;\n }\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 };\n HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting;\n\n function HSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n HSolidElement.prototype.createContent = function () {\n var rect;\n\n if (this.data.hasMask) {\n rect = createNS('rect');\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.svgElement.setAttribute('width', this.data.sw);\n this.svgElement.setAttribute('height', this.data.sh);\n } else {\n rect = createTag('div');\n rect.style.width = this.data.sw + 'px';\n rect.style.height = this.data.sh + 'px';\n rect.style.backgroundColor = this.data.sc;\n }\n\n this.layerElement.appendChild(rect);\n };\n\n function HShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.shapesContainer = createNS('g');\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n }\n\n extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n HShapeElement.prototype.createContent = function () {\n var cont;\n this.baseElement.style.fontSize = 0;\n\n if (this.data.hasMask) {\n this.layerElement.appendChild(this.shapesContainer);\n cont = this.svgElement;\n } else {\n cont = createNS('svg');\n var size = this.comp.data ? this.comp.data : this.globalData.compSize;\n cont.setAttribute('width', size.w);\n cont.setAttribute('height', size.h);\n cont.appendChild(this.shapesContainer);\n this.layerElement.appendChild(cont);\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], true);\n this.filterUniqueShapes();\n this.shapeCont = cont;\n };\n\n HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n var i;\n var len = transformers.length;\n\n for (i = 0; i < len; i += 1) {\n point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n }\n\n return point;\n };\n\n HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n var shape = item.sh.v;\n var transformers = item.transformers;\n var i;\n var len = shape._length;\n var vPoint;\n var oPoint;\n var nextIPoint;\n var nextVPoint;\n\n if (len <= 1) {\n return;\n }\n\n for (i = 0; i < len - 1; i += 1) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n\n if (shape.c) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n };\n\n HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n var bounds = this.shapeBoundingBox;\n boundingBox.x = bmMin(bounds.left, boundingBox.x);\n boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n boundingBox.y = bmMin(bounds.top, boundingBox.y);\n boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n };\n\n HShapeElement.prototype.shapeBoundingBox = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n HShapeElement.prototype.tempBoundingBox = {\n x: 0,\n xMax: 0,\n y: 0,\n yMax: 0,\n width: 0,\n height: 0\n };\n\n HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n // eslint-disable-line no-plusplus\n b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n c = 3 * p1[i] - 3 * p0[i];\n b |= 0; // eslint-disable-line no-bitwise\n\n a |= 0; // eslint-disable-line no-bitwise\n\n c |= 0; // eslint-disable-line no-bitwise\n\n if (a === 0 && b === 0) {//\n } else if (a === 0) {\n t = -c / b;\n\n if (t > 0 && t < 1) {\n bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n }\n } else {\n b2ac = b * b - 4 * c * a;\n\n if (b2ac >= 0) {\n t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n }\n }\n }\n\n this.shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n this.shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n this.shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n this.shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n };\n\n HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i];\n };\n\n HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n var i;\n var len = itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n if (itemsData[i] && itemsData[i].sh) {\n this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n } else if (itemsData[i] && itemsData[i].it) {\n this.calculateBoundingBox(itemsData[i].it, boundingBox);\n } else if (itemsData[i] && itemsData[i].style && itemsData[i].w) {\n this.expandStrokeBoundingBox(itemsData[i].w, boundingBox);\n }\n }\n };\n\n HShapeElement.prototype.expandStrokeBoundingBox = function (widthProperty, boundingBox) {\n var width = 0;\n\n if (widthProperty.keyframes) {\n for (var i = 0; i < widthProperty.keyframes.length; i += 1) {\n var kfw = widthProperty.keyframes[i].s;\n\n if (kfw > width) {\n width = kfw;\n }\n }\n\n width *= widthProperty.mult;\n } else {\n width = widthProperty.v * widthProperty.mult;\n }\n\n boundingBox.x -= width;\n boundingBox.xMax += width;\n boundingBox.y -= width;\n boundingBox.yMax += width;\n };\n\n HShapeElement.prototype.currentBoxContains = function (box) {\n return this.currentBBox.x <= box.x && this.currentBBox.y <= box.y && this.currentBBox.width + this.currentBBox.x >= box.x + box.width && this.currentBBox.height + this.currentBBox.y >= box.y + box.height;\n };\n\n HShapeElement.prototype.renderInnerContent = function () {\n this._renderShapeFrame();\n\n if (!this.hidden && (this._isFirstFrame || this._mdf)) {\n var tempBoundingBox = this.tempBoundingBox;\n var max = 999999;\n tempBoundingBox.x = max;\n tempBoundingBox.xMax = -max;\n tempBoundingBox.y = max;\n tempBoundingBox.yMax = -max;\n this.calculateBoundingBox(this.itemsData, tempBoundingBox);\n tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n if (this.currentBoxContains(tempBoundingBox)) {\n return;\n }\n\n var changed = false;\n\n if (this.currentBBox.w !== tempBoundingBox.width) {\n this.currentBBox.w = tempBoundingBox.width;\n this.shapeCont.setAttribute('width', tempBoundingBox.width);\n changed = true;\n }\n\n if (this.currentBBox.h !== tempBoundingBox.height) {\n this.currentBBox.h = tempBoundingBox.height;\n this.shapeCont.setAttribute('height', tempBoundingBox.height);\n changed = true;\n }\n\n if (changed || this.currentBBox.x !== tempBoundingBox.x || this.currentBBox.y !== tempBoundingBox.y) {\n this.currentBBox.w = tempBoundingBox.width;\n this.currentBBox.h = tempBoundingBox.height;\n this.currentBBox.x = tempBoundingBox.x;\n this.currentBBox.y = tempBoundingBox.y;\n this.shapeCont.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n var shapeStyle = this.shapeCont.style;\n var shapeTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n shapeStyle.transform = shapeTransform;\n shapeStyle.webkitTransform = shapeTransform;\n }\n }\n };\n\n function HTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.textPaths = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n this.renderType = 'svg';\n this.isMasked = false;\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n HTextElement.prototype.createContent = function () {\n this.isMasked = this.checkMasks();\n\n if (this.isMasked) {\n this.renderType = 'svg';\n this.compW = this.comp.data.w;\n this.compH = this.comp.data.h;\n this.svgElement.setAttribute('width', this.compW);\n this.svgElement.setAttribute('height', this.compH);\n var g = createNS('g');\n this.maskedElement.appendChild(g);\n this.innerElem = g;\n } else {\n this.renderType = 'html';\n this.innerElem = this.layerElement;\n }\n\n this.checkParenting();\n };\n\n HTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var innerElemStyle = this.innerElem.style;\n var textColor = documentData.fc ? this.buildColor(documentData.fc) : 'rgba(0,0,0,0)';\n innerElemStyle.fill = textColor;\n innerElemStyle.color = textColor;\n\n if (documentData.sc) {\n innerElemStyle.stroke = this.buildColor(documentData.sc);\n innerElemStyle.strokeWidth = documentData.sw + 'px';\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (!this.globalData.fontManager.chars) {\n innerElemStyle.fontSize = documentData.finalSize + 'px';\n innerElemStyle.lineHeight = documentData.finalSize + 'px';\n\n if (fontData.fClass) {\n this.innerElem.className = fontData.fClass;\n } else {\n innerElemStyle.fontFamily = fontData.fFamily;\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n innerElemStyle.fontStyle = fStyle;\n innerElemStyle.fontWeight = fWeight;\n }\n }\n\n var i;\n var len;\n var letters = documentData.l;\n len = letters.length;\n var tSpan;\n var tParent;\n var tCont;\n var matrixHelper = this.mHelper;\n var shapes;\n var shapeStr = '';\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.globalData.fontManager.chars) {\n if (!this.textPaths[cnt]) {\n tSpan = createNS('path');\n tSpan.setAttribute('stroke-linecap', lineCapEnum[1]);\n tSpan.setAttribute('stroke-linejoin', lineJoinEnum[2]);\n tSpan.setAttribute('stroke-miterlimit', '4');\n } else {\n tSpan = this.textPaths[cnt];\n }\n\n if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tCont = tParent.children[0];\n } else {\n tParent = createTag('div');\n tParent.style.lineHeight = 0;\n tCont = createNS('svg');\n tCont.appendChild(tSpan);\n styleDiv(tParent);\n }\n }\n } else if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tSpan = this.textPaths[cnt];\n } else {\n tParent = createTag('span');\n styleDiv(tParent);\n tSpan = createTag('span');\n styleDiv(tSpan);\n tParent.appendChild(tSpan);\n }\n } else {\n tSpan = this.textPaths[cnt] ? this.textPaths[cnt] : createNS('text');\n } // tSpan.setAttribute('visibility', 'hidden');\n\n\n if (this.globalData.fontManager.chars) {\n var charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var shapeData;\n\n if (charData) {\n shapeData = charData.data;\n } else {\n shapeData = null;\n }\n\n matrixHelper.reset();\n\n if (shapeData && shapeData.shapes && shapeData.shapes.length) {\n shapes = shapeData.shapes[0].it;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n shapeStr = this.createPathShape(matrixHelper, shapes);\n tSpan.setAttribute('d', shapeStr);\n }\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent);\n\n if (shapeData && shapeData.shapes) {\n // document.body.appendChild is needed to get exact measure of shape\n document.body.appendChild(tCont);\n var boundingBox = tCont.getBBox();\n tCont.setAttribute('width', boundingBox.width + 2);\n tCont.setAttribute('height', boundingBox.height + 2);\n tCont.setAttribute('viewBox', boundingBox.x - 1 + ' ' + (boundingBox.y - 1) + ' ' + (boundingBox.width + 2) + ' ' + (boundingBox.height + 2));\n var tContStyle = tCont.style;\n var tContTranslation = 'translate(' + (boundingBox.x - 1) + 'px,' + (boundingBox.y - 1) + 'px)';\n tContStyle.transform = tContTranslation;\n tContStyle.webkitTransform = tContTranslation;\n letters[i].yOffset = boundingBox.y - 1;\n } else {\n tCont.setAttribute('width', 1);\n tCont.setAttribute('height', 1);\n }\n\n tParent.appendChild(tCont);\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } else {\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent); //\n\n var tStyle = tSpan.style;\n var tSpanTranslation = 'translate3d(0,' + -documentData.finalSize / 1.2 + 'px,0)';\n tStyle.transform = tSpanTranslation;\n tStyle.webkitTransform = tSpanTranslation;\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } //\n\n\n if (!this.isMasked) {\n this.textSpans[cnt] = tParent;\n } else {\n this.textSpans[cnt] = tSpan;\n }\n\n this.textSpans[cnt].style.display = 'block';\n this.textPaths[cnt] = tSpan;\n cnt += 1;\n }\n\n while (cnt < this.textSpans.length) {\n this.textSpans[cnt].style.display = 'none';\n cnt += 1;\n }\n };\n\n HTextElement.prototype.renderInnerContent = function () {\n var svgStyle;\n\n if (this.data.singleShape) {\n if (!this._isFirstFrame && !this.lettersChangedFlag) {\n return;\n }\n\n if (this.isMasked && this.finalTransform._matMdf) {\n // Todo Benchmark if using this is better than getBBox\n this.svgElement.setAttribute('viewBox', -this.finalTransform.mProp.p.v[0] + ' ' + -this.finalTransform.mProp.p.v[1] + ' ' + this.compW + ' ' + this.compH);\n svgStyle = this.svgElement.style;\n var translation = 'translate(' + -this.finalTransform.mProp.p.v[0] + 'px,' + -this.finalTransform.mProp.p.v[1] + 'px)';\n svgStyle.transform = translation;\n svgStyle.webkitTransform = translation;\n }\n }\n\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag) {\n return;\n }\n\n var i;\n var len;\n var count = 0;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var textPath;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n count += 1;\n } else {\n textSpan = this.textSpans[i];\n textPath = this.textPaths[i];\n renderedLetter = renderedLetters[count];\n count += 1;\n\n if (renderedLetter._mdf.m) {\n if (!this.isMasked) {\n textSpan.style.webkitTransform = renderedLetter.m;\n textSpan.style.transform = renderedLetter.m;\n } else {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n textSpan.style.opacity = renderedLetter.o;\n\n if (renderedLetter.sw && renderedLetter._mdf.sw) {\n textPath.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter.sc && renderedLetter._mdf.sc) {\n textPath.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter.fc && renderedLetter._mdf.fc) {\n textPath.setAttribute('fill', renderedLetter.fc);\n textPath.style.color = renderedLetter.fc;\n }\n }\n }\n\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\n var boundingBox = this.innerElem.getBBox();\n\n if (this.currentBBox.w !== boundingBox.width) {\n this.currentBBox.w = boundingBox.width;\n this.svgElement.setAttribute('width', boundingBox.width);\n }\n\n if (this.currentBBox.h !== boundingBox.height) {\n this.currentBBox.h = boundingBox.height;\n this.svgElement.setAttribute('height', boundingBox.height);\n }\n\n var margin = 1;\n\n if (this.currentBBox.w !== boundingBox.width + margin * 2 || this.currentBBox.h !== boundingBox.height + margin * 2 || this.currentBBox.x !== boundingBox.x - margin || this.currentBBox.y !== boundingBox.y - margin) {\n this.currentBBox.w = boundingBox.width + margin * 2;\n this.currentBBox.h = boundingBox.height + margin * 2;\n this.currentBBox.x = boundingBox.x - margin;\n this.currentBBox.y = boundingBox.y - margin;\n this.svgElement.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n svgStyle = this.svgElement.style;\n var svgTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n svgStyle.transform = svgTransform;\n svgStyle.webkitTransform = svgTransform;\n }\n }\n };\n\n function HCameraElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initHierarchy();\n var getProp = PropertyFactory.getProp;\n this.pe = getProp(this, data.pe, 0, 0, this);\n\n if (data.ks.p.s) {\n this.px = getProp(this, data.ks.p.x, 1, 0, this);\n this.py = getProp(this, data.ks.p.y, 1, 0, this);\n this.pz = getProp(this, data.ks.p.z, 1, 0, this);\n } else {\n this.p = getProp(this, data.ks.p, 1, 0, this);\n }\n\n if (data.ks.a) {\n this.a = getProp(this, data.ks.a, 1, 0, this);\n }\n\n if (data.ks.or.k.length && data.ks.or.k[0].to) {\n var i;\n var len = data.ks.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.ks.or.k[i].to = null;\n data.ks.or.k[i].ti = null;\n }\n }\n\n this.or = getProp(this, data.ks.or, 1, degToRads, this);\n this.or.sh = true;\n this.rx = getProp(this, data.ks.rx, 0, degToRads, this);\n this.ry = getProp(this, data.ks.ry, 0, degToRads, this);\n this.rz = getProp(this, data.ks.rz, 0, degToRads, this);\n this.mat = new Matrix();\n this._prevMat = new Matrix();\n this._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n this.finalTransform = {\n mProp: this\n };\n }\n\n extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n HCameraElement.prototype.setup = function () {\n var i;\n var len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n // [perspectiveElem,container]\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n perspectiveStyle = comp.perspectiveElem.style;\n containerStyle = comp.container.style;\n var perspective = this.pe.v + 'px';\n var origin = '0px 0px 0px';\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n perspectiveStyle.perspective = perspective;\n perspectiveStyle.webkitPerspective = perspective;\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n perspectiveStyle.transform = matrix;\n perspectiveStyle.webkitTransform = matrix;\n }\n }\n };\n\n HCameraElement.prototype.createElements = function () {};\n\n HCameraElement.prototype.hide = function () {};\n\n HCameraElement.prototype.renderFrame = function () {\n var _mdf = this._isFirstFrame;\n var i;\n var len;\n\n if (this.hierarchy) {\n len = this.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n _mdf = this.hierarchy[i].finalTransform.mProp._mdf || _mdf;\n }\n }\n\n if (_mdf || 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 this.mat.reset();\n\n if (this.hierarchy) {\n len = this.hierarchy.length - 1;\n\n for (i = len; i >= 0; i -= 1) {\n var mTransf = this.hierarchy[i].finalTransform.mProp;\n this.mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n this.mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n this.mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n }\n }\n\n if (this.p) {\n this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]);\n } else {\n this.mat.translate(-this.px.v, -this.py.v, this.pz.v);\n }\n\n if (this.a) {\n var diffVector;\n\n if (this.p) {\n diffVector = [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]];\n } else {\n diffVector = [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\n }\n\n var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n this.mat.rotateY(mRotationY).rotateX(-mRotationX);\n }\n\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v);\n this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]);\n this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0);\n this.mat.translate(0, 0, this.pe.v);\n var hasMatrixChanged = !this._prevMat.equals(this.mat);\n\n if ((hasMatrixChanged || this.pe._mdf) && this.comp.threeDElements) {\n len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n if (hasMatrixChanged) {\n var matValue = this.mat.toCSS();\n containerStyle = comp.container.style;\n containerStyle.transform = matValue;\n containerStyle.webkitTransform = matValue;\n }\n\n if (this.pe._mdf) {\n perspectiveStyle = comp.perspectiveElem.style;\n perspectiveStyle.perspective = this.pe.v + 'px';\n perspectiveStyle.webkitPerspective = this.pe.v + 'px';\n }\n }\n }\n\n this.mat.clone(this._prevMat);\n }\n }\n\n this._isFirstFrame = false;\n };\n\n HCameraElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n HCameraElement.prototype.destroy = function () {};\n\n HCameraElement.prototype.getBaseElement = function () {\n return null;\n };\n\n function HImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n HImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n var img = new Image();\n\n if (this.data.hasMask) {\n this.imageElem = createNS('image');\n this.imageElem.setAttribute('width', this.assetData.w + 'px');\n this.imageElem.setAttribute('height', this.assetData.h + 'px');\n this.imageElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.imageElem);\n this.baseElement.setAttribute('width', this.assetData.w);\n this.baseElement.setAttribute('height', this.assetData.h);\n } else {\n this.layerElement.appendChild(img);\n }\n\n img.crossOrigin = 'anonymous';\n img.src = assetPath;\n\n if (this.data.ln) {\n this.baseElement.setAttribute('id', this.data.ln);\n }\n };\n\n function HybridRendererBase(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n }\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([BaseRenderer], HybridRendererBase);\n HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n HybridRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n HybridRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newDOMElement = element.getBaseElement();\n\n if (!newDOMElement) {\n return;\n }\n\n var layer = this.layers[pos];\n\n if (!layer.ddd || !this.supports3d) {\n if (this.threeDElements) {\n this.addTo3dContainer(newDOMElement, pos);\n } else {\n var i = 0;\n var nextDOMElement;\n var nextLayer;\n var tmpDOMElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement) {\n nextLayer = this.elements[i];\n tmpDOMElement = this.layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n nextDOMElement = tmpDOMElement || nextDOMElement;\n }\n\n i += 1;\n }\n\n if (nextDOMElement) {\n if (!layer.ddd || !this.supports3d) {\n this.layerElement.insertBefore(newDOMElement, nextDOMElement);\n }\n } else if (!layer.ddd || !this.supports3d) {\n this.layerElement.appendChild(newDOMElement);\n }\n }\n } else {\n this.addTo3dContainer(newDOMElement, pos);\n }\n };\n\n HybridRendererBase.prototype.createShape = function (data) {\n if (!this.supports3d) {\n return new SVGShapeElement(data, this.globalData, this);\n }\n\n return new HShapeElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createText = function (data) {\n if (!this.supports3d) {\n return new SVGTextLottieElement(data, this.globalData, this);\n }\n\n return new HTextElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createCamera = function (data) {\n this.camera = new HCameraElement(data, this.globalData, this);\n return this.camera;\n };\n\n HybridRendererBase.prototype.createImage = function (data) {\n if (!this.supports3d) {\n return new IImageElement(data, this.globalData, this);\n }\n\n return new HImageElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createSolid = function (data) {\n if (!this.supports3d) {\n return new ISolidElement(data, this.globalData, this);\n }\n\n return new HSolidElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n HybridRendererBase.prototype.getThreeDContainerByPos = function (pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (this.threeDElements[i].startPos <= pos && this.threeDElements[i].endPos >= pos) {\n return this.threeDElements[i].perspectiveElem;\n }\n\n i += 1;\n }\n\n return null;\n };\n\n HybridRendererBase.prototype.createThreeDContainer = function (pos, type) {\n var perspectiveElem = createTag('div');\n var style;\n var containerStyle;\n styleDiv(perspectiveElem);\n var container = createTag('div');\n styleDiv(container);\n\n if (type === '3d') {\n style = perspectiveElem.style;\n style.width = this.globalData.compSize.w + 'px';\n style.height = this.globalData.compSize.h + 'px';\n var center = '50% 50%';\n style.webkitTransformOrigin = center;\n style.mozTransformOrigin = center;\n style.transformOrigin = center;\n containerStyle = container.style;\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n containerStyle.transform = matrix;\n containerStyle.webkitTransform = matrix;\n }\n\n perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n var threeDContainerData = {\n container: container,\n perspectiveElem: perspectiveElem,\n startPos: pos,\n endPos: pos,\n type: type\n };\n this.threeDElements.push(threeDContainerData);\n return threeDContainerData;\n };\n\n HybridRendererBase.prototype.build3dContainers = function () {\n var i;\n var len = this.layers.length;\n var lastThreeDContainerData;\n var currentContainer = '';\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ddd && this.layers[i].ty !== 3) {\n if (currentContainer !== '3d') {\n currentContainer = '3d';\n lastThreeDContainerData = this.createThreeDContainer(i, '3d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n } else {\n if (currentContainer !== '2d') {\n currentContainer = '2d';\n lastThreeDContainerData = this.createThreeDContainer(i, '2d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n }\n }\n\n len = this.threeDElements.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);\n }\n };\n\n HybridRendererBase.prototype.addTo3dContainer = function (elem, pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (pos <= this.threeDElements[i].endPos) {\n var j = this.threeDElements[i].startPos;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.threeDElements[i].container.insertBefore(elem, nextElement);\n } else {\n this.threeDElements[i].container.appendChild(elem);\n }\n\n break;\n }\n\n i += 1;\n }\n };\n\n HybridRendererBase.prototype.configAnimation = function (animData) {\n var resizerElem = createTag('div');\n var wrapper = this.animationItem.wrapper;\n var style = resizerElem.style;\n style.width = animData.w + 'px';\n style.height = animData.h + 'px';\n this.resizerElem = resizerElem;\n styleDiv(resizerElem);\n style.transformStyle = 'flat';\n style.mozTransformStyle = 'flat';\n style.webkitTransformStyle = 'flat';\n\n if (this.renderConfig.className) {\n resizerElem.setAttribute('class', this.renderConfig.className);\n }\n\n wrapper.appendChild(resizerElem);\n style.overflow = 'hidden';\n var svg = createNS('svg');\n svg.setAttribute('width', '1');\n svg.setAttribute('height', '1');\n styleDiv(svg);\n this.resizerElem.appendChild(svg);\n var defs = createNS('defs');\n svg.appendChild(defs);\n this.data = animData; // Mask animation\n\n this.setupGlobalData(animData, svg);\n this.globalData.defs = defs;\n this.layers = animData.layers;\n this.layerElement = this.resizerElem;\n this.build3dContainers();\n this.updateContainerSize();\n };\n\n HybridRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.animationItem.container = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n this.elements[i].destroy();\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n HybridRendererBase.prototype.updateContainerSize = function () {\n var elementWidth = this.animationItem.wrapper.offsetWidth;\n var elementHeight = this.animationItem.wrapper.offsetHeight;\n var elementRel = elementWidth / elementHeight;\n var animationRel = this.globalData.compSize.w / this.globalData.compSize.h;\n var sx;\n var sy;\n var tx;\n var ty;\n\n if (animationRel > elementRel) {\n sx = elementWidth / this.globalData.compSize.w;\n sy = elementWidth / this.globalData.compSize.w;\n tx = 0;\n ty = (elementHeight - this.globalData.compSize.h * (elementWidth / this.globalData.compSize.w)) / 2;\n } else {\n sx = elementHeight / this.globalData.compSize.h;\n sy = elementHeight / this.globalData.compSize.h;\n tx = (elementWidth - this.globalData.compSize.w * (elementHeight / this.globalData.compSize.h)) / 2;\n ty = 0;\n }\n\n var style = this.resizerElem.style;\n style.webkitTransform = 'matrix3d(' + sx + ',0,0,0,0,' + sy + ',0,0,0,0,1,0,' + tx + ',' + ty + ',0,1)';\n style.transform = style.webkitTransform;\n };\n\n HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n HybridRendererBase.prototype.hide = function () {\n this.resizerElem.style.display = 'none';\n };\n\n HybridRendererBase.prototype.show = function () {\n this.resizerElem.style.display = 'block';\n };\n\n HybridRendererBase.prototype.initItems = function () {\n this.buildAllItems();\n\n if (this.camera) {\n this.camera.setup();\n } else {\n var cWidth = this.globalData.compSize.w;\n var cHeight = this.globalData.compSize.h;\n var i;\n var len = this.threeDElements.length;\n\n for (i = 0; i < len; i += 1) {\n var style = this.threeDElements[i].perspectiveElem.style;\n style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + 'px';\n style.perspective = style.webkitPerspective;\n }\n }\n };\n\n HybridRendererBase.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n var floatingContainer = createTag('div');\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i], floatingContainer, this.globalData.comp, null);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n function HCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = !data.hasMask;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([HybridRendererBase, ICompElement, HBaseElement], HCompElement);\n HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n HCompElement.prototype.createContainerElements = function () {\n this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n if (this.data.hasMask) {\n this.svgElement.setAttribute('width', this.data.w);\n this.svgElement.setAttribute('height', this.data.h);\n this.transformedElement = this.baseElement;\n } else {\n this.transformedElement = this.layerElement;\n }\n };\n\n HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n var j = 0;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(elem, nextElement);\n } else {\n this.layerElement.appendChild(elem);\n }\n };\n\n HCompElement.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n function HybridRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n }\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([HybridRendererBase], HybridRenderer);\n\n HybridRenderer.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n var Expressions = function () {\n var ob = {};\n ob.initExpressions = initExpressions;\n\n function initExpressions(animation) {\n var stackCount = 0;\n var registers = [];\n\n function pushExpression() {\n stackCount += 1;\n }\n\n function popExpression() {\n stackCount -= 1;\n\n if (stackCount === 0) {\n releaseInstances();\n }\n }\n\n function registerExpressionProperty(expression) {\n if (registers.indexOf(expression) === -1) {\n registers.push(expression);\n }\n }\n\n function releaseInstances() {\n var i;\n var len = registers.length;\n\n for (i = 0; i < len; i += 1) {\n registers[i].release();\n }\n\n registers.length = 0;\n }\n\n animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n animation.renderer.globalData.pushExpression = pushExpression;\n animation.renderer.globalData.popExpression = popExpression;\n animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n }\n\n return ob;\n }();\n\n function _typeof$1(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$1 = function _typeof(obj) { return typeof obj; }; } else { _typeof$1 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$1(obj); }\n\n /* eslint-disable */\n\n /*\r\n Copyright 2014 David Bau.\r\n\r\n Permission is hereby granted, free of charge, to any person obtaining\r\n a copy of this software and associated documentation files (the\r\n \"Software\"), to deal in the Software without restriction, including\r\n without limitation the rights to use, copy, modify, merge, publish,\r\n distribute, sublicense, and/or sell copies of the Software, and to\r\n permit persons to whom the Software is furnished to do so, subject to\r\n the following conditions:\r\n\r\n The above copyright notice and this permission notice shall be\r\n included in all copies or substantial portions of the Software.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\n */\n function seedRandom(pool, math) {\n //\n // The following constants are related to IEEE 754 limits.\n //\n var global = this,\n width = 256,\n // each RC4 output is 0 <= x < 256\n chunks = 6,\n // at least six RC4 outputs for each double\n digits = 52,\n // there are 52 significant digits in a double\n rngname = 'random',\n // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n //\n // seedrandom()\n // This is the seedrandom function described above.\n //\n\n function seedrandom(seed, options, callback) {\n var key = [];\n options = options === true ? {\n entropy: true\n } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n\n var prng = function prng() {\n var n = arc4.g(chunks),\n // Start with a numerator n < 2 ^ 48\n d = startdenom,\n // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n\n while (n < significance) {\n // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n\n d *= width; // denominator and generating a\n\n x = arc4.g(1); // new least-significant-byte.\n }\n\n while (n >= overflow) {\n // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n\n d /= 2; // right using integer math until\n\n x >>>= 1; // we have exactly the desired bits.\n }\n\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function () {\n return arc4.g(4) | 0;\n };\n\n prng.quick = function () {\n return arc4.g(4) / 0x100000000;\n };\n\n prng[\"double\"] = prng; // Mix the randomness into accumulated entropy.\n\n mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n return (options.pass || callback || function (prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) {\n copy(state, arc4);\n } // Only provide the .state method if requested via options.state.\n\n\n prng.state = function () {\n return copy(arc4, {});\n };\n } // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n if (is_math_call) {\n math[rngname] = prng;\n return seed;\n } // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(prng, shortseed, 'global' in options ? options.global : this == math, options.state);\n }\n\n math['seed' + rngname] = seedrandom; //\n // ARC4\n //\n // An ARC4 implementation. The constructor takes a key in the form of\n // an array of at most (width) integers that should be 0 <= x < (width).\n //\n // The g(count) method returns a pseudorandom integer that concatenates\n // the next (count) outputs from ARC4. Its return value is a number x\n // that is in the range 0 <= x < (width ^ count).\n //\n\n function ARC4(key) {\n var t,\n keylen = key.length,\n me = this,\n i = 0,\n j = me.i = me.j = 0,\n s = me.S = []; // The empty key [] is treated as [0].\n\n if (!keylen) {\n key = [keylen++];\n } // Set up S using the standard key scheduling algorithm.\n\n\n while (i < width) {\n s[i] = i++;\n }\n\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n s[j] = t;\n } // The \"g\" method returns the next (count) outputs as one number.\n\n\n me.g = function (count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t,\n r = 0,\n i = me.i,\n j = me.j,\n s = me.S;\n\n while (count--) {\n t = s[i = mask & i + 1];\n r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n }\n\n me.i = i;\n me.j = j;\n return r; // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n };\n } //\n // copy()\n // Copies internal state of ARC4 to or from a plain object.\n //\n\n\n function copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n } //\n // flatten()\n // Converts an object tree to nested arrays of strings.\n //\n\n\n function flatten(obj, depth) {\n var result = [],\n typ = _typeof$1(obj),\n prop;\n\n if (depth && typ == 'object') {\n for (prop in obj) {\n try {\n result.push(flatten(obj[prop], depth - 1));\n } catch (e) {}\n }\n }\n\n return result.length ? result : typ == 'string' ? obj : obj + '\\0';\n } //\n // mixkey()\n // Mixes a string seed into a key that is an array of integers, and\n // returns a shortened string seed that is equivalent to the result key.\n //\n\n\n function mixkey(seed, key) {\n var stringseed = seed + '',\n smear,\n j = 0;\n\n while (j < stringseed.length) {\n key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n }\n\n return tostring(key);\n } //\n // autoseed()\n // Returns an object for autoseeding, using window.crypto and Node crypto\n // module if available.\n //\n\n\n function autoseed() {\n try {\n if (nodecrypto) {\n return tostring(nodecrypto.randomBytes(width));\n }\n\n var out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date(), global, plugins, global.screen, tostring(pool)];\n }\n } //\n // tostring()\n // Converts an array of charcodes to a string\n //\n\n\n function tostring(a) {\n return String.fromCharCode.apply(0, a);\n } //\n // When seedrandom.js is loaded, we immediately mix a few bits\n // from the built-in RNG into the entropy pool. Because we do\n // not want to interfere with deterministic PRNG state later,\n // seedrandom will not call math.random on its own again after\n // initialization.\n //\n\n\n mixkey(math.random(), pool); //\n // Nodejs and AMD support: export the implementation as a module using\n // either convention.\n //\n // End anonymous scope, and pass initial values.\n }\n\n ;\n\n function initialize$2(BMMath) {\n seedRandom([], BMMath);\n }\n\n var propTypes = {\n SHAPE: 'shape'\n };\n\n function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n var ExpressionManager = function () {\n 'use strict';\n\n var ob = {};\n var Math = BMMath;\n var window = null;\n var document = null;\n var XMLHttpRequest = null;\n var fetch = null;\n var frames = null;\n initialize$2(BMMath);\n\n function $bm_isInstanceOfArray(arr) {\n return arr.constructor === Array || arr.constructor === Float32Array;\n }\n\n function isNumerable(tOfV, v) {\n return tOfV === 'number' || tOfV === 'boolean' || tOfV === 'string' || v instanceof Number;\n }\n\n function $bm_neg(a) {\n var tOfA = _typeof(a);\n\n if (tOfA === 'number' || tOfA === 'boolean' || a instanceof Number) {\n return -a;\n }\n\n if ($bm_isInstanceOfArray(a)) {\n var i;\n var lenA = a.length;\n var retArr = [];\n\n for (i = 0; i < lenA; i += 1) {\n retArr[i] = -a[i];\n }\n\n return retArr;\n }\n\n if (a.propType) {\n return a.v;\n }\n\n return -a;\n }\n\n var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, 'easeIn').get;\n var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, 'easeOut').get;\n var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, 'easeInOut').get;\n\n function sum(a, b) {\n var tOfA = _typeof(a);\n\n var tOfB = _typeof(b);\n\n if (tOfA === 'string' || tOfB === 'string') {\n return a + b;\n }\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a + b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] += b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a + b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] + b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n var add = sum;\n\n function sub(a, b) {\n var tOfA = _typeof(a);\n\n var tOfB = _typeof(b);\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n if (tOfA === 'string') {\n a = parseInt(a, 10);\n }\n\n if (tOfB === 'string') {\n b = parseInt(b, 10);\n }\n\n return a - b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] -= b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a - b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] - b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n function mul(a, b) {\n var tOfA = _typeof(a);\n\n var tOfB = _typeof(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a * b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] * b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a * b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function div(a, b) {\n var tOfA = _typeof(a);\n\n var tOfB = _typeof(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a / b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] / b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a / b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function mod(a, b) {\n if (typeof a === 'string') {\n a = parseInt(a, 10);\n }\n\n if (typeof b === 'string') {\n b = parseInt(b, 10);\n }\n\n return a % b;\n }\n\n var $bm_sum = sum;\n var $bm_sub = sub;\n var $bm_mul = mul;\n var $bm_div = div;\n var $bm_mod = mod;\n\n function clamp(num, min, max) {\n if (min > max) {\n var mm = max;\n max = min;\n min = mm;\n }\n\n return Math.min(Math.max(num, min), max);\n }\n\n function radiansToDegrees(val) {\n return val / degToRads;\n }\n\n var radians_to_degrees = radiansToDegrees;\n\n function degreesToRadians(val) {\n return val * degToRads;\n }\n\n var degrees_to_radians = radiansToDegrees;\n var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n function length(arr1, arr2) {\n if (typeof arr1 === 'number' || arr1 instanceof Number) {\n arr2 = arr2 || 0;\n return Math.abs(arr1 - arr2);\n }\n\n if (!arr2) {\n arr2 = helperLengthArray;\n }\n\n var i;\n var len = Math.min(arr1.length, arr2.length);\n var addedLength = 0;\n\n for (i = 0; i < len; i += 1) {\n addedLength += Math.pow(arr2[i] - arr1[i], 2);\n }\n\n return Math.sqrt(addedLength);\n }\n\n function normalize(vec) {\n return div(vec, length(vec));\n }\n\n function rgbToHsl(val) {\n var r = val[0];\n var g = val[1];\n var b = val[2];\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h;\n var s;\n var l = (max + min) / 2;\n\n if (max === min) {\n h = 0; // achromatic\n\n s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n\n case g:\n h = (b - r) / d + 2;\n break;\n\n case b:\n h = (r - g) / d + 4;\n break;\n\n default:\n break;\n }\n\n h /= 6;\n }\n\n return [h, s, l, val[3]];\n }\n\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n\n function hslToRgb(val) {\n var h = val[0];\n var s = val[1];\n var l = val[2];\n var r;\n var g;\n var b;\n\n if (s === 0) {\n r = l; // achromatic\n\n b = l; // achromatic\n\n g = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return [r, g, b, val[3]];\n }\n\n function linear(t, tMin, tMax, value1, value2) {\n if (value1 === undefined || value2 === undefined) {\n value1 = tMin;\n value2 = tMax;\n tMin = 0;\n tMax = 1;\n }\n\n if (tMax < tMin) {\n var _tMin = tMax;\n tMax = tMin;\n tMin = _tMin;\n }\n\n if (t <= tMin) {\n return value1;\n }\n\n if (t >= tMax) {\n return value2;\n }\n\n var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n if (!value1.length) {\n return value1 + (value2 - value1) * perc;\n }\n\n var i;\n var len = value1.length;\n var arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n }\n\n return arr;\n }\n\n function random(min, max) {\n if (max === undefined) {\n if (min === undefined) {\n min = 0;\n max = 1;\n } else {\n max = min;\n min = undefined;\n }\n }\n\n if (max.length) {\n var i;\n var len = max.length;\n\n if (!min) {\n min = createTypedArray('float32', len);\n }\n\n var arr = createTypedArray('float32', len);\n var rnd = BMMath.random();\n\n for (i = 0; i < len; i += 1) {\n arr[i] = min[i] + rnd * (max[i] - min[i]);\n }\n\n return arr;\n }\n\n if (min === undefined) {\n min = 0;\n }\n\n var rndm = BMMath.random();\n return min + rndm * (max - min);\n }\n\n function createPath(points, inTangents, outTangents, closed) {\n var i;\n var len = points.length;\n var path = shapePool.newElement();\n path.setPathData(!!closed, len);\n var arrPlaceholder = [0, 0];\n var inVertexPoint;\n var outVertexPoint;\n\n for (i = 0; i < len; i += 1) {\n inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true);\n }\n\n return path;\n }\n\n function initiateExpression(elem, data, property) {\n var val = data.x;\n var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n var _needsRandom = val.indexOf('random') !== -1;\n\n var elemType = elem.data.ty;\n var transform;\n var $bm_transform;\n var content;\n var effect;\n var thisProperty = property;\n thisProperty.valueAtTime = thisProperty.getValueAtTime;\n Object.defineProperty(thisProperty, 'value', {\n get: function get() {\n return thisProperty.v;\n }\n });\n elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n elem.comp.displayStartTime = 0;\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n var width = elem.data.sw ? elem.data.sw : 0;\n var height = elem.data.sh ? elem.data.sh : 0;\n var name = elem.data.nm;\n var loopIn;\n var loop_in;\n var loopOut;\n var loop_out;\n var smooth;\n var toWorld;\n var fromWorld;\n var fromComp;\n var toComp;\n var fromCompToSurface;\n var position;\n var rotation;\n var anchorPoint;\n var scale;\n var thisLayer;\n var thisComp;\n var mask;\n var valueAtTime;\n var velocityAtTime;\n var scoped_bm_rt; // val = val.replace(/(\\\\?\"|')((http)(s)?(:\\/))?\\/.*?(\\\\?\"|')/g, \"\\\"\\\"\"); // deter potential network calls\n\n var expression_function = eval('[function _expression_function(){' + val + ';scoped_bm_rt=$bm_rt}]')[0]; // eslint-disable-line no-eval\n\n var numKeys = property.kf ? data.k.length : 0;\n var active = !this.data || this.data.hd !== true;\n\n var wiggle = function wiggle(freq, amp) {\n var iWiggle;\n var j;\n var lenWiggle = this.pv.length ? this.pv.length : 1;\n var addedAmps = createTypedArray('float32', lenWiggle);\n freq = 5;\n var iterations = Math.floor(time * freq);\n iWiggle = 0;\n j = 0;\n\n while (iWiggle < iterations) {\n // var rnd = BMMath.random();\n for (j = 0; j < lenWiggle; j += 1) {\n addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n }\n\n iWiggle += 1;\n } // var rnd2 = BMMath.random();\n\n\n var periods = time * freq;\n var perc = periods - Math.floor(periods);\n var arr = createTypedArray('float32', lenWiggle);\n\n if (lenWiggle > 1) {\n for (j = 0; j < lenWiggle; j += 1) {\n arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n }\n\n return arr;\n }\n\n return this.pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n }.bind(this);\n\n if (thisProperty.loopIn) {\n loopIn = thisProperty.loopIn.bind(thisProperty);\n loop_in = loopIn;\n }\n\n if (thisProperty.loopOut) {\n loopOut = thisProperty.loopOut.bind(thisProperty);\n loop_out = loopOut;\n }\n\n if (thisProperty.smooth) {\n smooth = thisProperty.smooth.bind(thisProperty);\n }\n\n function loopInDuration(type, duration) {\n return loopIn(type, duration, true);\n }\n\n function loopOutDuration(type, duration) {\n return loopOut(type, duration, true);\n }\n\n if (this.getValueAtTime) {\n valueAtTime = this.getValueAtTime.bind(this);\n }\n\n if (this.getVelocityAtTime) {\n velocityAtTime = this.getVelocityAtTime.bind(this);\n }\n\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n function lookAt(elem1, elem2) {\n var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n return [yaw, pitch, 0];\n }\n\n function easeOut(t, tMin, tMax, val1, val2) {\n return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n }\n\n function easeIn(t, tMin, tMax, val1, val2) {\n return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n }\n\n function ease(t, tMin, tMax, val1, val2) {\n return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n }\n\n function applyEase(fn, t, tMin, tMax, val1, val2) {\n if (val1 === undefined) {\n val1 = tMin;\n val2 = tMax;\n } else {\n t = (t - tMin) / (tMax - tMin);\n }\n\n if (t > 1) {\n t = 1;\n } else if (t < 0) {\n t = 0;\n }\n\n var mult = fn(t);\n\n if ($bm_isInstanceOfArray(val1)) {\n var iKey;\n var lenKey = val1.length;\n var arr = createTypedArray('float32', lenKey);\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n }\n\n return arr;\n }\n\n return (val2 - val1) * mult + val1;\n }\n\n function nearestKey(time) {\n var iKey;\n var lenKey = data.k.length;\n var index;\n var keyTime;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n index = 0;\n keyTime = 0;\n } else {\n index = -1;\n time *= elem.comp.globalData.frameRate;\n\n if (time < data.k[0].t) {\n index = 1;\n keyTime = data.k[0].t;\n } else {\n for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n if (time === data.k[iKey].t) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n break;\n } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n index = iKey + 2;\n keyTime = data.k[iKey + 1].t;\n } else {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n\n break;\n }\n }\n\n if (index === -1) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n }\n }\n\n var obKey = {};\n obKey.index = index;\n obKey.time = keyTime / elem.comp.globalData.frameRate;\n return obKey;\n }\n\n function key(ind) {\n var obKey;\n var iKey;\n var lenKey;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n throw new Error('The property has no keyframe at index ' + ind);\n }\n\n ind -= 1;\n obKey = {\n time: data.k[ind].t / elem.comp.globalData.frameRate,\n value: []\n };\n var arr = Object.prototype.hasOwnProperty.call(data.k[ind], 's') ? data.k[ind].s : data.k[ind - 1].e;\n lenKey = arr.length;\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n obKey[iKey] = arr[iKey];\n obKey.value[iKey] = arr[iKey];\n }\n\n return obKey;\n }\n\n function framesToTime(fr, fps) {\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return fr / fps;\n }\n\n function timeToFrames(t, fps) {\n if (!t && t !== 0) {\n t = time;\n }\n\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return t * fps;\n }\n\n function seedRandom(seed) {\n BMMath.seedrandom(randSeed + seed);\n }\n\n function sourceRectAtTime() {\n return elem.sourceRectAtTime();\n }\n\n function substring(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substring(init);\n }\n\n return value.substring(init, end);\n }\n\n return '';\n }\n\n function substr(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substr(init);\n }\n\n return value.substr(init, end);\n }\n\n return '';\n }\n\n function posterizeTime(framesPerSecond) {\n time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n value = valueAtTime(time);\n }\n\n var time;\n var velocity;\n var value;\n var text;\n var textIndex;\n var textTotal;\n var selectorValue;\n var index = elem.data.ind;\n var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n var parent;\n var randSeed = Math.floor(Math.random() * 1000000);\n var globalData = elem.globalData;\n\n function executeExpression(_value) {\n // globalData.pushExpression();\n value = _value;\n\n if (this.frameExpressionId === elem.globalData.frameId && this.propType !== 'textSelector') {\n return value;\n }\n\n if (this.propType === 'textSelector') {\n textIndex = this.textIndex;\n textTotal = this.textTotal;\n selectorValue = this.selectorValue;\n }\n\n if (!thisLayer) {\n text = elem.layerInterface.text;\n thisLayer = elem.layerInterface;\n thisComp = elem.comp.compInterface;\n toWorld = thisLayer.toWorld.bind(thisLayer);\n fromWorld = thisLayer.fromWorld.bind(thisLayer);\n fromComp = thisLayer.fromComp.bind(thisLayer);\n toComp = thisLayer.toComp.bind(thisLayer);\n mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n fromCompToSurface = fromComp;\n }\n\n if (!transform) {\n transform = elem.layerInterface('ADBE Transform Group');\n $bm_transform = transform;\n\n if (transform) {\n anchorPoint = transform.anchorPoint;\n /* position = transform.position;\r\n rotation = transform.rotation;\r\n scale = transform.scale; */\n }\n }\n\n if (elemType === 4 && !content) {\n content = thisLayer('ADBE Root Vectors Group');\n }\n\n if (!effect) {\n effect = thisLayer(4);\n }\n\n hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n if (hasParent && !parent) {\n parent = elem.hierarchy[0].layerInterface;\n }\n\n time = this.comp.renderedFrame / this.comp.globalData.frameRate;\n\n if (_needsRandom) {\n seedRandom(randSeed + time);\n }\n\n if (needsVelocity) {\n velocity = velocityAtTime(time);\n }\n\n expression_function();\n this.frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n // Changed this to a ternary operation because Rollup failed compiling it correctly\n\n scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt;\n return scoped_bm_rt;\n } // Bundlers will see these as dead code and unless we reference them\n\n\n executeExpression.__preventDeadCodeRemoval = [$bm_transform, anchorPoint, time, 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];\n return executeExpression;\n }\n\n ob.initiateExpression = initiateExpression;\n 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];\n return ob;\n }();\n\n var expressionHelpers = function () {\n function searchExpressions(elem, data, prop) {\n if (data.x) {\n prop.k = true;\n prop.x = true;\n prop.initiateExpression = ExpressionManager.initiateExpression;\n prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n }\n }\n\n function getValueAtTime(frameNum) {\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastFrame) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;\n this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);\n this._cachingAtTime.lastFrame = frameNum;\n }\n\n return this._cachingAtTime.value;\n }\n\n function getSpeedAtTime(frameNum) {\n var delta = -0.01;\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var speed = 0;\n\n if (v1.length) {\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n speed += Math.pow(v2[i] - v1[i], 2);\n }\n\n speed = Math.sqrt(speed) * 100;\n } else {\n speed = 0;\n }\n\n return speed;\n }\n\n function getVelocityAtTime(frameNum) {\n if (this.vel !== undefined) {\n return this.vel;\n }\n\n var delta = -0.001; // frameNum += this.elem.data.st;\n\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var velocity;\n\n if (v1.length) {\n velocity = createTypedArray('float32', v1.length);\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n // removing frameRate\n // if needed, don't add it here\n // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n velocity[i] = (v2[i] - v1[i]) / delta;\n }\n } else {\n velocity = (v2 - v1) / delta;\n }\n\n return velocity;\n }\n\n function getStaticValueAtTime() {\n return this.pv;\n }\n\n function setGroupProperty(propertyGroup) {\n this.propertyGroup = propertyGroup;\n }\n\n return {\n searchExpressions: searchExpressions,\n getSpeedAtTime: getSpeedAtTime,\n getVelocityAtTime: getVelocityAtTime,\n getValueAtTime: getValueAtTime,\n getStaticValueAtTime: getStaticValueAtTime,\n setGroupProperty: setGroupProperty\n };\n }();\n\n function addPropertyDecorator() {\n function loopOut(type, duration, durationFlag) {\n if (!this.k || !this.keyframes) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n if (currentFrame <= lastKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var firstKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, lastKeyFrame - this.elem.data.ip);\n } else {\n cycleDuration = Math.abs(lastKeyFrame - this.elem.comp.globalData.frameRate * duration);\n }\n\n firstKeyFrame = lastKeyFrame - cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (iterations % 2 !== 0) {\n return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n\n var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n }\n\n return ret;\n }\n\n return (endV - initV) * repeats + current;\n } else if (type === 'continue') {\n var lastValue = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(lastValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / this.comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n }\n\n return ret;\n }\n\n return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n }\n\n return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function loopIn(type, duration, durationFlag) {\n if (!this.k) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var firstKeyFrame = keyframes[0].t;\n\n if (currentFrame >= firstKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var lastKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n lastKeyFrame = keyframes[duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, this.elem.data.op - firstKeyFrame);\n } else {\n cycleDuration = Math.abs(this.elem.comp.globalData.frameRate * duration);\n }\n\n lastKeyFrame = firstKeyFrame + cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n if (iterations % 2 === 0) {\n return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\n var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n }\n\n return ret;\n }\n\n return current - (endV - initV) * repeats;\n } else if (type === 'continue') {\n var firstValue = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(firstValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return ret;\n }\n\n return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function smooth(width, samples) {\n if (!this.k) {\n return this.pv;\n }\n\n width = (width || 0.4) * 0.5;\n samples = Math.floor(samples || 5);\n\n if (samples <= 1) {\n return this.pv;\n }\n\n var currentTime = this.comp.renderedFrame / this.comp.globalData.frameRate;\n var initFrame = currentTime - width;\n var endFrame = currentTime + width;\n var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n var i = 0;\n var j = 0;\n var value;\n\n if (this.pv.length) {\n value = createTypedArray('float32', this.pv.length);\n } else {\n value = 0;\n }\n\n var sampleValue;\n\n while (i < samples) {\n sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] += sampleValue[j];\n }\n } else {\n value += sampleValue;\n }\n\n i += 1;\n }\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] /= samples;\n }\n } else {\n value /= samples;\n }\n\n return value;\n }\n\n function getTransformValueAtTime(time) {\n if (!this._transformCachingAtTime) {\n this._transformCachingAtTime = {\n v: new Matrix()\n };\n } /// /\n\n\n var matrix = this._transformCachingAtTime.v;\n matrix.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n var anchor = this.a.getValueAtTime(time);\n matrix.translate(-anchor[0] * this.a.mult, -anchor[1] * this.a.mult, anchor[2] * this.a.mult);\n }\n\n if (this.appliedTransformations < 2) {\n var scale = this.s.getValueAtTime(time);\n matrix.scale(scale[0] * this.s.mult, scale[1] * this.s.mult, scale[2] * this.s.mult);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n var skew = this.sk.getValueAtTime(time);\n var skewAxis = this.sa.getValueAtTime(time);\n matrix.skewFromAxis(-skew * this.sk.mult, skewAxis * this.sa.mult);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n var rotation = this.r.getValueAtTime(time);\n matrix.rotate(-rotation * this.r.mult);\n } else if (!this.r && this.appliedTransformations < 4) {\n var rotationZ = this.rz.getValueAtTime(time);\n var rotationY = this.ry.getValueAtTime(time);\n var rotationX = this.rx.getValueAtTime(time);\n var orientation = this.or.getValueAtTime(time);\n matrix.rotateZ(-rotationZ * this.rz.mult).rotateY(rotationY * this.ry.mult).rotateX(rotationX * this.rx.mult).rotateZ(-orientation[2] * this.or.mult).rotateY(orientation[1] * this.or.mult).rotateX(orientation[0] * this.or.mult);\n }\n\n if (this.data.p && this.data.p.s) {\n var positionX = this.px.getValueAtTime(time);\n var positionY = this.py.getValueAtTime(time);\n\n if (this.data.p.z) {\n var positionZ = this.pz.getValueAtTime(time);\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, -positionZ * this.pz.mult);\n } else {\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, 0);\n }\n } else {\n var position = this.p.getValueAtTime(time);\n matrix.translate(position[0] * this.p.mult, position[1] * this.p.mult, -position[2] * this.p.mult);\n }\n\n return matrix; /// /\n }\n\n function getTransformStaticValueAtTime() {\n return this.v.clone(new Matrix());\n }\n\n var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n var prop = getTransformProperty(elem, data, container);\n\n if (prop.dynamicProperties.length) {\n prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n return prop;\n };\n\n var propertyGetProp = PropertyFactory.getProp;\n\n PropertyFactory.getProp = function (elem, data, type, mult, container) {\n var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n // prop.loopOut = loopOut;\n // prop.loopIn = loopIn;\n\n if (prop.kf) {\n prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n prop.loopOut = loopOut;\n prop.loopIn = loopIn;\n prop.smooth = smooth;\n prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n prop.numKeys = data.a === 1 ? data.k.length : 0;\n prop.propertyIndex = data.ix;\n var value = 0;\n\n if (type !== 0) {\n value = createTypedArray('float32', data.a === 1 ? data.k[0].s.length : data.k.length);\n }\n\n prop._cachingAtTime = {\n lastFrame: initialDefaultFrame,\n lastIndex: 0,\n value: value\n };\n expressionHelpers.searchExpressions(elem, data, prop);\n\n if (prop.k) {\n container.addDynamicProperty(prop);\n }\n\n return prop;\n };\n\n function getShapeValueAtTime(frameNum) {\n // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n if (!this._cachingAtTime) {\n this._cachingAtTime = {\n shapeValue: shapePool.clone(this.pv),\n lastIndex: 0,\n lastTime: initialDefaultFrame\n };\n }\n\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastTime) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0;\n this._cachingAtTime.lastTime = frameNum;\n this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime);\n }\n\n return this._cachingAtTime.shapeValue;\n }\n\n var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n function ShapeExpressions() {}\n\n ShapeExpressions.prototype = {\n vertices: function vertices(prop, time) {\n if (this.k) {\n this.getValue();\n }\n\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n var i;\n var len = shapePath._length;\n var vertices = shapePath[prop];\n var points = shapePath.v;\n var arr = createSizedArray(len);\n\n for (i = 0; i < len; i += 1) {\n if (prop === 'i' || prop === 'o') {\n arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n } else {\n arr[i] = [vertices[i][0], vertices[i][1]];\n }\n }\n\n return arr;\n },\n points: function points(time) {\n return this.vertices('v', time);\n },\n inTangents: function inTangents(time) {\n return this.vertices('i', time);\n },\n outTangents: function outTangents(time) {\n return this.vertices('o', time);\n },\n isClosed: function isClosed() {\n return this.v.c;\n },\n pointOnPath: function pointOnPath(perc, time) {\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n if (!this._segmentsLength) {\n this._segmentsLength = bez.getSegmentsLength(shapePath);\n }\n\n var segmentsLength = this._segmentsLength;\n var lengths = segmentsLength.lengths;\n var lengthPos = segmentsLength.totalLength * perc;\n var i = 0;\n var len = lengths.length;\n var accumulatedLength = 0;\n var pt;\n\n while (i < len) {\n if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n var initIndex = i;\n var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n break;\n } else {\n accumulatedLength += lengths[i].addedLength;\n }\n\n i += 1;\n }\n\n if (!pt) {\n pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n }\n\n return pt;\n },\n vectorOnPath: function vectorOnPath(perc, time, vectorType) {\n // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n if (perc == 1) {\n // eslint-disable-line eqeqeq\n perc = this.v.c;\n } else if (perc == 0) {\n // eslint-disable-line eqeqeq\n perc = 0.999;\n }\n\n var pt1 = this.pointOnPath(perc, time);\n var pt2 = this.pointOnPath(perc + 0.001, time);\n var xLength = pt2[0] - pt1[0];\n var yLength = pt2[1] - pt1[1];\n var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n if (magnitude === 0) {\n return [0, 0];\n }\n\n var unitVector = vectorType === 'tangent' ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n return unitVector;\n },\n tangentOnPath: function tangentOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'tangent');\n },\n normalOnPath: function normalOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'normal');\n },\n setGroupProperty: expressionHelpers.setGroupProperty,\n getValueAtTime: expressionHelpers.getStaticValueAtTime\n };\n extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n prop.propertyIndex = data.ix;\n prop.lock = false;\n\n if (type === 3) {\n expressionHelpers.searchExpressions(elem, data.pt, prop);\n } else if (type === 4) {\n expressionHelpers.searchExpressions(elem, data.ks, prop);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n };\n }\n\n function initialize$1() {\n addPropertyDecorator();\n }\n\n function addDecorator() {\n function searchExpressions() {\n if (this.data.d.x) {\n this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this);\n this.addEffect(this.getExpressionValue.bind(this));\n return true;\n }\n\n return null;\n }\n\n TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n var newValue = this.calculateExpression(text);\n\n if (currentValue.t !== newValue) {\n var newData = {};\n this.copyData(newData, currentValue);\n newData.t = newValue.toString();\n newData.__complete = false;\n return newData;\n }\n\n return currentValue;\n };\n\n TextProperty.prototype.searchProperty = function () {\n var isKeyframed = this.searchKeyframes();\n var hasExpressions = this.searchExpressions();\n this.kf = isKeyframed || hasExpressions;\n return this.kf;\n };\n\n TextProperty.prototype.searchExpressions = searchExpressions;\n }\n\n function initialize() {\n addDecorator();\n }\n\n function SVGComposableEffect() {}\n\n SVGComposableEffect.prototype = {\n createMergeNode: function createMergeNode(resultId, ins) {\n var feMerge = createNS('feMerge');\n feMerge.setAttribute('result', resultId);\n var feMergeNode;\n var i;\n\n for (i = 0; i < ins.length; i += 1) {\n feMergeNode = createNS('feMergeNode');\n feMergeNode.setAttribute('in', ins[i]);\n feMerge.appendChild(feMergeNode);\n feMerge.appendChild(feMergeNode);\n }\n\n return feMerge;\n }\n };\n\n function SVGTintFilter(filter, filterManager, elem, id, source) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.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');\n feColorMatrix.setAttribute('result', id + '_tint_1');\n filter.appendChild(feColorMatrix);\n feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', id + '_tint_2');\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n var feMerge = this.createMergeNode(id, [source, id + '_tint_1', id + '_tint_2']);\n filter.appendChild(feMerge);\n }\n\n extendPrototype([SVGComposableEffect], SVGTintFilter);\n\n SVGTintFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var colorBlack = this.filterManager.effectElements[0].p.v;\n var colorWhite = this.filterManager.effectElements[1].p.v;\n var opacity = this.filterManager.effectElements[2].p.v / 100;\n this.matrixFilter.setAttribute('values', colorWhite[0] - colorBlack[0] + ' 0 0 0 ' + colorBlack[0] + ' ' + (colorWhite[1] - colorBlack[1]) + ' 0 0 0 ' + colorBlack[1] + ' ' + (colorWhite[2] - colorBlack[2]) + ' 0 0 0 ' + colorBlack[2] + ' 0 0 0 ' + opacity + ' 0');\n }\n };\n\n function SVGFillFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', id);\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n }\n\n SVGFillFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color = this.filterManager.effectElements[2].p.v;\n var opacity = this.filterManager.effectElements[6].p.v;\n this.matrixFilter.setAttribute('values', '0 0 0 0 ' + color[0] + ' 0 0 0 0 ' + color[1] + ' 0 0 0 0 ' + color[2] + ' 0 0 0 ' + opacity + ' 0');\n }\n };\n\n function SVGStrokeEffect(fil, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.elem = elem;\n this.paths = [];\n }\n\n SVGStrokeEffect.prototype.initialize = function () {\n var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n var path;\n var groupPath;\n var i;\n var len;\n\n if (this.filterManager.effectElements[1].p.v === 1) {\n len = this.elem.maskManager.masksProperties.length;\n i = 0;\n } else {\n i = this.filterManager.effectElements[0].p.v - 1;\n len = i + 1;\n }\n\n groupPath = createNS('g');\n groupPath.setAttribute('fill', 'none');\n groupPath.setAttribute('stroke-linecap', 'round');\n groupPath.setAttribute('stroke-dashoffset', 1);\n\n for (i; i < len; i += 1) {\n path = createNS('path');\n groupPath.appendChild(path);\n this.paths.push({\n p: path,\n m: i\n });\n }\n\n if (this.filterManager.effectElements[10].p.v === 3) {\n var mask = createNS('mask');\n var id = createElementID();\n mask.setAttribute('id', id);\n mask.setAttribute('mask-type', 'alpha');\n mask.appendChild(groupPath);\n this.elem.globalData.defs.appendChild(mask);\n var g = createNS('g');\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n\n while (elemChildren[0]) {\n g.appendChild(elemChildren[0]);\n }\n\n this.elem.layerElement.appendChild(g);\n this.masker = mask;\n groupPath.setAttribute('stroke', '#fff');\n } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (this.filterManager.effectElements[10].p.v === 2) {\n elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n\n while (elemChildren.length) {\n this.elem.layerElement.removeChild(elemChildren[0]);\n }\n }\n\n this.elem.layerElement.appendChild(groupPath);\n this.elem.layerElement.removeAttribute('mask');\n groupPath.setAttribute('stroke', '#fff');\n }\n\n this.initialized = true;\n this.pathMasker = groupPath;\n };\n\n SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n if (!this.initialized) {\n this.initialize();\n }\n\n var i;\n var len = this.paths.length;\n var mask;\n var path;\n\n for (i = 0; i < len; i += 1) {\n if (this.paths[i].m !== -1) {\n mask = this.elem.maskManager.viewData[this.paths[i].m];\n path = this.paths[i].p;\n\n if (forceRender || this.filterManager._mdf || mask.prop._mdf) {\n path.setAttribute('d', mask.lastPath);\n }\n\n if (forceRender || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n var dasharrayValue;\n\n if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) {\n var s = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var e = Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var l = path.getTotalLength();\n dasharrayValue = '0 0 0 ' + l * s + ' ';\n var lineLength = l * (e - s);\n var segment = 1 + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n var units = Math.floor(lineLength / segment);\n var j;\n\n for (j = 0; j < units; j += 1) {\n dasharrayValue += '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01 + ' ';\n }\n\n dasharrayValue += '0 ' + l * 10 + ' 0 0';\n } else {\n dasharrayValue = '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n }\n\n path.setAttribute('stroke-dasharray', dasharrayValue);\n }\n }\n }\n\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.pathMasker.setAttribute('stroke-width', this.filterManager.effectElements[4].p.v * 2);\n }\n\n if (forceRender || this.filterManager.effectElements[6].p._mdf) {\n this.pathMasker.setAttribute('opacity', this.filterManager.effectElements[6].p.v);\n }\n\n if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (forceRender || this.filterManager.effectElements[3].p._mdf) {\n var color = this.filterManager.effectElements[3].p.v;\n this.pathMasker.setAttribute('stroke', 'rgb(' + bmFloor(color[0] * 255) + ',' + bmFloor(color[1] * 255) + ',' + bmFloor(color[2] * 255) + ')');\n }\n }\n };\n\n function SVGTritoneFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.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');\n filter.appendChild(feColorMatrix);\n var feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n this.matrixFilter = feComponentTransfer;\n var feFuncR = createNS('feFuncR');\n feFuncR.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncR);\n this.feFuncR = feFuncR;\n var feFuncG = createNS('feFuncG');\n feFuncG.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncG);\n this.feFuncG = feFuncG;\n var feFuncB = createNS('feFuncB');\n feFuncB.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncB);\n this.feFuncB = feFuncB;\n filter.appendChild(feComponentTransfer);\n }\n\n SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color1 = this.filterManager.effectElements[0].p.v;\n var color2 = this.filterManager.effectElements[1].p.v;\n var color3 = this.filterManager.effectElements[2].p.v;\n var tableR = color3[0] + ' ' + color2[0] + ' ' + color1[0];\n var tableG = color3[1] + ' ' + color2[1] + ' ' + color1[1];\n var tableB = color3[2] + ' ' + color2[2] + ' ' + color1[2];\n this.feFuncR.setAttribute('tableValues', tableR);\n this.feFuncG.setAttribute('tableValues', tableG);\n this.feFuncB.setAttribute('tableValues', tableB);\n }\n };\n\n function SVGProLevelsFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var effectElements = this.filterManager.effectElements;\n var feComponentTransfer = createNS('feComponentTransfer'); // Red\n\n if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) {\n this.feFuncR = this.createFeFunc('feFuncR', feComponentTransfer);\n } // Green\n\n\n if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) {\n this.feFuncG = this.createFeFunc('feFuncG', feComponentTransfer);\n } // Blue\n\n\n if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) {\n this.feFuncB = this.createFeFunc('feFuncB', feComponentTransfer);\n } // Alpha\n\n\n if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) {\n this.feFuncA = this.createFeFunc('feFuncA', feComponentTransfer);\n } // RGB\n\n\n if (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) {\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n filter.appendChild(feComponentTransfer);\n }\n\n if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) {\n feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n filter.appendChild(feComponentTransfer);\n this.feFuncRComposed = this.createFeFunc('feFuncR', feComponentTransfer);\n this.feFuncGComposed = this.createFeFunc('feFuncG', feComponentTransfer);\n this.feFuncBComposed = this.createFeFunc('feFuncB', feComponentTransfer);\n }\n }\n\n SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n var feFunc = createNS(type);\n feFunc.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFunc);\n return feFunc;\n };\n\n SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n var cnt = 0;\n var segments = 256;\n var perc;\n var min = Math.min(inputBlack, inputWhite);\n var max = Math.max(inputBlack, inputWhite);\n var table = Array.call(null, {\n length: segments\n });\n var colorValue;\n var pos = 0;\n var outputDelta = outputWhite - outputBlack;\n var inputDelta = inputWhite - inputBlack;\n\n while (cnt <= 256) {\n perc = cnt / 256;\n\n if (perc <= min) {\n colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n } else if (perc >= max) {\n colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n } else {\n colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n }\n\n table[pos] = colorValue;\n pos += 1;\n cnt += 256 / (segments - 1);\n }\n\n return table.join(' ');\n };\n\n SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var val;\n var effectElements = this.filterManager.effectElements;\n\n if (this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n this.feFuncRComposed.setAttribute('tableValues', val);\n this.feFuncGComposed.setAttribute('tableValues', val);\n this.feFuncBComposed.setAttribute('tableValues', val);\n }\n\n if (this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n this.feFuncR.setAttribute('tableValues', val);\n }\n\n if (this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n this.feFuncG.setAttribute('tableValues', val);\n }\n\n if (this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n this.feFuncB.setAttribute('tableValues', val);\n }\n\n if (this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n this.feFuncA.setAttribute('tableValues', val);\n }\n }\n };\n\n function SVGDropShadowEffect(filter, filterManager, elem, id, source) {\n var globalFilterSize = filterManager.container.globalData.renderConfig.filterSize;\n var filterSize = filterManager.data.fs || globalFilterSize;\n filter.setAttribute('x', filterSize.x || globalFilterSize.x);\n filter.setAttribute('y', filterSize.y || globalFilterSize.y);\n filter.setAttribute('width', filterSize.width || globalFilterSize.width);\n filter.setAttribute('height', filterSize.height || globalFilterSize.height);\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('in', 'SourceAlpha');\n feGaussianBlur.setAttribute('result', id + '_drop_shadow_1');\n feGaussianBlur.setAttribute('stdDeviation', '0');\n this.feGaussianBlur = feGaussianBlur;\n filter.appendChild(feGaussianBlur);\n var feOffset = createNS('feOffset');\n feOffset.setAttribute('dx', '25');\n feOffset.setAttribute('dy', '0');\n feOffset.setAttribute('in', id + '_drop_shadow_1');\n feOffset.setAttribute('result', id + '_drop_shadow_2');\n this.feOffset = feOffset;\n filter.appendChild(feOffset);\n var feFlood = createNS('feFlood');\n feFlood.setAttribute('flood-color', '#00ff00');\n feFlood.setAttribute('flood-opacity', '1');\n feFlood.setAttribute('result', id + '_drop_shadow_3');\n this.feFlood = feFlood;\n filter.appendChild(feFlood);\n var feComposite = createNS('feComposite');\n feComposite.setAttribute('in', id + '_drop_shadow_3');\n feComposite.setAttribute('in2', id + '_drop_shadow_2');\n feComposite.setAttribute('operator', 'in');\n feComposite.setAttribute('result', id + '_drop_shadow_4');\n filter.appendChild(feComposite);\n var feMerge = this.createMergeNode(id, [id + '_drop_shadow_4', source]);\n filter.appendChild(feMerge); //\n }\n\n extendPrototype([SVGComposableEffect], SVGDropShadowEffect);\n\n SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);\n }\n\n if (forceRender || this.filterManager.effectElements[0].p._mdf) {\n var col = this.filterManager.effectElements[0].p.v;\n this.feFlood.setAttribute('flood-color', rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n }\n\n if (forceRender || this.filterManager.effectElements[1].p._mdf) {\n this.feFlood.setAttribute('flood-opacity', this.filterManager.effectElements[1].p.v / 255);\n }\n\n if (forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\n var distance = this.filterManager.effectElements[3].p.v;\n var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;\n var x = distance * Math.cos(angle);\n var y = distance * Math.sin(angle);\n this.feOffset.setAttribute('dx', x);\n this.feOffset.setAttribute('dy', y);\n }\n }\n };\n\n var _svgMatteSymbols = [];\n\n function SVGMatte3Effect(filterElem, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.filterElem = filterElem;\n this.elem = elem;\n elem.matteElement = createNS('g');\n elem.matteElement.appendChild(elem.layerElement);\n elem.matteElement.appendChild(elem.transformedElement);\n elem.baseElement = elem.matteElement;\n }\n\n SVGMatte3Effect.prototype.findSymbol = function (mask) {\n var i = 0;\n var len = _svgMatteSymbols.length;\n\n while (i < len) {\n if (_svgMatteSymbols[i] === mask) {\n return _svgMatteSymbols[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n var parentNode = mask.layerElement.parentNode;\n\n if (!parentNode) {\n return;\n }\n\n var children = parentNode.children;\n var i = 0;\n var len = children.length;\n\n while (i < len) {\n if (children[i] === mask.layerElement) {\n break;\n }\n\n i += 1;\n }\n\n var nextChild;\n\n if (i <= len - 2) {\n nextChild = children[i + 1];\n }\n\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n\n if (nextChild) {\n parentNode.insertBefore(useElem, nextChild);\n } else {\n parentNode.appendChild(useElem);\n }\n };\n\n SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n if (!this.findSymbol(mask)) {\n var symbolId = createElementID();\n var masker = createNS('mask');\n masker.setAttribute('id', mask.layerId);\n masker.setAttribute('mask-type', 'alpha');\n\n _svgMatteSymbols.push(mask);\n\n var defs = elem.globalData.defs;\n defs.appendChild(masker);\n var symbol = createNS('symbol');\n symbol.setAttribute('id', symbolId);\n this.replaceInParent(mask, symbolId);\n symbol.appendChild(mask.layerElement);\n defs.appendChild(symbol);\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n masker.appendChild(useElem);\n mask.data.hd = false;\n mask.show();\n }\n\n elem.setMatte(mask.layerId);\n };\n\n SVGMatte3Effect.prototype.initialize = function () {\n var ind = this.filterManager.effectElements[0].p.v;\n var elements = this.elem.comp.elements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i] && elements[i].data.ind === ind) {\n this.setElementAsMask(this.elem, elements[i]);\n }\n\n i += 1;\n }\n\n this.initialized = true;\n };\n\n SVGMatte3Effect.prototype.renderFrame = function () {\n if (!this.initialized) {\n this.initialize();\n }\n };\n\n function SVGGaussianBlurEffect(filter, filterManager, elem, id) {\n // Outset the filter region by 100% on all sides to accommodate blur expansion.\n filter.setAttribute('x', '-100%');\n filter.setAttribute('y', '-100%');\n filter.setAttribute('width', '300%');\n filter.setAttribute('height', '300%');\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('result', id);\n filter.appendChild(feGaussianBlur);\n this.feGaussianBlur = feGaussianBlur;\n }\n\n SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n // Empirical value, matching AE's blur appearance.\n var kBlurrinessToSigma = 0.3;\n var sigma = this.filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n //\n // 1 -> horizontal & vertical\n // 2 -> horizontal only\n // 3 -> vertical only\n //\n\n var dimensions = this.filterManager.effectElements[1].p.v;\n var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + ' ' + sigmaY); // Repeat edges mapping:\n //\n // 0 -> off -> duplicate\n // 1 -> on -> wrap\n\n var edgeMode = this.filterManager.effectElements[2].p.v == 1 ? 'wrap' : 'duplicate'; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('edgeMode', edgeMode);\n }\n };\n\n registerRenderer('canvas', CanvasRenderer);\n registerRenderer('html', HybridRenderer);\n registerRenderer('svg', SVGRenderer); // Registering shape modifiers\n\n ShapeModifiers.registerModifier('tm', TrimModifier);\n ShapeModifiers.registerModifier('pb', PuckerAndBloatModifier);\n ShapeModifiers.registerModifier('rp', RepeaterModifier);\n ShapeModifiers.registerModifier('rd', RoundCornersModifier); // Registering expression plugin\n\n setExpressionsPlugin(Expressions);\n initialize$1();\n initialize(); // Registering svg effects\n\n registerEffect(20, SVGTintFilter, true);\n registerEffect(21, SVGFillFilter, true);\n registerEffect(22, SVGStrokeEffect, false);\n registerEffect(23, SVGTritoneFilter, true);\n registerEffect(24, SVGProLevelsFilter, true);\n registerEffect(25, SVGDropShadowEffect, true);\n registerEffect(28, SVGMatte3Effect, false);\n registerEffect(29, SVGGaussianBlurEffect, true);\n\n return lottie;\n\n}));\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import \"@lottiefiles/lottie-player\";\nimport lottie from 'lottie-web';\n\nconst config = {\n rootMargin: '50px 20px 75px 30px',\n threshold: [0, 0.25, 0.75, 1],\n};\n\nfunction loadLottie(animationName, targetSelector) {\n const container = document.querySelector(targetSelector);\n if (!container) {\n return;\n }\n\n const autoplay = container.classList.contains('lottie-autoplay');\n const loop = container.classList.contains('lottie-loop');\n\n const animation = lottie.loadAnimation({\n container,\n path: `/octopus-public/animations/${animationName}.json`,\n renderer: 'svg',\n loop,\n autoplay,\n });\n\n if (container.classList.contains('lottie-show-end-frame')) {\n // Static Number for end frames as animation.totalFrames returns NaN.\n animation.goToAndStop(400, true);\n }\n\n if (container.classList.contains('lottie-play-on-hover')) {\n container.addEventListener('mouseenter', function (e) {\n if (animation.isPaused) {\n animation.goToAndPlay(0, true);\n }\n });\n }\n\n if (container.classList.contains('lottie-play-on-visible')) {\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.intersectionRatio > 0) {\n container.parentElement.classList.add('onscreen');\n animation.play();\n } else {\n animation.stop();\n }\n });\n }, config);\n\n observer.observe(container);\n }\n}\n\nif (document.querySelector('[data-lottie]')) {\n //lottie.useWebWorker(true);\n loadLottie('create-branch', '.lottie.createBranch');\n loadLottie('iterate-deploy', '.lottie.iterateDeploy');\n loadLottie('review-merge', '.lottie.reviewMerge');\n loadLottie('two-way-sync', '.lottie.twoWaySync');\n};\n"],"names":["root","factory","exports","module","define","amd","a","i","this","_asyncIterator","t","e","r","Symbol","asyncIterator","iterator","call","AsyncFromSyncIterator","TypeError","Object","Promise","reject","done","resolve","value","then","s","n","next","prototype","apply","arguments","return","throw","REACT_ELEMENT_TYPE","_jsx","for","defaultProps","length","children","Array","o","h","$$typeof","type","key","ref","props","_owner","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread2","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_typeof","constructor","_wrapRegExp","RegExp","WeakMap","set","get","_setPrototypeOf","reduce","create","_inherits","exec","groups","replace","slice","_AwaitValue","wrapped","_AsyncGenerator","arg","_invoke","_wrapAsyncGenerator","_awaitAsyncGenerator","_asyncGeneratorDelegate","asyncGeneratorStep","_asyncToGenerator","_classCallCheck","_defineProperties","configurable","writable","_createClass","_defineEnumerableProperties","_defaults","getOwnPropertyNames","_extends","assign","hasOwnProperty","_objectSpread","_inheritsLoose","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_construct","Function","bind","_isNativeFunction","toString","indexOf","_wrapNativeSuper","Map","has","_instanceof","hasInstance","_interopRequireDefault","__esModule","default","_getRequireWildcardCache","_interopRequireWildcard","_newArrowCheck","_objectDestructuringEmpty","_objectWithoutPropertiesLoose","_objectWithoutProperties","propertyIsEnumerable","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_createSuper","_superPropBase","_get","_set","Error","_taggedTemplateLiteral","freeze","raw","_taggedTemplateLiteralLoose","_readOnlyError","_writeOnlyError","_classNameTDZError","_temporalUndefined","_tdz","_temporalRef","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_slicedToArrayLoose","_iterableToArrayLimitLoose","_toArray","_iterableToArray","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","isArray","_arrayLikeToArray","_maybeArrayLike","from","_step","name","test","_createForOfIteratorHelper","f","_createForOfIteratorHelperLoose","_skipFirstGeneratorNext","_toPrimitive","toPrimitive","String","Number","_toPropertyKey","_initializerWarningHelper","_initializerDefineProperty","initializer","_applyDecoratedDescriptor","reverse","id","_classPrivateFieldLooseKey","_classPrivateFieldLooseBase","_classPrivateFieldGet","_classApplyDescriptorGet","_classExtractFieldDescriptor","_classPrivateFieldSet","_classApplyDescriptorSet","_classPrivateFieldDestructureSet","_classApplyDescriptorDestructureSet","_classStaticPrivateFieldSpecGet","_classCheckPrivateStaticAccess","_classCheckPrivateStaticFieldDescriptor","_classStaticPrivateFieldSpecSet","_classStaticPrivateMethodGet","_classStaticPrivateMethodSet","__destrObj","_classStaticPrivateFieldDestructureSet","_decorate","_getDecoratorsApi","initializeInstanceElements","elements","decorateClass","_coalesceClassElements","d","map","_createElementDescriptor","initializeClassElements","F","runClassFinishers","finishers","elementsDefinitionOrder","kind","placement","defineClassElement","descriptor","static","own","addElementPlacement","_hasDecorators","decorateElement","element","extras","decorateConstructor","decorators","splice","fromElementDescriptor","toElementFinisherExtras","finisher","l","p","fromClassDescriptor","toClassDescriptor","toStringTag","toElementDescriptors","toElementDescriptor","disallowProperty","_optionalCallableProperty","_coalesceGetterSetter","find","_isDataDescriptor","_classPrivateMethodGet","_checkPrivateRedeclaration","_classPrivateFieldInitSpec","_classPrivateMethodInitSpec","add","_classPrivateMethodSet","_extendStatics","__extends","_assign","__rest","__decorate","decorate","__param","__metadata","metadata","__awaiter","__generator","label","sent","trys","ops","pop","__createBinding","__exportStar","__values","__read","error","__spread","concat","__spreadArrays","__spreadArray","__await","v","__asyncGenerator","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","__setModuleDefault","__importStar","__importDefault","__classPrivateFieldGet","__classPrivateFieldSet","t$3","window","ShadowRoot","ShadyCSS","nativeShadow","Document","CSSStyleSheet","e$8","n$5","s$3","_$cssResult$","cssText","styleSheet","replaceSync","o$5","r$3","i$3","adoptedStyleSheets","document","createElement","litNonce","setAttribute","textContent","appendChild","S$1","cssRules","s$2","e$7","trustedTypes","r$2","emptyScript","h$2","reactiveElementPolyfillSupport","o$4","toAttribute","JSON","stringify","fromAttribute","parse","n$4","l$3","attribute","converter","reflect","hasChanged","t$2","a$1","HTMLElement","super","_$Et","isUpdatePending","hasUpdated","_$Ei","observedAttributes","finalize","elementProperties","_$Eh","_$Eu","state","noAccessor","getPropertyDescriptor","requestUpdate","finalized","properties","createProperty","elementStyles","finalizeStyles","styles","Set","flat","unshift","toLowerCase","_$Ep","enableUpdating","_$AL","_$Em","addController","_$Eg","renderRoot","isConnected","hostConnected","removeController","createRenderRoot","shadowRoot","attachShadow","shadowRootOptions","connectedCallback","disconnectedCallback","hostDisconnected","attributeChangedCallback","_$AK","_$ES","removeAttribute","getPropertyOptions","_$E_","_$EC","scheduleUpdate","performUpdate","shouldUpdate","willUpdate","hostUpdate","update","_$EU","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","mode","ReactiveElement","globalThis","reactiveElementVersions","i$2","s$1","createPolicy","createHTML","e$6","Math","random","o$3","n$3","l$2","h$1","createComment","r$1","u","c","_","m","g","_$litType$","strings","values","$","y","b","w","T","x","renderBefore","_$litPart$","N","insertBefore","_$AI","A","createTreeWalker","C","lastIndex","startsWith","P","E","parts","el","currentNode","content","firstChild","remove","append","childNodes","nextNode","nodeType","hasAttributes","getAttributeNames","endsWith","getAttribute","split","index","ctor","M","H","I","S","tagName","data","innerHTML","_$Cl","_$Cu","_$litDirective$","_$AO","_$AT","_$AS","V","_$AN","_$AD","_$AM","parentNode","_$AU","creationScope","importNode","nextSibling","L","_$AH","_$AA","_$AB","options","_$Cg","startNode","endNode","_$AR","createTextNode","_$AC","_$AP","setConnected","fill","k","capture","once","passive","removeEventListener","addEventListener","handleEvent","host","R","D","j","O","B","W","Z","z","litHtmlPolyfillSupport","l$1","o$2","litHtmlVersions","renderOptions","_$Dt","render","_$litElement$","litElementHydrateSupport","LitElement","n$2","litElementPolyfillSupport","litElementVersions","n$1","customElements","i$1","originalKey","e$5","t$1","e$4","o$1","e$3","querySelector","e$2","querySelectorAll","e$1","HTMLSlotElement","assignedElements","assignedNodes","Node","ELEMENT_NODE","slot","selector","matches","flatten","commonjsGlobal","self","getDefaultExportFromCjs","getDefaultExportFromNamespaceIfPresent","getDefaultExportFromNamespaceIfNotNamed","getAugmentedNamespace","commonjsRequire","lottie$1","navigator","svgNS","locationHref","_useWebWorker","initialDefaultFrame","setWebWorker","getWebWorker","setLocationHref","getLocationHref","createTag","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$1","isSafari","userAgent","_shouldRoundValues","bmPow","pow","bmSqrt","sqrt","bmFloor","floor","bmMax","max","bmMin","min","BMMath","ProjectInterface$1","abs","defaultCurveSegments","degToRads","PI","roundCorner","roundValues","bmRnd","round","styleDiv","style","position","top","left","display","transformOrigin","webkitTransformOrigin","backfaceVisibility","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","currentTime","totalTime","direction","BMCompleteEvent","BMCompleteLoopEvent","currentLoop","totalLoops","BMSegmentStartEvent","firstFrame","totalFrames","BMDestroyEvent","target","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","BMAnimationConfigErrorEvent","createElementID","_count","HSVtoRGB","RGBtoHSV","addSaturationToRGB","addBrightnessToRGB","addHueToRGB","rgbToHex","setSubframeEnabled","getSubframeEnabled","setExpressionsPlugin","getExpressionsPlugin","setDefaultCurveSegments","getDefaultCurveSegments","setIdPrefix","getIdPrefix","createNS","createElementNS","_typeof$5","dataManager","onmessage","postMessage","_workerSelf","Worker","Blob","URL","createObjectURL","completed","tt","td","hasMask","masksProperties","pt","ty","layers","refId","shapes","__used","ks","it","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","setInterval","getBBox","_imageLoaded","clearInterval","assetData","assetsPath","img","_footageLoaded","testImageLoaded","createFootageData","images","loadAssets","_createImageData","setAssetsPath","setPath","loadedImages","loadedFootages","destroy","getAsset","createImgData","crossOrigin","createImageData","setAttributeNS","_elementHelper","imageLoaded","footageLoaded","setCacheType","BaseEvent","triggerEvent","_cbs","markerParser","trim","time","tm","duration","dr","cm","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","drawnFrameEvent","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","isNaN","frameModifier","goToAndPlay","playSegments","advanceTime","checkSegments","adjustSegment","setSpeed","setDirection","setSegment","resetSegments","onEnterFrame","onLoopComplete","onSegmentStart","onDestroy","getPath","getAssetsPath","getAssetData","hide","show","getDuration","updateDocumentData","getElementByPath","animationManager","elem","requestAnimationFrame","registerAnimation","searchAnimations","getElementsByClassName","getElementsByTagName","innerText","unfreeze","getRegisteredAnimations","BezierFactory","getBezierEasing","_p","_mSampleValues","_precomputed","_precompute","_getTForX","_calcSampleValues","pooling","double","poolFactory","newElement","release","bezierLengthPool","addedLength","percents","lengths","segmentsLengthPool","totalLength","bezFunction","segmentLength","points","partialLength","point","getSegmentsLength","_length","getNewSegment","getPointInSegment","buildBezierData","pointOnLine2D","pointOnLine3D","bez","PropertyFactory","offsetTime","propType","pv","keyframes","keyframesMetadata","to","bezierData","ti","__fnct","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","sh","acos","sin","atan2","asin","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","shapePool","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","_t","shear","_identityCalculated","_identity","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","lottie","standalone","setLocation","setSubframeRendering","setPrefix","setQuality","inBrowser","installPlugin","getFactory","checkReady","readyStateCheckInterval","getQueryVariable","queryString","decodeURIComponent","useWebWorker","setIDPrefix","__getFactory","version","scripts","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","weight","fWeight","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","matrix","applyTransforms","arr","pos","elemsData","_currentCopies","_elements","_groups","resetElements","_processed","cloneElements","changeGroupRender","_render","ceil","ix","reloadShapes","mProps","rd","FontManager","size","fontFamily","fontSize","fontVariant","fontStyle","fontWeight","letterSpacing","body","offsetWidth","join","node","parent","fFamily","fClass","OffscreenCanvas","font","measureText","getComputedTextLength","typekitLoaded","_warned","initTime","Date","now","setIsLoadedBinded","setIsLoaded","checkLoadedFontsBinded","checkLoadedFonts","isModifier","isZeroWidthJoiner","isCombinedCharacter","ch","list","helper","cache","loaded","monoCase","sansCase","fPath","fOrigin","href","rel","getCharData","charCodeAt","console","warn","getFontByName","fName","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","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","hasParent","layerInterface","anchor_point","active","startTime","ind","source","inPoint","outPoint","_name","registerMaskInterface","mask","registerEffectsInterface","propertyGroupFactory","PropertyInterface","EffectsExpressionInterface","createEffectsInterface","effectsManager","ef","effectElements","mn","numProperties","np","enabled","en","setGroupProperty","CompExpressionInterface","layer","pixelAspect","compSize","frameDuration","displayStartTime","numLayers","ShapePathInterface","propertyIndex","ShapeExpressionInterface","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","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","_volumeMultiplier","_previousVolume","_placeholder","lv","au","BaseRenderer","TransformElement","MaskElement","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","createFilter","createAlphaToLuminanceFilter","featureSupport","maskType","registeredEffects","idPrefix","SVGEffects","filters","countsAsEffect","registerEffect","SVGBaseElement","HierarchyElement","RenderableDOMElement","IImageElement","initElement","sourceRect","ProcessedElement","IShapeElement","initRendererElement","createContainerElements","matteElement","transformedElement","_sizeChanged","ln","hd","renderElement","destroyBaseElement","createRenderableComponents","renderableEffectsManager","setMatte","initHierarchy","checkParenting","createContent","renderInnerContent","innerElem","pr","imagePreserveAspectRatio","addShapeToModifiers","shapeModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","searchProcessedElement","processedElements","addProcessedElement","lineCapEnum","lineJoinEnum","SVGShapeData","caches","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","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","setCurrentData","searchKeyframes","getKeyframeValue","buildFinalText","charAt","an","anIndexes","val","line","animatorJustifyOffset","extra","fh","fs","fb","rn","totalChars","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","G","q","U","Y","X","K","J","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","filterSize","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","currentRender","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","buildShapeData","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","expandStrokeBoundingBox","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","global","initialize$2","propTypes","SHAPE","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","initialize","SVGComposableEffect","SVGTintFilter","filterManager","matrixFilter","createMergeNode","SVGFillFilter","SVGStrokeEffect","initialized","SVGTritoneFilter","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","feGaussianBlur","feOffset","feFlood","masker","pathMasker","getTotalLength","getTableValue","_svgMatteSymbols","SVGMatte3Effect","filterElem","SVGGaussianBlurEffect","findSymbol","replaceInParent","setElementAsMask","_templateObject$1","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","PlayerState","PlayMode","PlayerEvents","parseSrc","isLottie","every","fromURL","_fromURL","json","Destroyed","Frozen","Loading","Paused","Playing","Stopped","Bounce","Normal","Complete","Frame","Freeze","Load","Loop","Pause","Play","Ready","Rendered","Stop","LottiePlayer","background","controls","currentState","hover","intermission","speed","_io","_counter","_lottie","webworkers","_attachEventListeners","dispatchEvent","CustomEvent","getLottie","seeker","snapshot","XMLSerializer","serializeToString","encodeURIComponent","download","click","setLooping","togglePlay","toggleLooping","disconnect","_onVisibilityChange","renderControls","IntersectionObserver","isIntersecting","observe","_handleSeekChange","_prevState","detail","frame","count","flag","sources","destination","sourcePrototype","len","attr","object","ProxyFunction","AudioController","rateValue","assetPath","createRegularArray","obj","propertyNames","absArr","frameMultiplier","hsv","hex","colorMap","workerFn","workerInstance","_counterId","processes","workerProxy","setupWorker","blob","url","createWorker","comps","layerData","jLen","kLen","maskProps","convertPathsToAbsoluteValues","findCompLayers","completeShapes","completeText","findComp","checkVersion","minimum","animVersionString","animVersion","minimumVersion","checkText","iterateLayers","textLayer","documentData","charData","pathData","iterateShapes","completeClosingShapes","moduleOb","completeChars","dataFunctionManager","formatResponse","xhr","contentTypeHeader","callback","errorCallback","err","event","process","createProcess","processId","anim","proxyImage","ctx","originalPath","imagePath","intervalId","ImagePreloaderFactory","cb","elementHelper","eventName","args","callbacks","parsePayloadLines","lines","keysCount","_markers","_marker","markerData","__","_thisProjectFunction","params","RendererClass","undefined","wrapperAttributes","newLayers","segment","segmentPath","animData","markerName","marker","isFrame","numValue","nextValue","_isComplete","pendingFrame","forceFlag","registeredAnimations","playingAnimationsNum","_stopped","_isFrozen","removeElement","ev","animItem","subtractPlayingCount","addPlayingCount","activate","nowTime","elapsedTime","first","animElements","lenAnims","animations","str","beziers","bezEasing","BezierEasing","kSampleStepSize","float32ArraySupported","aA1","aA2","calcBezier","aT","getSlope","mX1","mY1","mX2","mY2","aX","mSampleValues","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","initialLength","_create","_release","math","x1","y1","x2","y2","x3","y3","det1","getBezierLength","pt1","pt2","pt3","pt4","ptCoord","perc","ptDistance","curveSegments","lastPoint","lengthData","BezierData","PointData","partial","bezierName","getDistancePerc","initPos","lengthPos","lPerc","dir","bezierSegmentPoints","shapeData","segmentsLength","pathV","pathO","pathI","startPerc","endPerc","t0","t1","u0","u1","u0u0u0","t0u0u0_3","t0t0u0_3","t0t0t0","u0u0u1","t0u0u1_3","t0t0u1_3","t0t0t1","u0u1u1","t0u1u1_3","t0t1u1_3","t0t1t1","u1u1u1","t1u1u1_3","t1t1u1_3","t1t1t1","percent","z1","z2","z3","diffDist","dist1","dist2","dist3","mathAbs","caching","newValue","keyData","nextKeyData","fnc","iterationIndex","endValue","out","quat","qx","qy","qz","qw","heading","attitude","bank","nextKeyTime","keyTime","segmentPerc","distanceInLine","outX","outY","inX","inY","keyValue","quatStart","createQuaternion","quatEnd","omega","cosom","sinom","scale0","scale1","ax","ay","az","aw","bx","by","bz","bw","slerp","c1","c2","c3","s1","s2","s3","getValueAtCurrentTime","endTime","renderResult","multipliedValue","processEffectsSequence","finalValue","effectFunction","ValueProperty","MultiDimensionalProperty","KeyframedValueProperty","KeyframedMultidimensionalProperty","arrLen","vX","vY","oX","oY","iX","iY","newPath","outPoints","inPoints","cnt","shapePath","cloned","shapeCollection","previousValue","keyPropS","keyPropE","isHold","vertexValue","interpolateShapeCurrentTime","resetShape","shape1","shape2","shapesEqual","ShapeProperty","KeyframedShapeProperty","EllShapeProperty","cPoint","EllShapePropertyFactory","p0","p1","s0","_cw","_v","StarShapeProperty","StarShapePropertyFactory","rad","perimSegment","numPts","angle","longFlag","longRad","shortRad","longRound","shortRound","longPerimSegment","shortPerimSegment","currentAng","ox","oy","RectShapeProperty","RectShapePropertyFactory","v0","v1","_cos","_sin","_tan","_rnd","mCos","mSin","tz","a2","b2","d2","e2","f2","g2","h2","i2","j2","k2","l2","m2","n2","o2","p2","a1","b1","d1","e1","f1","g1","h1","i1","j1","k1","l1","m1","n1","o1","matr","determinant","inverseMatrix","retPts","p4","p5","p12","p13","cssValue","roundMatrixProperty","prefix","plugin","variable","vars","pair","modifiers","shapeLength","totalModifierLength","segmentOb","shapeSegments","shapeS","shapeE","shapePaths","_s","edges","newShapesData","lastShape","newPaths","newShape","shapeSegment","currentLengthData","segmentCount","centerPoint","pathLength","clonedPath","defaultVector","TransformProperty","forceRender","v2","fontData","scaleX","scaleY","newElements","renderFlag","items","itemsTransform","cont","hasReloaded","group","elems","transformData","offsetModulo","roundOffset","pProps","rProps","sProps","iteration","currentV","currentI","currentO","closerV","distance","newPosPerc","emptyChar","combinedCharacters","surrogateModifiers","zeroWidthJoiner","setUpNode","family","familyArray","enabledFamilies","trimFontOptions","createHelper","def","engine","fontProps","tCanvasHelper","Font","firstCharCode","secondCharCode","_char3","fontPrototype","found","fontArr","_pendingFonts","loadedSelector","shouldLoadFont","_char","_char2","fontName","doubleSize","singleSize","loadedCount","component","num","MaskInterface","_masksInterfaces","defaultUnidimensionalValue","defaultMultidimensionalValue","completeProperty","expressionValue","valueProp","defaultGetter","UnidimensionalPropertyInterface","arrValue","MultidimensionalPropertyInterface","_thisFunction","_px","_py","_pz","_transformFactory","toWorldMat","transformInterface","_thisLayerFunction","anchorPointDescriptor","effects","interfaceFunction","parentPropertyGroup","propertyName","createGroupInterface","groupInterface","_propertyGroup","createValueInterface","expressionProperty","effectsData","view","iterateElements","groupInterfaceFactory","fillInterfaceFactory","strokeInterfaceFactory","trimInterfaceFactory","ellipseInterfaceFactory","starInterfaceFactory","rectInterfaceFactory","roundedInterfaceFactory","repeaterInterfaceFactory","gradientFillInterfaceFactory","interfaces","transformInterfaceFactory","contentsInterfaceFactory","_dashPropertyGroup","dashOb","addPropertyToDashOb","_interfaceFunction","_prevValue","_sourceText","stringValue","effectItem","eff","effectsInterface","blendModeValue","isVisible","currentPropertyName","currentProperty","propertyNameIndex","outlineInterfaceFactory","expansor","feMorph","currentMasks","maskRef","filterID","timeRemapped","totalVolume","volumeValue","pInterface","parentName","pathValue","fontsContainer","finalMat","ptNew","isFirstFrame","pathNodes","pathString","pathShapeValue","filId","skipCoordinates","fil","feColorMatrix","Effect","gg","layerElementParent","maskGroup","maskGrouper","feCTr","feFunc","alphaRect","cp","clipId","cpGroup","level","styleOb","cLength","pathElement","gradientId","gfill","opacityId","opFill","_o","_i","shapeString","_identityMatrix","_matrixHelper","renderContentTransform","styleData","itemData","renderNoop","pathStringTransformed","redraw","iterations","lLen","styleElem","renderGradientStroke","renderGradient","hasOpacity","attr1","attr2","cValues","oValues","ang","dist","tempShapes","areAnimated","elementData","transformProperty","ownTransformers","currentTransform","modifier","processedPos","ownStyles","ownModifiers","animatedContent","_finalValue","currentValue","currentIndex","textKeys","charCode","charactersArray","shouldCombine","newLineFlag","letters","anchorGrouping","currentSize","currentPos","currentLine","maxLineWidth","trackingOffset","currentHeight","boxHeight","lastSpaceIndex","currentChar","uncollapsedSpaces","animatorData","letterData","based","animators","indexes","newInd","currentInd","newData","dData","_canResize","_fontValue","TextSelectorPropFactory","easer","tot","smoothness","threshold","newCharsFlag","divisor","animatorProps","defaultData","textAnimatorAnimatables","xPos","yPos","pathInfo","currentLength","currentPoint","pointInd","segmentInd","prevPoint","tanAngle","matrixHelper","renderedLettersCount","letterValue","yOff","firstLine","offf","xPathPos","yPathPos","elemOpacity","letterSw","letterSc","letterFc","letterO","initPathPos","initSegmentInd","initPointInd","letterM","letterP","animatorFirstCharOffset","justifyOffsetMult","isNewLine","animatorOffset","rot","shapeStr","_fontSize","lineNumber","colorData","config","ariaLabel","titleElement","titleId","descElement","descId","styledShape","textArray","textContents","currentTextContent","shapeItem","tSpan","usesGlyphs","cachedSpansLength","glyphElement","tElement","justify","textBox","renderedLetter","textSpan","nextElement","newLength","currentSavedOp","sequence","forceRealStack","shouldRender","ownTransforms","parentTransform","groupTransform","nodes","currentStyle","isMain","shapeNodes","groupTransformMat","hasFill","hasStroke","commands","pathArr","commandsCounter","lastFill","lastStroke","lastStrokeW","widthCrop","heightCrop","imgW","imgH","imgRel","canvasRel","par","cProps","trProps","actionFlag","popped","containerStyle","elementWidth","elementHeight","elementRel","animationRel","fillType","transformedElementStyle","matrixValue","item","boundingBox","vPoint","oPoint","nextIPoint","nextVPoint","bounds","p3","b2ac","t2","widthProperty","kfw","box","changed","shapeStyle","shapeTransform","innerElemStyle","textColor","tParent","tCont","tContStyle","tContTranslation","tStyle","tSpanTranslation","svgStyle","translation","textPath","margin","svgTransform","perspectiveStyle","mTransf","diffVector","mag","lookDir","lookLengthOnXZ","mRotationX","mRotationY","hasMatrixChanged","matValue","newDOMElement","nextDOMElement","nextLayer","center","threeDContainerData","lastThreeDContainerData","currentContainer","svg","cWidth","cHeight","floatingContainer","stackCount","registers","releaseInstances","expression","startdenom","significance","ARC4","keylen","me","copy","depth","result","typ","mixkey","seed","smear","stringseed","tostring","shortseed","browser","autoseed","arc4","prng","is_math_call","tOfV","tOfA","lenA","retArr","tOfB","lenB","mm","arr1","arr2","vec","tMin","tMax","value1","value2","_tMin","rnd","inVertexPoint","outVertexPoint","arrPlaceholder","freq","amp","iWiggle","lenWiggle","addedAmps","periods","elem1","elem2","fVec","pitch","val1","val2","iKey","lenKey","obKey","fps","framesPerSecond","_value","delta","durationFlag","cycleDuration","firstKeyFrame","ret","lastKeyFrame","initV","endV","current","repeats","lastValue","nextLastValue","firstValue","nextFirstValue","samples","sampleValue","sampleFrequency","getTransformValueAtTime","anchor","rotationZ","rotationY","rotationX","orientation","positionX","positionY","positionZ","getTransformStaticValueAtTime","propertyGetProp","ShapePropertyConstructorFunction","KeyframedShapePropertyConstructorFunction","ShapeExpressions","accumulatedLength","initIndex","endIndex","vectorType","xLength","yLength","magnitude","propertyGetShapeProp","trims","isKeyframed","hasExpressions","feMerge","feComponentTransfer","globalFilterSize","feComposite","resultId","ins","feMergeNode","colorBlack","colorWhite","groupPath","elemChildren","dasharrayValue","lineLength","units","color1","color2","color3","tableR","tableG","tableB","inputBlack","inputWhite","gamma","outputBlack","outputWhite","colorValue","table","outputDelta","inputDelta","col","symbolId","nextChild","useElem","symbol","sigma","dimensions","sigmaX","sigmaY","edgeMode","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","amdO","getter","definition","rootMargin","loadLottie","animationName","targetSelector","classList","contains","entries","entry","intersectionRatio","parentElement"],"sourceRoot":""}